Commit Graph

56 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
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
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
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
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
Jordan
d6e3c331d4
Make 1.18 to be effectively in a usable state (#1452)
* Update swathes of easy-to-update-sort-of-code.
 - Untested
 - Should compile but NMF broken something
 - Several todos:
  - biome history//better support (move to biome sections in core)
  - regen (haha lol no thanks, someone else can do that)
  - probably actually do the palette stuff that probably won't work in PaperweightPlatformAdapter

* ci: Provide basic Jenkinsfile for ghprb pipeline

* build: Update paperweight

* upstream: Update Upstream

de6fa17 Add getBrush helper for use with instanceof pattern matching (1926)

* FAWE will now load on startup

* it....works?

* Begin to allow biome edits (and fix biomes reverting to plains upon editing blocks)

* Add new blocks/block properties

* Only create biome palette if supplies is null

* Fix biome operations

* Finally get removing BlockID done (major version change allows it)

* refactor!: Drop PlotSquared v4

Fawe 2.0.0 and newer requires Java 17, PlotSquared v4 supports 1.13 and 1.14, Fawe wont work on these versions nevertheless and refuses to load due Java version incompatiblities with older versions. Newer versions can use PlotSquared v6.

* docs: Update readme

* Added and removed some comments

* Added and removed some comments

* refactor: Rename worldedit configuration

* build: Re-add 1.17 module

This the a very nasty commit

* chore: Implement missing methods

* build: Update paperweight

* upstream: Update upstream

6df194e Remove finalize, use a Cleaner instead (1943)
9843a4f Fix snapshots in 1.18 (1959)

* ci: Escape workflows

* build: Update paperweight to 1.18.1

* build: Update Paster

* Fix compilation

* Bump to 1.18.1

* Do both 1.18 and 1.18.1

Co-authored-by: Alex <mc.cache@web.de>

* Fix single-block lookups

* Reserve ordinals 0 through 3 for air/"reserved"

* Create block palette data with values

* Fix classpath for testing for starlight

* Correctly use block rather than sky light layer [not used in paper]

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
2021-12-20 21:12:04 +00:00
Hannes Greule
5367921496
fix: Use WE PaperweightAdapter for seed replacement (#1440)
* Use WE PaperweightAdapter for seed replacement
also, only replace when necessary

* fix comments

* ci: Provide basic Jenkinsfile for ghprb pipeline (#1451)

Co-authored-by: Alex <mc.cache@web.de>
2021-12-07 12:59:58 +01:00
NotMyFault
6f33c5223d
build: Update Gradle
Address regression from 3ad2f8b5fa
2021-11-11 22:30:22 +01:00
Pierre Maurice Schwang
14cb97d0ad
fix: //regen with custom populators (#1376)
* Refraction + more fixes

* Remove exception debug

* Fix populator issues with //regen

* Fixed code style

* Further simplify

* Update adapters

Co-authored-by: Alex <mc.cache@web.de>
2021-10-25 14:13:02 +00:00
MrKinau
7b775ca57d
Remove Only-vanilla-biomes restriction (#1373) 2021-10-22 15:34:37 +01:00