* 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
Minecraft has a lot of different methods between private and public to determine if structures can be placed. We cannot possibly cover all of them whilst also ensuring issues do not arise with generic "true"s
* 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>
* 1.20.6
Signed-off-by: Alexander Brandes <mc.cache@web.de>
* work
Signed-off-by: Alexander Brandes <mc.cache@web.de>
* More work
Signed-off-by: Alexander Brandes <mc.cache@web.de>
* chore: address more removed fields and methods, make it run
* chore: don't allocate unnecessary arrays (by maps)
* chore: the comment might still be noteworthy
* chore: no need to synchronize twice
* fix obfuscation changes
* remove unneeded deprecation
* make regen work without throwing exceptions - but slow
* fix: error when adapting BaseItemStacks without nbt
* fix annoying paper api breakage
---------
Signed-off-by: Alexander Brandes <mc.cache@web.de>
Co-authored-by: Alexander Brandes <mc.cache@web.de>
Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>