-
-
Save boy0001/c75b280bfe2cdfb2d93a3c450284feed to your computer and use it in GitHub Desktop.
fawe features
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
probably a bunch I'm forgetting | |
clipboard/history on disk | |
- uses numeric ids (basically block state ordinal) | |
- The way I've implemented it has some issues | |
- when undoing an edit the order it undoes blocks is reversed | |
- Downside of compression algorithm being one way | |
- If no compression is used, then edits take up multi-gb on disk, which is unfeasible | |
Per world history | |
- Instead of `//undo` undoing your stuff in another world | |
- Part of the history on disk | |
Clipboard downloading/uploading | |
- //download uses empcraft.com for downloading (but can point to any URL) | |
- uploading a schematic to the server can work from any url | |
Asset system (part of clipboard saving/loading) | |
- also uses empcraft.com | |
Limits | |
- Requires an overhaul of the config system | |
- uses permissions for each limit | |
- https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13/blob/master/worldedit-core/src/main/java/com/boydti/fawe/config/Settings.java#L113 | |
Per player schematics | |
- Option to save schematics per player | |
Freebuild (permission node) | |
- hooks into Bukkit event system to determine where players can set blocks | |
- caches per column, and only checks specific plugins | |
Scripting | |
- Updated craftscript system which uses newer javascript / nashorn | |
- for registering patterns/masks/commands which work exactly like java ones | |
- https://github.com/boy0001/FastAsyncWorldedit/wiki/JavaScript-API | |
`//rollback` and `//inspect` | |
- For out of order undo | |
- Requries SQL database with summary of all history | |
persistent brushes | |
- serializes BrushTool and uses a bit of NMS to set the brush | |
Fawe patterns & masks require using a command dispatcher as binding | |
- diagonal stack requires doing rotate etc. in reverse order (i.e. looping over the destination instead of the source) | |
Source masks | |
- Probably nothing major | |
set sky/block light | |
- Needs NMS | |
Translatable messages / commands | |
- Too much work | |
Interactive messages/commands | |
Tab completion | |
- Buggy/WIP | |
Coloring | |
- NMS, gets block and biome colors for use in patterns/masks | |
- can convert images (url) to blocks | |
Transforms | |
- Transforms the position of the edit | |
- scaling, rotation, offset, spread etc. | |
- https://github.com/boy0001/FastAsyncWorldedit/blob/master/core/src/main/java/com/sk89q/worldedit/command/TransformCommands.java | |
New formats (mainly structure blocks and MCA files) | |
Lazy copying | |
- Uses the region as the clipboard instead of actually copying anything | |
Schematic/Brush visualization | |
- NMS + FAWE Anvil (probably not possible since worldedit lags with large schematics) | |
- Visualizes what the brush will do as you look around | |
Scroll actions | |
- mousewheel to bind various actions to the brush (clipboards, masks, patterns, range, size, target) | |
Brush targeting | |
- Various target modes (mask, offsets, point + distance, angle) | |
Shift + Click runs the brush clear action | |
Multi brushes | |
- Bind multiple brushes to a single tool (for left & right click) | |
Cave generation | |
Various things I wont consider porting because they are too intertwined or buggy | |
- Anvil, CFI, some inventory stuff |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment