aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/gui/credits
diff options
context:
space:
mode:
authorDaniel She <shekwancheung0528@gmail.com>2019-02-14 14:38:18 +0100
committerGitHub <noreply@github.com>2019-02-14 14:38:18 +0100
commit93dc019f11596f7a9386a6e3f597667fa1b50eb8 (patch)
tree063961a16d01e45461b61e22c9d71659a99bff05 /src/main/java/me/shedaniel/rei/gui/credits
parent32cc30ef0d63e64915ef647978b0546a9c0e800a (diff)
downloadRoughlyEnoughItems-2.3.0.51.tar.gz
RoughlyEnoughItems-2.3.0.51.tar.bz2
RoughlyEnoughItems-2.3.0.51.zip
REI Update v2.3 (#35)v2.3.0.51
* Fixes #33 * Fixes #32 * Fix #29 * Highlight Cursor * Fix #15 * Remove Unwanted Imports * Making it actually v2.3 * LOLCATS & Upside Down Lanuage + Credits Screen * better credits * Better Config * Better Config Button Handling + Campfire text using container sub-colour * Better Plugin Handling * Split ItemRegisterer out from ClientHelper * Option to disable default plugin.
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/CreditsScreen.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..65f7a3fd5
--- /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.MinecraftClient;
+import net.minecraft.client.gui.widget.EntryListWidget;
+import net.minecraft.text.TextComponent;
+
+public class CreditsEntry extends EntryListWidget.Entry<CreditsEntry> {
+
+ private TextComponent textComponent;
+
+ public CreditsEntry(TextComponent textComponent) {
+ this.textComponent = textComponent;
+ }
+
+ @Override
+ public void draw(int entryWidth, int height, int i3, int i4, boolean isSelected, float delta) {
+ int x = getX();
+ int y = getY();
+ MinecraftClient.getInstance().fontRenderer.drawWithShadow(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..81f48c40c
--- /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.MinecraftClient;
+import net.minecraft.client.gui.widget.EntryListWidget;
+
+public class CreditsEntryListWidget extends EntryListWidget<CreditsEntry> {
+
+ public CreditsEntryListWidget(MinecraftClient client, int width, int height, int startY, int endY, int entryHeight) {
+ super(client, width, height, startY, endY, entryHeight);
+ method_1943(false); //toggleShowSelection
+ }
+
+ public void creditsClearEntries() {
+ clearEntries();
+ }
+
+ private CreditsEntry getEntry(int int_1) {
+ return this.getEntries().get(int_1);
+ }
+
+ public void creditsAddEntry(CreditsEntry entry) {
+ addEntry(entry);
+ }
+
+ @Override
+ public int getEntryWidth() {
+ return width - 80;
+ }
+
+ @Override
+ protected int getScrollbarPosition() {
+ return width - 40;
+ }
+
+}
diff --git a/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java b/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java
new file mode 100644
index 000000000..ed0464e07
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java
@@ -0,0 +1,64 @@
+package me.shedaniel.rei.gui.credits;
+
+import me.shedaniel.rei.client.GuiHelper;
+import net.minecraft.client.gui.ContainerScreen;
+import net.minecraft.client.gui.GuiEventListener;
+import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.widget.ButtonWidget;
+import net.minecraft.client.resource.language.I18n;
+import net.minecraft.text.StringTextComponent;
+
+public class CreditsScreen extends Screen {
+
+ private ContainerScreen parent;
+ private CreditsEntryListWidget entryListWidget;
+
+ public CreditsScreen(ContainerScreen parent) {
+ this.parent = parent;
+ }
+
+ @Override
+ public boolean keyPressed(int int_1, int int_2, int int_3) {
+ if (int_1 == 256 && this.doesEscapeKeyClose()) {
+ this.client.openScreen(parent);
+ GuiHelper.getLastOverlay().onInitialized();
+ return true;
+ }
+ return super.keyPressed(int_1, int_2, int_3);
+ }
+
+ @Override
+ protected void onInitialized() {
+ listeners.add(entryListWidget = new CreditsEntryListWidget(client, width, height, 32, height - 32, 12));
+ entryListWidget.creditsClearEntries();
+ for(String line : I18n.translate("text.rei.credit.text").split("\n"))
+ entryListWidget.creditsAddEntry(new CreditsEntry(new StringTextComponent(line)));
+ entryListWidget.creditsAddEntry(new CreditsEntry(new StringTextComponent("")));
+ addButton(new ButtonWidget(0, width / 2 - 100, height - 26, I18n.translate("gui.done")) {
+ @Override
+ public void onPressed(double double_1, double double_2) {
+ CreditsScreen.this.client.openScreen(parent);
+ GuiHelper.getLastOverlay().onInitialized();
+ }
+ });
+ }
+
+ @Override
+ public void draw(int int_1, int int_2, float float_1) {
+ this.drawTextureBackground(0);
+ this.entryListWidget.draw(int_1, int_2, float_1);
+ this.drawStringCentered(this.fontRenderer, I18n.translate("text.rei.credits"), this.width / 2, 16, 16777215);
+ super.draw(int_1, int_2, float_1);
+ }
+
+ @Override
+ public boolean isPauseScreen() {
+ return false;
+ }
+
+ @Override
+ public GuiEventListener getFocused() {
+ return entryListWidget;
+ }
+
+}