Skip to content
NotMyFault edited this page Dec 18, 2018 · 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

Repository: http://ci.athion.net/job/FastAsyncWorldEdit/ws/mvn/
Dependency: com.boydti:fawe-api:<version> or com.boydti:fawe-api:latest

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

Gradle

// Add our custom repository URL
repositories {
    // ...
    maven {
        url 'http://ci.athion.net/job/FastAsyncWorldEdit/ws/mvn/'
    }
}

// Add us to your dependencies
dependencies {
    // ...
    compile 'com.boydti:fawe-api:latest'
}

Maven

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

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

Compiling

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

$ gradlew setupDecompWorkspace
$ gradlew build

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