Commit Graph

1165 Commits

Author SHA1 Message Date
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
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
sk89q
471b4496c9 Add task management and improve threaded code. 2014-08-02 18:38:18 -07:00
sk89q
32e39f5c7c Make some dependencies optional=true. 2014-08-02 11:25:27 -07:00
sk89q
bf48361b10 Switch to Odeum for executors. 2014-08-02 11:24:25 -07:00
sk89q
387431c9c7 Remove both UUID and names from domains for removal commands. 2014-08-02 10:03:41 -07:00
sk89q
9b69c07663 Show name: for legacy names in region domains. 2014-08-02 09:53:35 -07:00
sk89q
a1d59373ac Re-configure how libraries are shaded. 2014-08-02 09:49:52 -07:00
sk89q
81a727fe7f Add support for UUIDs in region commands. 2014-08-02 09:32:30 -07:00
sk89q
189fd15498 Close connections properly in MySQLDatabaseImpl.chooseWorldId(). 2014-08-01 22:32:13 -07:00
sk89q
1a602f2f8a Implement UUID saving/loading support for regions.
Also fix WORLDGUARD-3117.
2014-08-01 22:31:58 -07:00
sk89q
7986238936 Add migrations for region MySQL support. 2014-08-01 21:29:40 -07:00
sk89q
a2fc9c94fd Fix NPE when a manager fails to load. 2014-08-01 20:02:50 -07:00
sk89q
51f98c9eb7 Reorganize MySQL region DB and added BoneCP as a dependency. 2014-08-01 19:19:48 -07:00
sk89q
418b8ff6a7 Add support for UUIDs in domains. 2014-08-01 17:36:56 -07:00
sk89q
9cab51dac8 Merge pull request #322 from zreed/master
Use table prefix when deleting from region_poly2d_point.
2014-07-29 21:00:41 -07:00
zreed
26ac987024 Use table prefix when deleting from region_poly2d_point. 2014-07-29 21:11:44 -04:00
sk89q
e44875532d Fix NPE in BlacklistEntry due to recent refactor. 2014-07-28 21:02:15 -07:00
sk89q
956d1b4248 Add support for data values in the blacklist. 2014-07-28 16:45:43 -07:00
sk89q
3aa8bbe947 Fix .gitignore ignoring too many things. 2014-07-28 16:45:24 -07:00
sk89q
f46b1cb138 Change use of integer IDs to "Target" objects in blacklist code. 2014-07-28 15:58:07 -07:00
sk89q
5b5022b0b8 Change blacklist repeated event tracking to use an expiring cache and cause names as keys. 2014-07-28 15:01:01 -07:00
sk89q
d93c7fa09d Add on-dispense blacklist event. 2014-07-28 14:48:30 -07:00
sk89q
2c1d1ef0a3 Remove attachment check because it doesn't really make sense. 2014-07-28 14:45:05 -07:00
sk89q
bf97e41697 Rewrite blacklist code. 2014-07-28 14:38:43 -07:00
sk89q
c0852d63fe Add asynchronous region load/save for YAML databases.
These changes are intentionally limited so as to maintain backwards
compatibility with existing plugins using WG's API.

Some data structures were changed to CopyOnWrite to ensure thread
safety and the map of regions was changed to a ConcurrentHashMap.

Currently, saving requires making a copy of the regions map which can
cause a delay of a few milliseconds on large data sets.
2014-07-24 18:49:40 -07:00
sk89q
acc39e11b1 Handle null causes by skipping them. 2014-07-24 17:38:18 -07:00
sk89q
b4880ae982 Modularize potion blocking via the configuration. 2014-07-24 16:08:30 -07:00
Wyatt Childers
1a1acae588 Slight performance optimization to the movement checks to improve performance with slow permissions plugins 2014-07-23 22:26:34 -04:00
sk89q
1581390092 Add unit test to test global command blacklist with region command whitelist. 2014-07-21 19:52:27 -07:00
sk89q
cd221ea19c Refactor command filter into a unit tested class.
Also adds support for regex \s as the subcommand delimiter.
2014-07-21 19:36:25 -07:00
sk89q
abeab91be4 Add messages warning about auto-god mode and auto-amphibious mode. 2014-07-18 18:39:49 -07:00
sk89q
227f54d315 Remove extraneous file. 2014-07-13 15:11:53 -07:00
sk89q
ac88367f6c Handle null custom flags registered by third-party plugins.
See WORLDGUARD-3094.
2014-07-13 02:23:04 -07:00
sk89q
f788f0e0d9 Add internal.check-attached-blocks option to check attached blocks.
This does not check the other way yet (i.e. check if other blocks depend
on the block in question).
2014-07-12 21:14:26 -07:00
sk89q
9a4bc70cdd Added basic abstracted events. 2014-07-12 20:59:33 -07:00
sk89q
ab46fd6244 Add Guava and jsr305 to dependencies. 2014-07-12 19:38:30 -07:00
sk89q
6deafa660d Cleanup code and add checkstyle configs from WorldEdit. 2014-07-12 19:31:43 -07:00