* Add a BiomeCategories API
* licenses
* Use a supplier to retain the lazy-load & dynamicness of the existing system, but still retaining the inversion of control that this PR was intended to provide
* Improve ArbitraryShape caching
Every point is now only evaluated once.
* Defer cache initialization until it is clear that we need it.
* Defer pattern evaluation until cache miss
* feat: implement recently-added tree types to tree generator
* fix: add mappings to implementation worlds
* Use later API version to fix tests
---------
Co-authored-by: Madeline Miller <mnmiller1@me.com>
* Add Console/CommandBlock support to Fabric/Forge
* Hoist config option and add a common abstract class for command block actors
* Apply to Sponge too
* Upgrade many items, Gradle 8.1.1
* Bump to codecov snapshot
* Use the release of the codecov plugin
---------
Co-authored-by: Madeline Miller <mnmiller1@me.com>
- //placement min - selection min X/Y/Z
- //placement max - selection max X/Y/Z
- //placement world - absolute world location
- //placement here - This puts the placement position at the current player position.
- Fixes an issue where the LinCompoundTag passed to ChunkStoreHelper::getChunk is not the expected root compound tag, but one that wraps it. See comment of LinRootEntry::toLinTag
* Add initialize method to PlatformManager, modify UnitTest
* Prevent too early access to registries
Check for worldedit init state in Registry
* review: changed the error message to a generic message
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
---------
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* Add a feature generator and allow undoing of feature placement [WIP]
Apply changes to Forge as well
Use proper translatable components
* Add a brush version of the feature command
Use Java proxy classes
* Add for Bukkit (only 1.19.3 for now)
Clean up the proxies to use a switch
Checkstyle is grumpy
Add the obfuscated versions
Remove debug text
Fix missed "destroyBlock" deobfuscated proxy function
* checkstyle
The spline generator was fed integral block node vectors, where center
of a block at coordinate (X,Y,Z) is actually in (X+0.5,Y+0.5,Z+0.5).
When generating a spline with (X,Y,Z)s, the curve sometimes doesn't go
through the intended block and may make weird turns at end of the curve.
Placing spline nodes at the center causes the curve to actually hit the
center of every block selected.
* Add API to disable history tracking in EditSessions
* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/ChangeSetExtent.java
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>