CMA
Cake's Miner Apocalypse
Origin of Idea
Cakes Miner Apocalypse Subreddit
Just to be clear, this mod was made for the subreddit, not the other way around. However, anyone can use it, not just people involved with the subreddit!
Backstory
You stumble over a tangle of grass as you finally come to your senses. Where are you? You look around, seeming to be in the middle of a vast grassy plain, the likes of which you've never seen except in the holobooks of your youth. Where were you coming from? You look over your shoulder to try and spy your origin, but the plain extends for as far as the eye can see, no end in sight. A jolt of pain sends your hand up to the side of your head to find hair matted with blood. A head injury, most likely. Even as you think this, your memory becomes clearer. A special mission, they said. Something about preserving humanity. You dig in your pocket under the heavy, lead filled armor and find a handfull of seeds. It all comes flooding back.
You were a candidate in a military program on experimental stasis, although now you suspect that you had been fooled. Why else would you be wearing what amounted to a lead apron, in a world where the air tastes like metal from the ionization. Why else would the room in which you awoke, a room that you have ho hope of finding again, look as though it were a million years old. Why else would you have a pocketfull of seeds. Why else can you not find the vast, sprawling city of your home.
What happened to the world? Are you alone, or are there others? Questions race through your mind as a change in the scenery catches your eye. The world is becoming slightly darker, the sun sinking over the horizon. You don't know why, but you have the feeling that being out in the open at night, even in this seemingly deserted land, would be a bad idea. You walk to a tree, a lone sentinel in a land full of mysteries. You clench your fist. Well, it's not like you have an axe...
Explanation
This mod is meant to approximate single-player mode in multiplayer minecraft, with the rare possibility of discovery and friendship. Players are randomly spawned into locations in the world, which is a set size and wraps around on the borders. The distances involved (customizable) mean that you have a good chance of remaining completely undiscovered if you wish, however if you go venturing, you may very well bump into another player, shattering the single-player illusion. Over time, players find each other, creating towns, friendships, betrayals, and enemies out of the interactions.
I felt it important to add my name to the title of the mod, not to try to increase my own popularity, but to distinguish my mod from the many others that I am sure will be made out of this idea. I will be taking this mod in a different direction than I'm sure the official mod will go in, and from where other individuals' mods will go.
Features (so far)
- Multiworld support!
- Random spawn and respawn across the total surface of the world.
- Customizable world size (edit CakesMinerApocalypseMapSize.txt in your server folder to width and height of world, default 10000).
- World-edge wrap, meaning that once you reach an edge of the world, you will be teleported to the other side.
- Radio equipment for survivors, if they wish, to communicate with other survivors over long distances.
- Chat based on distance, no global chat, chat gets more unintelligible the farther you are away from the speaker.
- Random Fallout Shelter generation in 0.1% of chunks (by default). See this imgur album for details. Fallout shelters are encased in bedrock with an iron door as the only entrance.
- Iron doors that are powered are indestructible. An iron door with a lever next to it is the only entrance to fallout shelters, which when closed are impervious to attack.
- Radiation damage system where you get damaged more the closer you get to generated craters (in 0.1% of chunks by default).
- G.E.C.K.s lower the area's radiation levels. See this imgur album for details.
- Dirty Bombs/Nukes!
- Click here for an in-depth explanation of the features of this mod...
Planned Features
- Probably some other stuff that I haven't thought of yet...
Servers That Feature This Mod!
Acknowledgments
- dotblank - Your programming expertise helped this mod out in a tight spot, and has enhanced my plugin programming knowledge.
@Sergiovan
Yes, look for it in the next release.
@cakenggt
It seemed to be happening for everyone on my server, I started a fresh world several times, every time someone rejoins, you keep your items but are teleported. Also had some bugs where when I was close by someone, literally standing right next to them, my chat did not reach them.
Will you make it possible for the server admin to read all the comments in the console? It's kinda annoying not being able to communicate with the players
@Goldkoron
I just tested this out on a test server and I cannot replicate this bug. The only reason this would happen is if your player.dat file was not being saved upon joining, could this be the case?
Bug, when I join server then rejoin, my character gets teleported to a random spot, so we cannot ever settle down in one spot
Sorry to bug you. Thanks for all the help. But the latest Devbuild seems to break hawk tool. I guess I have to wait for bukkit to be officially released until I can install this. The spawn thing I can work around.
Thanks again for all the help. I'll be back after bukkit release.
sorry, I forgot to be thourough.
I'm running Cratfbukkit version git-Bukkit-1.0.1-R1-39-g60409d1-b1717(MC:1)(Implementing API version 1.1-R1-SNAPSHOT)
So I'm guessing I'm running the latest
[edit:] Downloaded the latest latest ;) It started up! I'll keep you posted.
[edit2:] when arriving in the world and using /spawn you're automatically ported to the default spawn in the main world.
@RemyPas
As SLiPCoR says, it seems as though updating my plugin for the non-recommended 1.1 build broke it for the RB. So I guess if you want to run it, download the non-recommended 1.1 build to run your server on.
Why this happened: The new 1.1 non-recommended build uses a much better listener system that is different from the listener system in every RB previous.
@RemyPas
seems like latest version is not compatible with selected RB .. fyi
I've installed it and I am getting the following error in server.
2012-01-23 22:03:46 [SEVERE] Error occurred while enabling CakesMinerApocalypse v1.81 (Is it up to date?): org.bukkit.plugin.PluginManager.registerEvents(Lorg/bukkit/event/Listener;Lorg/bukkit/plugin/Plugin;)V java.lang.NoSuchMethodError: org.bukkit.plugin.PluginManager.registerEvents(Lorg/bukkit/event/Listener;Lorg/bukkit/plugin/Plugin;)V at me.cakenggt.CakesMinerApocalypse.CakesMinerApocalypse.onEnable(CakesMinerApocalypse.java:48) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:230) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:970) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:280) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:190) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:173) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:355) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:342) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:174) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406) at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
I'm running Bukkit version 1717
@cakenggt
Thanks, I'll play with the plugins to see which other one might be conflicting with yours and let you know which it is
@Galzek
I have tried out breaking stuff with the latest server build and I don't get any errors, except when I break blocks around incorrectly lit blocks in the generated fallout shelters. Perhaps this error comes from you having more than just my plugin installed on the server in the screenshot? I'm sorry I can't be of more help.
@RemyPas
The random spawning triggers on player respawn and player join if there is no player file present (if it is their first time joining the apocalypse world). I think that the random spawn would work if they enter the world through a portal, but I'm not sure, as I don't know how ancient gates introduces the player to the world. However, the player's spawn is set to their random join location, so they would be able to arrive there by typing /spawn. Please let me know if you have any problems setting up this plugin to work on your server, as I don't have the means to test this server configuration out on my own.
Chat scrambling only occurs when players speak in the apocalypse world, so chat from the server would come through perfectly, I think. And as the plugin has multiworld support, it would not effect the chat in any other world in which the plugin isn't enabled.
This looks like a really great plugin! I'm definitely thinking of having a new world on my server that will feature it. But I have some questions first, if you don't mind.
Since it will be a new world the players will have to travel to, how do you handle the random spawn? I have portals set up now (AncientGates) to handle in-between world transportation. So I have to set the to-location of the portal Does the plugin generate a random spawn per player? So that if the player travels to the world through the portal and types /spawn he gets to his/her spawn location (random)
About the chat. I would like for the players to keep receiving sever chat and would love to have the chat scrambling feature this plugin offers, only in the world I am planning on using the plugin.
I hope you can help me with these questions.
Looks like everything works but still getting interact errors whenever someone hits, breaks, etc to something. I have the screenshot of it in my message below. Thanks for the quick fixes
@Galzek
I have fixed this bug in the newly uploaded v1.81 .
@cakenggt
I started with 1.1, then went back to 1.0.1 with version 1.7, it still didn't work. So i went back to 1.1 with 1.7.3 and it still doesn't work. I made a brand new world on bukkit 1.1 with your 1.7.3, I had 2 people log in. They logged in at the same place. I then had one player kill the other and they respawned the same place as where they were. I've tried running around until my food level was below 50% then jumping off a cliff and it goes back to the first spawn point. I've never gotten the spawn to move and I've tried every setup I could imagine. I have been running a MC server now for over a year and been using and updating bukkit plugins since bukkit was around. I can't for the life of me figure out why this doesn't work
UPDATE: Here is my log with a brand new world, and two players logging in. This is server 1.1 running 1.7.3 of your plugin http://pastebin.com/Qv0830Cm
If you look at the location of LaurieLu and Mairic, they spawn at the same location
UPDATE2: Here is the same thing. BRAND new world running bukkit 1.1, Your 1.7.3. I have 2 people log in and they are at the same location (give or take, like 2 blocks apart). In this test I had NO other plugin running besides this one http://pastebin.com/EeeDcA66
@Galzek
Try using bukkit's newest non-recommended 1.1 build for your server. I updated the code to 1.1 and I had to change a lot of things that I think may break the plugin for 1.0 servers. Also, the random respawn only works if you are killed by a player or are below 50% health and die of other causes, if you are above 50% health and are not killed by a player, then you will respawn where your bed or spawn point is.
@Galzek
Getting errors, Could not pass event org.bukkit.event.player.PLayerInteractEvent to CakesMinerApocalypse. The speech is working, the teleporting to the other side of the world is working. But the random spawning is not.
Ok, removed all plugins except this one. I made a brand new world. Me and someone else logged in and went to the same location. When we die, we go to the same location. Also, the server is running out the PlayerInteractEvent error on every break, move, attack, etc
So I turned my server and my client back to 1.0.1. I deleted all plugin except this one. I deleted all worlds. Start fresh. There was an error enabling this plugin and so it didn't work. So far I haven't got this to work on a vanilla 1.0.1 server or a 1.1 server.
ANOTHER UDPATE: Switch the plugin back to CakesMinerApocalypse v1.7, all errors are gone but random respawn still doesn't work
I am LOVING the 1.73 update! You keep adding some really cool ideas.