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.
I have this strange problem whenever I add CMA to my server, It won't load whatsoever and the craters file doesn't appear as well. I've tried removing all of my other plugins and it has not fixed a single thing, I've tried the official outdated and the unofficial outdated and nothing seems to fix the problem and I'm not sure how to fix this strange problem, If anyone knows how to fix this. Please help. I'd love to add this plugin to my server.
Edit: But I didn't remove pail :P Edit2: It seems that the unofficial update seems to add the craters.txt although the server has yet to come up.
@keenerb
If anyone wants to run this plugin on 1.2.x, I've put together an unofficial updated version, available here: CakesMinerApocalypse v2.6-exphc
I've been using it on my server for some time, no problems. Full source changes are on GitHub, but major changes include:
I'm not supporting it but hopefully it'll be useful to someone!
@keenerb
I've been using this plugin on 1.2.3 and it works fairly well (haven't seen the walking issue Mattxy8 mentioned), with only two problems I noticed so far: the fallout chests are only half-populated, and explosions cause an NPE error about getting chest state - both due to Bukkit API changes in double chests, I believe. I submitted fixes for both problems to cakenggt, they're committed to the source repository at https://github.com/cakenggt/CakesMinerApocalypse (though not yet in a release).
This makes my players walk weird in the "apocalyptic damage" areas when I turn off the damage.
Does this run well on 1.2.3/1.2.4 dev builds?
Let me start of by saying I'm in love with this plugin. Its exactly what I need for my server. I have been using this plugin for a while now and I have one thing that I think needs to be added / fixed.
In my opinion you should add the ability to disable random spawn after a player has successfully slept in a bed in the config file. I like how if your hunger bar is more then 50% filled you spawn at your bed but I wish it would also do that when a player gets killed by a mob, not just when you hit the ground.
Also besides adding this feature. Please update it so it works more smoothly with the newest bukkit build.
Thanks for your hard work and thanks for a great plugin.
Not sure if you saw my Reddit message - walking on halfblocks/slabs doesnt give you radiation :(
@cakenggt
Derp, totally missed that, thanks! Working like a charm now :D
@darkmyre
Look at the changelog for the newest version, and also at the new radio section in the in-depth page. It no longer generates a hash so you can make your own channels.
Loving this mod so far, but having some trouble getting the broadcast tower to work. I place a jukebox (y=75), put 5-6 iron bars on top of it (have tried with a diamond block separating them, and without any block), send power to the jukebox (redstone wire next to it, redstone torch next to that), but the sign isn't generating a channel hash. I've tried giving power to the jukebox from pretty much every angle I can think of, and nothing will generate the hash. My sign doesnt have anything on the first line, and just a simple "This is a test" on the second.
Is there something I'm missing, or is this feature broken at the moment? Running CB 1.1-R4 and tried both v2.50 and v2.51 of the mod with no luck :(
@kapel1044
Currently the chat issue is resolved on the /r/minerapocalypse official server and the solitude server, so it might be an issue with your server configuration or other plugins installed on your machine.
could You @cakenggt make a full list of bug fixes somewhere? not only "bug fixes" in changelog.
@edit: short range chat is still not working (still sends two; local and global messages) and a wild player move error appears http:pastie.org/3398684 as of plugin v2.25 , i know nothing about making plugins but i see you added checking if there are players in configurable range and how many of them. use it to list them and send message only to them with that funky missing letters method or is it already implemented or need to block bukkit chat system somehow maybe? still you can make other plugin to make that chat thing and delete unused code from this one
we should name that chat bug somehow and check if it was working in old plugin builds ;>
@edit2: just done checking changelog of all versions and tested plugin v0.2 when you implemented it for first time and v1.85 witch was when i first used plugin and thought it was working... telling you one thing. funky chat was never working as intended LOL
@edit3: MortuusTerra plugin; i don't know how this guy did it but his funky chat is working as yours intended to (not configurable 50 blocks range, missing random letters and you cant even see what you've wrote because of message "no one can hear you" witch is obvious). THE funny thing is that with BOTH his and yours plugin enabled chat works still fine so my idea for your bugfix is get rid of bukkit chat system or I think if you two are developing very similar plugins you should team up AND if you will do that please add every feature to be configurable enabled or disabled
@edit4: sorry for after-work-late-night-editing-comments-frenzy
This is awesome! Great plugin, is there any way for me to make some banners for you? or other images? please PM me if you want, I'll show you my other images see if you like them
@wingsman2
I've found a little workaround using bChatManager with that bugged CMA short range chat; set bChatManager channel distance to 50 or something
But it has one but mayor disadvantage; CMA doesnt work with that missing letters further you are from sender thing, and chat is readable as usual 'till 50 blocks away then No one can see your message.
yeah, same movement errors here, gonna update plugin and edit in a second.
EDIT:
onPlayerMove error still appears
Hi the whole global chat is still working once you are more than 50 blocks away and this is the only plugin running on the server.
edit: I am also not able to make or use a dirty bomb/nuke
I'm now getting the movement error with version 2.20.
what should I do if I have generated kinda big world before but want to add only shelters and craters?
I was having a double message issue and it was resolved by removing Essentials. The issue was that Essentials was displaying my text globally while CMA was displaying it to no one but me.
Another interesting quirk: CMA appears to think you are underground as long as you aren't in sunlight. So you can be in the middle of crater and just be standing under a tree to not take damage. :D One solution might be to check if there is dirt or stone above the player's head. If they game it by building a dirt house or something, well, it's better than just being in a shadow.
Cake, my friend and I have some interest in helping fix bugs and exposing some variables we find useful to the config file that are hidden away right now. One feature we want to try and program is making it so speech falls away quicker underground than above ground. How do you feel about submitting revisions?
@kapel1044
I found that too. I fixed it by doing a 'clean install' of my server from scratch, setting the Apocalypse world as the default world.
If there is a second player online outside the 50-block maximum, it will use white chat anyway, but that's less of an issue.
@ cakenggt
That's nice, but i never saw a trapdoor underwater, it pops out when generating.
Another thing that ladders and shelter itself is generated before the mines or caves, sometimes I had only half of ladder or half of shelter.
and another bug; i don't know why short range chat is not working, in console it looks like this:
07:22:20 [INFO] <testplayer> he
07:22:20 [INFO] <testplayer> he
I wrote that "he" only once, but server is sending message twice. It only occurs when there are 2 or more players online. I can see both messages when I'm close to the other player online (one green from your plugin and the other one white wich is server wide) or only the white message when I'm far away from him. My plugins are: armageddon, authme, bpermissiopns(for bug test purpose i used pEX also), dynamine, griefprevention, mccityhelp, nocheat, orebfuscator, vault and cakesminer. To be sure it's bug I deleted all other plugins, didn't fixed that. tried also using craftbukkit RB and latest dev - still not working.