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 found the error with the plugin.yml.. FatJar f* up. But I currently have problems with the standard files... Update should be coming today.
@fatmarleys
I don't see any reason why it shouldn't. There might be some problems if you make a arena in MA and create a level in MD at the exact same spot. Try to avoid that and all should work. I'm running MA all the time with MD and never got issues with that.
Not everyone uses heroes and I for ibe would prefer the freedom of using the plugin and creating my own classes. And instead have things like temporary permissions, so magicspells and effective arrows could be used.
And will this run Well with MA?
So because this is my first plugin I just wanted it to work first of all. When it does so, I'm going to start on working to implement features of other plugins, for example Heroes or iconomy. But currently bug fixing is more important for me.
I just downloaded the most recent version and when my server starts up I recieve the following. Does anyone have any ideas on this?
2012-02-01 17:26:46 [SEVERE] Could not load 'plugins/MobDungeon.jar' in folder 'plugins': null org.bukkit.plugin.InvalidPluginException at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:183) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:118) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:156) at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:132) at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:52) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408) at net.minecraft.server.ThreadServerApplication.run(SourceFile:465) Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml ... 8 more
I agree with LordPhrozen. It would be better (in my opinion) to leave the classes to Heroes and instead add bosses.
There's not one du.from plugin that supports bosses yet. As minecraft is perfect for an awesome fog adventure game, what's stopping us?
This would fill the dungeon slot quite well, I'm also willing to help on the plugin if requested.
Why bother with classes? I'd rather, and I'm sure most would, would prefer. Heroes support and working bosses. :(
currently adding classes YAAY!
Updated. Also checkout my repository to see the changes!
Ok err now i want this addon badly
Can't wait to try this out! xD
MobArena is the major plugin on my server. This'll be a nice upgrade if you get it working :)
Commands are mostly done now. Only need to do a lot of error handling. Also started work on level protection and stuff.
- permissions: 40% (nothing has changed)
- dungeon/level creation: 90% (missing some error handling)
- settings: 95%
- warping: 90% (still same issue)
- economy: 0%
- commands: 90% (need to add help command for every subcommand)
- rest: 50%
@CraftBang
so...
yeah you will be able to set multiple spawn positions per level, but (currently) you can only set which mobs appear in that wave/round but not for each spawner. this is because of my idea that you might want to use the same wave/round configuration in more than one level. so you could use waveX in levelX as well as in levelY without changing anything.
well, i didn't thought of the idea to end the level after a specific amount of waves, which is actually pretty obvious and i don't know, why i forgot it.
implementing economy systems will get handy but they will get added. But i can't say if they're implemented from the start.
A little update on current status: Since the current class structure actually suxs, because i didn't really thought about it, i need to remake kinda the whole thing, but mostly all things are working again. current overall status:
- permissions: 40%
- dungeon/level creation: 60% (dog to rewrite of the classes)
- settings: 95% (maybe i just come up with new settings so i leave it here)
- Warping: 90% (still some issues if in a different world)
- economy support : 0% (didn't even started ...)
- commands: 80% (also due the rewrite)
- rest (spawning mobs, proceeding next level): 50%
Bookmarked.... have to keep an eye on this one!
This looks great!
If its done I really want to use it on my server.
Can there be an options, that you can choose the positions, where the mobs will spawn and how much every round.
So like this :
Round 1
Spawner1 = 10 Zombie 2 Spider position = x156,z125 (I dont know if it was x y or z :P)
Spawner2 = 10 Zombie 5 Creeper
Spawner3 = 4 Creeper 5 Spider
Requirement = Killall
Reward = 276, meat(10),Money(100)
Round 2
Spawner1 = 15 Zombie 3 Spider
Spawner2 = 15 Zombie 7 Creeper
Spawner3 = 6 Creeper 7 Spider
So the requirement (u alrdy have)
The reward should be cool if u can add with Iconomy support.
Set the spawn positions, and edit what they spawn every round.
If this could be done, it should be great!
Regards,
CraftBang
94.210.255.248
Www.CraftBang.webs.com
Take a look at our server! :D
Neem is een kijkje op onze server! :D
sounds good ill be keeping an eye on this one