Updated to 1.19.3

This commit is contained in:
SBDeveloper 2022-12-20 20:00:52 +01:00
parent 7311ddbeec
commit e8ab59f070
2 changed files with 26 additions and 12 deletions

View file

@ -188,7 +188,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.19.2-R0.1-SNAPSHOT</version>
<version>1.19.3-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>

View file

@ -317,14 +317,6 @@ public class MapWrapper extends AbstractMapWrapper {
private void sendItemFramePacket(Player player, int entityId, ItemStack stack, int mapId) {
Object nmsStack = createCraftItemStack(stack, mapId);
Object dataWatcher = ReflectionUtil.callConstructorNull(dataWatcherClass, entityClass);
Object packet = ReflectionUtil.callConstructor(entityMetadataPacketClass,
entityId,
dataWatcher, //dummy watcher!
true
);
String dataWatcherObjectName;
if (ReflectionUtil.supports(19)) { //1.19, same as 1.17 and 1.18(.2)
dataWatcherObjectName = "ao";
@ -340,10 +332,32 @@ public class MapWrapper extends AbstractMapWrapper {
dataWatcherObjectName = "c";
}
Object dataWatcherObject = ReflectionUtil.getDeclaredField(entityItemFrameClass, dataWatcherObjectName);
Object dataWatcherItem = ReflectionUtil.callFirstConstructor(dataWatcherItemClass, dataWatcherObject, nmsStack);
List list = new ArrayList<>();
list.add(dataWatcherItem);
ReflectionUtil.setDeclaredField(packet, "b", list);
Object packet;
if (ReflectionUtil.supports(19, 3)) { //1.19.3
Object dataWatcherField = ReflectionUtil.getDeclaredField(dataWatcherClass, "b");
Object dataWatcherItem = ReflectionUtil.callDeclaredMethod(dataWatcherField, "a", dataWatcherObject, nmsStack);
list.add(dataWatcherItem);
packet = ReflectionUtil.callConstructor(entityMetadataPacketClass,
entityId,
list
);
} else { //1.19.2 or lower
Object dataWatcher = ReflectionUtil.callConstructorNull(dataWatcherClass, entityClass);
packet = ReflectionUtil.callConstructor(entityMetadataPacketClass,
entityId,
dataWatcher, //dummy watcher!
true
);
Object dataWatcherItem = ReflectionUtil.callFirstConstructor(dataWatcherItemClass, dataWatcherObject, nmsStack);
list.add(dataWatcherItem);
ReflectionUtil.setDeclaredField(packet, "b", list);
}
ReflectionUtil.sendPacketSync(player, packet);
}