Commit Graph

30 Commits

Author SHA1 Message Date
f65939c6bd Remove wall-time / unused skip tick protection (#11412)
Spigot still maintains some partial implementation of "tick skipping", a
practice in which the MinecraftServer.currentTick field is updated not
by an increment of one per actual tick, but instead set to
System.currentTimeMillis() / 50. This behaviour means that the tracked
tick may "skip" a tick value in case a previous tick took more than the
expected 50ms.

To compensate for this in important paths, spigot/craftbukkit
implements "wall-time". Instead of incrementing/decrementing ticks on
block entities/entities by one for each call to their tick() method,
they instead increment/decrement important values, like
an ItemEntity's age or pickupDelay, by the difference of
`currentTick - lastTick`, where `lastTick` is the value of
`currentTick` during the last tick() call.

These "fixes" however do not play nicely with minecraft's simulation
distance as entities/block entities implementing the above behaviour
would "catch up" their values when moving from a non-ticking chunk to a
ticking one as their `lastTick` value remains stuck on the last tick in
a ticking chunk and hence lead to a large "catch up" once ticked again.

Paper completely removes the "tick skipping" behaviour (See patch
"Further-improve-server-tick-loop"), making the above precautions
completely unnecessary, which also rids paper of the previous described
incompatibility with non-ticking chunks.
2024-09-19 16:36:07 +02:00
a0f4d303eb 788/1053 2024-06-13 18:30:23 -07:00
0ef31547a1 Finish API patches 2024-06-13 08:45:43 -07:00
3ea4a03fbc more more work (757) 2024-04-24 22:32:38 +02:00
47ee5579ff Begin update to 1.20.5 2024-04-23 10:02:08 -07:00
f7e469eb2e [ci skip] Cleanup events (#10202) 2024-02-01 10:15:57 +01:00
88d3d87993 [ci skip] Add more patch identifying comments 2024-01-23 14:34:17 +01:00
e433c8696b [ci skip] Move some disruptive patches back 2024-01-23 12:06:27 +01:00
db4ed47134 [ci skip] Add more identifying patch comments 2024-01-21 13:56:22 +01:00
ec3867cd12 [ci skip] Add more identifying patch comments 2024-01-18 18:52:00 +01:00
0087658702 Patches!!! MORE 2023-12-06 11:21:56 -05:00
46f4547805 Prepare for 1.20.3 dev 2023-12-05 18:20:55 +01:00
2b7e17a127 more more more more more more more more more work 2023-09-22 17:24:59 +02:00
524eeedaa8 So it begins... 2023-09-21 19:18:04 +02:00
aa5e9d1d49 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9301) 2023-06-12 16:51:45 -07:00
f328e1ae26 vine boom sound 2023-06-08 04:47:19 -04:00
1bda3d4d2a Start working on 1.20 2023-06-07 18:24:39 +02:00
b5f8080674 More more more more more more more more patches 2023-03-14 22:10:53 +01:00
08ab8edb76 Start working on 1.19.4 2023-03-14 18:11:24 +01:00
580e157417 More patchidy patched patch patches 2022-12-07 22:57:15 +01:00
b7dd55ce72 API patches 2022-12-07 17:46:46 +01:00
28f9b1a3cb Add method isTickingWorlds to Bukkit (#8316)
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>

Also, restores un/loading worlds mid tick. This will not be officially supported API contract that such a routine is safe, and these restrictions may be restored in the future.
2022-09-24 01:19:05 -04:00
fb6addf9e6 Fix mangled patch 2022-09-24 05:48:42 +01:00
4c6f66a6a3 Updated Upstream (CraftBukkit/Spigot)
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

CraftBukkit Changes:
ead719a65 SPIGOT-7136: Cancelling PlayerInteractEntityEvent with the Allay desyncs
8468e167e SPIGOT-7137: StructureGrowEvent isFromBonemeal and getPlayer have incorrect values
d45057c59 SPIGOT-7089: Crash when command blocks attempt to load worlds

Spigot Changes:
450dcaa8 Rebuild patches
2022-08-14 10:03:13 +02:00
2f8a665549 More more more more more more more work 2022-07-27 23:50:05 +02:00
858aabab7c Move patches over, start with first few 2022-07-27 20:52:03 +02:00
d652ff68f2 Don't allow world unloading while ticking worlds (fixes #8080) (#8081) 2022-07-01 18:14:50 +02:00
dcb23664a3 More more more more more more more more more more more patches 2022-06-08 15:36:56 +02:00
1148687a8d Prepare for 1.19 dev 2022-06-07 18:52:56 +02:00
7acc5223e6 throw exception if worlds are created while being ticked (#7653) 2022-06-04 14:48:24 -07:00