Commit Graph

114 Commits

Author SHA1 Message Date
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
0a827e69e8 Release 1.7.4 2013-07-07 02:52:07 -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
5c23d072f1 Release version 1.7.3 2013-07-05 15:41:57 -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
fa5fb33da8 Release 1.7.2b
Also updated some Maven pom config
2013-05-22 11:35:20 -05:00
Brettflan
b42945d643 Further Dynmap error catching 2013-05-17 18:05:56 -05:00
Brett Flannigan
3c32f68a7d Merge pull request #17 from simplyianm/master
Setup project to completely work with Maven
2013-05-17 15:53:48 -07:00
Ian Macalinao
e6b3ec360f Mavenized entire project
Signed-off-by: Ian Macalinao <ianmacalinao@gmail.com>
2013-05-16 23:27:12 -05:00
Brettflan
65f9b9354e Missed in earlier commit: same goes for Trim command 2013-04-21 20:12:05 -05:00
Brettflan
2407a7ef84 Bugfix release 1.7.2 2013-04-21 20:09:02 -05:00
Brettflan
0eec9a007a Fix for Fill command potentially running on wrong world if specified by player with "fill confirm" command not specifying world 2013-04-21 20:08:36 -05:00
Brettflan
b074a34ee3 Release 1.7.1; for real this time, without a nasty bug, and with wrapping value properly retained after running other commands such as radius or wshape 2013-04-14 06:39:48 -05:00
Brettflan
60c124643f Release 1.7.1 2013-04-14 05:19:43 -05:00
Brettflan
7757a506d0 New command /wb portal <on/off>, which will allow you to disable WorldBorder's portal redirection method that is used to force portal targets to be inside your border. Requires new permission "worldborder.portal". This command has been added due to reported incompatibility with the Multiverse plugin somehow preventing that plugin from creating new portals. I see no way it should somehow be incompatible, particularly on WorldBorder's end which simply changes the target location of player Portal travel events, but there you go. 2013-04-14 05:18:07 -05:00
Brettflan
c83b49090b New command /wb wrap [world] <on/off> to toggle wrapping for a specific world; requires new permission "worldborder.wrap". Wrapping changed from a global setting to per-world only. 2013-04-14 04:51:57 -05:00
Brett Flannigan
993d52a79c Merge pull request #16 from Indiv0/master
Implemented world wrapping capability
2013-04-14 01:13:49 -07:00
Brettflan
e95e1b2f42 Too many people seem to have been confused and/or scared by the "skipped" report from the Fill task, thinking it indicated a bug or something, so I've removed it.
It was originally there mainly as debug info for my own use anyway, way back when the Fill feature was new and not thoroughly tested.
2013-04-10 18:44:06 -05:00
Nikita Pekin
d6bea2b616 Implemented world wrapping capability 2013-04-03 16:19:51 -04:00
Brettflan
8006e1f0fd Release 1.7.0 2013-04-02 00:51:56 -05:00
Brettflan
ef001b15bf Update to allow players to stay in/on vehicle when knocked back from border. From further testing I found that the key was to add a delay after ejecting the player and teleporting the vehicle to give the client time to process the vehicle being teleported. After such a delay it is then safe to set them as passenger of it again. With the delay the client mostly treats the player as if they're not in the vehicle but instead walking around freely.
A delay of at least 2 ticks worked on my local VM test server, but for potentially loaded live servers on the internet with players who potentially have slow/poor connections... a longer delay is probably needed to prevent client glitches. I've set the delay to 10 ticks (half a second) which still looks reasonable enough in-game, I think.

Further, I found that out of the native vehicles boats in particular quite simply cannot be teleported without the client ending up confused about where it actually is for whatever reason. I came up with a workaround for this by destroying the boat and spawning a new one in the correct position.

Bah, gotta love workarounds within workarounds.

As a reminder, this all primarily came about due to the ability to teleport entities which have a passenger being removed by the Bukkit team to apparently combat a nasty related bug.
2013-03-31 08:10:23 -05:00
Brettflan
686072b87c riding something across the border would double-trigger the border crossing handler since leaving a vehicle fires a teleport event (go figure); fixed
Players going through a portal will now no longer be able to generate chunks outside the border; the portal teleport location is re-targeted inside the border to prevent that so that new portals aren't created outside the border

added redstone comparator and activator rail to "safe open blocks" list for knockback safe location finder
2013-03-30 02:56:12 -05:00
Brettflan
1c950228d7 Players who are riding something are now (unfortunately) ejected when knocked back from the border. This was necessary due to the Bukkit team removing the ability to teleport entities which have a passenger or are the passenger of another entity.
Note that I tried to work around it by ejecting the player, teleporting the entity they were riding (minecart, pig, whatever), and then setting the player as passenger again, but it was bugged and only halfway treating the player as if they were riding something.
2013-03-29 21:48:12 -05:00
Brettflan
f6388102f9 Changed method for finding region folder (used by Fill and Trim) to hopefully support custom world types such as Twilight Forest and Mystcraft... untested, but hopefully working 2013-03-29 19:18:58 -05:00
Brettflan
6b4a0be0b2 Players who are flying (from creative mode or otherwise) can now be moved back into air when they cross the border and are knocked back; no more requirement for a safe place to stand for them
also a minor change to the Fill command to make it potentially less taxing when run at high rates
2013-03-29 17:57:52 -05:00
Brettflan
d2f0f407c2 New "setcorners" command to set border based on corner coordinates: /wb [world] setcorners <x1> <z1> <x2> <z2>
This is useful now that border shapes can be rectangular/elliptical with different X and Z radius values.

Also various cleanup of new rectangular/elliptical support. Commands can now accept a single radius value (as it used to) or separate X and Z. Radius is displayed as single number if X and Z are equal. "shape" and "wshape" commands accept round|square as before for backwards compatibility and simplicity, alongside the new elliptical|rectangular (which work the same). Updated config loader to support loading older configs with single radius value specified. Added various other methods for backwards compatibility.
2013-03-29 17:32:21 -05:00
Brett Flannigan
103d9941be Merge pull request #13 from Mathe172/master
Support for elliptic and rectangular border shapes
2013-03-27 19:20:00 -07:00
Lang Lukas
dcb815878f Added support for rectangular and elliptic borders 2013-02-14 10:35:35 +01:00
Brettflan
c501e5ebda Release 1.6.1 2012-11-21 14:43:17 -06:00
Brettflan
024c68a14f Whenever a chunk is loaded on the server, a check will now be run to make sure the border-monitoring task is still running like it should be. It will be restarted if necessary. 2012-11-11 05:07:27 -06:00
Brettflan
e6d7e33d6b Update readme and logo PSD 2012-11-11 05:05:45 -06:00
Brettflan
d7a2bebf99 Release version 1.6.0
Also added bypass to worldborder.* permission set since it now only enables the command rather than permanently forcing bypass mode.
2012-11-05 16:36:43 -06:00
Brettflan
b41267af1a Reworked border bypass to be toggleable by command, instead of always on if player had the permission like it was.
New command /wb bypass [player] [on/off], which allows the player to go beyond the border without being knocked back. Requires "worldborder.bypass" permission (Ops only by default). Nobody has bypass mode enabled by default (has to be toggled on), and the list of people with bypass enabled is wiped on server restarts. Player name ("[player]") is optional if run in-game and defaults to the player running the command, but must be specified if run from console. If on or off ("[on/off]") is not specified, it will simply be toggled.
2012-11-05 11:35:37 -06:00
Brettflan
caa3db3734 Real Release 1.5.5 2012-11-04 17:01:51 -06:00
Brettflan
1b696ef724 0 knockback was glitchy; fixed
Also attempt to fix problem when riding mobs via MobRider where mob and player end up underground after knockback; seems unsuccessful. Seeing as pigs in vanilla CraftBukkit without MobRider don't have this problem, but _do_ have the problem along with all other mobs when MobRider is loaded, I'm not bothering with this one further for now.
2012-11-04 16:46:46 -06:00
Brettflan
28e5ea7019 Polish up border bypass handling a bit 2012-11-04 15:48:16 -06:00
Brettflan
243e23f9a2 Release version 1.5.5 2012-11-04 15:22:30 -06:00
Brettflan
7b8d78ec12 Fix for command to enable/disable Dynmap border display not reporting correctly whether it's now enabled or disabled when run
Also added variables for Dynmap border color/thickness/opacity, just for internal clarity... will also simplify things if I or someone else ever gets around to adding settings for those values, to allow them to be changed
2012-11-04 15:14:12 -06:00
Brettflan
470b19160d Allow knockback to be set to 0, for the rare person that might for whatever reason want to disable border knockback 2012-11-04 15:07:41 -06:00
Brettflan
9fd230a218 Added a couple of new safe blocks to the list 2012-11-04 15:02:38 -06:00
Brettflan
28e76340ea Added artificial height limit for Nether worlds, to work around CraftBukkit bug which reports a max height of 255 for them, leading to players being teleported on top of the "roof" of the Nether at height 127 2012-10-25 01:04:23 -05:00
Brettflan
79bc2f46c0 Merge branch 'master' of github.com:Brettflan/WorldBorder 2012-10-19 00:55:51 -05:00
Brettflan
0ba6b59837 Added new "worldborder.bypass" permission which will allow a person to move around outside the border without being knocked back. This permission is not granted to anyone by default, even Ops, and is not included in the "worldborder.*" permission set.
Thanks to st-remy and guyag for pull requests close to what I ended up implementing here.
2012-10-19 00:55:08 -05:00
Brett Flannigan
ca7e2bbde7 Merge pull request #7 from cal/master
Add a pom.xml so maven building works
2012-06-11 07:57:57 -07:00
Carl Johan Crafoord
94ec8a25a4 Add pom.xml for maven building 2012-06-10 18:18:50 +02:00
Brettflan
6197a6e320 Release 1.5.4 2012-03-29 08:39:09 -05:00
Brettflan
c4127c35ad If attempting to get MarkerAPI from DynMap results in an NPE (like version 0.35 if DynMap's Spout integration fails), it will no longer prevent WorldBorder from continuing to load. 2012-03-29 07:52:11 -05:00
Brettflan
247e9052c2 Added integration with DynMap to display borders. It's enabled by default if you have DynMap installed, but note that you'll need DynMap v0.36 or newer for it to work. Borders will be displayed correctly as round or square and should be very accurate, based on a Y height of 64 on isometric maps. Any changes you make to your borders should almost immediately be reflected in DynMap (border radius or shape change, removal, new border set, etc.).
Thanks to mikeprimm for adding a couple of requested features to DynMap which made this feature possible.

New commands:
/wb dynmap <on/off> - turn DynMap border display on or off.
/wb dynmapmsg <text> - DynMap border labels will show this.

New permissions:
worldborder.dynmap (Op): Can enable/disable DynMap border display integration
worldborder.dynmapmsg (Op): Can set the label text for borders shown in DynMap

Also, a slight improvement to how boolean values are determined from command input; it accepts "y", "yes", "true" instead of just "on".
2012-03-16 00:26:13 -05:00