Commit graph

18780 commits

Author SHA1 Message Date
Kevin Raneri
b2d8133382 Configurable Entity Despawn Time 2024-09-30 09:50:55 -07:00
Abel
7294ae3022 API to allow/disallow tick sleeping 2024-11-12 22:25:20 +01:00
Abel
b4c394a1c6 API to check if the server is sleeping 2024-11-10 16:32:34 +01:00
Lulu13022002
7b83e91bb7 Fix NPE when EntityResurrectEvent is uncancelled 2024-11-18 20:27:58 +01:00
Bjarne Koll
c7c3d8a9cb Fix incorrect invulnerability damage reduction
Fixes incorrect spigot handling of the invulnerability damage
reduction applied when an already invulnerable entity is damaged with a
larger damage amount than the initial damage.
Vanilla still damages entities even if invulnerable if the damage to be
applied is larger than the previous damage taken. In that case, vanilla
applies the difference between the previous damage taken and the
proposed damage.

Spigot's damage modifier API takes over the computation of damage
reducing effects, however spigot invokes this handling with the initial
damage before computing the difference to the previous damage amount.
This leads to the reduction values to generally be larger than expected,
as they are computed on the not-yet-reduced value.
Spigot applies these reductions after calling the EntityDamageEvent and
*then* subtracts the previous damage point, leading to the final damage
amount being smaller than expected.

