Commit Graph

1714 Commits

Author SHA1 Message Date
sk89q
88f0f1061a Cleaned up InvalidUsageException and CommandException to be less confusing. 2014-06-30 23:02:04 -07:00
sk89q
08ad5f4451 Handle exceptions thrown from bindings as a convertible InvocationTargetException.
For example, if IncompleteRegionException is thrown by a binding, it
will result in a InvocationTargetException now with a getCause(),
which gets handled as if that exception was thrown from the actual
Method that is invoked for the command.
2014-06-30 22:51:25 -07:00
sk89q
11d37bce2b Implemented -? and changed handling of InvalidUsageException.
Fixes WORLDEDIT-2947.
2014-06-30 22:48:04 -07:00
sk89q
c29ca03e35 Improved re-use of command help formatting. 2014-06-30 22:08:08 -07:00
sk89q
1e2523ddcb Updated //help with colors and sub-command support. 2014-06-30 21:56:05 -07:00
sk89q
d1f5beb961 Shortened /schematic command descriptions. 2014-06-30 21:48:26 -07:00
sk89q
0a5a1e1b01 Fixed typo in //curve's help.
Fixes WORLDEDIT-3025.
2014-06-30 21:00:02 -07:00
sk89q
dd924d806b Fixed RepeatingExtentPattern repeating a (1, 1, 1) smaller region. 2014-06-29 17:47:29 -07:00
sk89q
09eb36dc5e Added new Extent-compatible Clipboard and BlockArrayClipboard classes.
The goal is to replace use of CuboidClipboard with these new classes.

Support for entities, //flip, //rotate, and //distr still needs to be
re-implemented.

DataException was also removed from BaseBlock because The Base(...)
classes should be "dumb" blocks without any validation.
2014-06-29 17:47:08 -07:00
sk89q
eee2c5d9f4 Changed Location to use Extents rather than worlds and overhauled the new Entity code a bit. 2014-06-29 15:36:41 -07:00
sk89q
ad9b8ce3b1 [Bukkit] Made BukkitCommandSender public again.
CommandHelper subclasses this, although whether things will work
properly after this change is to be said.

Fixes WORLDEDIT-3136.
2014-06-29 12:28:27 -07:00
sk89q
d4dde8c4a6 [Bukkit] Handle onDisable() better when onEnable() fails. 2014-06-29 01:43:30 -07:00
sk89q
c9612c05a7 Fixed formatting error in BukkitEntity. 2014-06-28 22:43:41 -07:00
sk89q
b0d050451a Merge branch 'master' into feature/mapping
Conflicts:
	src/bukkit/java/com/sk89q/worldedit/bukkit/BukkitCommandSender.java
	src/main/java/com/sk89q/worldedit/internal/LocalWorldAdapter.java
	src/main/java/com/sk89q/worldedit/util/TargetBlock.java
