Commit Graph

647 Commits

Author SHA1 Message Date
sk89q
09207367c0 Use specific messages for denied item drop / pick up. 2014-08-22 15:45:05 -07:00
sk89q
3336b73536 Don't send too many "can't do this" messages at a time. 2014-08-22 15:43:03 -07:00
sk89q
0d7e3ad2de Add friendlier region deny messages. 2014-08-22 15:36:21 -07:00
sk89q
95d1bd8ee0 Debounce item pickup event. 2014-08-22 13:54:59 -07:00
sk89q
6c97e04c7c Use event abstraction for blacklist item pickup. 2014-08-22 13:45:55 -07:00
sk89q
24f72cb07f Make liquid flow checking for regions optional. 2014-08-22 13:37:02 -07:00
sk89q
ef56a32f00 Implement PVP flag through abstraction. 2014-08-22 12:47:06 -07:00
sk89q
d8da89703b Handle the TNT flag better in the new system.
Now the build flag works in tandem with the TNT flag.
2014-08-22 11:27:23 -07:00
sk89q
e47c563ced Handle null flag values in the flag set command correctly. 2014-08-22 11:09:09 -07:00
sk89q
bd0917d34b Add deny-message flag to adjust the region "don't have permission" message.
Also add color code parsing for the flag set command.
2014-08-22 03:37:33 -07:00
sk89q
8098211d01 Add Flag.getDefault(). Breaks StateFlag.getDefault() calls. 2014-08-22 02:19:31 -07:00
sk89q
83c95bbb8c Clear dirty flag if RegionManager.save() is used. 2014-08-22 02:08:59 -07:00
sk89q
4d4e1c6c26 Handle region data load / save failure more gracefully.
Also remove use of BoneCP and reorganize the classes.
2014-08-22 02:08:37 -07:00
sk89q
3045dc0293 Better handle failure conditions for background region saving. 2014-08-21 23:36:15 -07:00
sk89q
e649973318 Revert "Don't use the region chunk has table until a threshold."
This reverts commit f57afb2944.
2014-08-21 22:49:53 -07:00
sk89q
2d147bb7e1 Change PriorityRTreeIndex to use the R-tree for intersection queries. 2014-08-21 22:47:46 -07:00
sk89q
f57afb2944 Don't use the region chunk has table until a threshold. 2014-08-21 22:39:32 -07:00
sk89q
95052546a5 Remove use of Bukkit logger. 2014-08-21 22:22:28 -07:00
sk89q
768532cb8b Re-implemented region data migration. 2014-08-21 22:00:27 -07:00
sk89q
06df4585c2 Cleanup formatting of RegionProtectionListener. 2014-08-19 00:10:40 -07:00
sk89q
416006dbde Route XP drops through the event abstraction. 2014-08-18 23:56:39 -07:00
sk89q
5ff9f5c175 Reduce the number of internal events for EXPERIENCE_ORB. 2014-08-18 23:33:45 -07:00
sk89q
fa14184eb4 Move PISTONS flag to RegionFlagsListener. 2014-08-18 23:32:37 -07:00
sk89q
d29f66563b Add region support check in RegionProtectionListener. 2014-08-18 23:31:52 -07:00
sk89q
53957e7b26 Add Cause.getFirstBlock(). 2014-08-18 23:31:19 -07:00
sk89q
2c81cb2f84 Add isRegionSupportEnabled(World) to AbstractListener. 2014-08-18 23:31:09 -07:00
sk89q
711fe7ad2f Add Materials.isPistonBlock(). 2014-08-18 23:30:36 -07:00
sk89q
f6f94571ea Handle pistons in the event abstraction. 2014-08-18 21:37:41 -07:00
sk89q
985629c196 Create RegionFlagsListener and rename some methods. 2014-08-18 19:15:40 -07:00
sk89q
bb64079d17 Raise SpawnEntityEvent for BlockExpEvent. 2014-08-18 18:56:07 -07:00
sk89q
c3363f0d70 Disable sponge simulation by default.
Vanilla Minecraft will have sponges again, plus it is uses up CPU time even if players can't get sponges.
2014-08-18 12:32:28 -07:00
sk89q
937a5758f7 Don't perform spatial queries for location->location checks until needed. 2014-08-18 11:26:02 -07:00
sk89q
bb1826bdb1 Cache the set made in ApplicableRegionSet. 2014-08-18 11:04:36 -07:00
sk89q
1a781fc5b0 Try last ChunkState accessed in ChunkHashTable. 2014-08-18 10:57:02 -07:00
sk89q
039d174477 Reduce the number of BlockFromTo events handled. 2014-08-18 10:40:09 -07:00
sk89q
929f9e99cd Catch FileNotFoundException in YamlFileStore. 2014-08-18 10:39:53 -07:00
sk89q
ae8bf63c86 Remove use of ObjectArrays.concat() in ApplicableRegionSet. 2014-08-18 03:05:06 -07:00
sk89q
3eb5c65a3d Throw IllegalArgumentException if trackParentCause() is given a Block. 2014-08-18 02:35:41 -07:00
sk89q
095f2aa67e Don't check region group if the flag value is null. 2014-08-18 02:32:05 -07:00
sk89q
0f10e89f7c Add getConfig() to AbstractListener. 2014-08-18 02:23:33 -07:00
sk89q
3a2b453e3f Change some collections and cache player names. 2014-08-17 20:17:52 -07:00
sk89q
c43a24d78f Abandon TreeSet in ApplicableRegionSet for performance reasons. 2014-08-17 19:18:21 -07:00
sk89q
d43eb3bc34 Optimize the query cache a bit. 2014-08-17 19:08:20 -07:00
sk89q
3ca147e405 Don't check metadata on Blocks in Cause.
We don't track causes on Blocks. There's no need for the performance hit.
2014-08-17 15:23:34 -07:00
sk89q
41fb8a0722 Implement Associables to handle non-player region membership checks. 2014-08-17 13:16:45 -07:00
sk89q
ff3fa759d1 Don't throw an internal block break event when lighting TNT. 2014-08-17 00:49:50 -07:00
sk89q
cab42af53b Reimplemented the quirks of the old flag code. 2014-08-17 00:49:32 -07:00
sk89q
fac6ebef40 Implement new methods for accessing flags. 2014-08-16 21:09:01 -07:00
sk89q
e7c9703ced Fix checkstyle issues. 2014-08-16 21:08:17 -07:00
sk89q
4597849466 Allow __global__ BUILD to be set to DENY. 2014-08-16 13:55:54 -07:00
sk89q
a35aaf9659 Force __global__ BUILD flag to NONE.
This is due to the legacy reason of the global region having not
been previously processed as a regular region.
2014-08-16 13:54:04 -07:00
sk89q
bfb3f9e840 Change state flag defaults to true. 2014-08-16 13:45:16 -07:00
sk89q
91e34601ec Add supervisor/task library in. 2014-08-16 13:42:14 -07:00
sk89q
7481acba8c Updated FlagValueCalculator to treat global regions a lowest priority region. 2014-08-16 13:30:58 -07:00
sk89q
4d43ef5305 Change flags to use ALL as their region group. 2014-08-16 13:08:09 -07:00
sk89q
b1fb143fd4 Add a new (unused for now) flag value implementation.
It supports region groups and fixes inconsistency issues.
2014-08-16 02:42:02 -07:00
sk89q
d07e81288a Make the state flag test use a Predicate for membership testing. 2014-08-15 14:16:05 -07:00
sk89q
c0d4ba5c6c Swap the if() in the state flag test to make it more readable. 2014-08-15 13:54:33 -07:00
sk89q
8a11752253 Fix a typo in ApplicableRegionSet and improve docs. 2014-08-15 12:41:28 -07:00
sk89q
1d24be8c34 Rewrite state calculation in ApplicableRegionSet to be easier to read. 2014-08-15 12:30:37 -07:00
sk89q
d3f3489c7e Fix child regions not inheriting parent flags.
This also fixes a unit test.
2014-08-15 03:48:25 -07:00
sk89q
3f16fef57e Fix and improve protection handlers. 2014-08-15 01:43:37 -07:00
sk89q
608d782321 Activate debugging listener of the property "worldguard.debug.listener" is true. 2014-08-14 22:23:47 -07:00
sk89q
5d6dad4c6d Don't remove child regions without warning.
Also add some missing files.

