diff --git a/src/main/java/com/minelittlepony/api/config/PonyConfig.java b/src/main/java/com/minelittlepony/api/config/PonyConfig.java index b5800986..b5d5d933 100644 --- a/src/main/java/com/minelittlepony/api/config/PonyConfig.java +++ b/src/main/java/com/minelittlepony/api/config/PonyConfig.java @@ -57,11 +57,6 @@ public class PonyConfig extends Config { .addComment("Helps to prevent entities from vanishing when they're in long stacks"); public final Setting horsieMode = value("settings", "horsieMode", false) .addComment("Enables the alternative horsey models from the April Fools 2023 update"); - public final Setting mixedHumanSkins = value("settings", "dualSkinMode", false) - .addComment("(Experimental) Use priority to decide between displaying the HDSkins' texture, or vanilla mojang server skin") - .addComment("(Experimental) eg. On pony level = HUMANS") - .addComment("(Experimental) Any time both skins resolve to the same race (eg. on pony-level HUMANS, or if both are ponies)") - .addComment("(Experimental) the skin with the highest priority will be chosen.");; public final Setting sizeOverride = value("debug", "sizeOverride", SizePreset.UNSET) .addComment("Overrides pony sizes") diff --git a/src/main/java/com/minelittlepony/client/compat/hdskins/MineLPHDSkins.java b/src/main/java/com/minelittlepony/client/compat/hdskins/MineLPHDSkins.java index 6d8916bf..8a893b69 100644 --- a/src/main/java/com/minelittlepony/client/compat/hdskins/MineLPHDSkins.java +++ b/src/main/java/com/minelittlepony/client/compat/hdskins/MineLPHDSkins.java @@ -61,14 +61,21 @@ public class MineLPHDSkins extends ClientSkinsProxy implements ClientModInitiali GuiSkins.setSkinsGui(GuiSkinsMineLP::new); HDSkins.getInstance().getSkinPrioritySorter().addSelector((skinType, playerSkins) -> { - if (skinType == SkinType.SKIN && PonyConfig.getInstance().mixedHumanSkins.get()) { + if (skinType == SkinType.SKIN) { Optional hdPony = getPony(playerSkins.hd()); Optional vanillaPony = getPony(playerSkins.vanilla()); - if (hdPony.isPresent() && vanillaPony.isPresent() - && vanillaPony.get().metadata().priority() > hdPony.get().metadata().priority() - && (PonyConfig.getInstance().ponyLevel.get() == PonyLevel.HUMANS || vanillaPony.get().metadata().race().isHuman() == hdPony.get().metadata().race().isHuman())) { - return playerSkins.vanilla(); + if (hdPony.isPresent() && vanillaPony.isPresent()) { + PonyLevel level = PonyConfig.getInstance().ponyLevel.get(); + boolean vanillaHuman = vanillaPony.get().metadata().race().isHuman(); + boolean hdHuman = hdPony.get().metadata().race().isHuman(); + if (vanillaHuman != hdHuman) { + return (level == PonyLevel.HUMANS ? vanillaHuman : hdHuman) ? playerSkins.vanilla() : playerSkins.hd(); + } + + if (vanillaPony.get().metadata().priority() > hdPony.get().metadata().priority()) { + return playerSkins.vanilla(); + } } } return playerSkins.combined(); diff --git a/src/main/resources/assets/minelittlepony/lang/en_us.json b/src/main/resources/assets/minelittlepony/lang/en_us.json index 384b1449..220fa574 100644 --- a/src/main/resources/assets/minelittlepony/lang/en_us.json +++ b/src/main/resources/assets/minelittlepony/lang/en_us.json @@ -23,7 +23,6 @@ "minelp.options.flappyelytras": "Flap Wings whilst Gliding", "minelp.options.horsiemode": "Horsey Horse Mode", "minelp.options.nofun": "Boring Mode", - "minelp.options.dualskinmode": "(Experimental) Dual Skin Mode", "minelp.options.button": "Display On Title Screen", "minelp.options.button.on": "Always Display\n\nBoth the pony button and HD Skins button are visible (if installed)", "minelp.options.button.auto": "Display only when HD Skins is not installed",