Fixed second skin layer issue (1.9 - 1.12).

This commit is contained in:
JitseB 2018-04-14 11:23:50 +02:00
parent 3dd578c877
commit 96b0f68da9
8 changed files with 28 additions and 20 deletions

View File

@ -5,7 +5,10 @@
package net.jitse.npclib.nms.v1_10_r1.packets;
import com.comphenix.tinyprotocol.Reflection;
import net.minecraft.server.v1_10_R1.*;
import net.minecraft.server.v1_10_R1.DataWatcher;
import net.minecraft.server.v1_10_R1.DataWatcherObject;
import net.minecraft.server.v1_10_R1.DataWatcherRegistry;
import net.minecraft.server.v1_10_R1.PacketPlayOutNamedEntitySpawn;
import org.bukkit.Location;
import java.util.UUID;
@ -33,10 +36,8 @@ public class PacketPlayOutNamedEntitySpawnWrapper {
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "g", byte.class)
.set(packetPlayOutNamedEntitySpawn, (byte) ((int) (location.getPitch() * 256.0F / 360.0F)));
// Todo: This DataWatcher object doesn't register correctly.
DataWatcher dataWatcher = new DataWatcher(null);
DataWatcherObject<Byte> object = DataWatcher.a(EntityHuman.class, DataWatcherRegistry.a);
dataWatcher.register(object, (byte) 127);
dataWatcher.register(new DataWatcherObject<>(13, DataWatcherRegistry.a), (byte) 127);
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "h", DataWatcher.class)
.set(packetPlayOutNamedEntitySpawn, dataWatcher);

View File

@ -5,7 +5,10 @@
package net.jitse.npclib.nms.v1_11_r1.packets;
import com.comphenix.tinyprotocol.Reflection;
import net.minecraft.server.v1_11_R1.*;
import net.minecraft.server.v1_11_R1.DataWatcher;
import net.minecraft.server.v1_11_R1.DataWatcherObject;
import net.minecraft.server.v1_11_R1.DataWatcherRegistry;
import net.minecraft.server.v1_11_R1.PacketPlayOutNamedEntitySpawn;
import org.bukkit.Location;
import java.util.UUID;
@ -33,10 +36,8 @@ public class PacketPlayOutNamedEntitySpawnWrapper {
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "g", byte.class)
.set(packetPlayOutNamedEntitySpawn, (byte) ((int) (location.getPitch() * 256.0F / 360.0F)));
// Todo: This DataWatcher object doesn't register correctly.
DataWatcher dataWatcher = new DataWatcher(null);
DataWatcherObject<Byte> object = DataWatcher.a(EntityHuman.class, DataWatcherRegistry.a);
dataWatcher.register(object, (byte) 127);
dataWatcher.register(new DataWatcherObject<>(13, DataWatcherRegistry.a), (byte) 127);
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "h", DataWatcher.class)
.set(packetPlayOutNamedEntitySpawn, dataWatcher);

View File

@ -5,7 +5,10 @@
package net.jitse.npclib.nms.v1_12_r1.packets;
import com.comphenix.tinyprotocol.Reflection;
import net.minecraft.server.v1_12_R1.*;
import net.minecraft.server.v1_12_R1.DataWatcher;
import net.minecraft.server.v1_12_R1.DataWatcherObject;
import net.minecraft.server.v1_12_R1.DataWatcherRegistry;
import net.minecraft.server.v1_12_R1.PacketPlayOutNamedEntitySpawn;
import org.bukkit.Location;
import java.util.UUID;
@ -33,10 +36,8 @@ public class PacketPlayOutNamedEntitySpawnWrapper {
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "g", byte.class)
.set(packetPlayOutNamedEntitySpawn, (byte) ((int) (location.getPitch() * 256.0F / 360.0F)));
// Todo: This DataWatcher object doesn't register correctly.
DataWatcher dataWatcher = new DataWatcher(null);
DataWatcherObject<Byte> object = DataWatcher.a(EntityHuman.class, DataWatcherRegistry.a);
dataWatcher.register(object, (byte) 127);
dataWatcher.register(new DataWatcherObject<>(13, DataWatcherRegistry.a), (byte) 127);
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "h", DataWatcher.class)
.set(packetPlayOutNamedEntitySpawn, dataWatcher);

