Got a question that the wiki doesn't answer? Ask on the forum (preferred), or join us on IRC.

BeastNode

WorldEdit/API

From EngineHub.org Wiki
Jump to: navigation, search

The WorldEdit API is entirely isolated from implementations (SPC, Bukkit, Spout, etc.), which means that it can be relatively easily ported to different platforms without the need for forking.

Implementations

If you wish to implement WorldEdit in a platform, please get in touch with sk89q.

Future plans

The current state of the API is a bit messy. The API has gone through three stages of Minecraft development (alpha, beta, release), through the death and growth of several platforms (hMod, Bukkit, Spout, and soon Minecraft's API), and has generally outlasted most things in Minecraft. Unfortunately, the WorldEdit API itself has largely been unchanged for nearly three years now, except for additions as needed, resulting in an increasingly messy and un-directed API. Thus the plan for WorldEdit 6.x is to do away with the much of the old API and replace it with a new list of classes that is much more modern.

Changes

  • Decoupling of operations from their chat commands.
  • Standardizing blocks around one single Block object, and doing away with subclassed blocks (such as MobSpawner).
  • Allowing and recommending implementations to subclass the Block object to allow for faster native handling of NBT data.
  • Standardizing around NBT structures as the primary method of carrying around data.
  • Supporting proper GUI prompts.
  • Better support for entities.

Foundation classes

The foundation classes are a set of new classes that implement the ideas above while maintaining backwards compatibility with older (and current) versions of WorldEdit. They are available in the com.sk89q.worldedit.foundation package, and the current versions of those classes (BaseBlock, etc.) will inherit or implement the foundation classes. That allows new code to utilize features of the foundation classes without having to break compatibility with the current API.

Navigation menu