Commit graph

3362 commits

Author SHA1 Message Date
Jake Potrebic
94ea770212
Re-add exact choice shapeless support (#11546)
* Re-add exact choice shapeless support

* don't re-create maps every shapeless match

* add missing paper comment with last patch
2024-11-09 13:53:53 -08:00
Yannick Lamprecht
e47f79acd9
Configure mockito agent (#11560) 2024-11-09 22:49:07 +01:00
Gero
bcbd10804f
Call CraftPlayer#onEntityRemove for all online players (#11598) 2024-11-09 22:35:58 +01:00
Nassim Jahnke
0af4e84eff
[ci skip] Add identifying line to some larger/optimization patches 2024-11-09 21:44:55 +01:00
Nassim Jahnke
17dbf74ccf
Improve CraftEntity and CraftPlayer equals 2024-11-09 21:17:42 +01:00
Nassim Jahnke
6483ecb8a2
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:
a6aba46f PR-1078: Improve Javadocs of Player#loadData() and Player#saveData()
1e2e6a18 SPIGOT-7946: API for server pause when empty seconds
54a36938 SPIGOT-7944, PR-1077: Allow nullable fields in DamageTypeTags

CraftBukkit Changes:
2702c5c8e SPIGOT-7946: API for server pause when empty seconds
485f910fc SPIGOT-7947: addPassenger doesn't work if the vehicle is a player
ecf3dff0e SPIGOT-7949: Registering a new scoreboard objective with an empty display name throws a NPE
9b048cc84 SPIGOT-7948: `Bukkit#dispatchCommand` uses the wrong `CommandListenerWrapper` for Players
7b44d4640 SPIGOT-7931: Fix sync in Anvil View when result item is taken
2024-11-09 17:01:35 +01:00
Jason Penilla
00ef8bdcb0
Fix Entity#isTicking and update Paper entity command (#11590)
fixes #10299
2024-11-09 15:41:26 +01:00
Noah van der Aa
99f4bb29ba
Fix infinite fireworks (#11592) (#11594) 2024-11-08 11:29:40 +00:00
Bjarne Koll
fcb6c72bc9
Correctly pass velocity native compressor (#11509) 2024-11-06 11:00:10 +01:00
Bjarne Koll
42a1901d3b
Correctly adopt upstream item EAR fix (#11582)
EAR 2 evaluates the entities activity on the already incremented entity
tick. This diverges from spigots behaviour and hence needed adoption for
their item ear fix.
2024-11-05 09:52:18 +00:00
Jake Potrebic
c6aa61ee18
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#11561)
Updated Upstream (Bukkit/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

Bukkit Changes:
b9df8e9f SPIGOT-7933: Improve custom Minecart max speed
fc496179 Fix InstrumentTest
7c0ec598 PR-1075: Make Art an interface
c389f5a4 PR-1074: Make Sound an interface

CraftBukkit Changes:
df1efc0bb SPIGOT-7945: `Bukkit#dispatchCommand` throws `UnsupportedOperationException`
285df6e85 SPIGOT-7933: Improve custom Minecart max speed
a0f3d4e50 SPIGOT-7940: Recipe book errors after reload
9e0618ec2 SPIGOT-7937: Cannot spawn minecart during world generation with minecart_improvements enabled
1eb4d28da SPIGOT-7941: Fix resistance over 4 amplify causing issues in damage
52b99158a PR-1504: Make Art an interface
e18ae35f1 PR-1502: Make Sound an interface

Spigot Changes:
e65d67a7 SPIGOT-7934: Item entities start "bouncing" under certain conditions
2024-11-04 18:42:38 +01:00
Bjarne Koll
ce0a041947
[ci skip] Rebuild patches 2024-11-03 00:37:14 +01:00
Spottedleaf
a6df4c8cdc Handle corrupt light data gracefully
First, if the light data is not marked as correct, we should not be
parsing it in the first place. This will eliminate errors from
parsing possibly different versioned light data.

Secondly, if parsing the light data throws an exception (from
the SWMRNibbleArray constructor), then we can simply mark
the returned chunk as having incorrect light data - rather than
propagating the exception and causing the chunk to be re-generated.
2024-11-02 16:33:08 -07:00
Bjarne Koll
92131adaf2
Decrease dead entity teleport warning (#11559)
Decreases the warning back to its 1.21.1 level where only teleports of
dead/invalid entities across dimensions were logged.
2024-11-01 22:25:31 +01:00
Lulu13022002
d19be64b15
Fix NPE with spark when CraftServer is not init yet (#11558) 2024-11-01 21:37:45 +01:00
Bjarne Koll
85c870e9c7
Correct update cursor (#11554)
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 15:57:23 +01:00
Bjarne Koll
a5d742637a
Correctly support RecipeChoice.empty (#11550)
The previous implementation was based off of spigots logic in
CraftRecipe#toIngredient, which is completely incorrect as
nms.Ingredient.of() is a throwing call.

Correctly insert handling for the empty() choice in the toNMSOptional
logic.
2024-11-01 11:30:40 +01:00
Jake Potrebic
16d7d73bd5
bunch more general fixes 2024-10-31 20:35:06 -07:00
Jake Potrebic
1de01302d4
re-add a dispense fix patch 2024-10-31 19:51:36 -07:00
Jake Potrebic
5c0930dfad
Fix fix recipe iterator patch 2024-10-31 19:34:10 -07:00
Nassim Jahnke
52a05907c7
Updated Upstream (Bukkit/CraftBukkit) (#11543)
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:
97c59261 PR-1073: Make Biome an interface
a38581aa Fix further javadoc errors
8271c490 Fix javadoc error
8a9ecf29 PR-1072: Fix bad naming for Vault State methods
6dd58108 PR-1071: Make Fluid an interface and add missing entry
ed2cdfc3 PR-1070: Make Attribute an interface and align names with the new minecraft ones
63472efb PR-1069: Add missing winter drop experimental annotation to pale boats

CraftBukkit Changes:
7235ad7b0 PR-1501: Make Biome an interface
602904003 PR-1500: Rename implementation for Vault State methods
75f26f79f PR-1499: Make Fluid an interface and add missing entry
4cfd87adc PR-1498: Make Attribute an interface and align names with the new minecraft ones
6bb0db5cb SPIGOT-7928: ExactChoice acts as MaterialChoice
3eaf3a13c SPIGOT-7929: Error when setting EquippableComponent
abbf57bac SPIGOT-7930: Fix spawning entities with SummonEntityEffect
92d6ab6cf PR-1497: Move boat field rename entries to below key renaming, so that keys are also renamed
abfe292aa PR-1496: Use correct Fluid class on Tags type check
c7aab7fa7 SPIGOT-7923: Fix Dispenser logic to avoid firing empty projectiles
2024-10-31 23:44:34 +01:00
Noah van der Aa
7ee4835074
Correctly clear explosion density cache(#11541) 2024-10-31 22:30:18 +01:00
Bjarne Koll
ad9c58e103
Only expose velocity relative tp flags to API (#11532)
Since 1.21.2, vanilla split relative teleportation flags into position
and delta/velocity flags into separate enum entries.
This highlighted a design flaw in the paper api addition for teleport
flags, which just simply mirrored internals while also only being able
to apply the delta/velocity part of a flag, given the teleport target is
always absolute in the API.

This patch proposes to simply no longer expose the non-velocity related
flags to the API, instead marking the entire Relative enum as being
purely velocity related, as non-velocity related flags are not useful to
callers. This was done over simply exposing all internal flags, as
another vanilla change to the internal enum would result in the same
breakage.

The newly proposed API *only* promises that the passed flags prevent the
loss of velocity in the specific axis/context, which should be
independent enough of vanillas specific implementation of this feature.
2024-10-31 17:25:52 +01:00
Lulu13022002
147b7961fe
get previous redstone level from the right state for experimental wires 2024-10-31 16:48:37 +01:00
Bjarne Koll
dfedf79a2f
Correctly cancel consumption of consumable
See: #11534
2024-10-31 12:44:02 +01:00
Bjarne Koll
40a960db45
Rebuild patches 2024-10-30 18:36:22 +01:00
Jason Penilla
580a610550
Allow using old ender pearl behavior & apply ender pearl exploit patch (#11524)
When enabled, ender pearls will not load chunks and will save to the world instead of the player.

Also changes the exploit config to be default false, as it only makes sense when legacy behavior is enabled.
2024-10-30 18:09:05 +01:00
Noah van der Aa
13308806ac
Add Friction API to minecarts 2024-10-30 17:31:33 +01:00
Lulu13022002
1523212d4e
don't resend effects when PlayerItemConsumeEvent is cancelled 2024-10-30 17:07:49 +01:00
Lulu13022002
8ba3073343
fix "is_freezing" damage type tag 2024-10-30 14:55:46 +01:00
Nassim Jahnke
1a1d0cf01a
Use target pitch in teleport (generally the same thing) 2024-10-30 14:36:09 +01:00
Nassim Jahnke
9f1fa0b4f8
Fix item gravity on inactive items, remove dumb active skipping 2024-10-30 14:06:43 +01:00
Nassim Jahnke
fe2f3d4693
Fix portal exit resulting in bad teleport transition 2024-10-29 22:35:10 +01:00
Jason Penilla
1196ab5505
Avoid issues with certain tasks not processing during sleep (#11526) 2024-10-29 20:46:33 +01:00
Lulu13022002
d576cfc234
cleanup bugfix patch 2024-10-29 16:54:40 +01:00
Lulu13022002
49eae0d5fb
remove some leftovers 2024-10-29 15:33:42 +01:00
Owen1212055
99b1bf9b0f
Use new ClientboundPlayerRotationPacket for setting player rotation 2024-10-28 12:14:00 -04:00
granny
6288adb001
Remove leftover missed timings calls (#11527)
* remove leftover timings calls

* remove unused imports
2024-10-28 00:03:55 -07:00
Jason Penilla
e35f199344
Use declaration order for state holder property iteration
Mostly an aesthetic change for serialization, should not have any impact on performance or correctness.
2024-10-27 18:29:34 -07:00
Jason Penilla
9e35192360
Execute spark tasks during tick sleep (#11525) 2024-10-27 22:00:06 +01:00
Jason Penilla
29bf7beba9
Fix unused parameter in PlayerList#remove 2024-10-27 12:09:27 -07:00
Jason Penilla
f8f230a0d0
Remove unnecessary AT 2024-10-27 11:26:21 -07:00
Lulu13022002
4d87302672
Fix NPE and StackOverflowError for dispensers 2024-10-27 18:47:50 +01:00
Nassim Jahnke
02bca1e655
Remove timings impl 2024-10-27 18:39:30 +01:00
Bjarne Koll
12ed021051
Update material tags and entity effect 2024-10-27 12:20:30 +01:00
Nassim Jahnke
fe7b741545
Another one 2024-10-27 12:02:26 +01:00
Nassim Jahnke
3cb16c9d91
Add back per player mob spawning
Also removes the `info.mobCategoryCounts.mergeInt` call that - at least from what I can tell - has been wrongly counting spawned mobs twice. The runner passed via `info::afterSpawn` already counts up that exact number in the same exact places (where `j`, the return value used here, is incremented)
2024-10-27 11:56:51 +01:00
Nassim Jahnke
b6305644f9
More patches 2024-10-27 10:40:53 +01:00
Nassim Jahnke
348c855096
Readd last API patch (with TODO) 2024-10-27 10:03:59 +01:00
Nassim Jahnke
bcf52fe5fd
Delete some old patches 2024-10-27 09:24:59 +01:00