* Fix incorrect saving and subsequent loading of passenger entities in vehicles.
Originally from https://github.com/EngineHub/WorldEdit/issues/1763#issuecomment-1062429891.
Co-authored-by: wizjany <wizjany@gmail.com>
* Port to Fabric/Forge.
Rewrite in Sponge to use EntityArchetype.
Sponge is untested because WE doesn't properly build/run on it right now apparently?
* NBT Constants.
Co-authored-by: Red_Epicness <red.epicness@icloud.com>
* Sponge 8 work
Remove text adapter
Debugging the bugs out
* Resolve compiling for latest Sponge
* Update for latest SpongeAPI 8 snapshots
* Fixed a few issues with Sponge8 WorldEdit. Command completions are still broken.
* Resolve completions
* Bump to Sponge API 8 release
* Remove VALIDATION as a supported SideEffect on Sponge for now.
* Append Sponge API version to archive name
* Implement regeneration on Sponge; currently hangs due to a Sponge bug.
* Fixed typo
* Fix commands without permissions and version handling
* Make changes from PR comments and re-add bStats
Co-authored-by: Madeline Miller <mnmiller1@me.com>
pre-emptively fix what octy is definitely going to pull me up on in the review
Rename pos2Extra to pos2
Fixex extra line
Apply suggestions from code review
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
Directly use pos2 as a list
Add an -s arg to set the selector type
Update pos1 text
We want to hide default-package classes, such as "com", "io", etc. which are common names
in Mojang obf classes but also common package names, without hiding generated default-package
classes such as described in #1895.
This reverts commit 6008fe73
* [Forge] Update to 1.17.1
Includes minor updates to Fabric as well.
water and water and water water
* Fix a few things
* Move to latest versions of FG/Forge
Also drops TrueZIP in dev
* Skip notify if chunk section doesn't exist
* Include forge in this change
* Pass chunk to mark/notify directly, update adapters.
Co-authored-by: wizjany <wizjany@gmail.com>
* Register platforms and commands in a more proper way
Platforms are now register "on load"/initialize/etc., and preferreds are
chosen just prior to command registration events. This allows us to
properly hook in to reload. Additionally, we now have the capability to
reload data with /minecraft:reload, though this is not yet implemented.
* Correct javadocs on queryCapability
* Flatten BukkitImplAdapter Lifecycled
* Add splatter brush
PR feedback - 3d splatter
Add splatter brush (#1547)
* Move the splatter brush into a mask
* Fix PR notes
Co-authored-by: Lewis B <lbobbermen@bigpond.com>
* Allow plugins to register new clipboard share destinations
* Rename file, as per request
* Don't use the base enginehub name for EH_pastebin
* Address review comments
* Fixed wrong usage
* Use a second metadata class for clipboard shares
* Newline
* Address comments
* Improve docs
* Apply suggestions from code review
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* Use a consumer so that we handle serialization
* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/Clipboard.java
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/share/ClipboardShareDestination.java
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/share/ShareOutputConsumer.java
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/share/ShareOutputConsumer.java
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* Fixed a lot of random comments
* Return a consumer from share rather than a URL, allows the share destination to control output
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* The scramble is complete
* Fix version decl for Bukkit Log4J
* Swap out to a compatibility layer for LogManager
Slightly slower, but compatible across all Java versions
* Piston released with SL4JF removal
* Clean up declarations a bit
Allow the World param to be null, throwing IncompleteRegionException.
This allows calling `getSelection(getSelectionWorld())` without having
to separately null-check the World.
Also, add a convenience overload which does so: `getSelection()`.
* Show a message with install instructions when running the jar file
* Typo
* Fixed checkstyle issue
* Slightly modify message to adapt to the type of install
* Clean up the display code a lot
* Allow line breaks before semi
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* 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
* Very WIP in-game schematic sharing system
* Add support for paste meta, and send that data when possible
* Add ability to specify the name of the shared schematic
* [WIP] Add a command to apply side effects
* Fix checkstyle
* Switch to the //update command, and add messages
* The update command won't change in the future, remove that warning
* Create a Function that applies side effects for easier API usage, and make gmasks apply to `//update`
* Fixed `//update` not using the current side effect set
* Fixed PR review notes
* Fixed regression in last commit
* smh why is it null
* Update GeneralCommands.java
* PR review
* PR review
* :(
* :(
* 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
* 😓
An extent's content was returned flipped when applied for negative positions, as e.g. `Math.abs(-2) % 3` returns 2 instead of 1 (as 1 + -1 * 3 = -2)
(cherry picked from commit b0cf5dd2bf1b9bcbf1c7efff0fe25de7ee9a2090)
* Persist default state of selwand and navwand in session
* Fixed some issues with the way it retained info
* Fixed it setting the wrong item
* A little cleaner
* I somewhat misunderstood the way this system worked - This is cleaner and works a lot better
* Replace with octy-approved UX
* Improve logic for default wand loading
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* Ensure that the wand can be used before giving it
* Add a note to //wand about new perm requirements
* It's an item, not an "object"
* Fix checkstyle
This forces the repo file to FULLY OVERRIDE the default locale. Nothing
will be loaded from the default locale in either the config folder, or
the i18n dependency.
* 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
* Allow stacking by block units with //stack
* Delegate out the old method
* Use CuboidRegion as the type of the new region
* Fixed up PR notes
* Add docs
* No indent
* Formatting
* Use the bounding box rather than limiting it
* Don't limit to cuboid
* Make the old one use the block unit method
* Update the selection movement too
* Fixed affected being missed
* Use an assertion erorr
* Use block change limit for //copy
* Use a cuboid region for accuracy
* Add a bounding box method to Region and use that
* Update worldedit-core/src/main/java/com/sk89q/worldedit/regions/Region.java
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
* Fixed throwables being ignored and show a message while waiting for long running tasks
* Fixed checkstyle issue
* Use a better system that's more versatile
* Require a delay message for delayed repeating messages
* Few changes for PR review
* Changes based on feedback
* Fixed weird missed diffs
* Rename fields
* 😟😟😟😟
* 😠
* 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 tracing feature to EditSessions
This helps track down what plugin (or more specifically, extent) is
blocking actions from happening.
* Set a trace hook instead of a one-off command
* Correct the logic for determining tracing active
* Fix extra newline in AbstractPlayerActor
* Fix checkstyle
* Improve messaging of trace mode
* Added a snow brush
* Re-add the Apply class for deprecation reasons
* Use the context extent rather than an EditSession
* Only freeze water source blocks.
* Fixed the bind message for snow stacker
* Fixed PR issues
Everything delegates to the original EditSession signature. The new
RegenOptions + EditSession variant is removed, as it was never
officially published. A delegation check was installed in the
NAFC-marked method.
* Convert simulateSnow to an Operation and add stacking support
* Fixed height calculations
* Use a LayerVisitor for SnowSimulator
* Fixed few issues
* Update the 1.16 block mappings, and use isSolid rather than !isTranslucent due to translucent no longer existing. A better solution should come later.
* I feel this is a better temporary check
* Localise the ExceptionConverter
* Further work on localising exceptions
* Everything but input parsing is now localised
* Finish making errors localisable
* Fixed a few notes from review
* Fixed another spot
* More changes
* Specialise parser errors
* 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>
* Replace BlockStates reading with new 1.16 logic
* Account for running on older platforms
Splits out the new reading to AnvilChunk16, uses data version to detect
the appropriate version.
* Move data versions to Constants
Also fixes some logic hiccups that become obvious with the new names.
* Fix LegacyMapper DFU handling
* Fix factor indexing
People have issues copy/pasting with this on, so I think for now it's
better to leave it off. If someone needs the special behavior for
setting panes or fences, they can turn it back on.
We do need to investigate the reason why it's not working, and
potentially save validation for post-edit, rather than prior to
placement.
This re-adds a deprecated `//fast` and moves the current logic to
`//perf`. Later `//perf` will have its syntax reworked, when Piston
finally supports sub-commands properly!
* 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>
* Use a long to refer to the volume of a region, and rename the method to getVolume
* Fixed issues noted in review
* Forgot to floor
* Fixed review notes
* Can use a long here rather than BigDecimal
* Improve javadocs
* style