Commit graph

2523 commits

Author SHA1 Message Date
Spottedleaf
1b67e02385 Fix entity tracker desync when new players are added to the tracker
The delta position packet instructs the client to update
the entity position by a position difference. However, this position
difference is relative to the last position in the entity tracker
state, not the last position which has been sent to the player. As
a result, if the last position the player has recorded is different
than the one stored in the entity tracker (which occurs when a new
player is added to an existing entity tracker state) then the sent
position difference will cause a position desync for the client.

We can resolve this problem by either tracking the last position
sent per-player, or by simply resetting the last sent position
in the entity tracker state every time a new player is added.
Resetting the last sent position every time a new player is
added to the tracker is just easier to do, so that is what
this patch does.
2024-05-09 17:08:59 -07:00
Nassim Jahnke
f2512b1238
Print data component type on encoding error 2024-05-09 15:12:12 +02:00
Shane Freeder
5729b294ee
Update Adventure to 4.17.0 Release 2024-05-08 15:48:45 +01:00
Bjarne Koll
eee55d019f
Correctly compare holders in BeaconMenu (#10673) 2024-05-07 18:18:57 -07:00
Lulu13022002
89ad61fd00
Fix hopper pull event being skipped after the first call (#10667) 2024-05-07 14:28:45 +02:00
Jason Penilla
9e51f94941
Fix ping event always receiving protocol version 0 (#10671) 2024-05-07 14:24:45 +02:00
Jake Potrebic
ac3a5471c8
Fix BlockStateMeta (#10647)
* Fixes CraftMetaBlockState block entity data components

* rebase and merge into general item meta fix

* Add javadoc notice

* Update message

---------

Co-authored-by: Bjarne Koll <lynxplay101@gmail.com>
2024-05-05 12:56:46 -07:00
SoSeDiK
2a6a5fef59
Add a way to check whether the chest is blocked (#10635)
* More Chest Block API

* rebased and slight logic fixes
2024-05-05 10:57:28 -07:00
Bridge
21d91ce634
Prevent profile lookups when unnecessary (#10651) 2024-05-05 19:07:30 +02:00
Tamion
716dfd8698
Fix EntityLoadCrossbowEvent (#10645)
* fix

* hehe
2024-05-05 09:54:04 -07:00
NonSwag
54c5ecb4e4
Add missing SpigotConfig logCommands check (#10659) 2024-05-05 18:41:02 +02:00
Nostal Yuu
0e43d3c103
Added API to get player's proxy address (#10400) 2024-05-05 18:39:32 +02:00
Jake Potrebic
9d8d38d137
Updated Upstream (CraftBukkit) (#10646)
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:
66fd94322 SPIGOT-7652: Remove remap for SPELL_MOB_AMBIENT which no longer exists
ecfa4f973 SPIGOT-7654: ItemStack#isSimilar does not work with empty BlockStateMeta
4460ecc49 SPIGOT-7655: ItemMeta#addItemFlags(ItemFlag.HIDE_ATTRIBUTES) not working when no attribute modifiers set
5d84f48a4 SPIGOT-7653: Update ApiVersion.CURRENT with latest version and include tests
2024-05-05 18:08:55 +02:00
Lulu13022002
b13c7dbe36
Add missing experimental field and annotations (#10653) 2024-05-05 09:00:54 -07:00
Bjarne Koll
7ae2c671c6
Keep components using single items in creative (#10664)
The craftbukkit implementation stores the old and new data patch of an
item during ItemStack#useOn(UseOnContext) to properly cancel events via
comparison and change detection of the component patch.

However, it uses #getComponentsPatch to fetch the new stack component
patch, which always yields an empty patch set if an itemstack is
considered empty by the game.
As the restoration of an itemstack's count to its previous state is
handled after the entire ItemStack#useOn method, items used in creative
mode temporarily have a count of zero, which causes craftbukkit to
consider their new component patch as EMPTY even tho said item may have
data.
The new patch is applied and, after useOn completes, the count is reset
if the player is in creative mode, leading to lost data.

This commit fixes said inconsistency by directly accessing the
components of the item via components#asPatch, storing the proper
component patch even for an item that temporarily has a count of zero.
2024-05-05 11:40:36 +02:00
Jake Potrebic
7401313e16
fix shear drops for wolf and bogged
Fixes #10661
2024-05-04 22:48:10 -07:00
Nassim Jahnke
6fcca46674
Add missing step in V3818 2024-05-04 22:50:20 +02:00
Jake Potrebic
5632210f10
add RegistryAccess for managing registries (#10154)
* add RegistryAccess for managing registries

* add missing types to key data generator

* fix some stuff

* Add RegistryKeys for all other non-server-backed registries

* fix tests

* remove Experimental annotations
2024-05-04 11:22:35 -07:00
Joseph Burton
156675c773
Fix lodestone compass target conversion 2024-05-04 12:58:06 +02:00
Joseph Burton
0db72ac19e
Fix can_place_on conversion and size check for item containers 2024-05-02 20:23:15 +02:00
Shane Freeder
59fe7ccc3b
default save-empty-scoreboard-teams to vanilla
The primary environmental factor which caused this feature to be implemented
is no longer much of a factor within the community
2024-05-02 09:53:43 +01:00
SoSeDiK
544ce20e01
Expose #hasColor to leather armor (#10638) 2024-05-01 19:14:42 +02:00
Nassim Jahnke
310b47bb96
Update Java version references, add note on var usages 2024-05-01 18:44:39 +02:00
Andrew Teeter
b8c454c2ba
Add damage check for mending (#10631) 2024-05-01 12:01:48 +02:00
SoSeDiK
4cfd9e25fa
Expose canReach to mob pathfinding API (#10636) 2024-05-01 12:00:11 +02:00
Jake Potrebic
fa6013d83b
Fixes beds not exploding in the nether
Also correctly marks the captured BlockState as "unplaced"
Fixes #10629
2024-04-30 16:42:43 -07:00
Nassim Jahnke
937a67a651
Add initial size cap to component map 2024-04-30 11:14:35 +02:00
Jason Penilla
3fdd0948b7
Fix sealed package check in BytecodeModifyingURLClassLoader (#10627) 2024-04-30 01:21:16 -07:00
Jake Potrebic
25e44bc63b
fix dumpitem command nbt format
use the snbt visitor instead of plain string
2024-04-29 18:49:19 -07:00
Jake Potrebic
812ccb96a4
fix spawnChunkRadius gamerule resetting
Fixes #10622
2024-04-29 15:22:29 -07:00
Noah van der Aa
44ee092878
1.20.6 (#10623) 2024-04-30 00:16:07 +02:00
Bjarne Koll
8f7ac62905
Validate manifest provided mapping namespace (#10612)
With plugins adopting paperweights mapping namespaces in their manifest
file in and after paper 1.20.5, incorrectly spelled namespaces
previously were simply implied as the spigot namespace.

This commit properly ensures plugin authors are using a known mapping
namespace in their manifest, avoiding down the line confusion on
incorrect remapping behaviour.

The commit also fixes two incorrect log parameters.
2024-04-28 20:43:50 -07:00
Jake Potrebic
f9397e108e
Fix incorrect Commodore mapping of sweeping enchant 2024-04-28 17:25:21 -07:00
Jake Potrebic
69a971a35c
Reset component prototype on itemtype change 2024-04-28 17:13:30 -07:00
Jason Penilla
05308fc299
Remap plugin libraries with namespace set to spigot (#10610)
* Remap plugin libraries with namespace set to spigot

* Remap plugin libraries with namespace set to spigot
2024-04-28 14:55:10 -07:00
Jason Penilla
7f2d5315fd
Rewrite reflection in library loader jars (#10608)
* Rewrite reflection in library loader jars

* Address todos
2024-04-28 13:14:10 -07:00
Jake Potrebic
61c9c07e95
Fix CraftMetaBlockState adding extra tags 2024-04-28 12:34:16 -07:00
Shane Freeder
52ff3b7382
Add itemName components (Resolves #10467) (#10471)
* Add itemName components (Resolves ##10467)

* improve javadocs and formatting

* rebased

---------

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2024-04-28 10:08:59 -07:00
Jake Potrebic
0f4d328fc1
final missing validation for data components 2024-04-28 09:46:33 -07:00
Nassim Jahnke
aed7dcab98
Fix overly strong name validation in player heads
Closes #10477
2024-04-28 18:25:32 +02:00
Jake Potrebic
4491ac05d1
respect hard list size limits in ItemMeta 2024-04-28 09:06:14 -07:00
Nassim Jahnke
9d6e7e3df0
Don't hard fail on plugin remap error
Closes #10474
2024-04-28 17:25:44 +02:00
Jake Potrebic
c4a1cd137a
Fix issue with empty lists in adventure predicates
Fixes #10473
2024-04-28 08:22:16 -07:00
Shane Freeder
37b3891032
Fix another missing book meta tag 2024-04-28 13:48:20 +01:00
Shane Freeder
6e31f385e3
Fix book meta lacking resolved tag from older versions (Fixes #10470) 2024-04-28 13:22:54 +01:00
Nassim Jahnke
1a03cc9b60
Fix test compilation 2024-04-28 14:20:52 +02:00
Jake Potrebic
306b203c2d
more fixes for ItemMeta relating to components 2024-04-27 22:27:51 -07:00
Jake Potrebic
e16263c39f
Fix firework meta NPE
Fixes #10466
2024-04-27 20:57:42 -07:00
caramel
a3c4dc95e3
Fix the incorrect codec usage in the Style convert (#10465) 2024-04-27 20:32:11 -07:00
Jason Penilla
f187fd696a
Only scan org.bukkit.craftbukkit.inventory in MetaHandledTagsTest
fixes tests OOMing
2024-04-27 18:25:15 -07:00