Commit Graph

212 Commits

Author SHA1 Message Date
Roy Curtis 1320215c3f Proposed & implemented feature: prevent mob spawns outside of border, including:
- command `/we preventmobspawn`
- permission `worldborder.preventmobspawn`
- MobSpawnListener for cancelling spawns outside border

Changes outside of scope:
- prevent potential NPEs whilst disabling already-disabled preventblockplace and preventmobspawn
- added intelliJ IDE files to gitignore
2015-05-18 12:18:36 +01:00
Brett Flannigan c8edf9f898 Merge pull request #44 from ShadowRanger/master
Minor code formatting changes
2015-03-08 05:00:27 -05:00
Brettflan a107ee7e8a Release 1.8.3 - quick fix to remove "worldborder" command alias, which would replace vanilla /worldborder command 2015-03-07 16:20:42 -06:00
ShadowRanger a548578819 Minor code formatting changes
Updated some classes to ensure code formatting consistency is kept
throughout the entire project.
2015-03-02 11:37:01 +11:00
Brettflan c254442056 Release 1.8.2 - for Spigot builds for Minecraft 1.8+ 2015-03-01 10:23:34 -06:00
Brettflan c96672a9ec initial test update for MC 1.8 Spigot... fix for border check routine failing and spewing errors due to change in Bukkit.getServer().getOnlinePlayers() 2015-02-08 09:14:31 -06:00
Brettflan 211a40f893 minor tidying of preventblockplace 2014-11-26 04:14:09 -06:00
Brett Flannigan d2fbd83bd5 Merge pull request #39 from gipsy-king/prevent_block_place
add prevent-block-place option
2014-11-26 03:54:55 -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 649efc25bb Release 1.8.1 - probably final release for Bukkit 2014-09-27 12:51:08 -05: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
Brett Flannigan dc1d125552 Merge pull request #36 from Maximvdw/patch-1
Added + and - before radius as an optional char
2014-06-17 05:29:00 -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 195c593879 Release 1.8.0 2014-05-30 19:15:36 -05: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 6e65b00712 Release 1.7.9 (Beta)
This is marked as a beta to be on the safe side due to the overhaul of the entire command system. I've tested every command both through the server console and in-game, but it's certainly possible I missed a bug or two somewhere in there.
2014-03-19 09:02:10 -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 133027dc77 Release version 1.7.8 2014-02-22 08:10:38 -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 6eecf93a53 re-sort permissions in plugin.yml to be alphabetical, for tidiness 2014-02-17 06:00:13 -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 f21ef695ba Update version number in plugin.yml to 1.7.7 (oops) 2013-12-21 07:19:37 -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 48fb41f0ee Release 1.7.7 2013-12-18 01:16:44 -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
Brett Flannigan 135c409b7e Merge pull request #27 from ZeroErrors/master
Option to deny enderpearl completely,
2013-11-16 02:02:11 -08: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 75ea990bb8 Release 1.7.6 2013-10-19 22:44:03 -05: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
Brett Flannigan 119640ecc6 Merge pull request #25 from erocs/master
Added option to kill player instead of teleporting to spawn.
2013-09-03 09:07:29 -07: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 68bb624e20 Release 1.7.5 2013-07-12 02:21:19 -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