diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-01-01 13:37:19 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-01-01 13:37:19 +0800 |
| commit | 430ff25e1bbfce2fe90e69044439cc3ea179dbf1 (patch) | |
| tree | 5b5a186dd65552bdd5a38d0f4fa7505660064d02 /src/main/java | |
| parent | 620d77c53f37c2e96720e29b76346c5aa6b1ec0d (diff) | |
| download | RoughlyEnoughItems-430ff25e1bbfce2fe90e69044439cc3ea179dbf1.tar.gz RoughlyEnoughItems-430ff25e1bbfce2fe90e69044439cc3ea179dbf1.tar.bz2 RoughlyEnoughItems-430ff25e1bbfce2fe90e69044439cc3ea179dbf1.zip | |
Config Draft
Diffstat (limited to 'src/main/java')
| -rwxr-xr-x | src/main/java/me/shedaniel/Core.java | 51 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/config/REIConfig.java | 16 | ||||
| -rwxr-xr-x | src/main/java/me/shedaniel/library/KeyBindManager.java | 1 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/plugin/RandomRecipe.java | 33 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/plugin/TestRandomCategory.java | 69 | ||||
| -rwxr-xr-x | src/main/java/me/shedaniel/plugin/VanillaPlugin.java | 12 |
6 files changed, 61 insertions, 121 deletions
diff --git a/src/main/java/me/shedaniel/Core.java b/src/main/java/me/shedaniel/Core.java index f2f5c5541..55a7c879f 100755 --- a/src/main/java/me/shedaniel/Core.java +++ b/src/main/java/me/shedaniel/Core.java @@ -1,8 +1,7 @@ package me.shedaniel; -import me.shedaniel.library.KeyBindManager; +import me.shedaniel.config.REIConfig; import me.shedaniel.listenerdefinitions.IEvent; -import me.shedaniel.listenerdefinitions.KeybindHandler; import me.shedaniel.listenerdefinitions.PacketAdder; import me.shedaniel.listeners.DrawContainerListener; import me.shedaniel.listeners.ResizeListener; @@ -10,13 +9,11 @@ import me.shedaniel.network.CheatPacket; import me.shedaniel.network.DeletePacket; import me.shedaniel.plugin.VanillaPlugin; import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.events.client.SpriteEvent; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.settings.KeyBinding; +import net.fabricmc.loader.FabricLoader; import net.minecraft.network.NetworkSide; -import org.apache.commons.lang3.ArrayUtils; +import java.io.*; +import java.nio.file.Files; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; @@ -46,10 +43,17 @@ public class Core implements PacketAdder, ClientModInitializer { } private static List<IEvent> events = new LinkedList<>(); + public static final File configFile = new File(FabricLoader.INSTANCE.getConfigDirectory(), "rei.json"); + public static REIConfig config; @Override public void onInitializeClient() { registerEvents(); + try { + loadConfig(); + } catch (IOException e) { + e.printStackTrace(); + } } private void registerEvents() { @@ -71,4 +75,37 @@ public class Core implements PacketAdder, ClientModInitializer { }); return list; } + + public static void loadConfig() throws IOException { + if (!configFile.exists()) + loadDefaultConfig(); + boolean failed = false; + try { + InputStream in = Files.newInputStream(configFile.toPath()); + config = REIConfig.GSON.fromJson(new InputStreamReader(in), REIConfig.class); + } catch (Exception e){ + failed = true; + } + if (failed || config == null) { + System.out.println("[REI] Failed to load config! Overwriting with default config."); + config = new REIConfig(); + } + saveConfig(); + } + + public static void loadDefaultConfig() throws IOException { + config = new REIConfig(); + saveConfig(); + } + + public static void saveConfig() throws IOException { + configFile.getParentFile().mkdirs(); + if (configFile.exists()) + configFile.delete(); + try (PrintWriter writer = new PrintWriter(configFile)) { + REIConfig.GSON.toJson(config, writer); + writer.close(); + } + } + } diff --git a/src/main/java/me/shedaniel/config/REIConfig.java b/src/main/java/me/shedaniel/config/REIConfig.java new file mode 100644 index 000000000..4acaa102a --- /dev/null +++ b/src/main/java/me/shedaniel/config/REIConfig.java @@ -0,0 +1,16 @@ +package me.shedaniel.config; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import java.awt.event.KeyEvent; + +public class REIConfig { + + public static Gson GSON = new GsonBuilder().setPrettyPrinting().create(); + + public int recipeKeyBind = KeyEvent.VK_R; + public int usageKeyBind = KeyEvent.VK_U; + public int hideKeyBind = KeyEvent.VK_O; + +} diff --git a/src/main/java/me/shedaniel/library/KeyBindManager.java b/src/main/java/me/shedaniel/library/KeyBindManager.java index bbce1b3f6..5a923ad38 100755 --- a/src/main/java/me/shedaniel/library/KeyBindManager.java +++ b/src/main/java/me/shedaniel/library/KeyBindManager.java @@ -27,4 +27,5 @@ public class KeyBindManager { } return false; } + } diff --git a/src/main/java/me/shedaniel/plugin/RandomRecipe.java b/src/main/java/me/shedaniel/plugin/RandomRecipe.java deleted file mode 100644 index 4a33c8be1..000000000 --- a/src/main/java/me/shedaniel/plugin/RandomRecipe.java +++ /dev/null @@ -1,33 +0,0 @@ -package me.shedaniel.plugin; - -import me.shedaniel.api.IRecipe; -import net.minecraft.block.Blocks; -import net.minecraft.item.ItemStack; - -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; - -public class RandomRecipe implements IRecipe<ItemStack> { - - private String id; - - public RandomRecipe(String id) { - this.id = id; - } - - @Override - public String getId() { - return id; - } - - @Override - public List<ItemStack> getOutput() { - return new LinkedList<>(Arrays.asList(new ItemStack[]{new ItemStack(Blocks.BEETROOTS.getItem())})); - } - - @Override - public List<List<ItemStack>> getInput() { - return new LinkedList<>(Arrays.asList(new LinkedList<>(Arrays.asList(new ItemStack[]{new ItemStack(Blocks.OAK_LOG.getItem())})))); - } -} diff --git a/src/main/java/me/shedaniel/plugin/TestRandomCategory.java b/src/main/java/me/shedaniel/plugin/TestRandomCategory.java deleted file mode 100644 index 877e9c3fd..000000000 --- a/src/main/java/me/shedaniel/plugin/TestRandomCategory.java +++ /dev/null @@ -1,69 +0,0 @@ -package me.shedaniel.plugin; - -import me.shedaniel.api.IDisplayCategory; -import me.shedaniel.gui.widget.Control; -import me.shedaniel.gui.widget.REISlot; -import net.minecraft.item.ItemStack; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; - -public class TestRandomCategory implements IDisplayCategory<RandomRecipe> { - - private String id; - private List<RandomRecipe> recipes; - private ItemStack item; - - public TestRandomCategory(String id, ItemStack item) { - this.id = id; - this.item = item; - } - - @Override - public String getId() { - return id; - } - - @Override - public String getDisplayName() { - return id; - } - - @Override - public void addRecipe(RandomRecipe recipe) { - if (this.recipes == null) - this.recipes = new ArrayList<>(); - this.recipes.add(recipe); - } - - @Override - public void resetRecipes() { - this.recipes = new ArrayList<>(); - } - - @Override - public List<REISlot> setupDisplay(int number) { - return new LinkedList<>(); - } - - @Override - public boolean canDisplay(RandomRecipe recipe) { - return false; - } - - @Override - public void drawExtras() { - - } - - @Override - public void addWidget(List<Control> controls, int number) { - - } - - @Override - public ItemStack getCategoryIcon() { - return item; - } -} diff --git a/src/main/java/me/shedaniel/plugin/VanillaPlugin.java b/src/main/java/me/shedaniel/plugin/VanillaPlugin.java index 940d9c779..74b734761 100755 --- a/src/main/java/me/shedaniel/plugin/VanillaPlugin.java +++ b/src/main/java/me/shedaniel/plugin/VanillaPlugin.java @@ -47,13 +47,6 @@ public class VanillaPlugin implements IREIPlugin, PotionCraftingAdder { REIRecipeManager.instance().addDisplayAdapter(new VanillaCraftingCategory()); REIRecipeManager.instance().addDisplayAdapter(new VanillaFurnaceCategory()); REIRecipeManager.instance().addDisplayAdapter(new VanillaPotionCategory()); - REIRecipeManager.instance().addDisplayAdapter(new VanillaSmokerCategory()); - REIRecipeManager.instance().addDisplayAdapter(new VanillaBlastFurnaceCategory()); -// REIRecipeManager.instance().addDisplayAdapter(new TestRandomCategory("a", new ItemStack(Blocks.ACACIA_BUTTON.asItem()))); -// REIRecipeManager.instance().addDisplayAdapter(new TestRandomCategory("b", new ItemStack(Blocks.ACACIA_LOG.asItem()))); -// REIRecipeManager.instance().addDisplayAdapter(new TestRandomCategory("c", new ItemStack(Blocks.ACACIA_LOG.asItem()))); -// REIRecipeManager.instance().addDisplayAdapter(new TestRandomCategory("d", new ItemStack(Blocks.ACACIA_LOG.asItem()))); -// REIRecipeManager.instance().addDisplayAdapter(new TestRandomCategory("e", new ItemStack(Blocks.ACACIA_LOG.asItem()))); for(Recipe recipe : REIRecipeManager.instance().recipeManager.values()) { if (recipe instanceof ShapelessRecipe) { @@ -87,11 +80,6 @@ public class VanillaPlugin implements IREIPlugin, PotionCraftingAdder { REIRecipeManager.instance().addRecipe("smoker", smokerRecipes); REIRecipeManager.instance().addRecipe("potion", potionRecipes.stream().distinct().collect(Collectors.toList())); REIRecipeManager.instance().addRecipe("blastingfurnace", blastFurnaceRecipes); -// REIRecipeManager.instance().addPotionRecipe("a", new RandomRecipe("a")); -// REIRecipeManager.instance().addPotionRecipe("b", new RandomRecipe("b")); -// REIRecipeManager.instance().addPotionRecipe("c", new RandomRecipe("c")); -// REIRecipeManager.instance().addPotionRecipe("d", new RandomRecipe("d")); -// REIRecipeManager.instance().addPotionRecipe("e", new RandomRecipe("e")); } |
