Commit Graph

398 Commits

Author SHA1 Message Date
Maddy Miller
49bc9b0c36
chore: improve bukkit world access speeds (#1911) 2021-10-02 15:38:28 +10:00
Octavia Togami
e6857ec739
Move adapters to paperweight (#1909)
* Move adapters to paperweight

* Edit adapters JAR to remove 1.17 R1_2

* Fix checkstyle

* Add URL for updating version in the future
2021-10-01 21:11:29 -07:00
Madeline Miller
f1350111ca Merge remote-tracking branch 'origin/version/7.2.x' 2021-09-05 20:16:54 +10:00
Maddy Miller
b4fbbc9cb7
Move clearable checks for Bukkit to adapters (#1887)
* Move clearable checks for Bukkit to adapters

* Apparently this is faster???
2021-09-04 14:31:36 +10:00
wizjany
1173385ac7 Update Bukkit adapters for world gen change. 2021-08-29 13:02:00 -04:00
Madeline Miller
515863da1f Merge branch 'version/7.2.x' 2021-08-09 20:17:59 +10:00
Octavia Togami
2e45a20348
[Forge] Update to 1.17.1 (#1847)
* [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
2021-07-28 23:01:35 -07:00
Octavia Togami
8686672108
Only map options if needed to replace seed (#1843)
* Only map options if needed to replace seed

* Add bukkit adapters.

Co-authored-by: wizjany <wizjany@gmail.com>
2021-07-25 14:08:57 -04:00
Octavia Togami
76a30080c5
Merge branch 'version/7.2.x' into feature/117-for-master 2021-07-14 13:36:14 -07:00
NotMyFault
9c7f4542a2
Fix a couple of typos (#1835)
* Fix typo in BukkitImplAdapter

* Yet another dangling typo
2021-07-14 08:08:34 -07:00
wizjany
402b9284a6 Update adapters. 2021-07-13 21:30:58 -04:00
Octavia Togami
8a830814df
Merge branch 'version/7.2.x' 2021-07-13 14:38:26 -07:00
wizjany
2586600ebb Update adapters for 1.17.1. 2021-07-06 16:19:18 -04:00
Octavia Togami
728a152395
Skip notify if chunk section doesn't exist (#1794)
* 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>
2021-06-26 14:59:21 -07:00
wizjany
43da91ad92
Remove method reflection for getMinHeight in BukkitWorld. (#1796)
* Remove reflective use of the getMinHeight method in BukkitWorld.

Which requires dep updates to 1.17, which may currently break this build?

* Tell Gradle we can read Java 16 JARs

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
2021-06-22 17:13:47 -04:00
Madeline Miller
b8a9c0070c Merge branch 'version/7.2.x' 2021-06-19 15:19:32 +10:00
wizjany
a57f66f7cc
Fix watchdog, add negative y support. (#1782) 2021-06-13 15:40:19 -04:00
Octavia Togami
043c3315aa
Fix Scuffed POMs (#1779)
* Repair fabric POM

* Fix-up a ton of publishing errors

* Remove shadow jar from publishing

* Remove shadow application from platform/core
2021-06-13 11:32:38 -07:00
Octavia Togami
bf78034628
Drop enforcedPlatform to platform 2021-06-11 14:01:04 -07:00
wizjany
57a040c447 Update adapter jar. 2021-06-11 15:14:55 -04:00
wizjany
e010b4c452 Bukkit 1.17 adapter. 2021-06-11 09:04:27 -04:00
Octavia Togami
7676a2d54c
[Fabric] Update to 1.17 (#1772) 2021-06-08 19:18:24 -07:00
Octavia Togami
95160027d9
Register platforms and commands in a more proper way (#1766)
* 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
2021-06-04 17:12:23 -07:00
Octavia Togami
10c8a11d7d
Merge branch 'version/7.2.x' 2021-04-22 11:18:28 -07:00
Octavia Togami
95d784f4d6
Return false if Entity#remove is unsupported
Fixes #1729
2021-04-22 11:12:54 -07:00
Matthew Miller
97a4df96c3 Merge branch 'version/7.2.x' 2021-04-05 13:14:38 +10:00
Octavia Togami
609c7b8cc4
Scrapped Logging Framework 4 Java (#1715)
* 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
2021-03-28 20:35:48 -07:00
Matthew Miller
3d95a481eb [Bukkit] Update adapters to work around Spigot watchdog startup bug 2021-03-13 15:16:58 +10:00
Octavia Togami
3194af3aa7
Merge branch 'version/7.2.x' 2021-03-10 01:59:36 -08:00
wizjany
a40965f8b0
Fix #1686 2021-02-25 12:09:06 -05:00
Matthew Miller
d3810865c8
Show a message with install instructions when running the jar file (#1682)
* 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>
2021-02-22 22:05:23 -08:00
Matthew Miller
4193daaf69 Update adapters for LazyReference change. Fixes #1677 2021-02-17 17:42:13 +10:00
Octavia Togami
4f9177abaf
Merge branch 'version/7.2.x' 2021-02-16 20:27:09 -08:00
Octavia Togami
3e07d723fb
Fix SLF4J binding loading
Fixes #1676
2021-02-16 20:25:13 -08:00
Matthew Miller
2c7ac3d21f
Merge pull request #1611 from EngineHub/feature/nbt-parsing
Add NBT Parsing for items
2021-02-15 20:42:52 +10:00
Octavia Togami
23a4e2d6fd
Lazily compute NBT 2021-02-15 01:51:24 -08:00
Octavia Togami
0cabb82f9e
Merge branch 'version/7.2.x' 2021-02-11 00:42:34 -08:00
Matthew Miller
4ac2bb3e25 Further work on migrating to Adventure NBT 2021-02-08 22:07:52 +10:00
Matthew Miller
137c266e3a Migrate to adventure-nbt 2021-02-06 20:23:29 +10: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
wizjany
ef9af59ce5 Update Bukkit adapter for 1.16.5.
Just a data version bump. Barely dodged the mapping changes this time.
2021-01-15 22:08:47 -05: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
wizjany
5e1ee250e0 Update Bukkit adapter for 1.16.5.
Just a data version bump. Barely dodged the mapping changes this time.
2021-01-15 21:29:20 -05: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
wizjany
bb464a6f0c Update adapters to fix #1586. 2020-12-09 22:39:19 -05:00
Octavia Togami
b4e5bc7dbf
Properly deploy version into core/bukkit 2020-11-02 18:16:23 -08:00
wizjany
6ac7bbeab2 [Bukkit] Update for 1.16.4. 2020-11-02 17:00:48 -05: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
Matthew Miller
2056218b4a
Remove data versions from the Bukkit adapters (#1507)
* Remove data versions from the Bukkit adapters

* Don't allow saving schematics without an adapter in place on Bukkit.

* Removed confusing line
2020-09-19 18:00:43 +10:00
wizjany
1cba5c38f5 Update adapters for 1.16.3. 2020-09-10 18:28:33 -04: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
Matthew Miller
61a5d7d648 Fixed undo/redo editsessions not retaining settings 2020-08-24 22:39:58 +10:00
Matthew Miller
c7885f2f17 Bump Adapters for neighbouring validations fix 2020-08-24 22:33:37 +10:00
wizjany
d2239ef7de Copy the class source validator from WG.
Warns when other plugins incorrectly shade WE or our libs.
2020-08-14 01:03:13 -04:00
wizjany
0f7936ca17 Update for Spigot 1.16.2. 2020-08-13 21:44:03 -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
Octavia Togami
ffaf8e00be
Add tracing feature to EditSessions (#1301)
* 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
2020-08-10 22:43:51 -07:00
Matthew Miller
05014b1fc9 Add an update side effect. Only for Bukkit for now 2020-08-09 22:44:44 +10:00
Octavia Togami
cbe788c9a3
Remove duplicate dependency entry 2020-07-28 16:20:14 -07:00
Matthew Miller
3c402e4afd Bump adapters for regen changes 2020-07-26 13:26:34 +10:00
dordsor21
c3f533e893 Remove EditSession regenerate method from Bukkit Adapters
Since adapters are not API, the EditSession regeneration methods should not be exposed here.
2020-07-26 13:22:26 +10: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
213239ee94
Restore overworld check for bukkit 2020-07-15 20:12:33 -07:00
wizjany
9aea9f2b9c Add updated bukkit adapter. 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
22acd2b486
Error if loaded in even OLDER versions of Bukkit
Take that, 1.8 servers.
2020-07-11 19:29:50 -07:00
Octavia Togami
f023b46fae
Error + disable if loaded in old MC versions on Bukkit 2020-07-11 19:20:09 -07:00
wizjany
373f86953b Update adapter jar for file deletion fix.
Fixes #1427.
2020-07-09 23:54:33 -04: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
Matthew Miller
9b4bfbed2d
Localise WorldEditException and error handling (#1393)
* 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
2020-07-05 14:57:13 +10: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
8aa034c78f
Fix or suppress deprecation warnings in most code (#1404)
Didn't touch commands or some of Sponge
2020-07-01 08:24:42 -07:00
wizjany
410d4c5eee Return correct world folders on Bukkit, used in /delchunks.
Fixes #1365.
2020-06-24 23:56:48 -04:00
wizjany
9e186225bd Update adapter jar. 2020-06-24 23:30:55 -04: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
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
wizjany
57d62b0bf5
Count wandering traders as NPCs for /butcher. (#1359)
* Count wandering traders as NPCs for /butcher.

Fixes #1347.

* Change variable case.
2020-06-14 13:55:14 +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
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
Matthew Miller
7a8c512916 Fixed typo in default disallowed blocks on Bukkit 2020-05-11 20:57:42 +10:00
Octavia Togami
3fdb10ad15
Delay command block active update if needed (#1285)
* Delay command block active update if needed

If we are checking if a command block session is active, and we are not
on the main thread, schedule a task instead to update the active status
eventually, rather than waiting on the main thread.

Fixes #1284.

* What's that? Non-static state, you say?

Just saw we have a field for the plugin here. Might as well use it.

* Check if chunk is loaded for sender before type
2020-04-19 13:08:44 -07:00
Octavia Togami
5ab71109b5
De-dup Bukkit argument rebuilding code 2020-04-04 11:30:22 -07:00
Octavia Togami
7d4563a3ab
Fix onAsyncTabComplete handling of invalid values
This fixes #1281, by just ignoring weird tab completion requests.
2020-04-04 11:05:58 -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
20d630ce5b
Only add adapters to dist jar 2020-03-22 15:00:02 -07:00
ㄗㄠˋ ㄑㄧˊ
47db40f957
use JavaPlugin.getResource() instead of JarFile.getEntry() (#566)
* use JavaPlugin.getResource() instead of JarFile.getEntry()

* use try-with-resources

* fix typo
2020-03-19 13:39:21 -04:00
wizjany
25ec78f355 Update adapters. 2020-03-16 16:31:29 -04: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