Commit Graph

26 Commits

Author SHA1 Message Date
Brettflan
cd9ee900ae Major rework of command handling. This is mostly internal code changes rather than something noticeable to the end user, though on command input errors (wrong number or format of arguments, etc.) it will now have it show examples for the command the same as seen in the command list provided by the root wb command.
Replacing the monolithic and crude "if...else if...else if..." command handler in WBCommand.java with every command crammed in there, each command is now handled in a separate subclass in the new "com.wimbli.WorldBorder.cmd" package. This is inspired by the way the Factions plugin handles subclassed commands.

This is the first pass of the command handling rework. I still need to do some further testing, and I plan to further improve feedback for input errors to also show some basic help info along with the command examples.
2014-03-06 15:03:44 -06:00
Brettflan
6e7f79711a fix for "denypearl" command not correctly indicating whether it's enabling or disabling the option 2014-02-27 19:30:16 -06:00
Brettflan
41912f9e17 a bit of cleanup for denypearl functionality, and made setting enable itself for people updating from older versions of the plugin where it defaulted to false (as it now defaults to true); this is done since the changed functionality should now be desirable for most people 2014-02-22 08:10:13 -06:00
Brettflan
9e7e9d0682 Some minor code refactoring and cleanup courtesy of Zeluboba, taken in desired bits referenced from his larger pull request here:
https://github.com/Brettflan/WorldBorder/pull/32/files
2014-02-17 06:37:18 -06:00
Brettflan
fd161533d0 Changed existing "deny-enderpearl" config setting to only deny ender pearls which are thrown past the border, and switched it to be enabled by default. Added new command /wb denypearl <on/off> to toggle the option on or off, which requires the new permission worldborder.denypearl to use. 2014-02-17 05:51:40 -06:00
Brettflan
cfaf955e9a Add TeleportCause.PLUGIN indicator to the teleport methods used by border knockback, so other plugins can see that the teleport was triggered by a plugin and potentially not interfere if they otherwise would have
Specifically, this should hopefully take care of CombatTag preventing WorldBorder knockback if the player is considered to be in combat
2014-01-26 20:51:37 -06:00
Brettflan
66390223c6 Added config option "fill-memory-tolerance" which defaults to 500. If/when the Fill process pauses due to low memory (<200 MB), this setting is the amount of free memory (in MB) required to be available before it automatically continues.
This option isn't made available to change through a command as most people shouldn't change it. It's been made available for people who are running extremely low memory (and thus necessarily tiny) servers which have less than 768 MB memory available to their CraftBukkit server.
2014-01-20 12:51:44 -06:00
Brettflan
9f7719074f Two new variations of the set command are available thanks to sponsorship from Rhythmatic:
/wb [world] set <radiusX> [radiusZ] spawn - uses the world's spawn point.
/wb set <radiusX> [radiusZ] player <name> - centers a border on the specified player.
2014-01-09 08:42:26 -06:00
Brettflan
2e48a5f903 Additional check added to make sure frequency value specified in Fill and Trim commands is greater than zero. Thanks to sync667 for pointing this oversight out. 2013-12-20 06:03:04 -06:00
Brettflan
8a75d0e630 New command /wb fillautosave <seconds>, which lets you set the interval for automatic saving of the world during the Fill process (default 30 seconds). Set to 0 to disable, though this is not generally recommended as any errors or crashes during world generation can then result in a lot of lost progress. Requires new permission "worldborder.fillautosave". 2013-12-18 01:12:44 -06:00
Brettflan
0cda19b6a9 list of players with border bypass enabled is now saved and will persist through server restarts 2013-12-14 15:17:47 -06:00
Brettflan
567385ff1c New command /wb bypasslist, which outputs a list of all players who have border bypass enabled. Requires new permission "worldborder.bypasslist". 2013-12-14 15:02:05 -06:00
Brettflan
541facb5db nitpick, note 2013-11-16 04:05:02 -06:00
Nick D
2c2340f056 Option to deny enderpearl completely,
Prevents 'glitching' into places.
2013-11-16 14:52:06 +10:30
Brettflan
9f45cef34f Added support for Essentials-style formatting and color codes in the border crossing message, which are based on standard Minecraft text formatting codes (ex. §c for red) but with the more accessible "&" ampersand in place of the "§" (ex. "&c" for red). The default red coloration is now included in the border message itself as "&c" at the start of it. Existing configurations will have their border messages automatically updated to add it.
Reference, standard Minecraft codes (note again that you can replace "§" with "&" for ease of use):
http://minecraft.gamepedia.com/Formatting_codes
2013-11-03 11:34:09 -06:00
Brettflan
a5a2fca2fa Added option to Fill command which will force it to load all chunks instead of automatically skipping chunks which are already fully generated.
This option was mainly added for people wanting to follow Mojang's recommendation to load all important world chunks in 1.6.3 - 1.6.4 before updating to the eventual 1.7 release to prevent errors with structures such as witch huts and nether fortresses:
https://mojang.com/2013/09/minecraft-snapshot-13w37a/
2013-10-19 22:43:07 -05:00
Brettflan
97aca7a5bb Change "Teleport cause" debug log message to remove WARNING status, as that was unnecessarily worrying some people who had debug output enabled 2013-09-03 11:12:28 -05:00
Rourke750
f7989ad638 Added option to kill player instead of teleporting to spawn. 2013-09-02 20:07:43 -07:00
Brettflan
6c2d705769 additional bits for release 1.7.5 2013-07-12 02:25:36 -05:00
Brettflan
47c6b1ed3c Added check to Trim process to make sure it doesn't drag on for too long per tick; shouldn't normally be possible on Trim process as opposed to Fill process, but I've had a couple of reports indicating it might rarely be an issue 2013-07-12 02:17:47 -05:00
Brettflan
893701637a fix for longstanding issue of chunks which didn't exist in a region file still being unnecessarily wiped by the Trim process, also adding to the reported number of individual trimmed chunks. Now chunks which were already nonexistent aren't "trimmed" for no reason and the reported number of individual trimmed chunks is exactly correct. 2013-07-12 01:56:27 -05:00
Brettflan
1eb7e0da10 New command /wb remount <amount>, which determines the delay in server ticks before remounting a player to their vehicle after they're knocked back from the border. Requires new permission "worldborder.remount". The default value of 0 disables this feature, leaving the player dismounted beside their vehicle after knockback. This value should not be set to a value lower than 10 (the former default value) on a public server as that would lead to client glitches. Even the former default value of 10 has been reported to rarely glitch on some servers, thus remounting now defaulting to disabled.
Working around Minecraft and Bukkit client/server glitches when teleporting an entity which has a passenger or is a passenger is the whole reason for this "feature". The need was introduced a few Minecraft versions back when this well and truly broke; hopefully they will fix the underlying problems eventually.
2013-07-07 02:51:24 -05:00
Brettflan
fa23da50f3 Fix for problem in recent dev builds of CraftBukkit for Minecraft 1.6.1, which would lead to spammed errors in the log file and potentially a server crash sometimes when a person crossed the border. This problem occurred most when riding horses and boats. 2013-07-05 15:33:57 -05:00
Brettflan
5d745ca788 Updated target Bukkit lib version to 1.6.1-R0.1-SNAPSHOT
Added carpet to safe open block list
Added showWhooshEffect(Location loc) helper method to Config class to show the whoosh effect, if it is enabled
2013-07-05 15:28:13 -05:00
Brettflan
b42945d643 Further Dynmap error catching 2013-05-17 18:05:56 -05:00
Ian Macalinao
e6b3ec360f Mavenized entire project
Signed-off-by: Ian Macalinao <ianmacalinao@gmail.com>
2013-05-16 23:27:12 -05:00