Skip to content
NotMyFault edited this page Oct 30, 2019 · 38 revisions

Need help?

If you need help coding anything, feel free to hop on discord.

Porting WorldEdit API code to FAWE

Firstly, FAWE isn't meant to modify the behavior of the WorldEdit API. Existing code should run faster simply by having FAWE installed. Porting code (which is using the WorldEdit API) to work async is as easy as putting it in an async thread (e.g. With the bukkit scheduler).

That said, the FAWE API offers additional functionality not already available in WorldEdit. Below are some examples for WorldEdit and FAWE:

Bukkit Dependency

Maven:

1.8 - 1.12.2

Gradle:

1.8 - 1.12.2

1.8 - 1.12.2 (legacy)

Note: Add FAWE as a dependency before WorldEdit (e.g. in pom.xml or build.gradle)

Maven 1.8 - 1.12.2

<!-- FAWE legacy repository -->
<repository>
    <id>fawe-repo</id>
    <url>http://ci.athion.net/job/FastAsyncWorldEdit/ws/mvn/</url>
</repository>

<!-- FAWE legacy API -->
<dependency>
    <groupId>com.boydti</groupId>
    <artifactId>fawe-api</artifactId>
    <version>latest</version>
</dependency>

Gradle 1.8 - 1.12.2

// FAWE legacy repository
repositories {
    maven { url 'http://ci.athion.net/job/FastAsyncWorldEdit/ws/mvn/' }
}

// FAWE legacy API
dependencies {
    compile 'com.boydti:fawe-api:latest'
}

Compiling

You can compile FAWE with gradle, which is included with this repository:

$ gradlew setupDecompWorkspace
$ gradlew build

If you want to access the nukkit api, you need to replace fawe-api with fawe-nukkit and add it too.

Useful methods for Fawe legacy:

Threading

Players

Modify the world Async (or load it)

NBT and Formats

NMS abstraction

Web

Misc Utilities

Extending features

FaweAPI class:

https://github.com/boy0001/FastAsyncWorldedit/blob/master/core/src/main/java/com/boydti/fawe/FaweAPI.java

This Wiki is for Legacy Versions (1.8 - 1.12.2). Check here for 1.13+ versions: https://github.com/IntellectualSites/FastAsyncWorldEdit-Documentation/

Clone this wiki locally