Commit Graph

36 Commits

Author SHA1 Message Date
Brettflan
211a40f893 minor tidying of preventblockplace 2014-11-26 04:14:09 -06:00
gipsy
3028b3c7c6 add prevent-block-place option
Prevents players from placing blocks outside the world border. Default
off.

This is for the PrisonPearl plugin, where if a player is imprisoned in a
chest placed far enough outside the world border it becomes impossible
to break the chest and free the player.

The BlockPlaceEvent listener is only registered if the option is
enabled.
2014-11-25 21:33:51 +01:00
Brettflan
d38bfc3f30 When checking for +/- on radiusZ parameter, it was incorrectly checking the radiusX parameter instead; fixed 2014-06-17 05:53:02 -05:00
Brettflan
2c02a33275 minor cleanup and formatting changes to last commit, and added +/- info to radius command help 2014-06-17 05:48:11 -05:00
Maxim Van de Wynckel
15f47118e8 Added + and - before radius as an optional char
This allows players to perform time based, vote based or donation based commands to increase the map size.
Examples:
1) Player votes, increase the map by 1 block
2) Player joins (more players) increase the map, Player is offline for X days decrease the map
3) Reached donation goal, increase the map
2014-06-15 10:50:27 +02:00
Brettflan
2984d9513f Changed bypass list to track UUIDs instead of names, in advance of changeable names in Minecraft 1.8.0+. There might be a slight delay in response now when running the /wb bypasslist command, and when running the /wb bypass command on a player who is not online. This is because the Mojang UUID lookup server must be queried in those cases. This may be handled better in a future update if/when Bukkit provides methods for caching and looking up that information.
The UUID/player name lookup code I've used is by evilmidget38, from: http://forums.bukkit.org/threads/player-name-uuid-fetcher.250926/

NOTE: if you have a bypass list saved, it will be wiped when you first run this update. The wipe will only happen once, as it is a safety precaution.
2014-05-28 11:13:16 -05:00
Brettflan
1698548fb5 completion message for Fill process now indicates which world it was running on 2014-05-13 08:02:23 -05:00
Brettflan
abdfeda774 Workaround fix for players who have a passenger (pet riding their head or whatever) being able to bypass borders. This is due to a CraftBukkit issue (bug really, but whatever) where all teleportation fails silently if the entity attempted to be teleported has a rider/passenger.
Normally players can't have anything riding them, but various plugins make that possible for pets or similar, as unwise as that may currently be with the CraftBukkit teleportation problems outlined above.

I finally set aside some time to add and test this workaround out using EchoPet to make sure it actually works.
2014-03-12 04:50:59 -05:00
Brettflan
b8735aded0 Made "whoosh" effect default to on, as it's a nice effect that I think most people would like. For some reason I thought I'd already done this long ago.
Also a few more bits of code improvement.
2014-03-10 22:40:52 -05:00
Brettflan
1faccf0a25 New command: /wb help [command] - get help on command usage. This provides further help for any specified command. Accordingly, help info has been added to every command. This info is also provided if there was an error with the command parameters passed to any given command.
Some further changes as well, including some minor code design improvement. As part of that, the root plugin's GetWorldBorder(String worldName) method has been deprecated and replaced with proper first-letter capitalization: getWorldBorder(String worldName).

All commands have now been tested in-game and through console, and a couple of remaining command bugs have been fixed.
2014-03-10 22:27:42 -05:00
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