Commit Graph

1150 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
144302a487 Added shims for old EditSession constructors. 2014-04-03 20:48:42 -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
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
sk89q
dbf1f3b9cb Fixed BlockQuirkExtent calling getBlockType(). 2014-03-31 20:31:25 -07:00
sk89q
761904e496 General code cleanup. 2014-03-31 20:29:05 -07:00
sk89q
8bec48dc9e Moved DoubleArrayList to util.collection. 2014-03-31 20:11:23 -07:00
sk89q
7f7b0b0daf Changed BlockOptimizedHistory to use TupleArrayList and FastListIterator. 2014-03-31 20:10:09 -07:00
sk89q
031d40f9e6 Changed SimpleBlockReorder to TupleArrayList. 2014-03-31 19:48:10 -07:00
sk89q
0c14737891 Renamed BlockMapEntryVisitor to BlockMapEntryPlacer. 2014-03-31 18:51:12 -07:00
sk89q
6985ff5250 Bypass history for undo/redo. 2014-03-31 18:49:39 -07:00
sk89q
b2d1562595 Implemented last-access-caching for getLazyBlock(). 2014-03-31 18:43:47 -07:00
sk89q
fa24eb60fa Added getLazyBlock() to Extent for performance. 2014-03-31 18:22:44 -07:00
sk89q
dcf35e5312 Fixed FastModeExtent not properly handling dirty chunks. 2014-03-31 17:43:21 -07:00
sk89q
f688b3daa5 Fixed EditSession's Javadocs regarding notifyAdjacent. 2014-03-31 17:23:05 -07:00
sk89q
fe25d08267 Removed notifyAdjacent from Extent.setBlock().
Also fixed Extent's incorrect Javadocs.
2014-03-31 17:20:54 -07:00
sk89q
e7fe787b20 Broke up EditSession into many Extents. 2014-03-31 16:55:58 -07:00
sk89q
10e672a94a Added new history framework, visitors for history. 2014-03-30 22:33:16 -07:00
sk89q
cfdd87efac Fixed Javadocs in EditSession. 2014-03-30 14:46:50 -07:00
sk89q
a9797ed30b Changed /fix[water|lava] to use visitors. 2014-03-30 14:45:42 -07:00
sk89q
7d03d9db90 Added NonRisingVisitor. 2014-03-30 14:44:26 -07:00
sk89q
6864a0fadf Changed BreadthFirstSearch.getDirections() to return a Collection. 2014-03-30 14:43:47 -07:00
sk89q
41c4033fbb Added LocalWorld.createLiquidMask(). 2014-03-30 14:16:06 -07:00
sk89q
cc8a89f415 Converted //drain to visitors. 2014-03-30 14:10:01 -07:00
sk89q
3ad5c9016a Added CuboidRegion.fromCenter(). 2014-03-30 14:09:50 -07:00
sk89q
21496915af Made moveCuboidRegion() call moveRegion(). 2014-03-30 13:56:12 -07:00
sk89q
d64d3fbacb Added to @SuppressWarnings("deprecation") to converted EditSession methods. 2014-03-30 13:54:57 -07:00
sk89q
f48040572e Fixed LayerVisitor constructors in RegionCommands. 2014-03-30 13:50:07 -07:00
sk89q
593a9e555a Fixed LayerVisitor constructors in EditSession. 2014-03-30 13:49:26 -07:00
sk89q
7dc81f8350 Added preconditions to BreadthFirstSearch and subclasses. 2014-03-30 13:48:15 -07:00
sk89q
25021b4a30 Removed EditSession from RecursiveVisitor. 2014-03-30 13:46:20 -07:00
sk89q
f0d97c5231 Added new Pattern interface. 2014-03-30 12:59:39 -07:00
sk89q
e7f7d17f25 Moved DocumentationPrinter to internal.util. 2014-03-30 12:27:10 -07:00
sk89q
dd3f32b8f1 Moved HeightMap to math.convolution. 2014-03-30 12:15:39 -07:00
sk89q
b07fd594e9 Moved interpolation, filtering packages to math. 2014-03-30 12:13:45 -07:00
sk89q
75bee27610 Move Extent to extent sub-package. 2014-03-30 12:03:12 -07:00
sk89q
c8ee9ce931 Converted //move to visitors. 2014-03-30 10:29:00 -07:00
sk89q
5c3db177a4 ForwardExtentCopy can now apply a function to source blocks after copy. 2014-03-30 10:27:25 -07:00
sk89q
36c5ceaf90 Added ExtentBuffer to buffer changes to Extents. 2014-03-30 10:27:02 -07:00
sk89q
59aa51e037 Added OperationQueue to execute multiple operations sequentially. 2014-03-30 10:26:51 -07:00
sk89q
7a6df178d6 Added CombinedRegionFunction. 2014-03-30 10:26:37 -07:00
sk89q
ecde631e5f Changed BlockReplace to take an Extent. 2014-03-30 10:26:25 -07:00
sk89q
fb16897b5c Fixed BlockMask, MaskIntersection not using this. 2014-03-30 10:26:10 -07:00
sk89q
37c388baef Converted //stack to visitors. 2014-03-30 03:08:56 -07:00
sk89q
e3a42db309 Added ForwardExtentCopy and ExtentBlockCopy. 2014-03-30 03:08:49 -07:00
sk89q
9aa3ae15d0 Added DelegateOperation to proxy Operations. 2014-03-30 03:06:34 -07:00
sk89q
1408487fff Fixed Javadocs in Extent. 2014-03-30 03:06:20 -07:00
sk89q
250be31fe2 Added Transforms for Vectors in worldedit.math.* 2014-03-30 03:06:07 -07:00
sk89q
9113cd4bd3 Added new Mask interface and deprecated old one. 2014-03-30 02:56:15 -07:00
sk89q
9ab1d0f150 Fixed UnderOverlayMask not really supporting Extent. 2014-03-29 21:30:48 -07:00
sk89q
e657fd5be9 Moved noise classes to worldedit.math.* package. 2014-03-29 21:08:03 -07:00
sk89q
e7bbd1ac53 Made some masks use Extents rather than EditSessions. 2014-03-29 21:07:02 -07:00
sk89q
70f409975e Added support for Extent interface. 2014-03-29 21:05:09 -07:00
sk89q
3c5c257a41 Changed ground seeking operations to LayerVisitor. 2014-03-29 18:51:33 -07:00
sk89q
c804aeb03e Make FlatRegionVisitor take FlatRegions only. 2014-03-29 18:34:34 -07:00