diff --git a/api/src/main/java/com/viaversion/viaversion/api/configuration/ViaVersionConfig.java b/api/src/main/java/com/viaversion/viaversion/api/configuration/ViaVersionConfig.java index c80737fe3..72227841f 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/configuration/ViaVersionConfig.java +++ b/api/src/main/java/com/viaversion/viaversion/api/configuration/ViaVersionConfig.java @@ -452,4 +452,11 @@ public interface ViaVersionConfig extends Config { * @return true if enabled */ boolean isArmorToggleFix(); + + /** + * Ocelots will always be translated to cats for 1.14+ clients on 1.13 servers. + * + * @return true if enabled + */ + boolean translateOcelotToCat(); } diff --git a/common/src/main/java/com/viaversion/viaversion/configuration/AbstractViaConfig.java b/common/src/main/java/com/viaversion/viaversion/configuration/AbstractViaConfig.java index 4072f58d6..574f24916 100644 --- a/common/src/main/java/com/viaversion/viaversion/configuration/AbstractViaConfig.java +++ b/common/src/main/java/com/viaversion/viaversion/configuration/AbstractViaConfig.java @@ -89,6 +89,7 @@ public abstract class AbstractViaConfig extends Config implements ViaVersionConf private JsonElement resourcePack1_17PromptMessage; private WorldIdentifiers map1_16WorldNames; private boolean cache1_17Light; + private boolean translateOcelotToCat; protected AbstractViaConfig(final File configFile) { super(configFile); @@ -157,6 +158,7 @@ public abstract class AbstractViaConfig extends Config implements ViaVersionConf worlds.getOrDefault("nether", WorldIdentifiers.NETHER_DEFAULT), worlds.getOrDefault("end", WorldIdentifiers.END_DEFAULT)); cache1_17Light = getBoolean("cache-1_17-light", true); + translateOcelotToCat = getBoolean("translate-ocelot-to-cat", false); } private BlockedProtocolVersions loadBlockedProtocolVersions() { @@ -528,4 +530,9 @@ public abstract class AbstractViaConfig extends Config implements ViaVersionConf public boolean isArmorToggleFix() { return false; } + + @Override + public boolean translateOcelotToCat() { + return translateOcelotToCat; + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/metadata/MetadataRewriter1_14To1_13_2.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/metadata/MetadataRewriter1_14To1_13_2.java index 05acc1187..324124b42 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/metadata/MetadataRewriter1_14To1_13_2.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_14to1_13_2/metadata/MetadataRewriter1_14To1_13_2.java @@ -39,7 +39,12 @@ public class MetadataRewriter1_14To1_13_2 extends EntityRewriter { EntityType type = event.entityType(); if (type.is(EntityTypes1_14.WITCH) || type.is(EntityTypes1_14.RAVAGER) || type.isOrHasParent(EntityTypes1_14.ABSTRACT_ILLAGER_BASE)) { diff --git a/common/src/main/resources/assets/viaversion/config.yml b/common/src/main/resources/assets/viaversion/config.yml index 9a1088885..05a5ac1b8 100644 --- a/common/src/main/resources/assets/viaversion/config.yml +++ b/common/src/main/resources/assets/viaversion/config.yml @@ -175,6 +175,9 @@ map-1_16-world-names: nether: "minecraft:the_nether" end: "minecraft:the_end" # +# Ocelots will always be translated to cats for 1.14+ clients on 1.13 servers. +translate-ocelot-to-cat: false +# #----------------------------------------------------------# # 1.9+ CLIENTS ON 1.8 SERVERS OPTIONS # #----------------------------------------------------------#