Commit Graph

261 Commits

Author SHA1 Message Date
Octavia Togami
0cabb82f9e
Merge branch 'version/7.2.x' 2021-02-11 00:42:34 -08:00
Matthew Miller
69b1b5ebd5 Merge branch 'version/7.2.x' 2021-01-25 20:55:59 +10:00
Matthew Miller
4095a0866e
Boost TileEntity clear performance, with extra boost on Paper (#1652)
* Boost TileEntity clear performance, with extra boost on Paper

* :(
2021-01-25 20:52:04 +10:00
Octavia Togami
9534a9cfce
Update so many dependencies, merge Forge/Fabric for final jar (#1651)
* 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
2021-01-25 02:14:09 -08:00
zml
0036e06f89
Alter the CUI lifecycle to be more consistent and reliable (#1633)
* 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
2021-01-16 13:07:29 +10:00
Matthew Miller
7a268b0b5d
Add WorldEdit version and platform to schematics (#1635)
* 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

* 😓
2021-01-02 21:01:40 +10:00
Octavia Togami
c0a1e318c4
[Forge] Fix loading language files in prod env 2020-10-24 18:09:12 -07:00
Octavia Togami
bc64990e7e
Move to packaged translations (#1555)
* 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
2020-10-08 17:42:23 -07:00
Lewis B
beb784e0ff
Add -w flag to butcher for water mobs (#1548)
* Add -w flag to butcher for water mobs

* PR feedback
2020-10-05 13:50:20 +10:00
Matthew Miller
26d8306833
Fixed snow being placed through slabs (#1541)
* 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
2020-10-02 16:53:05 +10:00
Octavia Togami
8e53aa0891
[Fabric, Forge] Update build files for 1.16.3
No actual changes, beta 4 is functional, but this was to ensure it
compiled.
2020-09-10 16:15:48 -07:00
Octavia Togami
15467e9453
Add one to max point to match our regions better
Fixes #1522.
2020-09-07 11:11:05 -07:00
Octavia Togami
3996998c5f Deprecate BlockQuirkExtent, handle lower down
Ice is no longer turning into water since before 1.7.10, so that part has been
removed entirely.
2020-08-28 20:57:10 -07:00
Octavia Togami
5cf6750f8c
[Forge] Update to 1.16.2
haha bad mapping system go func_318237_brrrrrrrr
2020-08-13 23:00:29 -07:00
Octavia Togami
f2ce020da0 Officially propagate GPL downwards to all files 2020-08-13 21:06:39 -07:00
Matthew Miller
0a9fa869c9
Fixed an issue where upwards resolved schematics would break schem list (#1481)
* 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>
2020-08-13 18:01:37 +10:00
Matthew Miller
94ce464f34 Fixed the Forge platform not exposing events, and added a comment about PoI 2020-08-09 22:44:44 +10:00
Octavia Togami
4c050f25ac
[Forge] Update dependencies, mark as GPL 2020-07-27 19:04:46 -07:00
dordsor21
c4abc9a247 Allow regeneration to accept Extents instead of EditSessions.
Allows for custom Extents to be parsed to regen, and for clipboard regeneration, etc whilst still allowing EditSessions
2020-07-26 13:22:26 +10:00
Octavia Togami
c1fb43cc36
Drop unused reference card PNG 2020-07-16 18:27:46 -07:00
Octavia Togami
1b568ded67 Use BiomeQuirkExtent instead of spotty handling 2020-07-15 20:10:25 -07:00
Octavia Togami
5803cb10b5 Fix 3D biome support testing
3D biomes always work on dedicated servers, at least as far as the
client knows. This is so terrible though. Mojang why.
2020-07-15 20:10:25 -07:00
Octavia Togami
7134ff4494
Remove all compile deps, use api/impl as appropriate 2020-07-15 18:48:47 -07:00
wizjany
9d9aaac15a Add fungi and chorus plant tree types.
Closes #1411.
2020-07-12 14:34:48 -04:00
Octavia Togami
93e386a5c1
Remove ShutdownHook / onExit handling
This didn't work right, and if we fail to cleanup, it's unlikely it
would succeed at exit.
2020-07-09 20:16:48 -07:00
Octavia Togami
81f6e3e7cf Cleanup some javac warnings 2020-07-07 20:38:57 -07:00
Octavia Togami
eb52afa296 Create a brand new checkstyle config
And also apply it!
2020-07-07 20:38:57 -07:00
Octavia Togami
781abd511d Add final to many fields 2020-07-07 20:38:57 -07:00
Octavia Togami
176418bad1
Add force-deletion utilities for cleaning up dirs
Windows sucks.
2020-07-07 14:46:29 -07:00
Octavia Togami
bf6cd1ea08
Regeneration Options (#1415)
* 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>
2020-07-03 22:17:34 -07:00
Octavia Togami
71e104bcb1
Replace setPosition with trySetPosition (#1403)
Allows cancellation information to be fed back into the ascend/descend
algorithms.
2020-07-01 08:24:58 -07:00
Octavia Togami
732c11cb7c
Use interface for ServerWorldProps/Info
Fixes #1397
2020-06-29 13:24:46 -07:00
Octavia Togami
87de87edf2
Update build dependencies 2020-06-29 12:17:23 -07:00
Matthew Miller
89b3d910e2 Update Forge version for language fix 2020-06-27 13:19:49 +10:00
Octavia Togami
6a8d97683c
[Forge] Update to 1.16.1 2020-06-25 19:06:56 -07:00
Octavia Togami
f44c4403f5
Add LongArrayTag NBT support
Apparently this has been missing for a while.
2020-06-25 11:13:06 -07:00
Octavia Togami
6513513b3e
Mojang AB and the Column Biome Fuzzer (#1376)
* 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
2020-06-23 23:33:20 -07:00
Octavia Togami
6412383636
Fabric 1.16 (#1362)
* [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.
2020-06-23 11:55:49 -07:00
Matthew Miller
f5e36ed8a8
Add 3D biomes support (Adds #1358) (#1361)
* 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>
2020-06-22 09:25:49 +10:00
Matthew Miller
495ac44f5c
feat(tool): added stack tool (#1338)
* feat(tool): added stack tool

* Implement review comments

* Don't register an alias for stacker

* Apply suggestions

* Fixed /stacker alias

* Indent

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolCommands.java

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolCommands.java

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Remove unused imports

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
2020-06-13 14:25:37 +10:00
Octavia Togami
e755acddc0
Don't mark Forge WorldEdit as required on client
Fixes #1343.
2020-06-03 15:03:22 -07:00
Octavia Togami
6b918e671e Fix Biome math on Forge and Fabric 2020-05-18 16:19:11 -07:00
Matthew Miller
267fe1ffe0
feat(i18n): use a translation loader to allow CB/WG to use WorldEdit's TranslationManager (#1327)
* 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>
2020-05-14 17:40:11 +10:00
Octavia Togami
ba91dff134
Update to use the new runtime rhino JAR 2020-04-24 18:49:11 -07:00
Octavia Togami
bb013aa89b
Use custom radix sort for ordering blocks (#1277)
* 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
2020-03-31 18:13:32 -07:00
Octavia Togami
cfd26253b6
Names via Translation (#1268)
* 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
2020-03-23 15:47:27 -07:00
Octavia Togami
2f4c44f80c
Validate placed blocks / WNA (#1263)
* 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
2020-03-22 21:02:04 -07:00
Octavia Togami
1c6b1b3848
Merge master 2020-03-22 20:41:03 -07:00
Octavia Togami
e69246208c
[Forge] Require MC between current + next major version 2020-03-22 01:42:53 -07:00
Matthew Miller
865c3a24d2
Replace fast mode with a side effect system, with fine-grained control (#547)
* 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
2020-03-08 16:09:36 +10:00