Fixes WORLDGUARD-2311.
2014-08-14 21:41:44 -07:00
sk89q
28c538e981 Refactor region commands and make the necessary ones run in the background. 2014-08-14 21:24:32 -07:00
sk89q
a35cb9277e Handle CommandException in WorldGuardPlugin.convertThrowable(). 2014-08-14 21:24:02 -07:00
sk89q
e43ce420a3 Make UUID detection in DomainInputResolver reusable. 2014-08-14 21:23:26 -07:00
sk89q
501a7aa77a Add ProtectedRegion.copyFrom(). 2014-08-14 21:22:39 -07:00
sk89q
76f7ac8d8e Remove deprecation on getRegion() in RegionManager. 2014-08-14 21:22:15 -07:00
sk89q
518d5958c9 Update some region commands to run in the background. 2014-08-14 16:21:10 -07:00
sk89q
7e25de38da Update Javadocs in RegionContainer. 2014-08-14 15:20:08 -07:00
sk89q
bf8ef39871 Handle null players in shim method of GlobalRegionManager. 2014-08-14 15:17:00 -07:00
sk89q
cd62af698b Change listeners to use the region query cache. 2014-08-14 14:52:11 -07:00
sk89q
709ce9eb08 Fix a typo in some Javadocs. 2014-08-14 02:46:19 -07:00
sk89q
e24d7ccb10 Change "don't have permission" message for regions. 2014-08-14 02:44:42 -07:00
sk89q
98bbd900cb Rename RegionQuery.testEnabled() -> testState(). 2014-08-14 02:39:42 -07:00
sk89q
19b87b628a Remove use of GlobalRegionManager in RegionProtectionListener. 2014-08-14 02:39:12 -07:00
sk89q
dc2652f87b Implement an ApplicableRegionSet cache. 2014-08-14 02:33:57 -07:00
sk89q
99660920d7 Refactor region API with new RegionContainer object. 2014-08-14 01:24:38 -07:00
sk89q
ad1c10a3e9 Reorganize Bukkit portion of the region API. 2014-08-13 14:06:37 -07:00
sk89q
5b685e71d3 Add ChunkHashTable.awaitCompletion(). 2014-08-13 07:51:13 -07:00
sk89q
5ddc4b9251 Properly convert chunk coordinates in ChunkHashTable. 2014-08-13 01:02:55 -07:00
sk89q
38587a1c61 Add a hash table index for regions that hashes on chunk coordinates. 2014-08-13 00:34:36 -07:00
sk89q
eb23e28c16 Handle Tameable as a cause. 2014-08-12 23:17:36 -07:00
sk89q
4379c7e989 Handle Vehicle.getPassenger() as a parent cause. 2014-08-12 23:15:47 -07:00
sk89q
989ce82c5d Merge branch 'feature/event-abstraction' into feature/region-api-update 2014-08-12 19:49:52 -07:00
sk89q
f92e55e061 Simplfy Cause objects. 2014-08-12 19:48:20 -07:00
sk89q
0fc3d21b90 Add abstracted event debugging listener. 2014-08-11 20:08:56 -07:00
sk89q
26d3645f86 Improve level of event listening. 2014-08-11 20:08:38 -07:00
sk89q
110aa2e56b Clean up docs / code for utility classes. 2014-08-11 17:54:55 -07:00
sk89q
05369b69b6 Reorganize classes into different packages. 2014-08-11 17:51:00 -07:00
sk89q
4a501a49db Abstract events for regions and blacklists further. 2014-08-11 17:48:40 -07:00
Torm
573204caad Fix heal command for players with more health than 20 2014-08-11 00:02:26 +02:00
sk89q
7a01168781 Rewrite region API. Migrations need to be re-implemented.
This commit, however, adds:

