fix cats and ocelots

This commit is contained in:
Gerrygames 2019-05-21 23:06:22 +02:00
parent 114dbedfb7
commit 3d1aa03abb
2 changed files with 20 additions and 5 deletions

View File

@ -34,6 +34,7 @@ public class EntityTypeMapping {
oldEntityToOldObject.put(type1_13.getId(), object1_13.getId()); oldEntityToOldObject.put(type1_13.getId(), object1_13.getId());
} }
} }
entityTypes.put(50, 48); // ocelot
} }
public static Optional<Integer> getOldId(int type1_14) { public static Optional<Integer> getOldId(int type1_14) {

View File

@ -292,10 +292,7 @@ public class EntityPackets1_14 extends EntityRewriter<Protocol1_13_2To1_14> {
setDisplayNameJson(true); setDisplayNameJson(true);
setDisplayNameMetaType(MetaType1_13_2.OptChat); setDisplayNameMetaType(MetaType1_13_2.OptChat);
regEntType(EntityType1_14.EntityType.CAT, EntityType1_14.EntityType.OCELOT).mobName("Cat").spawnMetadata(e -> { regEntType(EntityType1_14.EntityType.CAT, EntityType1_14.EntityType.OCELOT).mobName("Cat");
// 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.TRADER_LLAMA, EntityType1_14.EntityType.LLAMA).mobName("Trader Llama"); 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.FOX, EntityType1_14.EntityType.WOLF).mobName("Fox");
regEntType(EntityType1_14.EntityType.PANDA, EntityType1_14.EntityType.POLAR_BEAR).mobName("Panda"); regEntType(EntityType1_14.EntityType.PANDA, EntityType1_14.EntityType.POLAR_BEAR).mobName("Panda");
@ -336,7 +333,6 @@ public class EntityPackets1_14 extends EntityRewriter<Protocol1_13_2To1_14> {
registerMetaHandler().filter(EntityType1_14.EntityType.PANDA, 19).removed(); registerMetaHandler().filter(EntityType1_14.EntityType.PANDA, 19).removed();
registerMetaHandler().filter(EntityType1_14.EntityType.PANDA, 20).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, 18).removed();
registerMetaHandler().filter(EntityType1_14.EntityType.CAT, 19).removed(); registerMetaHandler().filter(EntityType1_14.EntityType.CAT, 19).removed();
registerMetaHandler().filter(EntityType1_14.EntityType.CAT, 20).removed(); registerMetaHandler().filter(EntityType1_14.EntityType.CAT, 20).removed();
@ -434,6 +430,24 @@ public class EntityPackets1_14 extends EntityRewriter<Protocol1_13_2To1_14> {
} }
return meta; 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) { public int villagerDataToProfession(VillagerData data) {