CreditsScreen.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. * Roughly Enough Items by Danielshe.
  3. * Licensed under the MIT License.
  4. */
  5. package me.shedaniel.rei.gui.credits;
  6. import me.shedaniel.rei.client.ScreenHelper;
  7. import me.shedaniel.rei.gui.credits.CreditsEntryListWidget.CreditsItem;
  8. import me.shedaniel.rei.gui.widget.ButtonWidget;
  9. import net.minecraft.client.gui.screen.Screen;
  10. import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen;
  11. import net.minecraft.client.resource.language.I18n;
  12. import net.minecraft.network.chat.TextComponent;
  13. public class CreditsScreen extends Screen {
  14. private Screen parent;
  15. private ButtonWidget buttonDone;
  16. private CreditsEntryListWidget entryListWidget;
  17. public CreditsScreen(Screen parent) {
  18. super(new TextComponent(""));
  19. this.parent = parent;
  20. }
  21. @Override
  22. public boolean keyPressed(int int_1, int int_2, int int_3) {
  23. if (int_1 == 256 && this.shouldCloseOnEsc()) {
  24. this.minecraft.openScreen(parent);
  25. if (parent instanceof AbstractContainerScreen)
  26. ScreenHelper.getLastOverlay().init();
  27. return true;
  28. }
  29. return super.keyPressed(int_1, int_2, int_3);
  30. }
  31. @Override
  32. protected void init() {
  33. children.add(entryListWidget = new CreditsEntryListWidget(minecraft, width, height, 32, height - 32));
  34. entryListWidget.creditsClearEntries();
  35. for(String line : I18n.translate("text.rei.credit.text").split("\n"))
  36. entryListWidget.creditsAddEntry(new CreditsItem(new TextComponent(line)));
  37. entryListWidget.creditsAddEntry(new CreditsItem(new TextComponent("")));
  38. children.add(buttonDone = new ButtonWidget(width / 2 - 100, height - 26, 200, 20, I18n.translate("gui.done")) {
  39. @Override
  40. public void onPressed() {
  41. CreditsScreen.this.minecraft.openScreen(parent);
  42. if (parent instanceof AbstractContainerScreen)
  43. ScreenHelper.getLastOverlay().init();
  44. }
  45. });
  46. }
  47. @Override
  48. public boolean mouseScrolled(double double_1, double double_2, double double_3) {
  49. if (entryListWidget.mouseScrolled(double_1, double_2, double_3 * 3))
  50. return true;
  51. return super.mouseScrolled(double_1, double_2, double_3);
  52. }
  53. @Override
  54. public void render(int int_1, int int_2, float float_1) {
  55. this.renderDirtBackground(0);
  56. this.entryListWidget.render(int_1, int_2, float_1);
  57. this.drawCenteredString(this.font, I18n.translate("text.rei.credits"), this.width / 2, 16, 16777215);
  58. super.render(int_1, int_2, float_1);
  59. buttonDone.render(int_1, int_2, float_1);
  60. }
  61. }