diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-02-08 19:43:29 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-02-08 19:43:29 +0800 |
| commit | 6ddaddc5451733c6111ba5b40b748e7879420ea2 (patch) | |
| tree | 23138ed6af7bd5951fc5f6cc462c21f6d3aa0142 | |
| parent | 3ab6f974fb63b9f9232f8507e156cfc53cdf0250 (diff) | |
| download | RoughlyEnoughItems-6ddaddc5451733c6111ba5b40b748e7879420ea2.tar.gz RoughlyEnoughItems-6ddaddc5451733c6111ba5b40b748e7879420ea2.tar.bz2 RoughlyEnoughItems-6ddaddc5451733c6111ba5b40b748e7879420ea2.zip | |
api for favorites
Signed-off-by: shedaniel <daniel@shedaniel.me>
3 files changed, 14 insertions, 44 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/ConfigObject.java b/src/main/java/me/shedaniel/rei/api/ConfigObject.java index c45ae56c9..5f04f4e9a 100644 --- a/src/main/java/me/shedaniel/rei/api/ConfigObject.java +++ b/src/main/java/me/shedaniel/rei/api/ConfigObject.java @@ -17,6 +17,7 @@ import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import java.util.List; public interface ConfigObject { @@ -121,6 +122,8 @@ public interface ConfigObject { boolean isLowerConfigButton(); + List<EntryStack> getFavorites(); + @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD}) @interface AddInFrontKeyCode {} diff --git a/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java b/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java index 2e050a562..b85502626 100644 --- a/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java +++ b/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java @@ -41,6 +41,7 @@ import net.minecraft.client.gui.Element; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.widget.AbstractButtonWidget; import net.minecraft.client.gui.widget.AbstractPressableButtonWidget; +import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.resource.language.I18n; import net.minecraft.client.util.InputUtil; import net.minecraft.client.util.Window; @@ -173,18 +174,11 @@ public class ConfigManagerImpl implements ConfigManager { @Override public List<EntryStack> getFavorites() { - return ((ConfigObjectImpl) getConfig()).general.favorites; + return getConfig().getFavorites(); } @Override public void saveConfig() { - // ConfigObjectImpl object = (ConfigObjectImpl) getConfig(); - // object.general.favorites.clear(); - // for (EntryStack stack : favorites) { - // JsonElement element = stack.toJson(); - // if (element != null) - // object.general.favorites.add(gson.toJson(element)); - // } ((me.sargunvohra.mcmods.autoconfig1u.ConfigManager<ConfigObjectImpl>) AutoConfig.getConfigHolder(ConfigObjectImpl.class)).save(); } @@ -265,12 +259,9 @@ public class ConfigManagerImpl implements ConfigManager { } }); } - ((ScreenHooks) screen).cloth_addButton(new AbstractPressableButtonWidget(screen.width - 104, 4, 100, 20, I18n.translate("text.rei.credits")) { - @Override - public void onPress() { - MinecraftClient.getInstance().openScreen(new CreditsScreen(screen)); - } - }); + ((ScreenHooks) screen).cloth_addButton(new ButtonWidget(screen.width - 104, 4, 100, 20, I18n.translate("text.rei.credits"), button -> { + MinecraftClient.getInstance().openScreen(new CreditsScreen(screen)); + })); }).setSavingRunnable(() -> { saveConfig(); if (ScreenHelper.getSearchField() != null) @@ -281,36 +272,7 @@ public class ConfigManagerImpl implements ConfigManager { } catch (Exception e) { e.printStackTrace(); } - return new Screen(new LiteralText("")) { - @Override - public void render(int int_1, int int_2, float float_1) { - renderDirtBackground(0); - List<String> list = minecraft.textRenderer.wrapStringToWidthAsList(I18n.translate("text.rei.config_api_failed"), width - 100); - int y = (int) (height / 2 - minecraft.textRenderer.fontHeight * 1.3f / 2 * list.size()); - for (String s : list) { - drawCenteredString(minecraft.textRenderer, s, width / 2, y, -1); - y += minecraft.textRenderer.fontHeight; - } - super.render(int_1, int_2, float_1); - } - - @Override - protected void init() { - super.init(); - addButton(new net.minecraft.client.gui.widget.ButtonWidget(width / 2 - 100, height - 26, 200, 20, I18n.translate("text.rei.back"), buttonWidget -> { - this.minecraft.openScreen(parent); - })); - } - - @Override - public boolean keyPressed(int int_1, int int_2, int int_3) { - if (int_1 == 256 && this.shouldCloseOnEsc()) { - this.minecraft.openScreen(parent); - return true; - } - return super.keyPressed(int_1, int_2, int_3); - } - }; + return null; } } diff --git a/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java b/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java index 1d566c79a..2ffdc004c 100644 --- a/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java +++ b/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java @@ -275,6 +275,11 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData { return appearance.lowerConfigButton; } + @Override + public List<EntryStack> getFavorites() { + return general.favorites; + } + public static class General { @ConfigEntry.Gui.Excluded public List<EntryStack> favorites = new ArrayList<>(); @Comment("Declares whether cheating mode is on.") private boolean cheating = false; |
