Commit graph

146 Commits

Autor SHA1 Nachricht Datum
Spottedleaf
01a13871de
Rewrite chunk system (#8177)
Patch documentation to come

Issues with the old system that are fixed now:
- World generation does not scale with cpu cores effectively.
- Relies on the main thread for scheduling and maintaining chunk state, dropping chunk load/generate rates at lower tps.
- Unreliable prioritisation of chunk gen/load calls that block the main thread.
- Shutdown logic is utterly unreliable, as it has to wait for all chunks to unload - is it guaranteed that the chunk system is in a state on shutdown that it can reliably do this? Watchdog shutdown also typically failed due to thread checks, which is now resolved.
- Saving of data is not unified (i.e can save chunk data without saving entity data, poses problems for desync if shutdown is really abnormal.
- Entities are not loaded with chunks. This caused quite a bit of headache for Chunk#getEntities API, but now the new chunk system loads entities with chunks so that they are ready whenever the chunk loads in. Effectively brings the behavior back to 1.16 era, but still storing entities in their own separate regionfiles.

The above list is not complete. The patch documentation will complete it.

New chunk system hard relies on starlight and dataconverter, and most importantly the new concurrent utilities in ConcurrentUtil.

Some of the old async chunk i/o interface (i.e the old file io thread reroutes _some_ calls to the new file io thread) is kept for plugin compat reasons. It will be removed in the next major version of minecraft.

The old legacy chunk system patches have been moved to the removed folder in case we need them again.
2022-09-26 01:02:51 -07:00
Nassim Jahnke
d60497ebf2
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
ff64962b SPIGOT-7124: MapPalette.getColor(0) returns the wrong color

CraftBukkit Changes:
8f3647242 SPIGOT-7127: /say doesn't work from console
2022-08-01 16:01:20 +02:00
Nassim Jahnke
c8f3d9ee8c
More more more more more more more work 2022-07-27 23:50:05 +02:00
Owen1212055
1ccff4f5d1
Readd mc-4 fix 2022-06-11 10:41:59 +02:00
Owen
c80df849c2
Readd remove vec allocations diff (#7930) 2022-06-11 10:30:20 +02:00
Owen
a8a01bbb52
port Significantly improve performance of the end generation (#7919) 2022-06-10 16:11:41 +02:00
Jason Penilla
0a21166a8b Update player chunk loader patch, re-add ticket level propagator patch 2022-06-09 16:01:48 -07:00
Jake Potrebic
c946526ab1
minimessage conversion 2022-06-09 14:25:16 -07:00
Jason
d7cc306336
Update Optimise general POI access (#7903) 2022-06-09 11:37:28 +02:00
Noah van der Aa
44ccc15a30
Port Fix missing chunks due to integer overflow to 1.19 (#7891) 2022-06-08 19:39:07 +02:00
Nassim Jahnke
4c1b338e0f
Remove level propagator patch for now 2022-06-08 19:33:07 +02:00
Jake Potrebic
7a165c9c5d
Add back fix swamp hut deadlock patch 2022-06-08 07:58:57 -07:00
Jake Potrebic
9ab6893183
Add back Fix locateNearestStructure patch 2022-06-08 07:46:01 -07:00
Jake Potrebic
d5216d8588
Add back Fix NotePlayEvent patch 2022-06-08 07:36:43 -07:00
Jake Potrebic
af4b5ee4f0
add back removed kelp modifier patch 2022-06-08 07:29:32 -07:00
Nassim Jahnke
55d7f562b8
More more more more more more more more more more more patches 2022-06-08 15:36:56 +02:00
Nassim Jahnke
beab8a32c1
More more more more more more more more more more patches 2022-06-08 15:12:28 +02:00
Nassim Jahnke
301cf577c2
More more more more more more more more more patches 2022-06-08 14:33:46 +02:00
Nassim Jahnke
82f712c096
More more more more more more more more patches 2022-06-08 12:40:44 +02:00
Nassim Jahnke
f0e575f445
More more more more more more more patches 2022-06-08 12:20:57 +02:00
Nassim Jahnke
0e06c77264
More more more more more more patches 2022-06-08 11:31:06 +02:00
Jake Potrebic
feca8d248c
bouquet o' patches 2022-06-07 23:25:32 -07:00
Jake Potrebic
0745f97bb5
bunch o' patches 2022-06-07 22:46:52 -07:00
Jake Potrebic
dc12a6e9fe
a bunch more patches done 2022-06-07 22:02:19 -07:00
Jake Potrebic
c3fc3de622
even moar patches 2022-06-07 21:39:43 -07:00
Owen1212055
58133bdfdf
Update PreCreatureSpawnEvent patch 2022-06-07 23:54:21 +02:00
Nassim Jahnke
aac58bb772
More more more more patches 2022-06-07 22:45:38 +02:00
Owen
ea1efef116
Remove Patches (#7541) 2022-03-11 21:13:46 +01:00
Jake Potrebic
9da236fe6a
re-add config for stronghold seed patch 2022-02-28 22:52:38 -07:00
Jake Potrebic
f4eb08a477
Readd 'Fix entity type tags suggestions in selectors' 2022-02-28 22:52:37 -07:00
Nassim Jahnke
c2e2281f29
Initial 1.18 update 2022-02-28 22:52:35 -07:00
Spottedleaf
286bd1bfb5
1.18 misc performance dev branch (#7368)
- Port player chunk loader patch
Makes the chunk system act as it did in 1.17, no additional tickets (and thus logic) to make a chunk ticking.
Adds simulation distance API, deprecates old no-tick method.
- More collision optimisations
Ancient patch from tuinity that never could be pushed to master.
- Fix Optimise ArraySetSorted#removeIf patch
- Execute chunk tasks fairly for worlds while waiting for next tick
- Port Replace ticket level propagator
2022-02-18 09:44:46 -08:00
Jake Potrebic
fd4f6c5e31
Update Optimise chunk tick iteration (#6950) 2021-12-05 15:00:13 +01:00
Jason Penilla
c3ff7e0ff7
Update Optimise collision checking in player move packet handling 2021-12-05 02:56:09 -08:00
Jason Penilla
fcca15ff0b Update Highly optimise single and multi-AABB VoxelShapes and collisions 2021-12-05 02:45:09 -08:00
Jason
ccabae4fb6
Update and deprecate Allow delegation to vanilla chunk gen (#7031) 2021-12-05 02:27:20 -08:00
Noah van der Aa
cd9fe9ca64
Port flat bedrock (generator settings) to 1.18 (#6960) 2021-11-30 17:31:13 -08:00
Jake
d8d7f52324 another patch 2021-11-30 19:26:33 +01:00
Jake
5ff792342c couple more patches 2021-11-30 19:26:33 +01:00
Nassim Jahnke
bcc11dd95a Remove old anti xray patch 2021-11-30 19:26:33 +01:00
Jake
7382bd2847 add mobcaps command patch 2021-11-30 19:26:33 +01:00
Nassim Jahnke
08939b2db8 Move seed based feature search to no longer needed 2021-11-30 19:26:33 +01:00
Spottedleaf
8e5d5b8753 Add Starlight 2021-11-30 19:26:33 +01:00
MiniDigger
4a466ac7d1 change my email in all patches 2021-11-30 19:26:33 +01:00
Nassim Jahnke
134a61c111 Readd incremental chunk saving, merge with player saving 2021-11-30 19:26:33 +01:00
Nassim Jahnke
5a90a2033d More more more more more more more more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
dabbf5b193 More more more more more more more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
011df7dc84 More more more more more more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Jason Penilla
055b8ab9cf even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even more patches 2021-11-30 19:26:33 +01:00
Jason Penilla
b39fa92d5d even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even more patches 2021-11-30 19:26:33 +01:00