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
-
View User Profile
-
Send Message
Posted Mar 17, 2012There'll be a new version up, because of some saving issues that you might've already noticed.
It's waiting for approval.
Sorry for any inconvenience caused.
-
View User Profile
-
Send Message
Posted Mar 16, 2012@nhoclesnar
It was. We needed to make a small hotfix. therefore I removed the file and reuploaded it which means that the file needs to be approved again.
Sorry.
-
View User Profile
-
Send Message
Posted Mar 15, 2012Cool, gonna keep my eyes on this for sure as a complement to mobarena and catacombs.
-
View User Profile
-
Send Message
Posted Mar 11, 2012@wilku1989
well the default configs are only for showing how those should look like, not really for using the exact same setup but nice to hear that it works now.
-
View User Profile
-
Send Message
Posted Mar 11, 2012It works now. I just must make my first dungeon and delete the test dungeon and restart the server. Thanks for help.
-
View User Profile
-
Send Message
Posted Mar 11, 2012@wilku1989
looks like the level does not exist. So check the settings of the dungeons to make sure all levels exist under the correct name.
-
View User Profile
-
Send Message
Posted Mar 10, 2012I have a problem with this plugin on my server. Can somebody help me? My server works on git-Bukkit-1.1-R4-b1938jnks (MC: 1.1)
2012-03-11 01:09:53 [SEVERE] Could not pass event BlockIgniteEvent to MobDungeon org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441) at net.minecraft.server.BlockFire.a(BlockFire.java:146) at net.minecraft.server.World.a(World.java:2405) at net.minecraft.server.World.doTick(World.java:1753) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:541) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452) at net.minecraft.server.ThreadServerApplication.run(SourceFile:490) Caused by: java.lang.NullPointerException at de.kumpelblase2.mobdungeon.Settings.SettingsDungeon.isFinishedBuilding(SettingsDungeon.java:78) at de.kumpelblase2.mobdungeon.DungeonManager.blockIsInsideDungeon(DungeonManager.java:153) at de.kumpelblase2.mobdungeon.MDEventHandler.onBlockIgnite(MDEventHandler.java:96) at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ... 8 more
-
View User Profile
-
Send Message
Posted Mar 2, 2012@disciple218
I'm not sure 100%ly but I don't see any good reason why it shouldn't. Sorry, but I'm currently not in the position to test it as well as update it for a week or so. For more info see my forum post. Thanks.
-
View User Profile
-
Send Message
Posted Mar 1, 2012Is this plugin CB 1.1-R6 compatible?
-
View User Profile
-
Send Message
Posted Feb 26, 2012I updated the last post, but you probably won't get a notification about it so:
I also noticed that if a player/group dies in the middle of a wave, the dungeon stays in that wave for the next players without resetting.
3) A mode where players can take in their own items and inventory - (two sub-modes: Hardcore, die and lose everything like if you die in SMP. And normal, die and the round ends and you keep everything you got in the round.)
4) A multiplier for each player in dungeon i.e, 1.0x for 1, 1.5x for two etc, etc (Customisable in a config file)
-
View User Profile
-
Send Message
Posted Feb 26, 2012@Apoc22932
Yeah, I fixed that with the player drops already.
I'm gonna make my mind up how do I want to separate those permissions or maybe leave it as it is because of some reason.
Max/min players is also a good idea! gonna add that to the suggestions for sure.
@Massen
Could you tell me which permission plugin do you use? So I can test it myself and maybe fix it?
-
View User Profile
-
Send Message
Posted Feb 26, 2012I have the same problem, I built the arena and set up some test levels (2) and when you die (if all players die) then you get to keep the items given to you by Mob Dungeon and it clears your inventory you started with which is a problem as the server is Survival. :/
I also noticed that if a player/group dies in the middle of a wave, the dungeon stays in that wave for the next players without resetting.
I also support Massen's sign idea about the different permissions but I'd add some ideas to.
1) For team play, a set minimum/maximum players for a Dungeon
2) When Dungeon is in use other players cannot join.
3) A mode where players can take in their own items and inventory - (two sub-modes: Hardcore, die and lose everything like if you die in SMP. And normal, die and the round ends and you keep everything you got in the round.)
4) A multiplier for each player in dungeon i.e, 1.0x for 1, 1.5x for two etc, etc (Customisable in a config file)
-
View User Profile
-
Send Message
Posted Feb 25, 2012Just noticed that everytime I die the class dungeon items will drop at my exit position at the place I spawn =/
And ignore the creeper issue in my earlier post, the plugin was simply outdated and had nothing to do with MobDungon.
Massen
-
View User Profile
-
Send Message
Posted Feb 25, 2012Sure, I will test it as soon as I can :P Gotta set a MobDungeon up first tho :)
I installed MobDungeon on a fresh copy of bukkit, and it auto generates files with coordinates and waves etc, Levels.conf contains a little syntax error
I simply removed * | "limited" * to fix this tho
Also tested the sign entrance, It works flawlessly. Then I added the permissions you suggested
" mobdungeon.join: false mobdungeon.join.test: true "
If I use these settings the command "/md j" wont work, and the "sign below block" teleport will stop working aswell. (was unsure if you meant version 0.8 to test it on).
Im using the factions version btw, Had an error before (not sure if you saw it) but I solved it <.< forgot some stuff in levels file :)
I tested it now tho and got killed by a creeper at wave 8~ He exploded and killed me, I then got ported out and the Class items spawned on the ground next to me, I also recieved this error:
It seems to be a conflict with the plugin "Safe Creeper" that I use to disable creeper damage to the world.
Massen
-
View User Profile
-
Send Message
Posted Feb 25, 2012@Massen
uhhm..... Would you be so kind and test something for me in the next version :3?
Can you try to set mobdungeon.join to false and then mobdungeon.join.anydungeon (replace the anydungeon with a dungeon name), try to enter the dungeon and tell me if it worked?
Would really appreciate that.
kumpelblase2
Btw: It got approved :3
-
View User Profile
-
Send Message
Posted Feb 25, 2012Yes I can simply add "mobdungeon.join: false"
Cheers
Massen
-
View User Profile
-
Send Message
Posted Feb 25, 2012@Massen
Well, currently it is like you said, you need mobdungeon.join which also applies for the join command.
You could tell players the join command would exists :P No, srsly. I'm thinking about making a general config, because some people might like it the way it currently is.
However, I have a little question as well which also fits to the content:
Can you deny a permission (because the bukkit permissions somehow don't let me do that), because mobdungeon.join is set to true by default, so you would need to deny that first.
-
View User Profile
-
Send Message
Posted Feb 25, 2012Oh right silly me :p
Will this "sign entrance" require "mobungeon.join: true" ? Becouse if it does then players will unfortionatly be able to use the command aswell, which I'd really like to remove.
So if possible perhaps add a permission for the sign entrance only?
"mobungeon.Join.sign: true"
or make the
"mobungeon.join: true" only apply for the command "/md j" only?
Im not sure if it actually applies only for the command so some clerification of this would be great :)
cheers!
Massen
-
View User Profile
-
Send Message
Posted Feb 25, 2012@Massen
See v1.0.7: "- Added "sign under block" entrance" I think this is something similar ;) I still need to make a page/tutorial for that, but just to show it's there :)
EDIT: Added sign entrance page which shows how to use it :)
-
View User Profile
-
Send Message
Posted Feb 25, 2012Im sitting here anxously waiting for == 1.0.8 == with the new pages open and waiting to configure some bosses! :D
I really like where you are going with this plugin since MobArena is somewhat idle.
I only have 1 feature request which would be the possibility for players to play either by hitting a button or a sign (perhaps a portal even?) Becouse I like to keep commands to a minimum. This would also elimintate the possibility to flee pvp combat by joining the MobDungeon.
Cheers!
Massen