diff --git a/SpigotCore_Main/src/de/steamwar/entity/RArmorStand.java b/SpigotCore_Main/src/de/steamwar/entity/RArmorStand.java index 152e858..5513d2b 100644 --- a/SpigotCore_Main/src/de/steamwar/entity/RArmorStand.java +++ b/SpigotCore_Main/src/de/steamwar/entity/RArmorStand.java @@ -52,7 +52,7 @@ public class RArmorStand extends REntity { private final Size size; public RArmorStand(REntityServer server, Location location, Size size) { - super(server, EntityType.ARMOR_STAND, location,0); + super(server, EntityType.ARMOR_STAND, location); this.size = size; } diff --git a/SpigotCore_Main/src/de/steamwar/entity/REntity.java b/SpigotCore_Main/src/de/steamwar/entity/REntity.java index 58a7720..281b66f 100644 --- a/SpigotCore_Main/src/de/steamwar/entity/REntity.java +++ b/SpigotCore_Main/src/de/steamwar/entity/REntity.java @@ -70,7 +70,11 @@ public class REntity { private String displayName; protected final Map itemSlots; - public REntity(REntityServer server, EntityType entityType, Location location,int objectData) { + public REntity(REntityServer server, EntityType entityType, Location location) { + this(server, entityType, new UUID(random.nextLong() & -61441L | 16384L, random.nextLong() & 4611686018427387903L | -9223372036854775808L), location,0); + } + + protected REntity(REntityServer server, EntityType entityType, Location location,int objectData) { this(server, entityType, new UUID(random.nextLong() & -61441L | 16384L, random.nextLong() & 4611686018427387903L | -9223372036854775808L), location,objectData); } @@ -373,7 +377,20 @@ public class REntity { protected static Function spawnPacketGenerator(Class spawnPacket, int posOffset) { Reflection.FieldAccessor entityId = Reflection.getField(spawnPacket, int.class, 0); - Reflection.FieldAccessor additionalData = Reflection.getField(spawnPacket, int.class, 9); + + //Core version 8, index = 10 + //Core version 9 to 18, index = 6 + //Core version 19, index = 7 + + int index; + switch (Core.getVersion()) { + case 8: index = 10; + case 19: index = 7; + default: index = 6; + } + + + Reflection.FieldAccessor additionalData = Reflection.getField(spawnPacket, int.class, index); BountifulWrapper.PositionSetter position = BountifulWrapper.impl.getPositionSetter(spawnPacket, posOffset); return entity -> {