🛡️ Protect your Minecraft server and lets players claim areas
Go to file
wizjany d542ba78ff Remove AsyncCommandHelper for new AsyncCommandBuilder.
Helper suffers from race conditions for short-lived tasks, leading to
some poor UX conditions such as errors not propagating to the user
(because the exception handler wasn't attached to the future yet), or
lack of success messages.

This commit replaces that system by a Builder which takes a callable to
begin, and then takes supervisor, delay message, and the success and
failure messages and handlers as parts of the builder. The success and
failure handlers wrap the callable itself before submitting to the
executor so they will always be run. The supervisor and delay are added
as listeners to the future since they aren't required if the task is
sufficiently short-lived (and to maintain compatibility with the classes
which are now in WorldEdit).

The builder also supports Components for success and failure messages,
as well as consumers of the callable's result or exception for better
customization of output, instead of having to rely on adding a callback
to the future.

The future is still returned for certain special usages.
2019-05-12 14:40:09 -04:00
config/checkstyle Clean up task monitoring, cancelling, exception handling etc. 2019-05-11 14:23:45 -04:00
gradle/wrapper Gradle 5 2018-12-02 21:40:46 +10:00
worldguard-core Remove AsyncCommandHelper for new AsyncCommandBuilder. 2019-05-12 14:40:09 -04:00
worldguard-legacy Remove AsyncCommandHelper for new AsyncCommandBuilder. 2019-05-12 14:40:09 -04:00
worldguard-sponge Clean up a few files. 2015-11-13 20:39:50 -05:00
.gitattributes Fixed matching with blocks vs items 2018-08-13 22:20:26 +10:00
.gitignore Fix gitignore (#406) 2019-05-09 22:41:36 +10:00
.travis.yml Should fix travis builds. 2016-01-06 00:23:15 -05:00
build.gradle Clean up gradle dependencies. Tell me if this breaks downstream builds. 2019-04-28 20:36:28 -04:00
CHANGELOG.md Release 6.1.2 for MC 1.9/1.10 2016-06-11 12:38:01 -04:00
CONTRIBUTING.md Update CONTRIBUTING.md (#399) 2019-04-07 23:12:13 +10:00
gradlew Remove some files that were listed in the gitignore but still in the repo 2018-12-18 16:52:31 +10:00
gradlew.bat Gradle 5 2018-12-02 21:40:46 +10:00
LICENSE.txt Fixed matching with blocks vs items 2018-08-13 22:20:26 +10:00
README.md Add logo to source, remove outdated notes. 2019-04-26 15:06:47 -04:00
settings.gradle Moved SquirrelID relocation to core project. (#394) 2019-01-27 19:47:08 -05:00
worldguard-logo.png Add logo to source, remove outdated notes. 2019-04-26 15:06:47 -04:00

WorldGuard

WorldGuard lets you and players guard areas of land against griefers and undesirables, as well as tweak and disable various gameplay features of Minecraft.

  • Block creeper and wither block damage, falling damage, etc.;
  • Disable fire spread, lava fire spread, ice formation, Endermen picking up blocks, etc.;
  • Blacklist certain items and blocks so they can't be used;
  • Warn moderators when certain items and blocks are used;
  • Protect areas of your world so only certain people can build in them;
  • Set areas where PVP, TNT, mob damage, and other features are disabled;
  • Protect your server from various 'exploits' like magical obsidian creation machines;
  • Disable, or enable, various Minecraft features, like sponges from classic;
  • Add useful commands like an immediate "STOP ALL FIRE SPREAD" command.
  • Enable only features you want! Everything is off by default.

WorldGuard is open source and is available under the GNU Lesser General Public License v3.

Currently, Bukkit is required to use WorldGuard. You can get a release copy of WorldGuard from the BukkitDev site.

Compiling

The project is written for Java 8 and our build process makes use of Gradle. Detailed compilation information can be found on the wiki.

Dependencies are automatically handled by Gradle.

Contributing

We happily accept contributions, especially through pull requests on GitHub.

Please read CONTRIBUTING.md for important guidelines to follow.

Submissions must be licensed under the GNU Lesser General Public License v3.