From 358691570fc84675ae68b80bdac34e831f6a4b82 Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 21 Oct 2018 17:19:00 +0200 Subject: [PATCH] Super secret stuff --- src/main/java/com/minelittlepony/PonyConfig.java | 13 ++++++++++++- .../com/minelittlepony/gui/GuiPonySettings.java | 16 ++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/minelittlepony/PonyConfig.java b/src/main/java/com/minelittlepony/PonyConfig.java index d0b5f161..de719cf2 100644 --- a/src/main/java/com/minelittlepony/PonyConfig.java +++ b/src/main/java/com/minelittlepony/PonyConfig.java @@ -1,5 +1,7 @@ package com.minelittlepony; +import net.minecraft.util.math.MathHelper; + import com.google.gson.annotations.Expose; import com.minelittlepony.pony.data.PonyLevel; import com.minelittlepony.settings.SensibleConfig; @@ -42,6 +44,8 @@ public class PonyConfig extends SensibleConfig implements Exposable { @Expose public boolean guardians = true; @Expose public boolean endermen = true; + @Expose private float globalScaleFactor = 0.9F; + /** * Gets the current PonyLevel. That is the level of ponies you would like to see. * @@ -74,7 +78,14 @@ public class PonyConfig extends SensibleConfig implements Exposable { } } + public void setGlobalScaleFactor(float f) { + globalScaleFactor = Math.round(MathHelper.clamp(f, 0.1F, 1) * 100) / 100F; + } + + /** + * Gets the universal scale factor used to determine how tall ponies are. + */ public float getGlobalScaleFactor() { - return showscale ? 0.9F : 1; + return showscale ? globalScaleFactor : 1; } } diff --git a/src/main/java/com/minelittlepony/gui/GuiPonySettings.java b/src/main/java/com/minelittlepony/gui/GuiPonySettings.java index 6ab1e299..3e3ceea5 100644 --- a/src/main/java/com/minelittlepony/gui/GuiPonySettings.java +++ b/src/main/java/com/minelittlepony/gui/GuiPonySettings.java @@ -45,6 +45,22 @@ public class GuiPonySettings extends SettingsPanel { return (float)level.ordinal(); })); + if (isCtrlKeyDown() && isShiftKeyDown()) { + addButton(new Label(LEFT, row += 30, OPTIONS_PREFIX + "global_scale", -1)); + addButton(new Slider(LEFT, row += 15, 0.1F, 1, config.getGlobalScaleFactor(), (int id, String name, float value) -> { + if (value >= 1) { + return "Scale: Default"; + } + if (value == 0.9F) { + return "Scale: Show Accurate"; + } + return String.format("Scale: %f", value); + }, v -> { + config.setGlobalScaleFactor(v); + return config.getGlobalScaleFactor(); + })); + } + row += 15; addButton(new Label(LEFT, row += 15, OPTIONS_PREFIX + "options", -1)); for (PonySettings i : PonySettings.values()) {