Skip to content
NotMyFault edited this page Jul 23, 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:

Dependency

Maven:

1.8 - 1.12.2
1.13+

Gradle:

1.8 - 1.12.2
1.13+

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

Maven 1.13+

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

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

Gradle 1.13+

// FAWE repository
repositories {
    maven { url 'https://ci.athion.net/job/FastAsyncWorldEdit-Breaking/ws/mvn'
    }
}

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

Compiling

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

$ gradlew build

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