diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/data/EntityTypeMapping.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/data/EntityTypeMapping.java index bff31c46..e7a57153 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/data/EntityTypeMapping.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/data/EntityTypeMapping.java @@ -34,6 +34,7 @@ public class EntityTypeMapping { oldEntityToOldObject.put(type1_13.getId(), object1_13.getId()); } } + entityTypes.put(50, 48); // ocelot } public static Optional getOldId(int type1_14) { diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/packets/EntityPackets1_14.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/packets/EntityPackets1_14.java index be615bd8..9a49cdaf 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/packets/EntityPackets1_14.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/packets/EntityPackets1_14.java @@ -292,10 +292,7 @@ public class EntityPackets1_14 extends EntityRewriter { setDisplayNameJson(true); setDisplayNameMetaType(MetaType1_13_2.OptChat); - regEntType(EntityType1_14.EntityType.CAT, EntityType1_14.EntityType.OCELOT).mobName("Cat").spawnMetadata(e -> { - // e.add(new Metadata(13, MetaType1_13_2.Byte, (byte) 0x4)); // Tamed cat - }); - regEntType(EntityType1_14.EntityType.OCELOT, EntityType1_14.EntityType.OCELOT).mobName("Ocelot"); + regEntType(EntityType1_14.EntityType.CAT, EntityType1_14.EntityType.OCELOT).mobName("Cat"); regEntType(EntityType1_14.EntityType.TRADER_LLAMA, EntityType1_14.EntityType.LLAMA).mobName("Trader Llama"); regEntType(EntityType1_14.EntityType.FOX, EntityType1_14.EntityType.WOLF).mobName("Fox"); regEntType(EntityType1_14.EntityType.PANDA, EntityType1_14.EntityType.POLAR_BEAR).mobName("Panda"); @@ -336,7 +333,6 @@ public class EntityPackets1_14 extends EntityRewriter { registerMetaHandler().filter(EntityType1_14.EntityType.PANDA, 19).removed(); registerMetaHandler().filter(EntityType1_14.EntityType.PANDA, 20).removed(); - registerMetaHandler().filter(EntityType1_14.EntityType.CAT, 17).removed(); registerMetaHandler().filter(EntityType1_14.EntityType.CAT, 18).removed(); registerMetaHandler().filter(EntityType1_14.EntityType.CAT, 19).removed(); registerMetaHandler().filter(EntityType1_14.EntityType.CAT, 20).removed(); @@ -434,6 +430,24 @@ public class EntityPackets1_14 extends EntityRewriter { } return meta; }); + + registerMetaHandler().filter(EntityType1_14.EntityType.OCELOT, 13).handle(e -> { + Metadata meta = e.getData(); + meta.setId(15); + meta.setMetaType(MetaType1_13_2.VarInt); + meta.setValue(0); + return meta; + }); + + registerMetaHandler().filter(EntityType1_14.EntityType.CAT).handle(e -> { + Metadata meta = e.getData(); + if (meta.getId() == 15) { + meta.setValue(1); + } else if (meta.getId() == 13) { + meta.setValue((byte) ((byte) meta.getValue() & 0x4)); + } + return meta; + }); } public int villagerDataToProfession(VillagerData data) {