DungeonBridge
This is the bridge plugin between MythicDrops/DiabloDrops and your worlds and chests.
Ever felt like finding ruins or abandoned mines was not all that rewarding? Not felling so exited when finding a nether fortress(CB 1.6.2+) and find a chest with an Iron bar? Tired of finding a spawner room just to walk away with a saddle and a cocoa bean?
DungeonBridge will fill the chests generated on any world with cool items generated from MythicDrops and DiabloDrops.
In a per-world basis, it is configurable the chance of each chest to have MythicDrops and/or DiabloDrops items in it, a range of how many items could be in it, and the possible tiers of such items.
Please note that everything I'm working with right now is not on a stable stage!
Version of the plugin 2.3 is OUT!!! finally chests refilling regeneration is now available.
Since there had been a BIG code refactoring, I need to run some serious testing and I'm short of time and guinea pigs for such purposes, if anyone is willing to help me test, please let me know.
Current version
- v1.10.0 This had been tested on 1.6.4 R2 with MythicDrops 2
- v1.11.0 This had been tested on 1.7.2 R03 with MythicDrops 3
- v1.13
- This had been tested on 1.7.2 R03 with MythicDrops 3
- This had been tested on 1.7.2 R03 with DiabloDrops 2.6
- v1.14
- This had been tested on 1.7.2.R03 with MythicDrops v3.1.0-SNAPSHOT
- This had been tested on 1.7.2 R03 with DiabloDrops 2.6
- v2.1
- This had been tested on 1.7.9
- Same dependencies as version 1.14
- v2.3
- NEW version with refilling options Information here
Requirements
In order to make this plugin work, you will need
- MythicDrops (get the right plugin version for your MD version)
- From version 1.13+ you will need MythicDrops and/or DiabloDrops
Configuration
Just download and drop into plugins path. The plugin will create a sample config for you
Note that from version 1.13+ you will get 3 files created config.yml, MD.yml and DD.yml, except ShowChestsLoc, the old configuration was moved to MD.yml. Version 2.2 will add a forth config file.
After first start a config file like this will be generated :
Worlds: world: Enable: true CleanFill: false ChestFill: ChooseTiers: true CustomItems: false MinItems: 0 MaxItems: 3 Chance: 50 Tiers: - Common - Uncommon - Rare
When making changes please mind the yml format.
Please note that root 'ChestFill' is no longer used, only the 'ChestFill' inside each world section.
Also note that lastest versions are adding more config options, but it's still backward compatible. Plugin upon start will add the new configuration options.
- Generator
- this is internal, don't change it.
- Chance
- this is the chances in % (out of 100) for each chest to get loaded with cool Drops items
- MinItems, MaxItems
- A random number between those 2 values will be the number of items in a chest which 'succeded' it's chance.
- ChooseTiers
- if set to false will ignore values on 'Tiers' and will put items from a random tier for each item. Chances of each item's tier is defined by MythicDrops. if set to true will read the values from 'Tiers' and each item will be randomly of any of the configured Tiers
- CleanFill
- if set to true the contents of the chest will be wiped before filling it with the cool drops., if both MythicDrops and DiabloDrops are enabled for a world, if any of them have this set to true, the contents will be wiped
Notes
- - This will not affect in any way drops from mobs.
- - This will only affect generated chests, already existing chests will not be refilled. (see below)
- - If there's an existing world and you have Multiverse by running /mv regen <world> will regenerate the world and put the configured Drops on them. (please note this resets the world, if you don't want that, this plugin will automatically only fill newly generated chests on new chunks)
- - Next release will include chests refilling!
- - Don't hesitate to contact me for questions or bugs, my intention is to make this work the best possible.
- - If you have any ideas of some feature you would like to see included, don't hesitate to contact me!
ALL credits are for
- - rmh4209 (for MythicDrops and DiabloDungeonBridge)
- - UltrafaceGuy (for MythicDrops)
- - MCForger (for DiabloDungeonBridge)
- - Death_marine (for DiabloDrops)
- - Well I guess I could take some :)
Will you ever consider supporting the plugin Item Lore Stats?
@nicoit Dam, cant wait for those regening chests! any idea when they will be ready?
@XsN1cKeRsX
Yes, this plugin hooks directly on bukkit's worldgeneration event, so once a chunk is generated, if configured so, this plugin will search for chests on such chunk and fill them with the configured tiers if you have any more doubts just pm me! if the plugin is yours and want more/custom interaction too!
If i have a Dungeon Plugin, that generates dungeons for players to complete, since they are generated chests for loot, would this plugin add the mythicdrops loot into the chests?
@smokeymcjay
Yes, totally. Actually it's already coded among other cool features, BUT as I'm sort of time specially for testing, I need the current version to be more polished and carry the bug fixes to the already coded next version. I'm working on a fix right now, hopefully soon I'll feel confident to release next version
thanks for your suggestion!! :)
Do you think you could make a command to where if you set a chest it can be targeted with a command to fill itself with the worlds drops from mythicdrops?
@Mr_Brownsheep
A new version 2.1.1 had been submitted to bukkit with a fix for this. Thanks for letting me know and sorry for the inconvenience! In the meantime the oly workaround is to download diablodrops and have it do nothing (just avoiding the error XD )
@nicoit
This particular example is occur when world is generated and structure with chest placed. Error still occur after initial generation when other structures generated. I will post detailed log in tickets. Thank You for your attention.
@Mr_Brownsheep
PLEASE do not paste such big stacktraces in comments, pm me, create a ticket or use some pastbin.con or something alike. make the comments hard to read really.
I'm not sure why you are getting that error when interacting with a chest, the "WorldInitEvent" is fired only when a new world is created. Still I think I have found a possible cause for such error in the case a new world is created. I'll have it patched on next version. In the meantime, this plugin only listens for that event so it can create an empty config for that new world. In the meantime you can get around it by just restarting after a new world is created and the empty config will be created for you. Thanks for reporting!
Um so this is not working on 1.7.9? It doesn't for me with TerrainControl and THE_END env...everytime it met the chest this is happening:
[20:25:07] [Server thread/INFO]: [TerrainControl] [INFO] World custom is now enabled! [20:25:07] [Server thread/ERROR]: Could not pass event WorldInitEvent to DungeonBridge v2.0.1 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.craftbukkit.v1_7_R3.CraftServer.createWorld(CraftServer.java:941) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.Bukkit.createWorld(Bukkit.java:237) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.WorldCreator.createWorld(WorldCreator.java:239) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at com.onarandombox.MultiverseCore.utils.WorldManager.doLoad(WorldManager.java:421) [Multiverse-Core-2.5.jar:?] at com.onarandombox.MultiverseCore.utils.WorldManager.doLoad(WorldManager.java:402) [Multiverse-Core-2.5.jar:?] at com.onarandombox.MultiverseCore.utils.WorldManager.regenWorld(WorldManager.java:825) [Multiverse-Core-2.5.jar:?] at com.onarandombox.MultiverseCore.MultiverseCore.regenWorld(MultiverseCore.java:1220) [Multiverse-Core-2.5.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_55] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [?:1.7.0_55] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.7.0_55] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.7.0_55] at com.pneumaticraft.commandhandler.multiverse.QueuedCommand.execute(QueuedCommand.java:49) [Multiverse-Core-2.5.jar:?] at com.pneumaticraft.commandhandler.multiverse.CommandHandler.confirmQueuedCommand(CommandHandler.java:218) [Multiverse-Core-2.5.jar:?] at com.onarandombox.MultiverseCore.commands.ConfirmCommand.runCommand(ConfirmCommand.java:36) [Multiverse-Core-2.5.jar:?] at com.pneumaticraft.commandhandler.multiverse.CommandHandler.checkAndRunCommand(CommandHandler.java:279) [Multiverse-Core-2.5.jar:?] at com.pneumaticraft.commandhandler.multiverse.CommandHandler.processFoundCommands(CommandHandler.java:143) [Multiverse-Core-2.5.jar:?] at com.pneumaticraft.commandhandler.multiverse.CommandHandler.locateAndRunCommand(CommandHandler.java:93) [Multiverse-Core-2.5.jar:?] at com.onarandombox.MultiverseCore.MultiverseCore.onCommand(MultiverseCore.java:894) [Multiverse-Core-2.5.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServer.java:701) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchServerCommand(CraftServer.java:688) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.DedicatedServer.aB(DedicatedServer.java:296) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:261) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] Caused by: java.lang.NullPointerException at ar.com.nicoit.DungeonBridge.DBNWListener.onWorldInit(DBNWListener.java:15) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_55] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [?:1.7.0_55] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.7.0_55] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.7.0_55] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) [server.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] ... 30 more
@snakemansos
Well, it's not really getting individual chances of each tier or customItem, so far I have avoided the issue because it seems complicated as my math skills are rusty really XD. I have a few ideas though :)
Thank you again!!! This make minecraft more explorable.
I have a question about the customitems fill. This reads the chance from config.yml from mythic drops? custom-item-chance: 0.01 in my config.
@snakemansos
I'm going completely insane trying to implement chests refilling over time. Once I get that crap done, I'll add your suggestion to my to-do list, they are cool really :)
1.14.1 works fine :D thank you!!
Another suggestion for the future of this plugin...support unidentified items and socket gems ;)
@nicoit
Gracias!!!
I have found a bug on version 1.14 when selecting ChooseTiers: false. If you want to use it, set ChooseTiers to true and make all tiers available on the list, this will achieve the same effect but will not trigger the bug. Version 1.14.1 had been submitted already with the fix in it.
@snakemansos Bueno saberlo XD Investigo el problema y te mando privado
Problem with 1.14.0 version on my cb 1.7.2 r0.3 beta
The plugin loads fine, but when i exploring and find a chest to fill...the error comes.
@nicoit
Thanks!!! i will test this new version :D (sorry about my language, i speak spanish)
Dammit, can't find a Chest Regeneration implementation that feels comfortable ! :(