Hard Core Worlds
Hard Core Worlds
Description
This plugin brings something like Hardcore mode to select worlds on your server. Single player Hardcore mode is simulated by these things: Hunger will eventually kill you. Mob Damage is adjusted (by default) to hard difficulty damage, but this is customizable. You/others are banned from chosen worlds after dying in them.
Features
- Optional Server Lives you must have the appropriate permissions if you wish to be banned from the server
- Optional Lives
- Hunger can now bring you down to 0 health (via virtual hunger)
- Mob damage is changed for selected worlds. By default set to the hard difficulty, (Skeletons do 3 hearts, Zombies 3.5 etc.)
- Custom difficulties
- Hardcore worlds ban players upon death
- Can use permissions to ignore bans
- Permissions regulated commands to control banning
Usage
Ban.yml explanation
Mob Difficulty.yml explanation
config.yml explanation
Command List explanation
Permissions explanation
Todo:
Any suggestions?
Known bugs:
none
Unknown bugs:
- Let me know
If you feel compelled for some reason, to give me money, here is the link :)
@pyropyro78
It sounds like you want to be able to transfer lives from one world to another, essentially. Which if a person had that capability, why not just pool all the lives for those worlds, it would be the same, because at any times you could just transfer your lives anyway. This would then be equivalent to having certain number of lives in groups of worlds. So I could implement a world grouping system where the worlds shared lives. Maybe this is closer to what you want? However, This is rather complex, and it would take some time to implement. Live's transferring would be easier though, but it seems kind of pointless to me, and as though people may be able to take advantage of it.
@Cayviel
no, i mean if the player dies in worldA and they get pushed into worldB then they can have a command to use up one of their remaining lives. So instead of x amount of lives until ban, they get banned and can choose to use a life to get unbanned from that world or wait it out.
@pyropyro78
I'm somewhat confused. Do you mean disable all banning from a world, but keep the custom difficulty and virtual hunger?
Hope you wont mind another feature request. Can you tie lives in to being optional?
So for ex: Player has 3 lives on world and world 2 is a world safe from bans so when the player gets banned on world2 the player can issue
/hcw unbanself world2
This would not work with a server ban because the player is kicked and then not permitted back on but for world based bans I think its possible.
Would this be easy to add in?
@Cayviel
Use that and see if you still get a crazy log output
@genesis_aix
Although I am not sure what is causing the mad log thing. But the good news is that I now allow decimals! 0.02 hours for 1 minute. 0.5 for 30 minutes, and so on. Here for the time until it is accepted - Link Removed: http://www.mediafire.com/?1eyct0slb1bioye
If anyone wants a premade permissions (PEX) and config setup: Config - http://pastebin.com/QTtVJ58h PEX - http://pastebin.com/BUJKSLF5
This setup = Nether&End-VeryHard / 1 death = 1h ban / no food = slow death.
@Cayviel, if i add 0.xx values on bantime, no lockout happens. Could you make it work with those kind of values? If you could, it would be cool if the lockout message displayed minutes as well. Expect me to repeat this in ever post until its done! ;]
On the Configuring "config.yml" page, you should add to the world names may have spaces - but all worlds and configs are case sensitive! And mabye add more info on each of the config values, such as what if negative what if 0 what if positive.
Permissions: http://pastebin.com/0VYL0i05
Settings: http://pastebin.com/pcH2Vsub
Happenings: I get into nether, and die. e.g. drained hunger will kill you with MinHP: 0 - thanks for that! =) Upon death i am told "You are expelled from world 'world_nether' for about 0 more hours! 1 live(s) remaining in world world_nether." and start falling in a black nothingness, during which time the server log goes mad, and after awhile i "land in spawn".
Problem 1: Mad log Problem 2: When i enter a nether portal, it says im expelled, but after falling awhile (same log madness) i end up in nether all the same. Problem 3: I understand you made this primarily for PvE-ish servers. On a PvP server you have to expect getting killed some more. As you see ive set 0.33 ban time, does this even work? It would be great if the lockout message would say minutes as well as hours!
Minor: In the top of the config file there is a sentence that has no ending. - If i remove it, it comes back on reload. - If i add some pointers for myself, and uncomment them they will be removed on next reload.
ServerLog: http://pastebin.com/esZhtg0D
Will continue to try out different values, i expect it will solve itself when i hit the spot! I will try to add relevant feedback as long as it is beneficial for you and the project, or at least until i get my server up running smooth hehe =)
@genesis_aix I added a new node in config.yml It is totally entirely untested. You like to bug-test things, so why don't you try it out? In the appropriate world in config.yml add "MinHP: 4" to get 2 hearts minimum (hp is measured in half hearts, so 4 half hearts = 2 hearts) so it may look like Worlds.world.MinHP: 4
@genesis_aix
I am glad to have such diligent bug testers!
I will fix these right away! What happened was that I accidentally merged a debugging version and a non-debugging version of the plugin, a few versions ago, so through the last couple updates I have been removing the left-over debug messages. Apparently I missed one.
If it is parsing correctly, then it should not be overriding the previous version of the config file. Is the config file still being over-written every time?
I did not plan on implementing this hunger feature, as it was meant to simulate single player hardcore mode, but because you have been so helpful, I'll get to work on it :)
Im getting permissions errors ingame.
Setup in PermissionsEx: - hcw.ban.ignore.world - hcw.ban.world.world_nether - hcw.ban.world.world_the_end
In-game messages:
ban.ignore.world not found on playerX ban.world.world not found on playerX ban.ingnore.world.world_nether not found on playerX ban.world.world_nether <- this comes up everytime i take dmg in nether
I understand that the plugin somehow cant find the permissions. But i have set it up like all other permissions. I have tried both with hcw. and without.
Im putting this through the parser and dont understand why it gives error. Config: http://pastebin.com/vzBBhwLH Server log: http://pastebin.com/aXrNsXWT
The config file is reset ever time i start. This also happens when i use the config example.
Edit; fixed: http://pastebin.com/YuqwuNMs
@Cayviel In the example, ban duration and use life values need a space.
I have looked through all the posts and all the links.
Where do i set virtual hunger? And how?
I want hunger in "world" to bring you down to 2 hearts, but hunger in "world_nether" to bring you down to 0 hearts (death).
@skeight
Wow I'm really glad you were able to figure it out! Sounds a bit confusing as I've never even heard of superperms.
@Cayviel
EDIT: Figured this out. I had to install SuperpermsBridge v1.2 which is so "plugins that have not updated to use Superperms directly will function." (from the FAQ). Everything is working great now! LOVE THIS PLUGIN!! :D
Very strange. I must be missing something. Here's a screenshot of a default player (definitely not an op) I can't do anything else with this account. I can't even build in the hardcore world.
http://i.imgur.com/eWSLC.jpg
I am using the PermissionsBukkit Krinsdeath's Temporary Fix Build (http://dev.bukkit.org/server-mods/permbukkit/files/1/) which includes the support for multiworld as I was having some issues with multiworld permissions prior to using this version of permissionsbukkit which resolved things. Maybe this has something to do with it?
EDIT: By the looks of your config, you're not using PermissionsBukkit. I'm pretty new to all this so I'm not sure if that's going to be the difference or not.
@Cayviel
It seems to work, check out my permissions.yml file and the game screenshot of me not being an op, trying to use /hcw lives 3 (by the way, /hcw lives set 3 changes the lives of a player whose name is 'set' to 3)
http://i.imgur.com/9sZVJ.png
@skeight
lol. Okay, I didn't explain it well. "Op Commands: true " belongs in config.yml
hcw.ban.commands: false won't do anything, as it is not how permissions work as far as I know. If your group does not have "hcw.ban.commands" in your permissions folder, then you should not have access to any commands. I will test it myself, in a bit.
I plan on changing hcw.ban.commands to hcw.commands. The reason for "ban" was because there did not use to be lives commands.
@Cayviel
Thanks for the quick reply! I didn't even try hcw.ban.commands *facepalm* as I thought that was only for the ban commands and not all commands (lives, etc).
I tried adding hcw.ban.commands: false to my default: group in PermissionsBukkit config and shutdown/restarted my server.
I logged in with an account that doesn't have op and I'm still getting access to the lives command. Well actually, I have access to all commands with a default player (account that has no special permissions).
If I leave out hcw.ban.commands completely from my permissions file then default players still have access to all commands.
EDIT: When I say access to all commands, I mean access to all /hcw commands. The other permissions are working fine.
I am also using: Multiverse (Core, NetherPortals, Portals), AntiCreeper, CommandBook, HardCoreWorlds, PermissionsBukkit-1.2, WorldEdit, WorldGuard.
@skeight
If everything is working right (It may have broke in the most recent update, if so I am unaware of it) then only people with permission hcw.ban.commands can access that command. Also if you have the setting "Op Commands: true" then all ops can also access the command.
Great Plugin!
I am wondering if there is a permission to prevent users from adjusting their lives. I'm sure I'm just missing it somewhere.
Currently all players can use '/lives set X' to change the number of lives available which is not ideal. The players don't need access to any of the hcw commands so hopefully there is a permission to just block everything. (I tried hcw.*: false but this didn't work).
I am using Bukkit 1.1-R3 with PermissionsBukkit.