Commit Graph

1150 Commits

Author SHA1 Message Date
sk89q
7463fdef79 BlockRegistry, MaskRegistry, PatternRegistry -> *Factory
'Registry' will need to be used for the block, entity, item,
and so on registries.
2014-07-08 17:39:33 -07:00
sk89q
65f451279c Merge branch 'master' into feature/mapping
Conflicts:
	src/bukkit/java/com/sk89q/worldedit/bukkit/BukkitWorld.java
	src/main/java/com/sk89q/worldedit/command/SelectionCommands.java
2014-07-06 21:06:10 -07:00
sk89q
d74237b15e Fixes masks parsed from input not using block wildcards.
Closes WORLDEDIT-3147.
2014-07-06 18:12:15 -07:00
sk89q
68e5d5926a Allow masks parsed from input to ignore the blacklist.
Fixes WORLDEDIT-3149.
2014-07-06 18:10:30 -07:00
sk89q
85f014e256 Clamp acceptable density for //flora and //forest.
Fixes WORLDEDIT-3148.
2014-07-06 17:34:08 -07:00
sk89q
e9ca618961 Fixes //desel no longer working.
Closes WORLDEDIT-3146.
2014-07-06 17:29:17 -07:00
sk89q
6f0fde47b0 Restored tab completion of player names.
Fixes WORLDEDIT-3144.
2014-07-06 17:23:05 -07:00
Albert Pham
297a6053ef Merge pull request #298 from DarkArc/master
Fixes WorldEdit CUI.

Closes WORLDEDIT-3150.
2014-07-06 17:22:19 -07:00
Wyatt Childers
bc92e43be0 Adds Platform support for WorldEdit CUI 2014-07-06 20:13:27 -04:00
sk89q
51a540dab1 Added //calc, //eval, etc. to evaluate mathematical expressions. 2014-07-03 03:34:19 -07:00
sk89q
6c4a321d61 Added support for mathematical expressions for numeric arguments in commands.
This only works for commands that have been ported over to the new command
framework.
2014-07-03 03:33:57 -07:00
sk89q
1f6e31dae8 Changed /ascend and /descend to get arguments via injection. 2014-07-03 03:33:16 -07:00
sk89q
d3aa6c86a8 Added -m for //cut and //copy to set a source mask. 2014-07-02 12:55:18 -07:00
sk89q
b2e953a95f Merge remote-tracking branch 'origin/master' into feature/mapping 2014-07-02 12:54:30 -07:00
sk89q
765d987ae1 ParametricCallable.mayConsumeArguments() handles flags better. 2014-07-02 12:52:42 -07:00
sk89q
aad7bb47d6 Added new preliminary non-destructive //rotate and //flip implementations.
Blocks themselves are not yet rotated/flip.

//flip now only flips across the player. -p was removed.
2014-07-02 02:56:21 -07:00
sk89q
9e8b2d1875 Fix compile error in Transforms caused by merge. 2014-07-02 02:55:02 -07:00
sk89q
83e141bfb0 Added AffineTransform.scale(Vector). 2014-07-02 02:54:48 -07:00
sk89q
06c248e518 Rectified that hopper fix being very incomplete (and unit test breaking!). 2014-07-01 15:37:12 -07:00
sk89q
e207ccebe8 Fixed activated hoppers rotating incorrectly.
Fixes WORLDEDIT-3138.
2014-07-01 15:16:27 -07:00
sk89q
8f8d991ee1 Fixed /butcher not working correctly in-game.
@Optional does not work on parameter bindings of the PROVIDES type at
this time.

Fixes WORLDEDIT-3139.
2014-07-01 15:04:30 -07:00
sk89q
ede28df487 Fixed handling of legacy Command.flags/.anyFlags.
Fixes WORLDEDIT-3137.
2014-07-01 14:15:19 -07:00
sk89q
7ba002ac8d Clean up ParametricCallable. 2014-07-01 13:52:19 -07:00
sk89q
c5bd8704ea Added TransformRegion to transform another Region. 2014-07-01 13:03:01 -07:00
sk89q
7a5ea73c57 Merge branch 'master' into feature/mapping 2014-07-01 12:59:55 -07:00
sk89q
1b0a6bfcd8 Removed CommandCallable.getValueFlags().
Parsing of arguments is no longer done automatically so this method
is extraneous.
2014-07-01 12:56:27 -07:00
sk89q
f3fe8f2ad8 Extracted CommandMapping interface. 2014-07-01 12:55:39 -07:00
sk89q
61053564fa Added utility Transforms class. 2014-07-01 12:45:06 -07:00
sk89q
e3ae22da80 Identity.combine(other) should just return other. 2014-07-01 12:42:57 -07:00
sk89q
63411b427a Added Transform.inverse() as a standard operation. 2014-07-01 12:42:57 -07:00
sk89q
a74bab7f98 Added changes to formatting package in some classes. 2014-07-01 01:39:54 -07:00
sk89q
83a657e561 formatting.components -> formatting.component 2014-07-01 00:22:11 -07:00
sk89q
7c2f6f0bcc Sort commands for Dispatchers in CommandUsageBox. 2014-06-30 23:22:04 -07:00
sk89q
2effc57b78 When sorting commands for //help, ignore / characters. 2014-06-30 23:17:44 -07:00
sk89q
75b1fe6090 Added "Usage: " back when handling InvalidUsageException. 2014-06-30 23:04:32 -07:00
sk89q
f0530f9d28 Removed gold color from CommandUsageBox for command help. 2014-06-30 23:03:46 -07:00
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
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
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
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
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
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
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