A few days ago I tweeted and profile-posted this message:
靜雞雞咁我走啦,好似我靜雞雞咁嚟,fing 一 fing 件衫,唔拎走一舊雲。 嗰棵榆樹下面潭水,唔係泉水而係彩虹,喺藻葉之間搓碎,將彩虹咁既夢整沉左
Yes, I am serious about this message. I am leaving (very soon).
As I said in the tweet, I was serious. As many are curious about the Chinese text, here I am translating this poem into English. The poem was originally a famous poem written by a Chinese modern poet when he left Cambridge.
Note that I am not very good at English literature, so the poem may sound pretty ugly in English. The original poem was very beautiful. I just jokingly translated it from written Chinese to Cantonese. Words in brackets are citations by me.
Quietly (With stealth, or unnoticed) I leave,
just like I quietly came.
I wave my sleeves (a pretty cool gesture people do when they are determined to leave a place),
not bringing away a piece of cloud.
The pond under the elm tree,
it is not pond water (mountain spring water as in original text) but rainbows.
The rainbows are squeezed/rubbed to pieces among the algae leaves (wat?),
sinking the rainbow-like dreams.
Indeed, all we have here are rainbow-like dreams. A similar belief is also shown in several lines in the End Poem:
- And the player awoke, from the warm, dark world of its mother's body, into the long dream.
- and sometimes the player believed the universe had spoken to it through the zeros and ones, through the electricity of the world, through the scrolling words on a screen at the end of a dream
- And the game was over and the player woke up from the dream. And the player began a new dream. And the player dreamed again, dreamed better. And the player was the universe. And the player was love.
- But what true structure did this player create, in the reality behind the screen? ... That, it must achieve in the long dream of life, not the short dream of a game.
We are all dreaming in this world. Life is a dream itself. Virtual life and real life. Fantasy and inevitable. Like sweet dreams and nightmares. After all the things we have done in this world, what have we created? After we leave this world, what is left? For some religious people, they might think that you would come back and enjoy your own results in the afterlife. For me, who do not believe in gods or mysterious forces, life is just a long chain of chemical reactions. Memory is just a network of neurones in a cereblum.
Yet we are humans. What I have said made it sound meaningless to live, but at the same time, it is actually meaningless not to live as well. So why should I make a change? How do you know that the energy in your memory would not be liberated and somehow continue to linger on Earth? Or as some sci-fi suggest, how do you know if your spirit would eventually get collected by aliens (what a terrible thought the writer had)?
We know nothing about life after real life. An ancient Chinese philosopher, Confucious, once said, "未知生,焉知死? (While you don't even know about living, how would you know about dying?)" when his disciple asked him about death. So as a matter of fact, we don't even know about living in our real life at all.
The reason that I am talking about these is that I realized that I didn't understand this. I had always been reluctant to leave because there are so many emotional bonds that I have laid here. I would like to have a brief (but still long) review on my experience here. (Somehow feels like almost-dead people reviewing their lives the last time) Once more, maybe I would find out what can keep my memory a sweet one, rather than an embarrassing, sad and sour one.
I have to start with how I entered this community. This all happened with my cousin. One day we were talking about a game (not Miencraft), and he complained about slow updates in the app. I naturally defended the developers (I knew nothing about programming at that time, but I could imagine how hard it would take), but when I absentmindedly said "You don't know programming at all" in rage, I realized that I didn't either. This sounds like a hilarious reason, but for this, I soon started coding simple Android apps.
That happened in August 2013. In the same month, something revolutionary in the MCPE community happened - Treebl (I bet he was the one who truly made changes to the community and left without seeing its prosperity; indeed remarkable) released an iOS app called "ModPE". We are all very familiar with this word now, but I never knew that the night I saw @zhuowei release the update of BlockLauncher with ModPE on Google Play, it changed my life in the next three years (almost). (Side note: sadly, the original ModPE on iOS was never made open-source)
Because of the highly mathematical nature of JavaScript (ModPE loads JavaScript files as mods), I learnt JavaScript almost without reading any documentation, but just example mods. (To be honest, I did read about for loops, but it was easy because I already knew the for loop from calculator programs) Magic seemed to happen in me as if I was the inventor of a programming language in the life before this one; I'm not boasting, but it seems that I automaticcally learnt/guessed almost everything right. I of course suffered a hard lesson later on, but this is how I came. Hence, I joined the Minecraft: PE community on the Minecraft Forums. I made a lot of useless things like never-used buggy libraries, but it gave me good experience.
I also had an app called "Minecraft PE Cheats", or something with a similar name. It introduced me to the PocketMine software. It was early October 2013, that was when I registered on the forums.
The first time I used PocketMine, I loaded my own MCPE map in it, and used a sign command plugin to add several fun things. And I learnt the most basic difference between PHP and JavaScript from Wikipedia: PHP has variables starting with a $
sign.
It is not really important now anymore, but a few threads at that time gave me elementary knowledge to PocketMine programming. This includes @Glitchmaster-PE's plugin tutorials. A few other things, but these aren't important. The main point is, the atmosphere at that time was different. There were less members at that time, and the order there was better. Trolls are always present, but there were much more positive power than negative power. Actually, for people who tried to sell plugins (actually frauds, but nobody ever proved because nobody ever paid) like Syriamanal and TrilogiForce (have you even heard of these names?), we even managed to get them permanently banned.
My experience with LegionPE was a special one. It was not the first server that I played on (actually the third), but it was the first server that I felt having bonds with. There was a player on the server whom I forgot his name (I believe he forgot both his and my names too) (he was later known as MinecraftTear on Minecraft Forums), but we started on LegionPE together and it let me have the taste of what it is like on a good Minecraft server. At least, with a suitably small amount of trolls (there was one spammer that I could remember, but now I look back at it, it was actually a fun experience trying to unite the whole server's online players to push the spammer out of spawn and kill him as long as he spams) (there was also someone who used a flying mod, but he claimed to be kidnapped by Herobrine, and it is actually funny when I look back at it now), it let me feel how an online community could let me feel warm. For various strange reasons I couldn't explain, I eventually became the LegionPE plugin developer. While this happened, I got in touch with more code management experience.
The Zekkou Cake API, known as the "new API", or now known as "API 1.0.0", and the core PocketMine rewrite that brought about it, started in February 2014. When it was just proposed, it was a shocking news to the community - all our plugins have to be in new format! No translators possible! While everyone freaked out, the outlook of PocketMine is still bright. It still seemed that we were doing a revolution, rather than destruction. Yet, what is happening now with API 2.0.0? The community seems just so hopeless.
Some time in 2014, I started developing BlockServer with @jython234. However, we have since rewritten it several times, and moved to different projects like PocketBukkit, RedstoneLamp, etc. In the end we still have little to no work done :P
In the meantime, throughout the development of the Zekkou Cake rewrite, I started working on various projects, as you can see in the Small-ZC-Plugins. Although I had been banned by @shoghicp for 5 times from the forums, it seemed that I got closer to PocketMine development every time. So when PocketMine 1.4 beta 1 was released, I was one of the few ones who knew it beforehand (although anyone who joined IRC could know too).
We also founded the @LegendsOfMCPE Team in mid 2014. We had a lot of code committed to the organization since then, but eventually only very little work came out. As a matter of fact, only EssentialsPE made it to the release phase. As @iksaku recently said to me, we are more like a group or club rather than a team. We are not a loose group; we have forum chat with almost 3000 messages. But whatever, I still remember our dream when the team was founded. Sadly due to various reasons such as poor collaboration/communication, inactivity of certain members, etc., we weren't very productive. Productivity isn't a true problem that we were concerned about, but it just seems that it is disappointing that we didn't actually did what we aspired to do. We indeed planned to make plugins with designs that can shock the world. But eventually most of them just never got tested.
In September 2014, I started developing the LegionPE-Eta plugin. It is a general server plugin that includes everything for a game server, from authentication to chat control, from portals to player statistics, from internal version management to uptime management. It was based on the structure of DynamicHub, but more hardcoded. It gave me the inspiration on many things that a server needs. However, I just spent too much time there, I felt like I wasted the whole year from late 2014 to late 2015.
In spring 2015, many things happened to the community, such as Microsoft's purchasing Minecraft, @shoghicp being hired by Mojang (or Microsoft?), etc. For me, it was a period when I was the most depressed in real life. If it hadn't been my online life here, things would probably have gone wrong. This world is indeed like a weavework. One life crosses with another life randomly, and you never know when they cross again. Therefore, one of my deepest bonds with this community is how it saved me from the depression (or maybe not depression, just averagely poor mood) in real life.
It is a long story how the situation became like now. A year ago, I was determined to make PocketMine prosper forever. But now seeing how the community has changed, I wonder if I am still at the right place. Why did I have so much sense of belonging towards PocketMine?
As a matter of fact, I really have strong emotional bonds towards the community that originally existed here. It was a community of cooperation. It was a community where genuine developers, rather than code copyers, worked together and developed. But what do we have now? Every day I see like 10 new threads asking for code to be copied into their plugins, and people who copy code from other threads to "fill" plugin requests (sometimes they don't even know how to compile the code into plugins).
Since @shoghicp's inactivity (more precisely, "change of target of activity") in late 2015, the PocketMine community has been completely in chaos. But this incident is just a trigger; the true problem has lied in the community itself since a long time ago. I am not sure when it started, but all the things from the past are gone. There don't even seem to be discussion on public plugins anymore. People just concentrated on their own projects or servers. For people who release plugins, they never make threads on the forums. (Maybe because people on the forums are too low-quality to answer them?) For people who indeed knew what they were doing, such as @wies, most of them have already left the forums. @wies has told us a long time ago (like late 2014) that the PocketMine community was already too crowded. But due to my emotional ties with PocketMine community, I stayed there trying to save it. I am confident that through these months, I have delayed PocketMine from ending up being noobs' paradise.
Nevertheless something that shall come would come. After @shoghicp became seriously inactive, there emerged different repos that modify PocketMine, such as ImagicalMine, Genisys, etc. The bad thing about it is that the promotion of these projects appears to be very extreme and aggressive. Furthermore, they show little respect to the original PocketMine-MP repo. Not that they do not give proper acknowledgement, but that they do not seem to respect the hard work that users take for granted but are actually the hardest part of the whole PocketMine project - the protocol itself. PocketMine was originally written as a proof of concept for the decompiled MCPE protocol.
I'm not trying to talk about how bad these unofficial modifications are. Each of them is different. The common problem is just that they are all messing up PocketMine. If everyone uses the same modification and stops using PocketMine, fine, as long as that repo is managed by someone who knows what he is doing, I'm OK with it. But the main problem we are facing now is that we are encountering 4 different API editions. In other words, plugins using their new features, such as a plugin that disables hunger, will only work on one edition. Hence, the whole development pattern is messed up, and every day we plugin developers are facing complaints from users that the plugins do not work on a particular edition of modification, blah blah blah. Is this what we were looking for?
Because of this, the community has been fragmentated into multiple parts. Some members still look forward to seeing activity from the original repo again. Some members look forward to seeing the modifications adding the features they want. Some simply give up PocketMine.
These days, I have always doubted my own decision these months. Why am I so determined staying for PocketMine development? It is no longer under development (I can help with it, but the quality of my work isn't as good as those from PocketMine originally) like it was before. The community is no longer the same (we didn't have so many utilitarians before). What is left here to make me stay?
So I secretly started a new server software project called Enzmine after diagnosing that PocketMine is unsalvageable to a large extent. However, it was the most short-lived project I had ever made. Not long after the project was started, my schoolwork suddenly increased drastically (there is a reason, but that is quite private). Eventually, I decided that since there is no hope achieving anything within the PocketMine community (even if I didn't actually plan to make my plugins usable at all, if there is no development pattern to follow, it is still very confusing), and I can't start something else to replace MCPE servers, I would just leave the world of MCPE servers.
Actually this is just a motivating factor. The real reason is, since a long time ago, like in late 2015, I had already decided that I needed to leave this place very soon. I am completely aware of how much time I have wasted here, and the answer is that it is already far too much. I just couldn't spend all my time here, neglecting other much more important things like studying. However, due to the abovementioned emotional bonds and other reasons, I was not determined enough to quit. Especially after projects like ImagicalMine emerged, it occurred to me that PocketMine needed to be rescued (which eventually did not succeed). Because of this, I had stayed for a few more months, trying to keep things in order. However, I was appalled how the community has been severely infiltrated. In short, there is just plainly nothing left for me to stay for.
Two years and a half. That is approximately the time I had been involved with the programming section in Minecraft. There is a lot to remember, a lot to smile about, a lot to laugh at, a lot to be embarrassed of, a lot to be proud of, and a lot to be thought about again. It actually marked many incidents in my life as well. For instance, I remember which project I was working on when I newly moved to my new home. I even remember the night @shoghicp released the first 1.4 beta, it was the first night in my memory that I could not sleep for the whole night (nothing to do with the release though; it got released at almost 5:00 a.m., and I went to sleep around midnight). I could even further remember that when I wrote my first JavaScript library on a mysteriously-long-dead "ModPE modder clan" PM, it was the time when I learnt about projectile motion. Further before I joined the community and made up the name PEMapModder (or MCPE_modder_for_maps on Minecraft forums), I downloaded @zhuowei's mod that sets animals flying (can't remember what they are for now) and I was thrilled when I learnt the theory of using trigonometric ratios to deduce delta X and delta Y using angle and speed.
So much has happened, so much is still happening, and so much is yet to happen. I do not know what would be happening in the future, nor can I predict them. I came quietly, and I shall similarly leave quietly. Yet the whole community is in such a chaos that I don't know how to stay quiet anymore.
After today, I would disappear from all online Minecraft-related communities forever (a long time!). Nobody will ever (a long time!) talk to someone online called PEMapModder that is actually me. To enforce my determination, I am going to generate random passwords, change password to them, and then logout. Since I have created just too many accounts on too many places, I would only change the following:
- PocketMine Forums
- GitHub
- StackExchange
- Freenode IRC
There are many others of course, such as Minecraft Forums. But due to the large amount of these accounts along with laziness, I am not going to change them. There isn't anything to attract me so addictively anyway.
So what would happen to my existing GitHub projects? I generated an access token that authorizes @iksaku to have full access on all repositories that I have access to. He can commit to repos using my name if he wants to, or just ignore them if he doesn't want. Actually, it could have ended up the same well if I didn't do this. All my projects are open-source. Everyone can fork them and edit them in whatever they want in accordance with the licenses attached.
What about pmt.mcpe.me? It is currently hosted by www.techplayer.org and managed by @GoneTone. He will make sure that pmt.mcpe.me is working as usual.
Please note that I am not requesting or assigning @iksaku to finish my plugins. I am only authorizing him to manage my repos if he wants to. He has his freedom to decide what he wants to do, or who to forward the access token to for continuing my repo.
Will I ever come back again? Nobody knows. Just assume that I died, and save our dear Planet Earth from global warming by sending less posts or tweets asking where I have gone or debating anything about me, etc. Do not try to talk to me using this thread, because I will not read it.
I shall schedule-tweet my random password in an ecrypted way so that I may be able to reactivate my account one year later.
P.S. Some time in 2014 or 2015, I felt that there was something that I wanted to say to many friends, individually, that I met on the forums. Sadly, as time changes, people change as well. I'm one of the few ones who stayed, but now I'm leaving now. The people whom I wanted to leave last words for include iJoshuaHD, LDX, 64FF00, iksaku, etc. But it seems that they are mostly very inactive now. Plus, what I wanted to speak to them is no longer important now.
Please fix typo Miencraft