Commit Graph

1448 Commits

Author SHA1 Message Date
Jordan
631269cafe
fix: update to changes to spigot chunk future result (#2934) 2024-09-29 18:27:53 +01:00
Alexander Brandes
be32b2264a
Bundle dependency updates
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-09-29 15:20:31 +02:00
Jordan
b4635e85c9
fix: some improvements to GET chunk writing (#2853)
* fix: some improvements to GET chunk writing
 - ensure levelChunk is loaded before giving to copy GET - this is not necessarily guaranteed to be nonnull if two edits overlap. Whilst not advised, such an easy failure should not occur when two edits collide

* Prevent writing chunk sections when FAWE is also sending packets for a chunk and vice versa
- alter IntPair hashcode to be more often unique
- Utilise ConcurrentHashMap for free synchronisation

* Minor comment changes

* Use one-per-world-instance FaweBukkitWorld to store world chunk map
2024-09-25 18:20:49 +01:00
renovate[bot]
5ac60f0d2e
Update dependency paperweight-userdev (#2925)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 03:11:40 +00:00
Hannes Greule
e8c7d67b5b
Fix regen on modern versions (#2881)
* work on regen

* simplify

* fix more regen

* cleanup, backport

* revert unneeded change
2024-09-14 10:48:59 +02:00
Hannes Greule
1e8778b528
Avoid deprecated CompoundTag in API (#2883)
* Avoid deprecated CompoundTag in API

* use javax annotations
2024-09-14 10:47:37 +02:00
Jordan
19370a3549
fix: account for spigot having private PalettedContainer#get(int) (#2910) 2024-09-14 10:47:07 +02:00
renovate[bot]
9cf79d0e3b
Update dependency paperweight-userdev to v1.21.1-R0.1-20240910.023150-72 (#2907)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 03:15:54 +00:00
Pierre Maurice Schwang
4b099d3588
fix(GriefDefender): invalidate mask on claim change (#2903) 2024-09-03 23:16:00 +02:00
Hannes Greule
378334bd75
Avoid map lookup in isMovementBlocker calls (#2906) 2024-09-03 21:39:32 +02:00
renovate[bot]
b4f4fc63b6
Update dependency paperweight-userdev to v1.21.1-R0.1-20240901.181116-54 (#2905)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-02 00:58:45 +00:00
renovate[bot]
75fb1cbee7
Update dependency paperweight-userdev (#2896)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-26 00:42:43 +00:00
renovate[bot]
acbe2f476a
Update dependency paperweight-userdev to v1.21.1-R0.1-20240818.224341-32 (#2885)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 00:48:19 +00:00
renovate[bot]
5b3291d7c2
Update dependency paperweight-userdev to v1.21.1-R0.1-20240811.223934-9 (#2879)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-12 02:27:12 +00:00
Pierre Maurice Schwang
41d294e73b
Support 1.21.1 (#2877)
* chore: add support for 1.21.1

* chore: remove old chunk system references in 1.21 adapter (paper)

* chore: re-word exception message
2024-08-11 21:23:45 +02:00
Hannes Greule
2e1a8f9665
Compile with target java 21, remove unsupported MC versions (#2836)
* Compile with target java 21, remove unsupported MC versions

* update bug report template
2024-07-21 09:19:59 +02:00
Pierre Maurice Schwang
1ec87e7092
Support Sponge Schematic v3 (#2776)
* Update to Sponge Schematic 3

Includes a major refactoring of how schematics are read.

(cherry picked from commit bd475b1d4acbcf2a95e5a8f3aee50d2fb2100ae8)

* Licenses lol

(cherry picked from commit a5ce8a47657aa987da8ca625cd658856d2eb3477)

* Fix imports

(cherry picked from commit e1892b7bd4ff0ca4592f8cb4e1b2d9363c4cd6ff)

* Update for final changes

(cherry picked from commit 2f6b50a4276b33b615d9dbc52e73e958308735f9)

* chore: ensure flushed clipboard in spongev2 writer

* feat: initial work on FastSchematicWriterV2

* fix: only write into palette once, write into data as varint

* chore: more work on FastSchematicWriterV3

* fix: make FastSchematicWriterV3 work

* fix/chore: write pos as doubles

* chore: start on reader (class exists at least)

* chore: replace while loop with simple if as char can be max 2 bytes

* chore/feat: more work on the fast v3 reader

* fix: offset must be inverted for origin

* chore: use the actual FileChannel for mark / reset (if present)

* chore: add null check again

* chore: buffer streams in isFormat check

* chore/feat: read schematic fully

* chore: don't hold a lazyreference (seems harder to gc with already computed value?)

* chore: remove debugs

* chore: optimize FastSchematicReaderV3

* chore: remove logger warn for now

* chore: constant not required anymore

* chore/feat: support non-file based inputstreams (using in memory LZ4 cache)

* chore: don't wrap streams unnecessary

* chore: cleanup

* chore: since comment for reader + writer

* chore: FAST_V3 not for testing anymore

* chore: update schematic and clipboard logic for linbus changes

* chore: undo format check on load

* fix: remove usages of old nbt types

* fix: use LinBus in FaweDelegateSchematicHandler

* fix: use ReaderUtil again

* chore: update supported schematic types for Arkitektonika

* chore: check for magic bytes in schematic (not tested yet)

* revert: magic bytes check

* fix: fix paletteAlreadyInitialized + biome placement on linear clipboards

* Update worldedit-core/src/main/java/com/fastasyncworldedit/core/extent/clipboard/io/FastSchematicWriterV3.java

---------

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
2024-07-13 14:30:34 +02:00
renovate[bot]
1917406334
Update dependency paperweight-userdev to v1.20.6-R0.1-20240702.153951-123 (#2830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-08 02:12:18 +00:00
RadND
ef064cbccf
Add worldedit.tool.none to fawe.permpack.basic (#2827)
Add missing permission node in fawe.permpack.basic in bukkit

If node "fawe.permpack.basic" exist in other platform than bukkit,this minor bug would exist here too,but i lack the knowledge of finding it out.
2024-07-07 15:16:39 +02:00
dordsor21
5341b06813
Apply hack-fix for biomes to 1.20.6 as well 2024-07-05 17:20:13 +01:00
dordsor21
b511e878a4
chore: throw exception on 1.21 regen 2024-07-02 19:46:33 +01:00
dordsor21
75d9475cf7
Disable regen completely on 1.21 for now 2024-07-02 19:33:35 +01:00
dordsor21
a14bb7ed2c
fix: remove synchronisation on chunk GET when sending packet 2024-07-02 18:51:11 +01:00
Jordan
d9e69cfd58
fix: do not bother with refraction for biomes/i field, this just fixes it now 2024-06-30 21:59:06 +02:00
Jordan
2ccfd50546
feat: implement 1.21 (#2808)
* feat: implement 1.21

* fix: adjust mojang mapped field name in ChunkMap

* Fix property cache

---------

Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>
2024-06-30 10:40:13 +02:00
dordsor21
99a58f66cd
Fix property loading 2024-06-27 14:59:32 +01:00
Jordan
fee9029bf0
Add a BiomeCategories API (#2338) (#2777)
* Add a BiomeCategories API (#2338)

* 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

* Minor fawe adapter cleanup

* Actually add the new files?

* Fixes

---------

Co-authored-by: Maddy Miller <mnmiller1@me.com>
2024-06-27 15:15:14 +02:00
Jordan
ad5739e014
ref: switch from adventure NBT to LinBus (#2778)
* Switch from adventure NBT to LinBus

* Cleanup

* Clean

* Reimplement NumberTag behaviour

* Use 0.1.0 release

* Fix build, remove fawe tags

---------

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
2024-06-26 21:55:47 +02:00
renovate[bot]
3aa4a4b482
Update dependency paperweight-userdev to v1.20.6-R0.1-20240617.192752-122 (#2799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-24 01:39:12 +00:00
Jordan
4fe9c6bd74
fix: correctly process chunks when using worldguard region blacklists (#2789)
- fixes #2399
2024-06-21 08:49:09 +02:00
Jordan
705df34c12
fix: create new biome paletted container when writing (#2791)
- resizing a paletted container copy alters the original paletted container
 - copy is not clone
 - fixes #2790
2024-06-20 20:49:16 +02:00
renovate[bot]
7c7118ce26
Update dependency paperweight-userdev to v1.20.6-R0.1-20240615.211816-120 (#2794)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 01:44:06 +00:00
dordsor21
5ab79a3f61
ref: biomes refrection works on 1.20.6 2024-06-16 09:24:54 +01:00
dordsor21
49ac08d5b4
Revert "Remove self-refraction-check"
This reverts commit 2eb6b5a12306cc2dc7cfc35e8c03f38ac8f7067c.
2024-06-15 20:53:01 +01:00
Jordan
af83b2f9c9
fix: improve biome setting to avoid writing directly to chunk (#2757)
* fix: improve biome setting to avoid writing directly to chunk

 - Removes possibility of writing to the LevelChunkSection biomes PalettedContainer whilst it is being read for sending packets
 - I believe this occured mostly on clipboard operations where blocks are written before biomes, so chunks are being sent whilst writing biomes
 - This would explain why the error reported in the below issue (and others) is/was so rare
 - Of course I could be completely wrong about all of this, but given the line in LevelChunkSection#write that the error seems to consistently occur on is when writing biomes to the packet, and that the only place I can find in FAWE where we write to a "live" PalettedContainer is for biomes, I am reasonably confident that this is the cause
 - Should address #2729

* Remove self-refraction-check
2024-06-15 13:08:42 +02:00
Jordan
031fdf2efd
fix: ensure config-legacy.yml is created before accessed (#2752)
* fix: ensure config-legacy.yml is created before accessed

* Stop error attempting to load FAWE config if it doesn't exist
2024-06-13 20:31:45 +02:00
Jordan
865cc55a0e
feat: add #hotbar mask and pattern (#2769)
- closes #2765
2024-06-13 20:31:34 +02:00
Jordan
9843bb0188
chore: address deprecations from new records (#2768)
* Category should implement Keyed
2024-06-12 15:00:40 +02:00
Jordan
62297f9479
refactor: adjust chunk sending (#2770)
- synchronise on the chunk GET object (when available)
 - kick it off to be run at some point on the main server thread
2024-06-10 19:12:31 +01:00
renovate[bot]
c6e297942f
Update dependency paperweight-userdev to v1.20.6-R0.1-20240604.210637-112 (#2775)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 01:54:22 +00:00
Jordan
5714a52675
fix: correctly trim the max chunk section (#2753)
- fixes #2727
- fixes IntellectualSites/Plotsquared#4436
2024-06-05 21:23:12 +02:00
renovate[bot]
e044b92d45 Update dependency paperweight-userdev 2024-06-03 03:37:08 +00:00
dordsor21
36d2c85fdb chore: address deprecations in vector classes 2024-05-31 18:52:49 +02:00
Pierre Maurice Schwang
7318685613
fix: ClassCastException on spigot (#2751)
fix: ClassCastException on spigot due to method change
2024-05-27 21:32:09 +02:00
renovate[bot]
5225dddaa6 Update dependency paperweight-userdev to v1.20.6-R0.1-20240526.222003-87 2024-05-27 00:29:39 +00:00
Pierre Maurice Schwang
c77d34156b
Fix compatibility with WorldGuard (#2743)
* Make the Vector classes into Records (#2477)

* Make the Vector classes into Records

* Drop custom equals and hashCode methods in Vector/BlockVector classes

(cherry picked from commit 0df2b6af4c1ce18b77eedd5c62eeb45011512103)
Signed-off-by: Pierre Maurice Schwang <mail@pschwang.eu>

* chore: cleanup cherry-pick issues, migrate to new methods

* chore: add since attributes to deprecated tags, use MathMan instead of Math std lib for rounding ints

* chore: mark custom hashCode + equals implementations diffing from upstream

---------

Co-authored-by: Maddy Miller <mnmiller1@me.com>
2024-05-25 13:36:37 +02:00
Jordan
f9c523c173
feat: move limits for (brush, superpickaxe and normal) radii to fawe (#2635)
- closes #2587
2024-05-24 15:09:57 +02:00
renovate[bot]
3dc949e383 Update dependency paperweight-userdev to v1.20.6-R0.1-20240520.005421-60 2024-05-20 03:40:38 +00:00
renovate[bot]
d17beba7bb Update dependency paperweight-userdev to v1.20.6-R0.1-20240518.202723-58 2024-05-19 14:27:37 +00:00
renovate[bot]
adb045be6a Update dependency net.kyori:adventure-nbt to v4.17.0 2024-05-19 14:27:02 +00:00