Commit Graph

85 Commits

Author SHA1 Message Date
Brettflan f88ede397c Fix for incorrect use of World.setChunkForceLoaded, which apparently triggers the chunk to load if it isn't, rather than just setting the "force loaded" flag for it; thanks to SpottedLeaf for pointing this out and providing example code to fix it 2019-07-26 19:52:44 -05:00
Brettflan 0d45093fa6 attempt fix for circular border displaying in DynMap in isometric view with height of 64 instead of actual height of the world (normally would be 256) 2019-06-13 01:05:01 -05:00
Brettflan 9af79183d5 Release 1.9.10 (beta) 2019-05-23 19:52:41 -05:00
Brettflan e14d526541 Misc 1.14 updates:
* using "force loaded" chunk flag instead of canceling ChunkUnloadEvents, which is no longer possible as of Spigot 1.14
* replaced UUID lookup code with newer and slightly improved implementation
* added new 1.14 wooden sign variations to safe open blocks list
* fix for error if Fill was canceled or finished without actually loading any chunks
* added notice to end of Trim recommending server restart
2019-05-23 19:48:54 -05:00
Brettflan 179d1cfda3 Release 1.9.9 (beta) 2019-04-30 21:00:33 -05:00
Guntram Blohm ade2ca6352 Fix formatting (spaces/tabs) 2019-03-20 19:27:10 +01:00
Guntram Blohm 12bb4b1da9 Use async Chunk generation, if possible, using PaperLib
This routes all world generation requests through PaperLib, which will generate Chunks asynchronously if the server allows it (Paper does, Spigot doesn't). This means changes to which chunks are still needed, and which can be unloaded, as well; the code keeps a list of Chunks that are needed for others, and will unload them only when the target chunk has been generated. Unloads by the server itself get prevented while the chunk is needed; else the server could decide on a tick that chunk has no players nearby and needs to be unloaded.
2019-03-20 19:02:55 +01:00
Guntram Blohm e6564300c7 Merge remote-tracking branch 'upstream/master' into asyncFill 2019-03-20 09:54:48 +01:00
Brettflan 8e68e83e3d prevent issue of Fill process potentially making the server unresponsive while skipping over huge numbers of already fully generated chunks, most likely with very large already mostly generated worlds which are stored on old/slow hard drives 2019-03-06 01:26:18 -06:00
Guntram Blohm ec843cde03 test async fill 2019-02-21 20:39:17 +01:00
Brettflan af4727d1b6 use ByteBuffer + IntBuffer for reading region file headers, to improve performance of chunk existence checks, as suggested by aikar
https://github.com/Brettflan/WorldBorder/issues/114
2018-10-24 04:14:43 -05:00
Brettflan 1d35e59c0e minor cleanup 2018-09-16 09:39:27 -05:00
Mike Primm 2cd033c808 Alter fully generated prediction to match 1.13.x worldgen behavior 2018-09-03 14:07:13 -05:00
Brettflan 20b4f5ed67 minor cleanup 2018-08-30 00:09:42 -05:00
Brokkonaut ad97e1f9de Add wooden buttons, double plants and beetroots to the safe blocks list 2018-08-23 04:58:05 +02:00
Brokkonaut 45ef28c8d3 Update for 1.13 + Some cleanup 2018-08-22 16:39:56 +02:00
Brettflan 69895a071d minor cleanup of last commit 2018-04-07 11:40:51 -05:00
joblo.2213 bae30eb52f Make player priority and hide by default for dynmap marker set customizable 2018-04-07 18:03:36 +02:00
Brettflan d8d1b28b57 Release 1.8.7 - going ahead for boat bugfix since nothing else fixable has come up 2017-05-04 11:39:12 -05:00
Brettflan ed0c46a557 Fix for boat type being changed in Minecraft 1.9+ when knocked back from the border; note this breaks boat knockback for Minecraft versions older than 1.9 2016-11-29 03:13:06 -06:00
Brettflan c0d1772418 Release 1.8.6 2016-08-16 17:27:39 -05:00
Brettflan f9d89034b4 Merge branch 'master' of github.com:Brettflan/WorldBorder 2016-07-10 23:03:52 -05:00
Brettflan e64defbdeb suppress logging of border-checking task being "stopped" when the task is being restarted (which is done to make sure there's only one such task running at any time), to reduce potential confusion 2016-07-10 23:03:29 -05:00
Marcel Maryniak a762b95cfe fixes #57 2016-02-26 02:47:03 +01:00
Maxim Van de Wynckel 895bec7061 public percentage methods for fill and trim task
Provides public methods to get the percentage for the fill and trim
task. These can be used by 3rd party plugins to get the calculated
percentage or get the values of the processed/total amount of chunks.

Possible usages I have in mind:
- Boss bar showing a progress of the fill task
- Action bar showing the status
- ...
2016-01-15 12:38:17 +01:00
BuildTools dd4a8348be World Trim/Fill task start events 2016-01-12 20:47:10 +01:00
Brettflan 9abf6ff938 Release 1.8.5 2016-01-02 04:55:03 -06:00
Brettflan fd134e4527 Fix for minor bug in border knockback code for worlds that have a single layer bedrock base at Y level 1.
The bug was that locations at Y level 1 were never treated as safe locations for border knockback, even though they can be safe on a world which has only a flat 1-block height layer of bedrock at the bottom. For reference, normal worlds have multiple layers of bedrock at the bottom.
2016-01-02 04:54:10 -06:00
Brettflan 98c98b8618 minor style cleanup of last commit to match project style 2015-09-05 04:13:10 -05:00
timafh e42c5be1dc Adding WorldBorder Events 2015-09-04 20:20:27 +02:00
Brettflan a349063a74 Release 1.8.4
Also updated Spigot and Dynmap API version references, and one very minor bit of code cleanup.
2015-06-23 12:38:26 -05:00
Brettflan 99bfc689f2 Minor bit of code cleanup 2015-05-19 09:17:24 -05:00
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
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
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