2014-06-28 22:31:13 -07:00
sk89q
d86d81ef21 Switch Style to Preconditions. 2014-06-28 19:13:46 -07:00
sk89q
d7d7b2741a Added MaxBrushRadiusException to WorldEditExceptionConverter. 2014-06-28 18:53:06 -07:00
sk89q
723b8b6e63 Shortened and improved some command descriptions. 2014-06-28 18:44:09 -07:00
sk89q
edb6c56aab Improved the styling of SimpleDispatcher's list of sub-commands. 2014-06-28 18:43:54 -07:00
sk89q
46c429606e Added text formatting classes from the operations branch. 2014-06-28 18:43:37 -07:00
sk89q
2628e80f41 Made SimpleDescription's lists modifiable. 2014-06-28 18:42:25 -07:00
sk89q
a957482ee6 Ignore cause when handling ParameterException in ParametricCallable. 2014-06-28 17:37:47 -07:00
sk89q
93a48bbb55 Handle NoMatchException in WorldEditBinding. 2014-06-28 17:37:13 -07:00
sk89q
e261e720b6 Removed ParametricCallable's getSuggestions() which isn't quite working. 2014-06-28 17:32:48 -07:00
sk89q
c7988c7ad9 Don't throw a ParameterException for a regular exception. 2014-06-28 17:32:25 -07:00
sk89q
3750190f2c Passed a string of parent commands rather than just the current command. 2014-06-28 17:04:38 -07:00
sk89q
10c45fcb22 Check permissions in command suggestions and Dispatcher. 2014-06-28 16:57:11 -07:00
sk89q
205fee3c36 Renamed some command manager methods to be more descriptive. 2014-06-28 16:39:20 -07:00
sk89q
620a4a21a1 Fixed -a in //stack being interpreted as -s. 2014-06-28 16:30:22 -07:00
sk89q
33e1e0b1f1 Overhauled command handling and suggestion support. 2014-06-28 16:30:02 -07:00
sk89q
2258513104 Made Dispatcher implement CommandCallable.
This simplifies things a bit.
2014-06-28 01:42:59 -07:00
sk89q
f64107c2c0 Removed LocalPlayer from commands and removed various uses of old Mask and Pattern classes. 2014-06-28 01:01:49 -07:00
sk89q
ec28cd626c Removed use of @Nullable in ParametricCallable. 2014-06-27 20:24:02 -07:00
sk89q
de0f283656 Call createProxyActor() on command Actors. 2014-06-27 20:23:53 -07:00
sk89q
b8b097ce68 Fixed 'break' being 'return' in LegacyCommandsHandler. 2014-06-27 20:10:48 -07:00
sk89q
109150f348 Changed CommandPermissionsHandler to use Actor. 2014-06-27 20:09:18 -07:00
sk89q
5347cd4e34 Fixed issue where the use of non-existent subcommands had no response. 2014-06-27 20:00:02 -07:00
sk89q
d96d3cf8bc Changed instances of Pattern, Mask, etc. to newer versions.
Most affected is the brush code.
2014-06-27 19:55:38 -07:00
sk89q
9381beb417 Actor should not have getWorld(). 2014-06-27 18:34:58 -07:00
sk89q
23ce159ccf Moved other command handler related classes to the internal package. 2014-06-27 18:29:43 -07:00
sk89q
47076b313e Fixed command logging regression caused by merge. 2014-06-27 18:29:43 -07:00
sk89q
1431cd2a67 Cleaned up BiomeCommands and made better use of new command framework. 2014-06-27 18:29:43 -07:00
sk89q
b7e0821b97 Removed command binding classes to internal package. 2014-06-27 18:29:43 -07:00
sk89q
ebe2bc6ae2 Changed command pipeline to use Actor over LocalPlayer. 2014-06-27 18:29:42 -07:00
rhylos
aaf4c61251 [Forge] Add slash to location of defaults folder to allow locating of worldedit.properties file. 2014-06-27 19:34:03 -04:00
sk89q
8f1943fd84 Merge commit '142f5c8e5c889ee5098c05ba2fde20b52467c1df' into feature/platform-caps 2014-06-27 16:03:29 -07:00
sk89q
c9e60f1f60 Updated /we version with platform information. 2014-06-27 13:14:55 -07:00
sk89q
9bb70ad335 Updated events to choose the best platform for certain tasks. 2014-06-27 13:14:44 -07:00
sk89q
e52ca6661f Added support for platforms to declare capabilities.
Platforms can declare certain capabilities and a suggested preference
for the platform for each capability. WorldEdit can then choose
the best platform for a given capability.

