BringBackTheEnd
Description
This plugin allows the automatic regeneration (reset / rebuild) of The End even after the dragon is killed, so players may once again have a chance to kill the EnderDragon. Rebuild is usually pretty fast.
With BBTE you can configure:
- The amount of dragons to spawn.
- The time between attempts to rebuild The End.
- Two automatic rebuild modes: After the period you configure (interval) The End can be automatically reset
- [NEW] Added a configuration parameter to allow you to select which world you want the plugin to hook on to.
- Only after all players leave or
- It can teleport them to spawn. Both will only happen after the players kill all the dragons that are alive in the end and if the grace period has passed.
- You can disable the automatic functionality and use the /re now and /re schedule to rebuild the end manually.
The plugin protects against world damage by player entrance. This is done by teleporting players back to spawn during rebuild. This includes:
- Access by command (e.g. /back on essentials).
- Access by The End portals.
- Access by login (If the player logged out while being on The End and attempts to join back in that world). In this case the plugin kicks out the player until the rebuild is done.
Main command: /resetend Alias: /re
Source can be found inside the jar file, just unzip it.
Commands
Parameters in <> are required. Parameters in [] are optional.
- /re now [dragonamount] - Resets the end instantly. Optional dragons to be spawned.
- /re schedule <time> [dragonamount] - Schedules the end to be reset in <time> seconds.
- /re cancel - Cancels any pending reset.
- /re help - Shows help
- /re reload - Reloads the configuration from file.
- /re showconfig - Shows the plugin's configuration.
- /re status - Shows if there is a pending rebuild, the remaining time, the action it will take (tp or wait for empty) and the dragon amount to be spawned.
Tip to remember the main command: re comes from resetend
Permissions
- bringbacktheend.reset - Allows the use of the now and schedule commands.
- bringbacktheend.reload - Allows the use of the reload command.
- bringbacktheend.cancel - Allows the use of the cancel command.
- bringbacktheend.status - Allows the use of the status command.
- bringbacktheend.showconfig - Allows the use of the showconfig command.
Note: Only bringbacktheend.status has a default permission of 'true'. The rest need 'op' (or the equivalent of your permissions plugin) permission.
Configuration
NOTE: The comments on the config.yml get wiped after the first reset because of the way the default file parser works on bukkit. This does not affect anything else on the file or the workings of the plugin.
- logDebug - Saves debug information to the log. Do not set to true unless you have a good reason. Default = false
- autoReset - Enables the auto reset functions of the plugin. Setting this to false means you will need to use the now and schedule commands to reset the end. Default = true
- interval - Time between rebuilds after the dragon has been killed. Value is in seconds. Default = 1200
- tpPlayersAfterTimeout - If set to true, any player still on the end when the reset happens will be tp'd to spawn. If set to false, the reset will happen as soon as they leave. Default = false
- dragonAmount - The number of dragons to spawn during the reset. Default = 1
- saveRate - The save rate of the remaining time to reset to disk. Value is in seconds.
- [NEW]autohookworld - Checks all the worlds that are loaded and hooks to the first end environment that it finds. If you set it to false, you need to specify the world name in 'worldName'. Default = true.
- [NEW]worldName - Name of the end world to hook on to. Case sensitive. Only used if autohookworld = false.
NOTES on the saveRate value
- Too low means increased disk access.
- Too high may cause the current tick count to be lost if the server is shut down incorrectly.
- Default is 5 minutes (600 seconds).
- This value needs to be lower than the interval or it will be adjusted as necessary.
The rest of the values on the config.yml file should not be changed.
IMPORTANT: If you were using version 1.14 or lower, YOU NEED TO DELETE YOUR OLD CONFIG.YML before updating to 1.2.x Any further updates will also update your config file automatically unless otherwise noted.
Update 2013/08/03 The new version (1.2.2) fixes a lot of bugs regarding multi world support and changes the deprecated method of spawning entities to the new method. This will make the plugin prepared for future bukkit updates. The plugin will update the config file automatically.
BUT
If you have spigot/mcpc+ or a plugin that unloads the end environment, the plugin will not be able to reset that world. It will warn you when that happens. For spigot/mcpc+, change the paramenter 'keeploaded-environment-the_end' to 'true' in 'bukkit.yml'.
This mod should keep on working on most versions of Bukkit without any update as long as they don't do any major changes on the methods I use.
keep it up. ill use it :)
@jamartinezm
Thanks, I suppose I should have checked that. You might want to put a note somewhere, this is the first plugin I've seen that actually just distributes the .java files with the jar rather than having separate hosted source code somewhere.
@azkedar Try expanding the JAR file.
@Taeila_Fae
@Faldonboy
The permissions are on the plugin.yml.
I've posted them here: http://pastebin.com/cPmNrxte for your convinience
I'm with Taeila, does this have any permissions? I tried using the GetPerm plugin but It was unable to find any.
@QuickWango
Where? For a plugin with a GPL license, the source isn't very easy to find.
Are there any permission nodes for this? Just put it on my server and already loving it. :D
@silentdojo
@papand13
I've posted an updated version that should take care of the issue. It's pending approval.
I got this error when it tryed resetting the end after it had been killed and everyone had left:
Maybe create a separate file, which will be recorded in the time of killing the dragon + time through which he must be reborn. If time = server time, recorded in the file, the End reset. As well as a variable to account for the withdrawal of the status of the dragon chereh php. For example he is alive or dead, and how many will reset the end. I can help with php.
@wkera
Well, it's not exactly a bug per se, it's how it's coded. What happened here is that it got rescheduled to be reset in another 1440 minutes. You can do a manual reset by using /reload force.
I'll see how I can work out a better solution for worlds that are pending a reset. Sorry for the troubles.
I found a bug. If the function "interval" included such as the 1440 minutes and 1440 minutes prior to the end there was a restart of the server, then after restarting the portal appears in the End with egg and exp, even without killing the dragon. Sorry for my english
@jamartinezm
All hope for you
@wkera
I've actually been thinking about doing something like that (minus the crystals thing it hadn't crossed my mind, but good idea), but I'm afraid I won't have much time in the future starting next month :c
@silentdojo
Thank you for the report and I apologize for the troubles. I'll see what I can do to fix it. If it's possible, would you kindly let me know what plugins you are running right now (if you don't want them to be public, you could always PM me.). c:
Awesome plugin. It works for the most part but sometimes The reset locks up and won't allow a forced reset or allow anyone in (obviously).
Excellent. jamartinezm, would you like to create a manager of End. And it is customizable: the number of hp with the boss, the reward, the number of blows to the crystals before they break, damage
@samrg472
The feature is now added. It's just pending approval.
never mind, found the source
@samrg472
Working on it right now ;)
Option to rebuild once everyone left the end?