aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/gui/credits
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-02-16 17:52:40 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-02-16 17:52:40 +0800
commit2e0e576b64545cb45a0ab3e0d0fe81cfb7a61307 (patch)
tree33ab48fd72c49fa1b2a78c05b29de67da7ab6064 /src/main/java/me/shedaniel/rei/gui/credits
parent074a627663e0150e23d47a87486afb852dd2cfdd (diff)
downloadRoughlyEnoughItems-2.3.0.17.tar.gz
RoughlyEnoughItems-2.3.0.17.tar.bz2
RoughlyEnoughItems-2.3.0.17.zip
Same as v2.3 in Fabricv2.3.0.17
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/credits')
-rw-r--r--src/main/java/me/shedaniel/rei/gui/credits/CreditsEntry.java22
-rw-r--r--src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java35
-rw-r--r--src/main/java/me/shedaniel/rei/gui/credits/CreditsGui.java64
3 files changed, 121 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntry.java b/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntry.java
new file mode 100644
index 000000000..32896a9f8
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntry.java
@@ -0,0 +1,22 @@
+package me.shedaniel.rei.gui.credits;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiListExtended;
+import net.minecraft.util.text.ITextComponent;
+
+public class CreditsEntry extends GuiListExtended.IGuiListEntry<CreditsEntry> {
+
+ private ITextComponent textComponent;
+
+ public CreditsEntry(ITextComponent textComponent) {
+ this.textComponent = textComponent;
+ }
+
+ @Override
+ public void drawEntry(int entryWidth, int height, int i3, int i4, boolean isSelected, float delta) {
+ int x = getX();
+ int y = getY();
+ Minecraft.getInstance().fontRenderer.drawStringWithShadow(textComponent.getFormattedText(), x + 5, y + 5, -1);
+ }
+
+}
diff --git a/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java b/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
new file mode 100644
index 000000000..bfc13e331
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
@@ -0,0 +1,35 @@
+package me.shedaniel.rei.gui.credits;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiListExtended;
+
+public class CreditsEntryListWidget extends GuiListExtended<CreditsEntry> {
+
+ public CreditsEntryListWidget(Minecraft client, int width, int height, int startY, int endY, int entryHeight) {
+ super(client, width, height, startY, endY, entryHeight);
+ setShowSelectionBox(false); //toggleShowSelection
+ }
+
+ public void creditsClearEntries() {
+ clearEntries();
+ }
+
+ private CreditsEntry getEntry(int int_1) {
+ return this.getChildren().get(int_1);
+ }
+
+ public void creditsAddEntry(CreditsEntry entry) {
+ addEntry(entry);
+ }
+
+ @Override
+ public int getListWidth() {
+ return width - 80;
+ }
+
+ @Override
+ protected int getScrollBarX() {
+ return width - 40;
+ }
+
+}
diff --git a/src/main/java/me/shedaniel/rei/gui/credits/CreditsGui.java b/src/main/java/me/shedaniel/rei/gui/credits/CreditsGui.java
new file mode 100644
index 000000000..be9652dc4
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/gui/credits/CreditsGui.java
@@ -0,0 +1,64 @@
+package me.shedaniel.rei.gui.credits;
+
+import me.shedaniel.rei.client.GuiHelper;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.client.gui.IGuiEventListener;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.client.resources.I18n;
+import net.minecraft.util.text.TextComponentString;
+
+public class CreditsGui extends GuiScreen {
+
+ private GuiContainer parent;
+ private CreditsEntryListWidget entryListWidget;
+
+ public CreditsGui(GuiContainer parent) {
+ this.parent = parent;
+ }
+
+ @Override
+ public boolean keyPressed(int int_1, int int_2, int int_3) {
+ if (int_1 == 256 && this.allowCloseWithEscape()) {
+ this.mc.displayGuiScreen(parent);
+ GuiHelper.getLastOverlay().onInitialized();
+ return true;
+ }
+ return super.keyPressed(int_1, int_2, int_3);
+ }
+
+ @Override
+ protected void initGui() {
+ children.add(entryListWidget = new CreditsEntryListWidget(mc, width, height, 32, height - 32, 12));
+ entryListWidget.creditsClearEntries();
+ for(String line : I18n.format("text.rei.credit.text").split("\n"))
+ entryListWidget.creditsAddEntry(new CreditsEntry(new TextComponentString(line)));
+ entryListWidget.creditsAddEntry(new CreditsEntry(new TextComponentString("")));
+ addButton(new GuiButton(0, width / 2 - 100, height - 26, I18n.format("gui.done")) {
+ @Override
+ public void onClick(double double_1, double double_2) {
+ CreditsGui.this.mc.displayGuiScreen(parent);
+ GuiHelper.getLastOverlay().onInitialized();
+ }
+ });
+ }
+
+ @Override
+ public void render(int int_1, int int_2, float float_1) {
+ this.drawBackground(0);
+ this.entryListWidget.drawScreen(int_1, int_2, float_1);
+ this.drawCenteredString(this.fontRenderer, I18n.format("text.rei.credits"), this.width / 2, 16, 16777215);
+ super.render(int_1, int_2, float_1);
+ }
+
+ @Override
+ public boolean doesGuiPauseGame() {
+ return false;
+ }
+
+ @Override
+ public IGuiEventListener getFocused() {
+ return entryListWidget;
+ }
+
+}