From d5953b6809ceb9a134845174fd5f0e8c7fd4570d Mon Sep 17 00:00:00 2001 From: RoccoDev Date: Mon, 31 Aug 2026 21:40:47 +0200 Subject: [PATCH] Rewrite cat to ocelot variants in 1.14->1.13.2 --- .../rewriter/EntityPacketRewriter1_14.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_14to1_13_2/rewriter/EntityPacketRewriter1_14.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_14to1_13_2/rewriter/EntityPacketRewriter1_14.java index e81d5d56..1a2c0250 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_14to1_13_2/rewriter/EntityPacketRewriter1_14.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_14to1_13_2/rewriter/EntityPacketRewriter1_14.java @@ -484,7 +484,21 @@ protected void registerRewrites() { filter().type(EntityTypes1_14.CAT).handler((event, data) -> { if (event.index() == 15) { - data.setValue(1); + Integer catVariant = data.value(); + int ocelotVariant = catVariant != null ? switch (catVariant) { + // new ocelot mappings + case 0, 1, 2, 3 -> catVariant; + + // Map to tuxedo + case 10 -> 1; // all_black + // Map to red + case 5, 6 -> 2; // calico, persian + // Map to siamese + case 4, 7, 8, 9 -> 3; // british_shorthair, ragdoll, white, jellie + + default -> 0; // Untamed + } : 0; + data.setValue(ocelotVariant); } else if (event.index() == 13) { data.setValue((byte) ((byte) data.getValue() & 0x4)); }