* Update so many dependencies, merge Forge/Fabric for final
* Clean up contrib docs for Gradle change
* Fix setting compat flags while using toolchain
* Fix deprecation in doc printer
* Restore proper forge JAR name
* Add dist classifier for mod jar
* Properly relocate new bStats
* Fix jar used from fabric
* Fix fabric bom
* Dup the shaded classes for consistency
* Sync Forge/Fabric log4j versions, de-dup
* Downgrade both log4j. This will work
* Update some plugins as well
* Drop the fabric force stuff
* Use duplicate strategy to directly merge jar
* Alter the CUI lifecycle to be more consistent
This handling reduces the platform-specific behaviour of CUI handshakes,
and ensures that the appropriate state is maintained when a client
connection ends but a LocalSession remains cached.
* Apply review suggestions
* fabric: Update to new networking API
* session: Correct field grouping for cui attempts
* Add WorldEdit version and platform to schematics
* Use an actual platform ID rather than name, for more accurate info.
* Put the platform data within another nested tag
* Use a best-effort legacy platform ID
* Review changes
* Move the getId impl to Platform
* Review notes
* Review notes
* 😓
* Move to packaged translations
* License that file
* Fix some checkstyle too
* Support reloading translation files
* Add missing dash for unpack directory
* Mark unpacked zips as owner-only
* Added a method to check whether a block can be placed at a location
* Make the snow system only place at locations that it can by game logic
* Make canPlaceAt a default method
* Fixed PR comments
* Use a World field
* Just throw directly
* IAE makes more sense
* Remove unused import
* Check for editsession without a world
* Fixed an issue where upwards resolved schematics would break schem list
* Missed diff
* PR changes
* Further fixes
* Improve sorting logic
* Pass in comparator rather than using sort type
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* Add RegenOptions to the API
* Integerate regen options into //regen
* Rename isRegenBiomes to shouldRegenBiomes
* Go through the EditSession for setting biomes
* Respect 3D biome support in regen
* Add RegenOptions implementation for 1.16 Bukkit adapter.
Co-authored-by: wizjany <wizjany@gmail.com>
* Allow API detection of the biome fuzzer in use
This allows us to warn, fix, or optimize biome edits to the overworld.
* Drop edits to Y = 0 for biomes in overworld
* Re-work ArbitraryBiomeShape to simplify logic
Also fixes not being able to use THE_VOID with it
* [Fabric] Test port to 1.16-pre5
* [Fabric] Fix/improve regen implementation
* Cleanup properly in regen
* Cleanup unused interfaces/methods from porting
* Add licenses to new classes
* Allow packages from refactor in checkstyle
* Remove unused imports from WorldGenListener
* Remap the access widener in the dist jar
* [Fabric] Update to 1.16-pre6 (recursion limit)
Requires an update in the Bukkit Adapters later.
* [Fabric] Update to 1.16
May or may not build, depending on how cached everything is.
* Initial work on 3D biomes. Not implemented for Bukkit, and history is unfinished
* Further implement 3D Biomes. It's now usable on Forge/Fabric
* Fix a few cases of apply. Gotta fix the deprecated methods at some point
* Add Bukkit support
* Add clipboard support. Schematics are still not great, but the Sponge schem format doesn't support this yet.
* Fix the last of the issues
* Fixed up review comments
* Fixed review notes
* Simplify
* max is inclusive
* Standardize non-abstract compatibility handling
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* feat(i18n): use a translation loader to allow CB/WG to use WorldEdit's TranslationManager
* Replace the old ResourceLoader with the new one
* Make ResourceLoader per-platform
* Update worldedit-core/src/main/java/com/sk89q/worldedit/util/io/WorldEditResourceLoader.java
* Improve the impl to allow a default
* Update based on review suggestions
* Local resource should be pathName too
* Delegate to getRootResource, and prevent pathName from starting with /
* HTML
* Format javadoc a little better
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* Use custom radix sort for ordering blocks
* Licenses :P
* Fix ordering, add test for it
* Grant Gradle more memory (thx Fabric)
* Increase (?) / Specify memory for core tests
* Many attempts at fixing OOM
* Deprecate BiomeRegistry, etc.
* Update some libraries, e.g. text
* Move to new translation renderer
* Revert "Deprecate BiomeRegistry, etc."
This reverts commit 59a5d6c92aec52739a8dc68ac3d23898af7593dd.
This was not a good idea for potential mod shenanigans.
* Move BiomeData#getName to BiomeRegistry, use i18n
* Use getRichName instead of getName
* Implement getRichName for NullBiomeRegistry
* Add getRichName for blocks
* Relocate net.kyori.minecraft
* Update adapters for getRichBlockName
* Add getRichName for items
* Update adapters for getRichItemName
* Update adapters JAR for merge
* Optionally validate placed blocks
This allows re-connection of fences, chests, panes, etc.; removal of
blocks in invalid states; and more!
The Connections side-effect already did this for neighbors, so this is
now renamed to Validation for accuracy, and left on by default.
This also fixes some inconsistencies between the Fabric & Forge
markAndNotifyBlock function.
* Add forge comment to fabric world
* Add WorldNativeAccess common logic
* Add Fabric WNA
* Add Bukkit WNA for adapters
* Fix imports for new Fabric mappings
* Pass raw world ref to Bukkit adapters
* Remove client-only block update call
We always assume a server world.
* Allow WNA impls to inspect side-effects
* Update adapters for WNA
* Licenses
* Fix adapter JAR
* Generify EVENTS side effect
* Update adapters for EVENTS change
* Speed up initial change buffering by removing streams and optional wrapping
* Bump the adapters for an experimental performance boost (Purely Bukkit 1.15.2)
* Bump adapters for fixes
* Bump adapters for further performance boosts
* Migrate fast mode to a BlockUpdates section, allowing fine-grained control
* Rename to SideEffect and clean up usage of the set
* Implement a 'usable' state
* Add a test command to demonstrate SideEffects. This is non-final
* Move //sideeffect into //fast
* Improve the box for //fast
* Switch to a system that includes "delayed" as a mode
* Remove the concept of configurable side effects, all are configurable. And each platform specifies what it supports.
* Implement side effects on other platforms (and spigot versions)
* Only use the side effects from the world editing platform
* Update from review
* Rename WorldApplyingExtent to SideEffectExtent
* More review fixes
* Update the World#applySideEffects return type to return the applied side effects
* Fixed requested changes
* Fixed checkstyle
* Improve setBlock javadocs
* Further improve
* Switch parameter name
* Fixed typo in translation key
* Temporarily remove DELAYED
* static final
* Side Effects = 7.2.0 snapshot