Commit Graph

1783 Commits

Author SHA1 Message Date
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
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
sk89q
2b0ee84952 Code convention cleanup of right braces. 2014-04-04 14:26:08 -07:00
sk89q
cbf58103e6 Replaced tabs with spaces in .java files. 2014-04-04 14:11:48 -07:00
sk89q
224bfef50c Throw old DataExceptions in schematic related classes.
The schematic related classes are slated for deprecation at some point.
2014-04-04 13:59:28 -07:00
sk89q
3294431e00 Added back old region selector classes as deprecated. 2014-04-04 13:57:27 -07:00
sk89q
8722104565 Added back old BlockBags as deprecated classes. 2014-04-04 12:43:38 -07:00
sk89q
144302a487 Added shims for old EditSession constructors. 2014-04-03 20:48:42 -07:00
sk89q
fb4eb61763 Made BukkitWorld hold a WeakReference to World. 2014-04-03 20:28:44 -07:00
sk89q
16e89c23f5 Added sanity check to DataValidatorExtent. 2014-04-03 20:09:01 -07:00
sk89q
0ed62b8f90 Moved RegionSelector back to regions package to reduce API breakage. 2014-04-03 19:50:05 -07:00
sk89q
71ee350172 Ensure that air blocks always have data = 0. 2014-04-03 19:15:34 -07:00
sk89q
8e2fc8b0d4 Moved session code into SessionManager. 2014-04-03 19:12:30 -07:00
sk89q
d696bf9b03 Renamed ExtentDelegate -> AbstractDelegateExtent. 2014-04-03 18:41:36 -07:00
sk89q
1fd1e7aaf8 Moved RegionSelectors and RegionIterators into subpackages. 2014-04-03 18:32:51 -07:00
sk89q
2e904577b7 Added events for each stage of EditSession Extent creation. 2014-04-03 18:24:06 -07:00
sk89q
c8e455cd6f Removed binary-incompatible changes to EditSessionFactory. 2014-04-03 17:56:21 -07:00
sk89q
9d08f266bf Created pattern, mask, and block registries.
Deprecated getBlock, getBlockPattern, and so-on in WorldEdit.
2014-04-03 17:52:53 -07:00
sk89q
589c3e9629 Added InputExtent and OutputExtent.
Suggested by TomyLobo
2014-04-02 23:42:11 -07:00
sk89q
08900cbfc2 Removed foundation.* package. 2014-04-02 21:23:14 -07:00
sk89q
a08ee7bce9 Added legacy DataException to create binary compatibility. 2014-04-02 20:44:18 -07:00
sk89q
6c460f02c5 Split up source files into several source directories. 2014-04-02 20:03:52 -07:00
sk89q
469cb8c8b3 (Breaking) Moved some packages around.
Most of the changes should not break *most* WorldEdit-using plugins,
but implementations of WorldEdit are broken by this change.
2014-04-02 19:20:12 -07:00
sk89q
6e70e8c862 Removed EditSessionFactory in favor of event-based system. 2014-04-02 18:57:25 -07:00
sk89q
a7d83958ac Added event bus implementation. 2014-04-02 18:53:06 -07:00
sk89q
b78b086f2e Added RunContext parameter to Operation.resume(). 2014-04-01 16:35:28 -07:00
sk89q
9b564a460e Added Javadocs to ChangeSetExecutor. 2014-04-01 16:23:13 -07:00
sk89q
1667fa5c79 OperationHelper -> Operations 2014-04-01 16:21:27 -07:00
sk89q
2d67ae9e65 Merge remote-tracking branch 'refs/remotes/origin/master' into visitor 2014-04-01 16:13:18 -07:00
sk89q
21fca251fc Updated to MC 1.7.5 for Bukkit. 2014-04-01 12:30:30 -07:00
sk89q
76b679caad Added EditSession Extent wrapping callbacks. 2014-03-31 20:46:57 -07:00
sk89q
8ff09d6391 Added AbstractLoggingExtent for block loggers. 2014-03-31 20:36:17 -07:00
sk89q
302e493538 Fixed BlockBagExtent using getBlockType/Data() 2014-03-31 20:32:56 -07:00