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.
The movement errors are caused by not checking whether craters are in the same world as they player they are trying to affect. I ran through your class files and the Bukkit API and I think this should do the trick: (I've never done Bukkit or Java before, this might need some tweaking)
CakesMinerApocalypsePlayerMovement.class, lines 67-68
This stops it being called in a world it doesn't operate in. Not essential, as the next bit will stop it performing any actual operations, but it does save some server CPU time.
Same file, lines 86-91
This, more importantly, stops it from trying to calculate the radiation damage chance between craters/GECKS in different worlds.
If you need to run the plugin in the meantime, disabling apocalypseDamage will stop the errors.
Aside from this, I really like the idea of this plugin and everyone on my server is looking forward to a Survival map powered by it. Thanks for putting in the time and effort to put it together.
Regards, James.
Has anyone found any good texture packs to go with this mod? It would really add to the already great atmosphere.
@xRufiSx
I'm getting these move errors too. Make it unplayable because my server log is being filled with the errors about moving. I'm using a new world, bukkit 1.1 R3 and the newest Cakes plugin. and that's it. And it still doesn't run error free.
@kapel1044
Feature, lol.
it's a bug or feature that shelter can be created under water ? :d
@Sergiovan
If you didn't delete your old plugins/CakesMinerApocalypse/config.yml, you will need to add the option apocalypseDamage: false to turn it off. Deleting this plugin's config.yml will allow a new config.yml with all the current options to be created when you start up the server for the next time.
How do you turn off radiation damage? There is no option in the config.yml
I was just looking through the code and I think I found the problem, being that it would always randomly spawn you if you spawned in a world that was named anything other than "world". I have fixed this in v1.88 .
New version 1.87 is posted. In your config file, if you didn't delete the old one and newly generate a new one, add an option called randomSpawn and set it to false if you want to turn off the random spawning functionality of the plugin if you want to use another plugin for random spawning or just don't want to use random spawning at all.
@GmK1
I'll push that out in the next update later tonight. You'll have to delete your old config for the new options to be printed to the new config.
@cakenggt
Using that as well - people spawn somewhere else everytime they rejoin, they also get a boat again every time.
You appear for a splitsecond at the old place you logged out in, but immediately get moved somewhere else.
Could we maybe get a config option to disable the random spawn? Using this http://dev.bukkit.org/server-mods/random-spawn/ and Cakes disabled, it works perfectly, but ofc we want both ;)
@Goldkoron
I am using Bukkit 1.1-R3 http://repo.bukkit.org/service/local/artifact/maven/redirect?g=org.bukkit&a=craftbukkit&v=RELEASE&r=releases
@Goldkoron
Same here, not using Multiverse or anything, people always spawn somewhere else when they (re-)join, making this unusable :(
@xRufiSx
The move error should only happen until you have generated a craters.txt file, when you load new chunks.
I haven't made the plugin compatible with a specific multiverse plugin, just the multi-world feature of bukkit, where you can turn it off for some worlds.
what about the move error while walking around, and multi-verse dumping everyone at the maps spawnpoint and no where else. using as a link for the warp to this world as w:WorldWarpTo. also /mvtp WorldWarpTo drops everyone at the worlds spawn, not a random spawn in the world.
@xRufiSx
The errors are supposed to generate the first time you start up a server and the first time a player logs in, as no craters are created in the spawn area, and the plugin is trying to load a file that doesn't exist yet. Once a player logs in though, craters will be created nearby and the file will exist, not giving you the error again.
My character is still respawning every time I rejoin server, I have removed all other plugins so is it a craftbukkit build problem? I have tried latest reccomended build, plugin does not even work. Can you link to the build your using?
Is this compatible with Multi-Verse? /mvtp WorldCakeIsEnabled starts me and everyone else at that world's pre-defined spawn.
Also,
2012-01-28 18:20:59 [SEVERE] Could not pass event org.bukkit.event.player.PlayerMoveEvent to CakesMinerApocalypse
with the latest RB craftbukkit 1818
Also.
Upon server startup
http://pastebin.com/vksdjQRU (yay, no big long outputs in comments)
@cakenggt
Maybe, I do not have many player affecting plugins though, and not many at all at that. I had this plugin installed, your Geometric magic plugin installed, and small commands plugins like mob disguise and vanish
@Goldkoron
The only thing I can think of is that one of your other plugins might be interfering with this plugin.