Go to file
Maddy Miller 6e2b0a1df8
Allow plugins to register new clipboard share destinations (#1707)
* Allow plugins to register new clipboard share destinations

* Rename file, as per request

* Don't use the base enginehub name for EH_pastebin

* Address review comments

* Fixed wrong usage

* Use a second metadata class for clipboard shares

* Newline

* Address comments

* Improve docs

* Apply suggestions from code review

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Use a consumer so that we handle serialization

* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/Clipboard.java

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/share/ClipboardShareDestination.java

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/share/ShareOutputConsumer.java

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/share/ShareOutputConsumer.java

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Fixed a lot of random comments

* Return a consumer from share rather than a URL, allows the share destination to control output

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
2021-05-24 16:00:55 +10:00
.github Fixup after issue template changes 2021-04-23 11:50:24 -07:00
buildSrc Merge branch 'version/7.2.x' 2021-04-22 11:18:28 -07:00
config/checkstyle Show a message with install instructions when running the jar file (#1682) 2021-02-22 22:05:23 -08:00
contrib/craftscripts Update the CraftScript README and SUBMITTING files 2020-09-26 13:08:04 +10:00
gradle/wrapper Update gradle to 6.8.3 2021-03-10 02:03:58 -08:00
worldedit-bukkit Merge branch 'version/7.2.x' 2021-04-22 11:18:28 -07:00
worldedit-cli Merge branch 'version/7.2.x' 2021-04-05 13:14:38 +10:00
worldedit-core Allow plugins to register new clipboard share destinations (#1707) 2021-05-24 16:00:55 +10:00
worldedit-fabric Merge branch 'version/7.2.x' 2021-04-06 13:56:47 -07:00
worldedit-forge Merge branch 'version/7.2.x' 2021-04-06 13:56:47 -07:00
worldedit-libs Fix a few issues (and pretend 4.5.0 exists) 2021-02-09 20:41:47 +10:00
worldedit-mod Update so many dependencies, merge Forge/Fabric for final jar (#1651) 2021-01-25 02:14:09 -08:00
worldedit-sponge Merge branch 'version/7.2.x' 2021-04-05 13:14:38 +10:00
.git-blame-ignore-revs Ensure CRLF stays out of the repo 2020-08-15 03:46:24 -07:00
.gitattributes Fix gitattributes (#1681) 2021-02-21 15:40:06 -08:00
.gitignore feat(i18n): add support for translatable text replacement (#478) 2019-12-09 12:46:18 +10:00
build.gradle.kts Patch some gradle issues, update loom 2021-03-08 11:10:55 -08:00
CHANGELOG.txt Fix a few links 2021-04-29 21:35:54 +10:00
COMPILING.md Note catch about toolchain system 2021-04-06 12:58:38 -07:00
CONTRIBUTING.md Replace dead links in contributing.md (#1735) 2021-04-28 14:15:12 -07:00
crowdin-distributor.sh Update c-dist to upload strings 2020-11-28 14:51:29 -08:00
gradle.properties Back to snapshot for future development 2021-04-20 19:57:09 -07:00
gradlew Update gradle to 6.8.3 2021-03-10 02:03:58 -08:00
gradlew.bat Update gradle to 6.8.3 2021-03-10 02:03:58 -08:00
HEADER.txt Officially propagate GPL downwards to all files 2020-08-13 21:06:39 -07:00
LICENSE.txt Officially propagate GPL downwards to all files 2020-08-13 21:06:39 -07:00
README.md Update so many dependencies, merge Forge/Fabric for final jar (#1651) 2021-01-25 02:14:09 -08:00
settings.gradle.kts Update so many dependencies, merge Forge/Fabric for final jar (#1651) 2021-01-25 02:14:09 -08:00
worldedit-logo.png Add logo to source. 2019-04-26 15:08:50 -04:00
worldedit-logo.svg Add an SVG variant of the logo 2020-10-23 21:37:29 +10:00

WorldEdit

A Minecraft Map Editor... that runs in-game!

  • With selections, schematics, copy and paste, brushes, and scripting!
  • Use it in creative, survival in single player or on your server.
  • Use it on your Minecraft server to fix grieving and mistakes.

Java Edition required. WorldEdit is compatible with Forge, Fabric, Bukkit, Spigot, Paper, and Sponge.

Download WorldEdit

This place contains the Java code for WorldEdit, but if you want to just use WorldEdit, get the mod or plugin from these pages:

Edit the Code

Want to add new features to WorldEdit or fix bugs yourself? You can get the game running, with WorldEdit, from the code here, without any additional outside steps, by doing the following four things:

  1. Download WorldEdit's source code and put it somewhere. We recommend you use something called Git if you already know how to use it, but you can also just download a .zip file. (If you plan on contributing the changes, you will need to figure out Git.)
  2. Install any version of Java greater than or equal to 8.
    • Note that if you do not install JDK 8 exactly, Gradle will download it for you on first run. However, it is still required to have some form of Java installed for Gradle to start at all.
  3. Open terminal / command prompt / bash and navigate to the directory where you put the source code.
  4. Run one of these following commands:
    • Mac OS X / Linux: ./gradlew :worldedit-fabric:runClient
    • Windows - Command Prompt: gradlew :worldedit-fabric:runClient
    • Windows - PowerShell: .\gradlew :worldedit-fabric:runClient

🎉 That's it. 🎉 It takes a long time to actually transform WorldEdit into a mod. If it succeeds, the Minecraft game will open and you can create a single player world with WorldEdit.

When you make changes to the code, you have to restart the game by re-running the command for your changes to take effect. If there are errors in your Java syntax, the command will fail.

For additional information about compiling WorldEdit, see COMPILING.md.

Using a Java IDE

To edit WorldEdit in a Java IDE, follow these steps:

  1. Download and install IntelliJ IDEA Community Edition.
  2. In the IDE, open the folder that you saved WorldEdit's code in. This creates a new project in IDEA.

That's pretty much it.

If you want to be able to run the game also, follow these instructions:

  1. Go to Run -> Edit Configurations.
  2. Add a Gradle task:
    1. Choose worldedit-fabric for the project.
    2. For the tasks, type in runClient
  3. Click OK
  4. Under the Run menu again, go to "Debug [your new task]".

Speeding up the Edit-Test-Edit-Test Cycle

It's a little annoying have to restart the game to test your changes. The best way to reduce the time is to run the server instead (using runServer instead of runClient) and then reconnect to the server after restarting it.

Submitting Your Changes

WorldEdit is open source (specifically licensed under GPL v3), so note that your contributions will also be open source. The best way to submit a change is to create a fork on GitHub, put your changes there, and then create a "pull request" on our WorldEdit repository.

Please read CONTRIBUTING.md for important guidelines to follow.