View File

@ -36,6 +36,7 @@ public class PacketPlayOutNamedEntitySpawnWrapper {
DataWatcher dataWatcher = new DataWatcher(null);
dataWatcher.a(10, (byte) 127);
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "i", DataWatcher.class)
.set(packetPlayOutNamedEntitySpawn, dataWatcher);

View File

@ -36,6 +36,7 @@ public class PacketPlayOutNamedEntitySpawnWrapper {
DataWatcher dataWatcher = new DataWatcher(null);
dataWatcher.a(10, (byte) 127);
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "i", DataWatcher.class)
.set(packetPlayOutNamedEntitySpawn, dataWatcher);

View File

@ -36,6 +36,7 @@ public class PacketPlayOutNamedEntitySpawnWrapper {
DataWatcher dataWatcher = new DataWatcher(null);
dataWatcher.a(10, (byte) 127);
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "i", DataWatcher.class)
.set(packetPlayOutNamedEntitySpawn, dataWatcher);

View File

@ -5,7 +5,10 @@
package net.jitse.npclib.nms.v1_9_r1.packets;
import com.comphenix.tinyprotocol.Reflection;
import net.minecraft.server.v1_9_R1.*;
import net.minecraft.server.v1_9_R1.DataWatcher;
import net.minecraft.server.v1_9_R1.DataWatcherObject;
import net.minecraft.server.v1_9_R1.DataWatcherRegistry;
import net.minecraft.server.v1_9_R1.PacketPlayOutNamedEntitySpawn;
import org.bukkit.Location;
import java.util.UUID;
@ -33,10 +36,8 @@ public class PacketPlayOutNamedEntitySpawnWrapper {
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "g", byte.class)
.set(packetPlayOutNamedEntitySpawn, (byte) ((int) (location.getPitch() * 256.0F / 360.0F)));
// Todo: This DataWatcher object doesn't register correctly.
DataWatcher dataWatcher = new DataWatcher(null);
DataWatcherObject<Byte> object = DataWatcher.a(EntityHuman.class, DataWatcherRegistry.a);
dataWatcher.register(object, (byte) 127);
dataWatcher.register(new DataWatcherObject<>(12, DataWatcherRegistry.a), (byte) 127);
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "h", DataWatcher.class)
.set(packetPlayOutNamedEntitySpawn, dataWatcher);

View File

@ -5,7 +5,10 @@
package net.jitse.npclib.nms.v1_9_r2.packets;
import com.comphenix.tinyprotocol.Reflection;
import net.minecraft.server.v1_9_R2.*;
import net.minecraft.server.v1_9_R2.DataWatcher;
import net.minecraft.server.v1_9_R2.DataWatcherObject;
import net.minecraft.server.v1_9_R2.DataWatcherRegistry;
import net.minecraft.server.v1_9_R2.PacketPlayOutNamedEntitySpawn;
import org.bukkit.Location;
import java.util.UUID;
@ -33,10 +36,8 @@ public class PacketPlayOutNamedEntitySpawnWrapper {
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "g", byte.class)
.set(packetPlayOutNamedEntitySpawn, (byte) ((int) (location.getPitch() * 256.0F / 360.0F)));
// Todo: This DataWatcher object doesn't register correctly.
DataWatcher dataWatcher = new DataWatcher(null);
DataWatcherObject<Byte> object = DataWatcher.a(EntityHuman.class, DataWatcherRegistry.a);
dataWatcher.register(object, (byte) 127);
dataWatcher.register(new DataWatcherObject<>(12, DataWatcherRegistry.a), (byte) 127);
Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "h", DataWatcher.class)
.set(packetPlayOutNamedEntitySpawn, dataWatcher);