This patch cannot simply call the EntityDamageEvent with the reduced
damage, as that would lead to EntityDamageEvent#getDamage() returning
the already reduced damage, which breaks its method contract.
Instead, this patch makes use of the DamageModifier API, implementing
the last-damage-reduction as a DamageModifier.
2024-11-11 21:35:27 +01:00
Barnaby
318f7b2014 Reduce work done in CraftMapCanvas.drawImage by limiting size of image and using System.arraycopy instead of for loops and use bitwise operations to do bounds checks. 2024-06-29 12:06:51 +01:00
Jake Potrebic
9467a08b36 Improve performance of RecipeMap#removeRecipe 2024-10-31 20:36:41 -07:00
Gero
7acf73ce66 Call CraftPlayer#onEntityRemove for all online players 2024-11-09 22:27:58 +01:00
Bjarne Koll
66e1ce8504 Correct update cursor
Spigot uses a no longer valid ClientboundContainerSetSlotPacket with the
slot -1, which would update the carried stack in versions <=1.21.1 but
now leads to an IOOB.
1.21.2 instead introduced the ClientboundSetCursorItemPacket, which this
patch uses instead.
2024-11-01 14:58:57 +01:00
Jake Potrebic
b620df8e20 Fix inconsistencies in dispense events regarding stack size
The javadocs for BlockDispenseEvent suggest the ItemStack is a single
item which is being dispensed. Before this fix, sometimes it was the whole
stack before a single item had been taken. This fixes that so the stack size
is always 1.
2022-12-11 23:47:22 -08:00
Noah van der Aa
8208e3d1c4 Add missing spawn eggs: Electric Boogaloo (#8616) 2022-12-07 23:10:51 +01:00
Nassim Jahnke
3d2c9cd064 Almost all patches 2022-12-07 23:05:32 +01:00
Nassim Jahnke
580e157417 More patchidy patched patch patches 2022-12-07 22:57:15 +01:00
Noah van der Aa
6513000165 Fix a handful of 1.19.3 compile issues (#8615) 2022-12-07 22:36:56 +01:00
Nassim Jahnke
bbd997db62 More patchidy patched patches 2022-12-07 22:35:34 +01:00
Nassim Jahnke
810c0219d9 More patchy patched patches 2022-12-07 22:05:01 +01:00
Nassim Jahnke
00dec09758 Patching patched patched patches 2022-12-07 21:16:54 +01:00
Nassim Jahnke
eac356d807 Patching patched patches 2022-12-07 20:22:28 +01:00
Nassim Jahnke
d4e6ee3d12 Moar, fix API 2022-12-07 19:52:24 +01:00
Nassim Jahnke
ee75b5dc2d Patching patches 2022-12-07 19:32:25 +01:00
Nassim Jahnke
b748ab8e70 Patches 2022-12-07 18:53:34 +01:00
Nassim Jahnke
d0386f21e8 First server patches 2022-12-07 18:08:55 +01:00
Nassim Jahnke
b7dd55ce72 API patches 2022-12-07 17:46:46 +01:00
Jake Potrebic
bea0e28dc4 Add missing Fluid type (#8608) 2022-12-06 10:41:04 -08:00
Noah van der Aa
1ae3999c8f Limit pet look distance (#8612) 2022-12-06 19:10:58 +01:00
Shane Freeder
ec00900b8b Fix dumplisteners missing folder creation 2022-12-06 04:02:44 +00:00
Yannick Lamprecht
c57f86c7ab Player Entity Tracking Events (#4722) 2022-12-03 23:46:38 +01:00
Jake Potrebic
31ec776281 Updated Upstream (Bukkit/CraftBukkit) (#8604)
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:
38866413 SPIGOT-6765: Pass WorldInfo, Random and coordinates to ChunkGenerator should methods

CraftBukkit Changes:
f3dab3a48 SPIGOT-7191: TNT minecart explosions crash the server
b5aa0bed9 SPIGOT-7184: ExplosionPrimeEvent not called for ExplosiveMinecart
e7aab5493 SPIGOT-6765: Pass WorldInfo, Random and coordinates to ChunkGenerator should methods
2022-12-03 10:19:09 -08:00
Bjarne Koll
ce991b96eb Fully deserialise persistent anger post async load (#8560)
The modified patch prevents entity loading off the main thread when
entities are initially loaded.

However, the initial loading of an entity is not the only time the
Entity#readAdditionalSaveData method is called. Commands like /data also
invoke the method (through Entity#load) to update an entities data
without completely re-creating it.

This however breaks with the current patch, as the patch moves parts of
the entity lookup for persistent anger deserialisation into the first
tick of an entity (which obviously is only called once and hence not
re-run when an already ticking entity is modified as laid out above).

This change actively runs the now split logic for deserialisation again
if the entity has already ticked its first tick. This way, initial
deserialisation is still split into one off thread and the first tick
parts, but following main thread deserialisations can happen completely
inside Entity#readAdditionalSaveData is called.
2022-12-02 18:09:41 +01:00
Jake Potrebic
b9401e6d3c Sync offhand slot in menus (#7341) 2022-12-01 13:01:49 -08:00
Jake Potrebic
7caeec36fc [ci skip] couple more fixes for build pr jar label (#8599) 2022-11-30 12:45:27 -08:00
Jason Penilla
5756691b5a Fix whitespace error in recent patch 2022-11-28 11:10:26 -07:00
Lulu13022002
08bcef4859 Handle legacy quirk in the console formatter (#8434) 2022-11-28 14:41:29 +01:00
Denery
2402c125aa Fix preemptive connection dropping during shutdown process (#8546) 2022-11-27 20:20:31 +03:00
sandtechnology
e9b9c0b332 Fix packet duplicating at some points (#8566)
Due to the weakly consistent of ConcurrentLinkedQueue iterator, at some points, packet will be resent twice times or more, causing some weird behaviors (e.g. kicked for illegal movement since the same ClientboundPlayerPositionPacket was sent two times). This changes for the patch add a flag for marking if the packet was consumed to prevent such issue and ensure consistently of the packet queue.
2022-11-28 00:36:35 +08:00
Jason Penilla
59d8df6cba Add /paper dumplisteners tofile and increase detail of command output (#8592) 2022-11-26 10:36:11 -07:00
Ján Villim
25196237b1 Added ability to control player's insomnia and phantoms spawning (#6500) 2022-11-26 17:59:04 +01:00
Owen1212055
91869b8753 Schoolable Fish API (#7089) 2022-11-25 21:21:40 -05:00
SoSeDiK
c30dcbbc4c Allow using degrees for ArmorStand rotations (#7847) 2022-11-26 03:42:30 +02:00
Noah van der Aa
0d81f1e394 Friction API (#6611) 2022-11-26 01:23:12 +01:00
Kezz
898dd9224a Add Tick TemporalUnit (#5445) 2022-11-25 21:05:42 +00:00
Jake Potrebic
06be0d0b4d Add displayName methods for advancements (#8584) 2022-11-24 23:05:48 -08:00
Jake Potrebic
26993f7801 ItemStack damage API (#7801) 2022-11-24 22:52:00 -08:00
Jake Potrebic
59db8e8bc9 Fix async entity add due to fungus trees (#7626) 2022-11-24 22:32:29 -08:00
Jake Potrebic
86b0932a3b Fixes potential issues arising from optimizing getPlayerByUUID (#8585) 2022-11-24 22:22:19 -08:00
Amy
9cbb983d0d Fix chest relooting mechanics (#8580) 2022-11-24 23:21:40 +00:00
Jake Potrebic
b6c34550ce pr command action fixes (#8591) 2022-11-23 19:14:41 -08:00
Warrior
7f4f5f8f3b Add /paper dumplisteners command (#8507)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
Co-authored-by: TwoLeggedCat <80929284+TwoLeggedCat@users.noreply.github.com>
2022-11-23 23:28:38 +01:00
Lulu13022002
3375abab49 More vanilla friendly methods to update trades (#8478) 2022-11-23 22:38:49 +01:00
Jake Potrebic
e2df6b2c14 [ci skip] Rework workflows to support optional paperclip build (#8583) 2022-11-23 11:19:31 -08:00