ConfigGui.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package me.shedaniel.gui;
  2. import me.shedaniel.ClientListener;
  3. import me.shedaniel.Core;
  4. import me.shedaniel.gui.widget.KeyBindButton;
  5. import net.minecraft.client.MinecraftClient;
  6. import net.minecraft.client.gui.Gui;
  7. import net.minecraft.client.gui.widget.ButtonWidget;
  8. import net.minecraft.client.resource.language.I18n;
  9. import java.io.IOException;
  10. import java.util.Arrays;
  11. public class ConfigGui extends Gui {
  12. private Gui parent;
  13. public ConfigGui(Gui parent) {
  14. this.parent = parent;
  15. }
  16. @Override
  17. protected void onInitialized() {
  18. addButton(new KeyBindButton(997, parent.width / 2 - 20, 30, 80, 20, Core.config.recipeKeyBind, key -> {
  19. Core.config.recipeKeyBind = key;
  20. ClientListener.recipeKeyBind.setKey(key);
  21. try {
  22. Core.saveConfig();
  23. } catch (IOException e) {
  24. e.printStackTrace();
  25. }
  26. }));
  27. addButton(new KeyBindButton(998, parent.width / 2 - 20, 60, 80, 20, Core.config.usageKeyBind, key -> {
  28. Core.config.usageKeyBind = key;
  29. ClientListener.usageKeyBind.setKey(key);
  30. try {
  31. Core.saveConfig();
  32. } catch (IOException e) {
  33. e.printStackTrace();
  34. }
  35. }));
  36. addButton(new KeyBindButton(999, parent.width / 2 - 20, 90, 80, 20, Core.config.hideKeyBind, key -> {
  37. Core.config.hideKeyBind = key;
  38. ClientListener.hideKeyBind.setKey(key);
  39. try {
  40. Core.saveConfig();
  41. } catch (IOException e) {
  42. e.printStackTrace();
  43. }
  44. }));
  45. addButton(new ButtonWidget(1000, parent.width / 2 - 90, 120, 150, 20, "") {
  46. @Override
  47. public void onPressed(double double_1, double double_2) {
  48. Core.config.centreSearchBox = !Core.config.centreSearchBox;
  49. try {
  50. Core.saveConfig();
  51. } catch (IOException e) {
  52. e.printStackTrace();
  53. }
  54. }
  55. @Override
  56. public void draw(int int_1, int int_2, float float_1) {
  57. this.text = I18n.translate("text.rei.centre_searchbox", Core.config.centreSearchBox ? "§a" : "§c", Core.config.centreSearchBox);
  58. super.draw(int_1, int_2, float_1);
  59. if (this.hovered)
  60. drawSuggestion(int_1, int_2);
  61. }
  62. protected void drawSuggestion(int x, int y) {
  63. drawTooltip(Arrays.asList(I18n.translate("text.rei.centre_searchbox.tooltip").split("\n")), x, y);
  64. }
  65. });
  66. }
  67. @Override
  68. public void draw(int mouseX, int mouseY, float partialTicks) {
  69. drawBackground();
  70. super.draw(mouseX, mouseY, partialTicks);
  71. String text = I18n.translate("key.rei.recipe") + ": ";
  72. drawString(MinecraftClient.getInstance().fontRenderer, text, parent.width / 2 - 40 - MinecraftClient.getInstance().fontRenderer.getStringWidth(text), 30 + 6, -1);
  73. text = I18n.translate("key.rei.use") + ": ";
  74. drawString(MinecraftClient.getInstance().fontRenderer, text, parent.width / 2 - 40 - MinecraftClient.getInstance().fontRenderer.getStringWidth(text), 60 + 6, -1);
  75. text = I18n.translate("key.rei.hide") + ": ";
  76. drawString(MinecraftClient.getInstance().fontRenderer, text, parent.width / 2 - 40 - MinecraftClient.getInstance().fontRenderer.getStringWidth(text), 90 + 6, -1);
  77. }
  78. @Override
  79. public boolean keyPressed(int p_keyPressed_1_, int p_keyPressed_2_, int p_keyPressed_3_) {
  80. if (p_keyPressed_1_ == 256 && this.doesEscapeKeyClose()) {
  81. this.close();
  82. if (parent != null)
  83. MinecraftClient.getInstance().openGui(parent);
  84. return true;
  85. } else {
  86. return super.keyPressed(p_keyPressed_1_, p_keyPressed_2_, p_keyPressed_3_);
  87. }
  88. }
  89. }