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.
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.
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
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.
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
This breaks backwards compatibility for all getWorld() methods, but
shim methods were added for binary compatibility with method calls that
use LocalWorld.