-
Notifications
You must be signed in to change notification settings - Fork 226
Home
- Remove lag by being fast (instead of slow)
- Edits are asynchronously processed and executed in fragments so the server doesn't hang
- Minimal memory footprint with compression, and an undo on disk that actually works
- Various safety measures e.g. entity/blockstate limiting, low memory checks and region restrictions
- New and useful functionality
- Download FAWE (above)
- Optional Vault (if you have a permissions plugin and want toggles)
- Optional BlocksHub (if you want to hook into block logging)
https://github.com/boy0001/FastAsyncWorldedit/wiki/Configuration
https://github.com/boy0001/FastAsyncWorldedit/wiki/Permissions
https://github.com/boy0001/FastAsyncWorldedit/wiki/Commands
It varies depending on what you are doing. The block placer probably has an upwards limit of around 20,000,000 blocks per second (bps) if you ignore preprocessing, have the area already loaded, and have 65536 changes per chunk.
In game you'll see around 5-10mbps with fastmode and 1-3mbps without. Enabling further compression, chunk waiting or history on disk will result in slower edits. More complex actions e.g. //regen
will also be slower.
If you use fastmode or enable history on disk, there is no limit. Without enabling further compression it's probably about 10mb/million blocks.
- The chunk object is modified directly, removing the overhead from the Bukkit API.
- Physics updates are skipped
- Lots of things are cached e.g. Mappings of block id to baseblock or recently accessed chunk data arrays
- Custom relight algorithm performed at the chunk level which is a lot faster than relighting all placed blocks
- Block changes are sent to the client with a chunk packet rather than a packet for each block
- Skips various redundant checks e.g. blocks without any data skip data checks, blocks without nbt skip nbt checks etc
- Up to 11 layers of redundant WorldEdit extents can be removed depending on the action you are performing
- The queue can being making changes to the world while an edit is still in the preprocessing stage
- Reducing the overhead also avoids unnecessary object creation
- FAWE generally stores information in more compact forms e.g. An empty chest is represented as two bytes and then put into a compressed byte array instead of a BlockState with redundant nbt.
- As Large edits will be dispatched during preprocessing, the whole thing will never need to be stored in memory all at once.
This wiki is outdated, move to https://github.com/IntellectualSites/FastAsyncWorldEdit-Documentation/
This Wiki is for Legacy Versions (1.8 - 1.12.2). Check here for 1.13+ versions: https://github.com/IntellectualSites/FastAsyncWorldEdit-Documentation/