Commit Graph

68 Commits

Author SHA1 Message Date
Jordan
033b8e35d2
fix: always set createCopy status on chunk get as chunks are cached (#2567)
- fixes #2539
2024-02-02 18:06:57 +01:00
Alexander Brandes
605743321f
Add support for 1.20.3 and 1.20.4 (#2512)
* 1.20.3

* 1.20.3 ItemTypes

* 1.20.3

* 1.20.3

* 1.20.4

* Fixup refractions

* Move adapters to _4
2023-12-08 07:30:08 +01:00
Hannes Greule
c0a2eef648
Reuse generateTree code across versions (#2482) 2023-11-21 17:26:11 +00:00
Hannes Greule
6bd1382872
Reuse starlight relighting code across versions (#2474) 2023-10-31 21:00:46 +01:00
Hannes Greule
256ef74452
Cleanup rawtypes warnings in relighting code (#2472)
remove unneeded generic type
2023-10-26 21:14:27 +02:00
Jordan
f5803a09f6
fix: vastly superier handling of queue chunks (#2461)
- remove ChunkHolder locking concept as this is no longer needed
 - previously we obtained the copy from chunk GET on finalize, meaning the copy could be replaced by a "newer" one (bad)
 - work around this issue by introducing concept of "unique" keys to map chunk GET copies to
 - correctly handle resetting of various chunk-related classes to actually allow pooling to work
 - remove chunks as they are submitted when flushing a SingleThreadQueueExtenting
2023-10-22 10:04:19 +00:00
Jordan
9489e5448f
fix: there is no need to synchronise chunk sending to the chunk GET instance (#2463) 2023-10-22 09:01:44 +02:00
Jordan
dccf82ab1b
fix: set villager offers temporarily to save NBT without sending event (#2357) 2023-10-02 20:36:21 +01:00
Hannes Greule
f36c5d42c7
Avoid Unsafe usage where possible (#2403) 2023-09-09 16:07:37 +02:00
Hannes Greule
60a3994d62
Clean up some regen code (#2405) 2023-09-09 16:07:29 +02:00
Jordan
b1e0ad4ef7
feat: re-submit chunk load request after 10s after checking world is loaded (#2339)
- #2332 makes it seem like paper forgets to load a chunk sometimes
 - resubmit chunk load request after a second to attempt to counter this
2023-07-15 16:41:04 +01:00
dordsor21
a669be2041
fix #2319 2023-07-05 22:03:13 +01:00
dordsor21
135c77cfb5
chore: minor changes
- null check get tile in ThreadUnsafeCharBlocks
 - 0 to reserved ID
2023-06-18 15:03:51 +01:00
Jordan
5504811f11
chore: minor improvements to processing-related code (#2271) 2023-06-06 19:21:02 +02:00
Jordan
e9fed5a066
feat: improve error when loading biomes (#2241) 2023-06-04 18:50:08 +02:00
Jordan
8cfb8cb322
chore: add chunk tickets to all chunks accessed (#2163)
- This isn't necessarily targeting any fix, but I think we should be ensuring a ticket is being added to chunks "access asynchronously", as done by the getChunkAtAsync method
2023-04-22 09:45:02 +00:00
Hannes Greule
5da558e24c
feature: support paper chunk system (#1884)
* avoid usage of ticking chunk future on paper

* fix entity handling

* fix entity handling but on spigot

* seems like no one uses spigot

Co-authored-by: Alexander Brandes <mc.cache@web.de>
2022-09-04 23:30:32 +02:00
Hannes Greule
a51863c6f0
fix: use proper level data for regen (#1921) 2022-08-27 15:49:01 +01:00
Jordan
968799503f
Re-implement full Entity support in history, entity removal, entity creation, etc. (#1812)
Co-authored-by: Alexander Brandes <mc.cache@web.de>
2022-06-21 14:52:02 +01:00
Jordan
dac3610bcf
Implement generation of biome decorations to //regen <biome> and add option for a random seed to be used (#1819) 2022-06-19 22:33:16 +01:00
Jordan
63f031b01a
Only synchronise tree generation at the very lowest level (#1788)
* Only synchronise tree generation at the very lowest level
 - Fixes #1681

* Perform the generate inside try-finally and actually use the resultant copied map to place blocks to the editsession

* Check result of generateTree and return null if failed
2022-06-13 09:05:18 +02:00
Jordan
da3fc2e6ea
Fix DelegateSemaphore synchronisation issues on Spigot (#1781)
* Fix DelegateSemaphore synchronisation issues on Spigot
 - Also effectively nullify it on paper - the synchronisation on the object is enough

* Remove unneeded imports
2022-06-10 19:50:16 +02:00
Alexander Brandes
9b3608aada
chore: Update upstream
c515eb5 Cache properties to reduce startup memory (2103)
2022-06-10 01:02:03 +02:00
Jordan
65349392a6
Set empty block count when using fastmode on 1.17 (#1710)
* Set empty block count when using fastmode on 1.17
Fixes #1666

* Update legacy adapters
2022-04-21 13:11:23 +02:00
Hannes Greule
8f1ca48bfc
lock is in PalettedContainer in 1.17 (#1697) 2022-04-11 13:59:37 +02:00
Hannes Greule
a240b002de
simplify biome id logic (#1677)
Co-authored-by: Alex <mc.cache@web.de>
2022-04-01 19:25:48 +02:00
Pierre Maurice Schwang
2276d82d2c
//regen creates vanilla decorations without error (#1650)
* fix: Feature placement on regen should create chunk

* feat: update adapter jar

* fix: update adapter jar
2022-03-28 21:06:26 +02:00
Hannes Greule
c45b14a52d
Avoid Unsafe on paper (#1678) 2022-03-27 23:56:59 +02:00
Jordan
465c81d193
Remove hardcoding of heightmap compressed long size (#1668) 2022-03-18 21:28:25 +00:00
Jordan
1708584e8d
Don't call ticking_list on Spigot (#1655)
* ticking_list is paper only

* Update adapters
2022-03-14 11:08:10 +01:00
dordsor21
d8c0f8e3b1
Make sure thread-cached arrays are reset 2022-03-13 01:44:59 +00:00
Jordan
e9db749e2f
Add fluid ticking and refactor post-processing a bit (#1554)
* Make postProcessSet a default method and change to void

* Throwable#getMessage is nullable

* Move (re-)ticking to a post-processor per "platform"
 - Add fluid ticking

* chore: Ignore (for us) irrelevant rules

* chore: Fix correct toml syntax?

* Re-add removed method for API-compliance and refactor it to have a use

* Switch to javax annotations

* Switch to recalcBlockCounts for ticking blocks.

* No need to set air count anymore either

* We can still "not tick" in fast mode in 1.17.2

* update adapters

* Let paper create the chunk section if biomes are null

* Adjust notes to settings

* 1.17.2 didn't exist

* Add 1.18.2

* Don't attempt to cache plains biome ID

* Use correct annotation

Co-authored-by: NotMyFault <mc.cache@web.de>
2022-03-10 15:27:25 +01:00
Alex
5d18e15128
Replace JB occurrences with JSR 305 (for now) (#1651)
* refactor: Replace JB occurrences with JSR 305 (for now)

* chore: Update adapter jar
2022-03-10 14:24:44 +01:00
Alex
345785a25e
feat: Support for 1.18.2 (#1641)
* feat: Preliminary work for 1.18.2

* Update SpigotNames to 1.18.2 (#1642)

* 1.18.2 / Biome-Holders, regeneration (#1645)

* 1.18.2 / Biome-Holders, regeneration

* fix: reuse old structure sets

* build: Update dev bundles

* fix: Don't log regen world generation

* fix: Run DataConverter with CBT

* fix: Override `#toNativeBinary`

* fix: Exception on regen

Co-Authored-By: Pierre Maurice Schwang <mail@pschwang.eu>

* refactor: Minor cleanup

Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com>
Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>
2022-03-07 15:20:05 +01:00
Jordan
fc2662e51e
Fix //snapshot in 1.18 and re-implement biome/entity restoration (#1620)
* Re-add "//snap" and "//snapshot"

* Place code in correct method

* Use CompoundBinaryTags in AnvilChunk18 and implement biome/entity restoration

* Address comments

* Fix biome reading

* Fix retrieval of entities from zipped snapshot world

Co-authored-by: Alex <mc.cache@web.de>
2022-02-24 10:33:25 +01:00
Alex
9ba90d8c83
refactor: Drop custom snakeyaml implementation (#1523)
* refactor: Drop custom snakeyaml implementation

* Merge branch 'main' into chore/main/remove-snakeyaml-wannabe-abstraction
2022-01-09 10:55:16 +01:00
Alex
64442a8051
refactor: Tackle a few Semgrep and ErrorProne violations (#1520)
* refactor: Tackle a few Semgrep and ErrorProne violations

* Address comments
2022-01-07 12:45:53 +01:00
dordsor21
d6695d23f0
Replace remaining instances of worldeditregentempworld 2022-01-05 23:42:57 +00:00
dordsor21
42dacfc7ef
Fix incorrect toNative method in 1.17 adapter 2022-01-04 13:28:29 +00:00
dordsor21
867b28d439
Remove remaining keywords frm CachedChanged. IJ doesn't warn? 2021-12-29 16:37:21 +00:00
dordsor21
3a3143065d
Remove/add some more comments 2021-12-29 16:29:55 +00:00
dordsor21
ca5640e89e
Replace CachedChange class with record 2021-12-29 16:16:23 +00:00
dordsor21
e2a1721a5c
Use new language features 2021-12-29 16:12:43 +00:00
dordsor21
0d79d084a5
Rename worldedit to fawe where appropriate 2021-12-29 16:12:16 +00:00
dordsor21
3c2394afa4
Add comments to changed code 2021-12-29 16:06:49 +00:00
dordsor21
f38859237a
Move to BinaryTags where appropriate in adapters 2021-12-29 16:00:49 +00:00
Jordan
177d731957
Add back statically-set reserved IDs for air blocks only, make it clear they're "reserved" (#1502)
* Add back statically-set reserved IDs for air blocks only, make it clear they're "reserved"
Also:
 - Ensure that reserved is never returned in GET block operations
 - "empty" thus doesn't exist in the GET update methods; remove the needless checks
 - Allow GET/SET chunks to determine their own default values for non-present blocks/sections

* Add comments
2021-12-29 16:17:20 +01:00
NotMyFault
7da921e075
refactor: Deprecate IMP initializors in favor of builders 2021-12-22 20:58:23 +01:00
dordsor21
28f3bc61ea
More verbosely get block data and ensure biome layer isn't null 2021-12-21 18:00:09 +00:00
NotMyFault
78aff4c81f
build: Update paperweight and add 1.17 again 2021-12-21 11:11:08 +01:00