diff --git a/src/main/java/mods/betterfoliage/client/gui/ConfigGuiScreenBase.java b/src/main/java/mods/betterfoliage/client/gui/ConfigGuiScreenBase.java index 8a8cf60..38cbb60 100644 --- a/src/main/java/mods/betterfoliage/client/gui/ConfigGuiScreenBase.java +++ b/src/main/java/mods/betterfoliage/client/gui/ConfigGuiScreenBase.java @@ -2,6 +2,8 @@ package mods.betterfoliage.client.gui; import java.util.List; +import org.lwjgl.input.Keyboard; + import mods.betterfoliage.client.gui.widget.IOptionWidget; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; @@ -51,7 +53,7 @@ public class ConfigGuiScreenBase extends GuiScreen { @Override protected void actionPerformed(GuiButton button) { super.actionPerformed(button); - for (IOptionWidget widget : widgets) widget.onAction(button.id); + for (IOptionWidget widget : widgets) widget.onAction(button.id, Keyboard.isKeyDown(42)); onButtonPress(button.id); updateButtons(); } diff --git a/src/main/java/mods/betterfoliage/client/gui/widget/IOptionWidget.java b/src/main/java/mods/betterfoliage/client/gui/widget/IOptionWidget.java index 44db659..2e75f7e 100644 --- a/src/main/java/mods/betterfoliage/client/gui/widget/IOptionWidget.java +++ b/src/main/java/mods/betterfoliage/client/gui/widget/IOptionWidget.java @@ -14,6 +14,6 @@ public interface IOptionWidget { public void addButtons(List buttonList, int xOffset, int yOffset); public void drawStrings(GuiScreen screen, FontRenderer fontRenderer, int xOffset, int yOffset, int labelColor, int numColor); - public void onAction(int buttonId); + public void onAction(int buttonId, boolean shiftPressed); } \ No newline at end of file diff --git a/src/main/java/mods/betterfoliage/client/gui/widget/OptionDoubleWidget.java b/src/main/java/mods/betterfoliage/client/gui/widget/OptionDoubleWidget.java index 3066d2d..53cba52 100644 --- a/src/main/java/mods/betterfoliage/client/gui/widget/OptionDoubleWidget.java +++ b/src/main/java/mods/betterfoliage/client/gui/widget/OptionDoubleWidget.java @@ -46,8 +46,8 @@ public class OptionDoubleWidget implements IOptionWidget { screen.drawCenteredString(fontRenderer, String.format(formatString, option.value), xOffset + x + width - 20 - numWidth / 2, yOffset + y + 5, numColor); } - public void onAction(int buttonId) { - if (buttonId == idDecrement) option.decrement(); - if (buttonId == idIncrement) option.increment(); + public void onAction(int buttonId, boolean shiftPressed) { + if (buttonId == idDecrement) option.decrement(shiftPressed ? 5 :1); + if (buttonId == idIncrement) option.increment(shiftPressed ? 5 :1); } } diff --git a/src/main/java/mods/betterfoliage/client/gui/widget/OptionIntegerWidget.java b/src/main/java/mods/betterfoliage/client/gui/widget/OptionIntegerWidget.java index e3c5d24..498ec07 100644 --- a/src/main/java/mods/betterfoliage/client/gui/widget/OptionIntegerWidget.java +++ b/src/main/java/mods/betterfoliage/client/gui/widget/OptionIntegerWidget.java @@ -43,8 +43,8 @@ public class OptionIntegerWidget implements IOptionWidget { screen.drawCenteredString(fontRenderer, Integer.toString(option.value), xOffset + x + width - 20 - numWidth / 2, yOffset + y + 5, numColor); } - public void onAction(int buttonId) { - if (buttonId == idDecrement) option.decrement(); - if (buttonId == idIncrement) option.increment(); + public void onAction(int buttonId, boolean shiftPressed) { + if (buttonId == idDecrement) option.decrement(shiftPressed ? 5 :1); + if (buttonId == idIncrement) option.increment(shiftPressed ? 5 :1); } } diff --git a/src/main/java/mods/betterfoliage/common/config/OptionDouble.java b/src/main/java/mods/betterfoliage/common/config/OptionDouble.java index 26ceab3..91d60dc 100644 --- a/src/main/java/mods/betterfoliage/common/config/OptionDouble.java +++ b/src/main/java/mods/betterfoliage/common/config/OptionDouble.java @@ -14,13 +14,13 @@ public class OptionDouble { this.value = value; } - public void increment() { - value += step; + public void increment(int times) { + value += times * step; if (value > max) value = max; } - public void decrement() { - value -= step; + public void decrement(int times) { + value -= times * step; if (value < min) value = min; } } diff --git a/src/main/java/mods/betterfoliage/common/config/OptionInteger.java b/src/main/java/mods/betterfoliage/common/config/OptionInteger.java index 448c887..f2448ad 100644 --- a/src/main/java/mods/betterfoliage/common/config/OptionInteger.java +++ b/src/main/java/mods/betterfoliage/common/config/OptionInteger.java @@ -14,13 +14,13 @@ public class OptionInteger { this.value = value; } - public void increment() { - value += step; + public void increment(int times) { + value += times * step; if (value > max) value = max; } - public void decrement() { - value -= step; + public void decrement(int times) { + value -= times * step; if (value < min) value = min; } }