MobDungeon
MobDungeon
Hey community!
Many of you would say: "Isn't there already a plugin called 'MobArena', that does the same thing?". Well you're right in some way, because the basic idea of both is to fight against mobs and get rewards. But as you know, in MobArena you can only play at ONE location per arena. If you want to be able to fight in different spots, you would need to make separate arenas. Also you would need to leave/finish the first one and then manually join into the second one for example. MobDungeon takes it further. You can now set multiple locations and get through them without doing something manually. You'll see that later.
So first of all, I want to thank garbagemule for his awesome plugin, MobArena. It's still a better plugin definitely, but we'll see ;)
Introduction
So one day, I came along the MobArena plugin and I really like it. Some days later, I build a huge arena containing four different locations. They were separated by walls so the players can't get into another arena. I thought about connecting them in some way, e.g. that players would first need to finish the first arena, then get to the next one. The problem was now, I wanted that the players would automatically get teleported to that next arena without them doing anything. But that doesn't work with MobArena. Since I'm programmer who has some years experience in some languages (e.g. C#, C, Java), I thought it would be a nice little project for me to get into bukkit-plugin programming. I already knew bukkit for so long, but didn't really got into developing, so I thought I would be a good start. So here I am with my plugin.
Ideas
The main Idea is pretty obvious: Kill mobs, get to the next level, receive rewards. Pretty simple, huh? Yeah, but what about the way you get into the next level, or what kind of rewards you get? Well, let's make a list:
- Requirement to proceed to next level
- Variety of rewards, like Items and money
- Be able to create a wave of mobs once, and use it in as many levels as often as you want
- More levels per dungeon!
- Be able to create/modify/delete dungeons/levels directly inside the game
- Easy to use settings-format
- Classes! You have any other great ideas? Let me know!
Commands
Here are all commands that are/will be available:
- /md list : lists all available dungeons/levels/waves
- /md info : plugin info
- /md help : all commands with usage & description
- /md create : creates a new dungeon
- /md delete : deletes a dungeon
- /md addlevel : add level to the current dungeon
- /md removelevel : removes a level from the current dungeon
- /md editdungeon : sets the dungeon as the current one and set's him in the edit-state
- /md setcorner : sets corner of the current level
- /md deletecorner : deletes a corner with id
- /md changesize : change size of the level in all directions (up, down, in, out)
- /md editrequirement : change requirement for completing current level
- /md setspawn : adds a new monster spawn point
- /md deletespawn : removes spawn point
- /md setwarp : adds a warp point
- /md deletewarp : deletes a warp point
- /md getcurrent : returns current dungeon & level
- /md setcurrent : sets current dungeon/level
- /md save : saves current dungeons/levels/waves/classes
- /md reload : reloads data into the plugin
- /md j or /md join : joins a dungeon
- /md spec or /md spectate : joins as a spectator
- /md l or /md leave : leaves current dungeon
- /md generate: creates an area based on the WolrdEdit selection
- /md setoption: sets the given option to the given value
You can use /mbd or /mobdungeon as well!
Permissions
mobdungeon.join.*: description: Gives acces to join a dungeon mobdungeon.leave.*: description: Enables leaving a dungeon while it's active mobdungeon.spectate.*: description: Gives access to spectate a dungeon mobdungeon.list: description: Gives access to the lists of dungeons/levels/waves mobdungeon.cofig.*: description: Gives access to all editing commands for a dungeon/level mobdungeon.config.save: description: Saves all data to the files mobdungeon.config.reload: description: Loads the data again from files mobdungeon.config.editdungeon: description: Enables editing of a dungeon/level for the player mobdungeon.config.create.*: description: Enables creation of certain things. mobdungeon.config.delete.*: description: Enables deletion of certain things mobdungeon.config.create.dungeon: description: Enables creation of a dungeon for a player mobdungeon.config.create.level: description: Enables creation of a level for a player mobdungeon.config.delete.dungeon: description: Enables deletion of a dungeon for a player mobdungeon.config.delete.level: description: Enables deletion of a level for a player mobdungeon.config.create.warp: description: Gives access to setting a warp in a level mobdungeon.config.create.spawn: description: Gives access to setting a spawn in a level mobdungeon.config.editrequirement: description: Gives access of editing the requirement for the level default: false mobdungeon.config.changesize: description: Gives access of changing the size of a level mobdungeon.config.create.edge: description: Gives access of setting a corner for a level mobdungeon.config.setcurrent: description: Used to change level for editing mobdungeon.config.delete.edge: description: Gives acces to delete a corner mobdungeon.config.delete.spawn: description: Gives access to delete a spawn mobdungeon.config.delete.warp: description: Gives access to delete a warp
Installation & Setup
To install the plugin, just drop it inside the plugins folder and start the server. Configs will be created automatically! Setup for those things that you can't edit in game will follow!
Changelog
Version 1.1.4.1: - Added ready-area - Fixed issues when WorldEdit is not installed Version 1.1.4: - Fixed permissions problem on 'setcorner' command Version 1.1.3: - Added min/max players option - Added multi-language support (You need to write them on your own) - Added broadcasting messages - Added small global config - Added world edit support - Added button to set yourself ready - Added entrance fee - Added set option command to edit dungeon options in game - Fixed error when loading level with no requirement set - Fixed permissions (you won't need vault only permissions anymore) - Fixed using setspawn without parameters - Fixed update-notification - Removed "level" optional-parameter from all commands (except where it's a required parameter) - Unified all items defined anywhere in the config. You'll need to rewrite somm of them, sorry. - When you finish editing a dungeon, the inventory no longer gets reseted Version 1.1.2: - Fixed saving issue - Added dungeon mode. You can now choose between normal and hardcore (bring your own items) - Changed change size command. You can now specify which cuboid area you want to change (all cuboids are default) - Fixed some javadocs Version 1.1.1: - fixed saving issue - finished events Version 1.1: - Updated to lates CB version - Fixed issues with not getting items when dying in the dungeon and it directly ends - Some other small fixes. - Added option to enable/disable item sharing between players - Added Update-notifier - Added and fixed Bosses (Yes, enderdragons work too) - Added and fixed Abilities - Added something API-like - Added temporary permissions for join, leave, spectator and classes ! - Added YAML-Configs! v.1.0.7: - Added "sign under block" entrance - Fixed some things - Added economy support (Note: you need vault for that!) - More work on bosses. - build agains R4 - default config is available again Version 1.0.6b: - Forgot some issues with essentials. There shouldn't be issues anymore. Version 1.0.6: - Fixed issues with Essentials - Added ability to enable/disable monster drops - Started work on bosses Version 1.0.5: - Fixed some NullPointerExceptions - Players now get warped to spectator position when they die. - Some other changes. - Fixed chunk not being loaded when leaving/ending the dungeon. - Added death message. - Prevented some NPEs. Version 1.0.4: - Changed help for some commands and added missing ones. - Changed the order of parameters for some commands (see help). - Fixed some issues when trying to enter a dungeon with no levels. - Fixed spawning more mobs that stetted. - Fixed issue that the dungeon ends after the first level. - New spectators now get teleported to the last spectator spot. Version 1.0.3: - Fixed some NullPointerExceptions. - Fixed help command. - Fixed setcorner and setspawn not working properly. Version 1.0.2: - Moved plugin.yml to wok with fatjar. - Disabled standard config because they don't work with fat jar for some reason... - Fixed bugs when more than one player is in a dungeon. - Fixed error when trying to edit a dungeon. - Modified setSpawn a bit to be easier configureable. Version 1.0.1: - Fixed adding items to rewards instead of giving it to player when selecting class and if amount is greater that 64. - Fixed default level config. Version 1.0: - Initial release.
Videos
Ending
Thanks for using this and keep me at developing this ;) If you have questions, suggestions, bugs or something else, just let me know.
kumpelblase2
Download
Current file can be downloaded here: MobDungeonBeta
I agree - I think it would be awesome if he'd update this, but he's decided to make his own RPG plugin!
NOTE TO EVERYONE (YOU MIGHT WANNA READ WHY HE ISN'T UPDATING THIS): http://dev.bukkit.org/server-mods/dragonslair/
Is this still being actively developed? And if so, can you have custom mob health?
Please, any way to reply the "/ready error" ticket??? I tried with every single version of the plugin, each time I did "/ready" a scheduler error happened...
Please fix this for 1.2.5
@Hadersjm
Mhm
I haven't found anything about this being compatible / not compatible with Heroes, can you clarify for me
Dude, you might want to change the commands, it clashes with MobDisguise, and that is HUGELY popular :P
Anyway you could make this work with 1.2.5 please?
I've just updated and it's coming up with a error when i use the command: /md ready
Josh
Hi !
First off, this is a great idea and plugin ! I like it allot. Im currently turning a whole city into a arena.
Second, Could I make a suggestion? Could there be some way of only letting players be a certain class if they have a certain score? Then I could make some kind of upgrade feature ...
Thanks! Josh
@jinkos32
Probably
does this work on 1.2.5
is there an AUTO-GENERATE Dungeon Feature at all? maybe a random dungeon with floors, bosses, treasure chests, ect?
can u add support for heroes, So when you set the monster damage it support the heroes damage/health system. Also the lives of the mobs
Does it support multiworld? As i would not want this on my inital world. Thanks
Whenever I run the server I get this error:
2012-04-02 22:45:59 [INFO] [MobDungeon] Loading data... 2012-04-02 22:45:59 [INFO] [MobDungeon] Loaded 3 Classes. 2012-04-02 22:45:59 [INFO] [MobDungeon] Loaded 2 Waves. 2012-04-02 22:45:59 [INFO] [MobDungeon] Failed reading level settings: 2012-04-02 22:45:59 [SEVERE] java.lang.NullPointerException 2012-04-02 22:45:59 [SEVERE] at de.kumpelblase2.mobdungeon.Settings.Settings.getNestedListAsArray(Settings.java:817) 2012-04-02 22:45:59 [SEVERE] at de.kumpelblase2.mobdungeon.Settings.Settings.loadLevels(Settings.java:195) 2012-04-02 22:45:59 [SEVERE] at de.kumpelblase2.mobdungeon.Settings.Settings.loadAll(Settings.java:461) 2012-04-02 22:45:59 [SEVERE] at de.kumpelblase2.mobdungeon.MDCommandExecutor.onLoadSettings(MDCommandExecutor.java:1429) 2012-04-02 22:45:59 [SEVERE] at de.kumpelblase2.mobdungeon.MDCommandExecutor.onCommand(MDCommandExecutor.java:128) 2012-04-02 22:45:59 [SEVERE] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40) 2012-04-02 22:45:59 [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166) 2012-04-02 22:45:59 [SEVERE] at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:473) 2012-04-02 22:45:59 [SEVERE] at org.bukkit.craftbukkit.CraftServer.dispatchServerCommand(CraftServer.java:469) 2012-04-02 22:45:59 [SEVERE] at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:599) 2012-04-02 22:45:59 [SEVERE] at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:568) 2012-04-02 22:45:59 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452) 2012-04-02 22:45:59 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:490) 2012-04-02 22:45:59 [INFO] [MobDungeon] Loaded 2 Levels. 2012-04-02 22:45:59 [INFO] [MobDungeon] Loaded 2 Dungeons. 2012-04-02 22:45:59 [INFO] [MobDungeon] Loaded 0 Signs. 2012-04-02 22:45:59 [INFO] [MobDungeon] Loaded 3 Abilities. 2012-04-02 22:45:59 [INFO] [MobDungeon] Loaded 1 Bosses. 2012-04-02 22:45:59 [INFO] [MobDungeon] Finished loading data.
The only thing I touched in the levels.yml document is the configuration for amount of waves needed to move on for my dungeon I created. I changed it from 25 to 10, and now it's just giving me this error. I don't even think it's a screw up in the YAML coding, otherwise a different type of error would come up, I'm not sure. I also don't think it's a plugin conflict because it ran with no errors at first.
@kumpelblase2
I'll give it a try, thanks for your hard work :)
Still returning the arena start error :C
Whenever I type /md ready, I get this error:
[[http://pastebin.com/15p0Xim0|Error]
I've been having quite a few other problems as well. At one point I couldn't leave a dungeon, and the replies when I typed in commands didn't make any sense. I'm wondering if I might be doing something wrong when I'm trying to set up the dungeons.
Here we go! This should probably be the last pre-release as it doesn't give me any errors and everything looks fine memory wise. Have fun testing it and please tell me if don't or still have issues! http://dl.dropbox.com/u/15011952/bukkit/MobDungeon.jar
Changelog:
- Fixed dungeon removal
- Fixed not removing armor on dungeon entrance
- Fixed small teleporting issues
- Fixed some loading issues when no settings are available
- Fixed boss not dying in some cases
I'm gonna give myself a break, because everything works now after an hour of WTFs and headaches.... Pre-release will be up later today.
@TheNorwegianBotMeister
I have to 'fight' against things coding wise that are a lot more strange than your problem and it gives me a headache every time I try to solve these... However, I'm getting close to fixing everything.