Blazingly fast world manipulation for artists, builders and everyone else. Modified for Plexus.
Go to file
Alex 8b973da7ee
feat!: Update for 1.18 (#1482)
* ci: Switch deployment to gh actions and use semver & java 17

* build: Update core dependencies

- Drop paranamer, you can access parameter names at runtime with Java 8+ natively

* ci: Snapshot builds are the default

* ci: Cleanup and finish transition

* ci: Trigger initial sync with the OSSRH

* revert: OSSRH snapshot deployment was successful, returning to baseline

This reverts commit 3a189f65f2.

* ci: Register javadoc jar for lib artifacts

* ci: Sign artifacts

* build: Set kotlin jvm toolchain

* style: Use minimized `version` output

* feat: Setup project structure for 1.18

* Exclude 1.17

* Port initial paperweight classes to 1.18 folder structure

* Move to Paper 1.18

* Update templates, address JEP deprecations and place a few TODOs

* Drop Guava 21 enforcement

* Make 1.18 to be effectively in a usable state (#1452)

* Update swathes of easy-to-update-sort-of-code.
 - Untested
 - Should compile but NMF broken something
 - Several todos:
  - biome history//better support (move to biome sections in core)
  - regen (haha lol no thanks, someone else can do that)
  - probably actually do the palette stuff that probably won't work in PaperweightPlatformAdapter

* ci: Provide basic Jenkinsfile for ghprb pipeline

* build: Update paperweight

* upstream: Update Upstream

de6fa17 Add getBrush helper for use with instanceof pattern matching (1926)

* FAWE will now load on startup

* it....works?

* Begin to allow biome edits (and fix biomes reverting to plains upon editing blocks)

* Add new blocks/block properties

* Only create biome palette if supplies is null

* Fix biome operations

* Finally get removing BlockID done (major version change allows it)

* refactor!: Drop PlotSquared v4

Fawe 2.0.0 and newer requires Java 17, PlotSquared v4 supports 1.13 and 1.14, Fawe wont work on these versions nevertheless and refuses to load due Java version incompatiblities with older versions. Newer versions can use PlotSquared v6.

* docs: Update readme

* Added and removed some comments

* Added and removed some comments

* refactor: Rename worldedit configuration

* build: Re-add 1.17 module

This the a very nasty commit

* chore: Implement missing methods

* build: Update paperweight

* upstream: Update upstream

6df194e Remove finalize, use a Cleaner instead (1943)
9843a4f Fix snapshots in 1.18 (1959)

* ci: Escape workflows

* build: Update paperweight to 1.18.1

* build: Update Paster

* Fix compilation

* Bump to 1.18.1

* Do both 1.18 and 1.18.1

Co-authored-by: Alex <mc.cache@web.de>

* Fix single-block lookups

* Reserve ordinals 0 through 3 for air/"reserved"

* Create block palette data with values

* Fix classpath for testing for starlight

* Correctly use block rather than sky light layer [not used in paper]

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>

* Update version (checking) for semver

* build: Fix release drafter base branch

* Trigger GHPRB

* tests: Add resource pack methods

* build: Update paperweight and add 1.17 again

* chore: Lazily change build delimiter

* build: Deploy API snapshots for 2.0.0

* Update adapters jar

* More verbosely get block data and ensure biome layer isn't null

* refactor: Address a few `TODO 1.18`'s

(cherry picked from commit 0b77932b6e46c825d78b8c7ccae2a68ad890564e)

* fix: Fix `/fawe debugpaste`

* refactor! Remove deprecations marked for removal that are not present in upstream (#1483)

* Reverse a "debug" change to BukkitImplLoader

* Fix parsing of build in FaweVersion

* refactor: Do prepared statements properly

- Update TextureUtil client jar to 1.18.1
- Limit the update checker to our domain

* Add classes with the correct minor version to the start of the adapter candidates list

* refactor: Deprecate `IMP` initializors in favor of builders

* Fix WEManager (#1487)

* Fix WeManager?

* Fix WeManager?

* Also register WEManager if not available, like TaskManager.

* refactor: Also deprecated `IMP` for DBHandler

* feat: Add a bunch of new types to the flora generator

* use spigot-compatible palette constructor

* use spigot-compatible packet constructor

* implement 1.18 regen

* return air instead of reserved on get blocks

* refactor: Shift `FileAlreadyExistsException` catch to a higher level

* read the actual block from ZeroBitStorage

* Add get default version min/max world height to platform
 - Fixes #1500

* Add methods to CLIPlatform

* Fix #1490

* Fix tests

* Don't force tick limiter enable/disable

* Use Math.floor instead of int cast 757bef1f7d2b16317ab3d18427ad22183344e28d

* More precise method names in MinecraftVersion
 - Also ensure correct comparisons are made in FaweBukkit and BukkitServerInterface
 - Fixes #1504

* Add back statically-set reserved IDs for air blocks only, make it clear they're "reserved" (#1502)

* Add back statically-set reserved IDs for air blocks only, make it clear they're "reserved"
Also:
 - Ensure that reserved is never returned in GET block operations
 - "empty" thus doesn't exist in the GET update methods; remove the needless checks
 - Allow GET/SET chunks to determine their own default values for non-present blocks/sections

* Add comments

* Remove mentions of NMS from compilation instruction

* Update log4j version, update jd links to use "latest"

* Move to BinaryTags where appropriate in adapters

* Add comments to changed code

* Rename worldedit to fawe where appropriate

* Use new language features

* chore: Format our loggers properly

* Remove unneeded comments

* Replace CachedChange class with record

* Remove/add some more comments

* Remove remaining keywords frm CachedChanged. IJ doesn't warn?

* Compress switch statements a bit using enhanced

* More enhanced switches

* Refactor: getVersionMin/MaxY -> versionMin/MaxY

* Throw, catch, and rethrow our own exception to make sure we're finding the culprit to a possible shaded-FAWE.

* Don't wrap Exception thrown upon invalid schematic path inside a RuntimeException
Fixes #1506

* docs: Put `since` annotation on newly introduced API

* docs: Drop clarified todos

* Warn user if using small-edit history setting with extended world heights

* Refactor: add javadoc to Clipboard#create and improve variables when delegating to another paste method

* Fix issue with offset/origin when pasting a clipboard via API without wrapping into a BlockArrayClipboard

* build: Remove drop our maven repository

* docs: Fix deprecation tag

* Fix incorrect toNative method in 1.17 adapter

* refactor: Deprecate tick limiter API for public use

* ci: dordsor does love rebasing here too

* docs: Document annotations

* Update upstream

fb5ec19 Fix error for snapshot restore missing chunk

* docs: Document a few undocumented annotations

* feat: Add worldedit.schematic.list.other permission and functionality (#1507)

* Add worldedit.schematic.list.other permission and functionality

* Implement StringMan#containsUuid

* Javadocs

* chore: Add since annotation

Co-authored-by: NotMyFault <mc.cache@web.de>

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
Co-authored-by: Aurélien <43724816+Aurelien30000@users.noreply.github.com>
Co-authored-by: SirYwell <hannesgreule@outlook.de>
Co-authored-by: JOO200 <github@joo200.de>
Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
2022-01-05 16:58:30 +01:00
.github ci: dordsor does love rebasing here too 2022-01-04 20:33:43 +01:00
buildSrc build: Remove drop our maven repository 2021-12-31 17:26:15 +01:00
contrib/craftscripts style: Fix spelling mistake of 'FastAsyncWorldEdit' in craftscript readme (#1431) 2021-11-20 12:02:25 +01:00
gradle build: Remove drop our maven repository 2021-12-31 17:26:15 +01:00
worldedit-bukkit docs: Document a few undocumented annotations 2022-01-04 21:15:45 +01:00
worldedit-cli Refactor: getVersionMin/MaxY -> versionMin/MaxY 2021-12-29 16:44:41 +00:00
worldedit-core feat: Add worldedit.schematic.list.other permission and functionality (#1507) 2022-01-05 16:21:44 +01:00
worldedit-fabric Feature/propagate diff and object cleanup (#1190) 2021-07-23 17:48:51 +02:00
worldedit-forge Feature/propagate diff and object cleanup (#1190) 2021-07-23 17:48:51 +02:00
worldedit-libs build: Update core dependencies 2021-11-22 13:47:59 +01:00
worldedit-mod Update so many dependencies, merge Forge/Fabric for final jar (#1651) 2021-02-04 17:45:49 -05:00
worldedit-sponge build: Update dependency org.mockito:mockito-core to v4.2.0 (#1479) 2021-12-20 17:06:53 +01:00
.editorconfig style: Don't use spaces before colons in yaml files 2021-11-17 17:58:42 +01:00
.git-blame-ignore-revs Ensure CRLF stays out of the repo 2020-08-24 12:41:26 -04:00
.gitattributes Fix gitattributes 2021-02-22 11:08:45 +01:00
.gitconfig java based merging? 2019-11-19 15:10:36 +00:00
.gitignore Update .gitignore 2021-05-11 19:20:41 -04:00
.whitesource Configure WhiteSource Bolt for GitHub (#1468) 2021-12-18 13:30:02 +01:00
Annotation-Explanation.adoc docs: Document a few undocumented annotations 2022-01-04 21:15:45 +01:00
build.gradle.kts chore: Lazily change build delimiter 2021-12-21 16:27:46 +01:00
COMPILING.md Remove mentions of NMS from compilation instruction 2021-12-29 15:30:12 +00:00
crowdin.yml Update Crowdin configuration file 2020-01-20 11:30:00 +01:00
fawe-logo.png Update logo 2020-10-11 13:37:11 +02:00
gradle.properties build: Closes #1365 2021-10-18 22:08:07 +02:00
gradlew Update dependency gradle to v7.2 (#1229) 2021-08-17 16:21:09 +02:00
gradlew.bat Updated Gradle 2020-09-08 15:34:53 -04:00
HEADER.txt Officially propagate GPL downwards to all files 2020-09-01 16:30:43 -04:00
LICENSE.txt Officially propagate GPL downwards to all files 2020-09-01 16:30:43 -04:00
NOTICE.txt Update build files and NOTICE.txt 2020-08-14 15:29:15 -04:00
README.md Make 1.18 to be effectively in a usable state (#1452) 2021-12-20 21:12:04 +00:00
renovate.json build: Update core dependencies 2021-11-22 13:47:59 +01:00
settings.gradle.kts Make 1.18 to be effectively in a usable state (#1452) 2021-12-20 21:12:04 +00:00


FastAsyncWorldEdit is a fork of WorldEdit that has huge speed and memory improvements and considerably more features

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. FastAsyncWorldEdit is compatible with Bukkit, Spigot and Paper.

Download FastAsyncWorldEdit

Edit The Code

Want to add new features to FastAsyncWorldEdit or fix bugs yourself? You can get the game running, with FastAsyncWorldEdit, from the code here:

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

Submitting Your Changes

FastAsyncWorldEdit 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 FastAsyncWorldEdit repository.

Please read CONTRIBUTING.md for important guidelines to follow.

YourKit


Thank you to YourKit for supporting our product by providing us with their innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor