diff options
Diffstat (limited to 'src')
5 files changed, 57 insertions, 2 deletions
diff --git a/src/main/java/me/shedaniel/config/REIConfig.java b/src/main/java/me/shedaniel/config/REIConfig.java index 9e6b3d36f..94737118d 100644 --- a/src/main/java/me/shedaniel/config/REIConfig.java +++ b/src/main/java/me/shedaniel/config/REIConfig.java @@ -13,5 +13,7 @@ public class REIConfig { public int usageKeyBind = KeyEvent.VK_U; public int hideKeyBind = KeyEvent.VK_O; public boolean centreSearchBox = false; + public REIItemListOrdering itemListOrdering = REIItemListOrdering.REGISTRY; + public boolean isAscending = true; } diff --git a/src/main/java/me/shedaniel/config/REIItemListOrdering.java b/src/main/java/me/shedaniel/config/REIItemListOrdering.java new file mode 100644 index 000000000..20bbaddab --- /dev/null +++ b/src/main/java/me/shedaniel/config/REIItemListOrdering.java @@ -0,0 +1,20 @@ +package me.shedaniel.config; + +import com.google.gson.annotations.SerializedName; + +public enum REIItemListOrdering { + + @SerializedName("registry") REGISTRY("ordering.rei.registry"), + @SerializedName("name") NAME("ordering.rei.name"), + @SerializedName("item_groups") ITEM_GROUPS("ordering.rei.item_groups"); + + private String nameTranslationKey; + + REIItemListOrdering(String nameTranslationKey) { + this.nameTranslationKey = nameTranslationKey; + } + + public String getNameTranslationKey() { + return nameTranslationKey; + } +} diff --git a/src/main/java/me/shedaniel/gui/ConfigGui.java b/src/main/java/me/shedaniel/gui/ConfigGui.java index 401ac103a..1073c1f24 100644 --- a/src/main/java/me/shedaniel/gui/ConfigGui.java +++ b/src/main/java/me/shedaniel/gui/ConfigGui.java @@ -2,6 +2,7 @@ package me.shedaniel.gui; import me.shedaniel.ClientListener; import me.shedaniel.Core; +import me.shedaniel.config.REIItemListOrdering; import me.shedaniel.gui.widget.KeyBindButton; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Gui; @@ -71,6 +72,29 @@ public class ConfigGui extends Gui { drawTooltip(Arrays.asList(I18n.translate("text.rei.centre_searchbox.tooltip").split("\n")), x, y); } }); + addButton(new ButtonWidget(1001, parent.width / 2 - 90, 150, 150, 20, "") { + @Override + public void onPressed(double double_1, double double_2) { + int index = Arrays.asList(REIItemListOrdering.values()).indexOf(Core.config.itemListOrdering); + if (index >= REIItemListOrdering.values().length) { + index = 0; + Core.config.isAscending = !Core.config.isAscending; + } + Core.config.itemListOrdering = REIItemListOrdering.values()[index]; + try { + Core.saveConfig(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public void draw(int int_1, int int_2, float float_1) { + this.text = I18n.translate("text.rei.list_ordering_button", I18n.translate(Core.config.itemListOrdering.getNameTranslationKey()), + I18n.translate(Core.config.isAscending ? "ordering.rei.ascending" : "ordering.rei.descending")); + super.draw(int_1, int_2, float_1); + } + }); } @Override @@ -83,6 +107,8 @@ public class ConfigGui extends Gui { drawString(MinecraftClient.getInstance().fontRenderer, text, parent.width / 2 - 40 - MinecraftClient.getInstance().fontRenderer.getStringWidth(text), 60 + 6, -1); text = I18n.translate("key.rei.hide") + ": "; drawString(MinecraftClient.getInstance().fontRenderer, text, parent.width / 2 - 40 - MinecraftClient.getInstance().fontRenderer.getStringWidth(text), 90 + 6, -1); + text = I18n.translate("text.rei.list_ordering") + ": "; + drawString(MinecraftClient.getInstance().fontRenderer, text, parent.width / 2 - 110 - MinecraftClient.getInstance().fontRenderer.getStringWidth(text), 150 + 6, -1); } @Override diff --git a/src/main/resources/assets/roughlyenoughitems/lang/en_us.json b/src/main/resources/assets/roughlyenoughitems/lang/en_us.json index 81e288f54..2b7cce4e9 100755 --- a/src/main/resources/assets/roughlyenoughitems/lang/en_us.json +++ b/src/main/resources/assets/roughlyenoughitems/lang/en_us.json @@ -20,5 +20,12 @@ "text.rei.centre_searchbox": "Center Search Box: %s%b", "text.rei.centre_searchbox.tooltip": "Please restart Minecraft after editing\nthis config to apply the changes", "text.rei.cheat_items": "Given [%s] x%d to %s.", - "text.rei.failed_cheat_items": "§cFailed to give items." + "text.rei.failed_cheat_items": "§cFailed to give items.", + "text.rei.list_ordering": "Item List Ordering", + "text.rei.list_ordering_button": "%s [%s]", + "ordering.rei.ascending": "Ascending", + "ordering.rei.descending": "Descending", + "ordering.rei.registry": "Registry", + "ordering.rei.name": "Name", + "ordering.rei.item_groups": "Item Groups" }
\ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 6dc51e92a..d70dfde17 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -2,7 +2,7 @@ "id": "roughlyenoughitems", "name": "RoughlyEnoughItems", "description": "To allow players to view items and recipes.", - "version": "1.4", + "version": "1.5", "side": "client", "authors": [ "Danielshe" |