* Better support for background saves and loads.
* Periodical writes of region changes rather than explicit save() calls.
* Rewrite of the MySQL region code.
* Support for partial saves when using MySQL.
* Decoupling of region index implementations and RegionManager.

What still needs to be done includes:

* Background region modification operations (addmember, etc.).
* Unit tests to verify correctness of the partial saving.
* Migration support (to be re-added).
* Better handling when regions are failing to save.
* Testing of the /rg load and /rg save commands.
* Verification of how server shutdown / world unload is handled.
* Verification that thread-unsafe concurrent saves of data is not happening.
2014-08-08 20:28:49 -07:00
sk89q
b5dfed9e01 Update for dependency package rename. 2014-08-02 23:35:12 -07:00
sk89q
29f804b9f0 Save YAML regions database to a temporary file before renaming. 2014-08-02 21:22:32 -07:00
sk89q
504fceceeb Remove /wg cancelall because it doesn't entirely work yet. 2014-08-02 21:19:05 -07:00
sk89q
9a852f4cbe Fix shutdown guard not working. 2014-08-02 21:08:11 -07:00
sk89q
fafd3aba6a Implement UUID migration. 2014-08-02 21:03:17 -07:00
sk89q
d87a335e85 Disable Flyway validation on migration. 2014-08-02 21:00:02 -07:00