Commit Graph

180 Commits

Author SHA1 Message Date
Spottedleaf
8b9e3dcd9e Optimise nearby player retrieval
Instead of searching/testing every player online on the server,
we can instead use the nearby player tracking system to reduce
the number of tests per search.
2023-09-23 23:40:49 -07:00
Spottedleaf
38dc3b25d8 Optimise chunk tick iteration
When per-player mob spawning is enabled we do not need to randomly
shuffle the chunk list. Additionally, we can use the NearbyPlayers
class to quickly retrieve nearby players instead of possible
searching all players on the server.
2023-09-23 22:31:00 -07:00
Nassim Jahnke
d23c4a50e6
Fix local attribute setting 2023-09-23 09:42:59 +10:00
Noah van der Aa
3aa8e7ef3f
more more more more more more more more more more work 2023-09-22 17:35:51 +02:00
Noah van der Aa
772fb3e385
more more more more more more more work
can't let lynx inflate his commit count too much
2023-09-22 16:59:18 +02:00
Jake Potrebic
2cee84193c
and some more 2023-09-21 22:41:27 -07:00
Spottedleaf
cc491a396e Finish updating chunk system patch
Add in locking changes from folia, plus fix some diffs.
I'm sure it'll be error-free.
2023-06-08 16:04:53 -07:00
Owen1212055
034edecc37
cleanup some descriptions + optimize hoppers patch 2023-06-08 14:10:23 -04:00
Jake Potrebic
b4ae928db9
add some more patches back 2023-06-08 10:48:28 -07:00
Jake Potrebic
870dafe358
add 1 more networking patch and add comments to dropped patches 2023-06-08 10:25:32 -07:00
Bjarne Koll
2873869bb1
Drop manual isEditable copy in CraftSign
Signs no longer have a specific isEdiable state, the entire API in this
regard needs updating/deprecation. The boolean field is completely gone,
replaced by a uuid (which will need a new setEditingPlayer(UUID) method
on the Sign interface), and the current upstream implementation of
setEdiable simply flips the is_waxed state.

This patch is hence not needed as it neither allows editing (which will
be redone in a later patch) nor is required to copy the is_waxed boolean
flag as it lives in the signs compound tag and is covered by applyTo.
2023-06-08 11:35:39 +02:00
Owen1212055
aa1c25c88d
vine boom sound 2023-06-08 04:47:19 -04:00
Owen1212055
91b45c49ce
Patched 2023-06-08 03:20:03 -04:00
Jake Potrebic
47c5d82017
some more stuffs 2023-06-07 19:04:01 -07:00
Jake Potrebic
c31a22c563
even moar patches 2023-06-07 15:58:10 -07:00
Nassim Jahnke
474a02835d
More more more work 2023-06-07 21:21:43 +02:00
Jake Potrebic
055f7228f0
Add back optimize hoppers (#8999) 2023-03-18 12:03:42 -07:00
Jake Potrebic
3e54639d9c
readd exploded block state patch 2023-03-14 17:06:28 -07:00
Jake Potrebic
dbeef458b2
make tests pass 2023-03-14 16:29:38 -07:00
Nassim Jahnke
7d24f2ef06
Applied all patches 2023-03-14 22:29:14 +01:00
Nassim Jahnke
0f5c422d24
More more more more more patches 2023-03-14 20:54:57 +01:00
Owen
841da90501
Paper Plugins (#8108) 2023-02-19 08:57:10 -06:00
Jason Penilla
0bdbcd9d56
[ci skip] Remove non-functioning patch 2022-12-10 21:40:18 -07:00
Nassim Jahnke
7ba81b14dd
[ci skip] Fix leaf'd patch names 2022-12-10 17:49:00 +01:00
Nassim Jahnke
be50d5bcc3
Readd BlockBehavior inlining patch 2022-12-10 17:24:01 +01:00
Jake Potrebic
f6ffbc2720
Readd improve/fix EntityTargetLivingEntityEvent (#8630) 2022-12-09 12:30:55 +01:00
Jake Potrebic
244a523df3
readd missing structure set seeds patch 2022-12-08 11:06:54 -08:00
Nassim Jahnke
93ee9e63c9
Readd fixes for SpawnReason API patch 2022-12-08 17:51:06 +01:00
Nassim Jahnke
f8430d1de7
More patchidy patched patch patches 2022-12-07 22:57:15 +01:00
Nassim Jahnke
4710881e40
More patchidy patched patches 2022-12-07 22:35:34 +01:00
Nassim Jahnke
d0620624d7
Patching patched patched patches 2022-12-07 21:16:54 +01:00
Nassim Jahnke
7f3d2ff503
Patching patched patches 2022-12-07 20:22:28 +01:00
Owen
c26401863e
[ci skip] Undo modification to removed patches in latest commit (#8512) 2022-10-27 15:03:11 -05:00
Noah van der Aa
2432233d24
Add allow server listing & text filtering client options (#7595) 2022-10-26 18:09:03 -05:00
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