From c8fde38ee7494944f648a0e8fe670ee3b71df394 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 3 Nov 2022 00:47:49 +0100 Subject: [PATCH] Add a debug setting to help with testing races --- .../java/com/minelittlepony/client/GuiPonySettings.java | 3 +++ src/main/java/com/minelittlepony/client/pony/Pony.java | 6 ++++++ src/main/java/com/minelittlepony/settings/PonyConfig.java | 3 +++ src/main/resources/assets/minelittlepony/lang/en_us.json | 1 + 4 files changed, 13 insertions(+) diff --git a/src/main/java/com/minelittlepony/client/GuiPonySettings.java b/src/main/java/com/minelittlepony/client/GuiPonySettings.java index a34f0b9a..9260103f 100644 --- a/src/main/java/com/minelittlepony/client/GuiPonySettings.java +++ b/src/main/java/com/minelittlepony/client/GuiPonySettings.java @@ -98,6 +98,9 @@ public class GuiPonySettings extends GameGui { content.addButton(new Label(LEFT, row += 30)).getStyle().setText("minelp.debug.size"); content.addButton(new EnumSlider<>(LEFT, row += 15, config.sizeOverride.get()) .onChange(config.sizeOverride::set)); + content.addButton(new Label(LEFT, row += 30)).getStyle().setText("minelp.debug.race"); + content.addButton(new EnumSlider<>(LEFT, row += 15, config.raceOverride.get()) + .onChange(config.raceOverride::set)); } row += 20; diff --git a/src/main/java/com/minelittlepony/client/pony/Pony.java b/src/main/java/com/minelittlepony/client/pony/Pony.java index ba857d7a..16402ac5 100644 --- a/src/main/java/com/minelittlepony/client/pony/Pony.java +++ b/src/main/java/com/minelittlepony/client/pony/Pony.java @@ -253,6 +253,12 @@ public class Pony implements IPony { * PonyLevel.PONIES (should) return a pony if this is a human. Don't be fooled, though. It doesn't. */ public static Race getEffectiveRace(Race race, boolean ignorePony) { + + Race override = MineLittlePony.getInstance().getConfig().raceOverride.get(); + if (override != Race.HUMAN) { + return override; + } + if (MineLittlePony.getInstance().getConfig().getEffectivePonyLevel(ignorePony) == PonyLevel.HUMANS) { return Race.HUMAN; } diff --git a/src/main/java/com/minelittlepony/settings/PonyConfig.java b/src/main/java/com/minelittlepony/settings/PonyConfig.java index 827e9fc6..ed52cf92 100644 --- a/src/main/java/com/minelittlepony/settings/PonyConfig.java +++ b/src/main/java/com/minelittlepony/settings/PonyConfig.java @@ -46,6 +46,9 @@ public class PonyConfig extends Config { .addComment("Overrides pony sizes") .addComment("Possible values: TALL, BULKY, LANKY, NORMAL, YEARLING, FOAL, UNSET (default)"); + public final Setting raceOverride = value("debug", "raceOverride", Race.HUMAN) + .addComment("Overrides pony races") + .addComment("Possible values: HUMAN (default), EARTH, PEGASUS, UNICORN, ALICORN, CHANGELING, ZEBRA, CHANGEDLING, GRYPHON, HIPPOGRIFF, KIRIN, BAYPONT, SEAPONY"); public final Setting flappyElytras = value("customisation", "flappyElytras", false) .addComment("Pegasi will use their wings to fly even when they're wearing an elytra"); diff --git a/src/main/resources/assets/minelittlepony/lang/en_us.json b/src/main/resources/assets/minelittlepony/lang/en_us.json index 049ac342..d4228e31 100644 --- a/src/main/resources/assets/minelittlepony/lang/en_us.json +++ b/src/main/resources/assets/minelittlepony/lang/en_us.json @@ -49,6 +49,7 @@ "minelp.debug.scale.sa": "Show Accurate", "minelp.debug.scale.min": "Miniscule", "minelp.debug.size": "Size Override", + "minelp.debug.race": "Race Override", "hdskins.mode.minelp_seapony": "Seapony (in water)" }