Examples of capabilities include providing configuration, registering
game hooks/events, performing changes to the world, or checking
permissions/authorization.
2014-06-27 01:11:35 -07:00
sk89q
d9cea950b0 Added events for the other WorldEdit.handle*() methods. 2014-06-26 20:07:04 -07:00
sk89q
7827dfea9e Put in a tip about setting //limit. 2014-06-26 17:43:25 -07:00
sk89q
92204ba623 [Forge] Fixed switch() fall-through on handling of block interaction. 2014-06-26 17:07:37 -07:00
sk89q
fc50831cc0 Changed right click to use the event as well. 2014-06-26 17:07:08 -07:00
sk89q
ff7d5aad1a Only handle primary input in block interact event handler. 2014-06-26 16:58:54 -07:00
sk89q
900c9b5258 Added BlockInteractEvent to replace handleBlockLeftClick().
Needed quite a shim for tools/brushes for now.
2014-06-26 16:56:40 -07:00
Wizjany
0e00f0ac9d [Forge] Move worldedit.properties to defaults folder so it extracts properly 2014-06-26 17:26:30 -04:00
wizjany
38ac5c9ad1 Move a bukkit-specific file from #287 to bukkit folder as not to break API/other platform compilation. 2014-05-03 23:12:22 -04:00
sk89q
07d99f32d9 Merge remote-tracking branch 'origin/master' into mapping 2014-05-01 18:03:53 -07:00
sk89q
c8246ec962 Merge pull request #239 2014-05-01 18:01:12 -07:00
sk89q
b3f5136a59 Merge pull request #287 2014-05-01 17:52:33 -07:00
sk89q
996438ff91 Merge pull request #282
Add support for listing schematics inside subdirectories

Conflicts:
	src/main/java/com/sk89q/worldedit/command/SchematicCommands.java
2014-05-01 17:45:13 -07:00
sk89q
a3c542b74f The /butcher command no longer kills mobs with a name tag.
PR: https://github.com/sk89q/worldedit/pull/292

Conflicts:
	src/bukkit/java/com/sk89q/worldedit/bukkit/BukkitWorld.java
	src/main/java/com/sk89q/worldedit/command/BrushCommands.java
	src/main/java/com/sk89q/worldedit/command/UtilityCommands.java
2014-05-01 17:36:11 -07:00
sk89q
8d6f5bf335 Improves CUI support.
1. Allows CUI handshake package to overwrite protocol version.
2. Sends the current selection on handshake.
3. Removed redundant SelectionShapeEvents.

Conflicts:
	src/main/java/com/sk89q/worldedit/regions/selector/ConvexPolyhedralRegionSelector.java
	src/main/java/com/sk89q/worldedit/regions/selector/CylinderRegionSelector.java
2014-05-01 17:29:51 -07:00
Albert Pham
8518f371b2 Merge pull request #242 from vu1p3n0x/master
Access to CommandManager registration with parent
2014-05-01 14:18:23 -07:00
sk89q
65ee8bfd2a Allow use of InputStream to load schematics
Conflicts:
	src/main/java/com/sk89q/worldedit/schematic/MCEditSchematicFormat.java
2014-05-01 13:57:30 -07:00
sk89q
c4c19017bb Added incomplete entity support to all Extents.
The Bukkit implementation supports the new entity API, but it has
not yet been tested. The Forge implementation does not support the
entity API yet.

At the moment, an UnsupportedOperationException is thrown for
Entity.getState() in some implementations, but use of an exception
should probably not be allowed.

BaseEntity is now an interface. It should not be possible to create
instances of BaseEntity because it may be implementation-specific.
2014-04-27 23:34:39 -07:00
sk89q
a5c3238876 Added Creature metadata interface. 2014-04-27 23:31:42 -07:00
sk89q
354d819872 Added a new preliminary mapping + metadata framework.
The eventual goal is to add:

1. Support for mapping block, etc. names (minecraft:stone, etc.)
2. Proper support for entities in WorldEdit
3. Support for querying for metadata about a block, entity, etc.
4. Extent support to biomes, structures, and so on
2014-04-26 21:57:45 -07:00
sk89q
19c43a2834 Added NBT field to BaseEntity. 2014-04-26 19:59:59 -07:00
sk89q
33e641d5f2 Added a new Location and added Entity.getLocation(). 2014-04-26 19:48:30 -07:00
wizjany
b0a52a4cf7 Revert a breaking change to fuzzy item/block lookup. 2014-04-26 00:22:39 -04:00
wizjany
5ed9239e14 Fixed listing schematics with directories in the folder. 2014-04-25 23:45:49 -04:00
sk89q
e69e72c410 Moved annotation package to internal package.
Closes WORLDEDIT-3055.
2014-04-25 15:23:43 -07:00
sk89q
f94be80923 Changed Super Pickaxe to use EditSession.
This fixes WORLDEDIT-3102 and allows the logging of Super Pickaxe
usage via the EditSession Extent pipeline.
2014-04-23 00:33:00 -07:00
sk89q
bf062298f1 Moved EditSession BlockQuirkExtent upward.
Should fix WORLDEDIT-3101.
2014-04-22 01:19:49 -07:00
wizjany
30006325db Update CraftBukkit packaging for 1.7.9. 2014-04-19 13:14:14 -04:00
Wizjany
33d4285f1a Fix mask parser incorrectly parsing block lists.
i.e. not parsing the list at all
2014-04-13 17:12:10 -04:00
sk89q
4a6614f34f Cleaned up ForgeWorld, AbstractWorld.
Change block setting method in Forge to a more proper one.
2014-04-06 15:06:38 -07:00
sk89q
b6ee2c570a [Forge] Cleaned up the code somewhat. 2014-04-06 12:07:10 -07:00
sk89q
099fd9a63b [Forge] Made TileEntity NBT handling fit WE spec.
Fixed schematic loading/saving as a result.
2014-04-06 01:41:28 -07:00
sk89q
f3e107da90 Handle running multiple platforms at a time better. 2014-04-05 23:27:10 -07:00
sk89q
d1a69fd985 Raised level for platform registration log message. 2014-04-05 22:05:58 -07:00
sk89q
4320ae9d1f [Forge] Attached com.sk89q logger to FML logger. 2014-04-05 22:05:44 -07:00
sk89q
d85c0096a9 Fixed console commands not working due to null Worlds. 2014-04-05 21:49:25 -07:00
sk89q
b941e21d4d Added NullExtent that drops changes. 2014-04-05 21:49:03 -07:00
sk89q
69460094b8 Handle null World cases for EditSession when actor is console.
It actually should never be null, but old code does it.
2014-04-05 20:09:52 -07:00
sk89q
0148e8bcc6 Added getUniqueId() to TestOfflinePermissible. 2014-04-05 20:09:20 -07:00
sk89q
69797cfbea Updated Forge compilation to ForgeGradle. 2014-04-05 19:59:23 -07:00
sk89q
e0a2873c99 Removed use of Guava's Cache because Bukkit uses an ancient version of Guava. 2014-04-05 14:44:41 -07:00
sk89q
24f8fbc92a Converted API over to use new World.
This breaks backwards compatibility for all getWorld() methods, but
shim methods were added for binary compatibility with method calls that
use LocalWorld.
2014-04-05 03:04:21 -07:00
sk89q
63a2ca824d Fixed Javadocs in LocalSession. 2014-04-04 22:43:33 -07:00
sk89q
7ed1718d21 Moved LocalWorld's members upwards to AbstractWorld and World. 2014-04-04 22:40:29 -07:00
sk89q
d4c910a012 Created AbstractPlatform and deprecated ServerInterface. 2014-04-04 21:15:37 -07:00
sk89q
52b828ae17 Clean up WorldEdit main class. 2014-04-04 21:02:56 -07:00
sk89q
8fb73347e4 Implemented PlatformManager, Platform over old platform registration method. 2014-04-04 20:53:58 -07:00
sk89q
bed5fa8fdc Added Actor, Player, Entity, BaseEntity. 2014-04-04 17:54:14 -07:00
sk89q
db48f64585 Added Maven checkstyle plugin. 2014-04-04 16:09:22 -07:00
sk89q
ae8becafdd Code cleanup. 2014-04-04 16:09:05 -07:00
sk89q
e0fd804f70 Standardized file headers. 2014-04-04 15:23:11 -07:00
sk89q
b9c1dc6231 Fixed equals() without hashCode(). 2014-04-04 14:40:51 -07:00
sk89q
478ce3f627 Fixed utility classes having constructors. 2014-04-04 14:35:12 -07:00