aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-01-09 23:35:45 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-01-09 23:35:45 +0800
commit86e9c7588dab15b783995105d06861740454a833 (patch)
treed7d066b4e7491474f3a962593e97a2d6f0aa2ea2
parent8b89fff542fb941e209f0b25d3c6ea4f72518f70 (diff)
downloadRoughlyEnoughItems-86e9c7588dab15b783995105d06861740454a833.tar.gz
RoughlyEnoughItems-86e9c7588dab15b783995105d06861740454a833.tar.bz2
RoughlyEnoughItems-86e9c7588dab15b783995105d06861740454a833.zip
Starting off rewrite
-rw-r--r--.gitignore1
-rwxr-xr-xbuild.gradle2
-rwxr-xr-xsrc/main/java/me/shedaniel/ClientListener.java106
-rwxr-xr-xsrc/main/java/me/shedaniel/Core.java122
-rwxr-xr-xsrc/main/java/me/shedaniel/api/IDisplayCategory.java32
-rw-r--r--src/main/java/me/shedaniel/api/IDisplayCategoryCraftable.java19
-rwxr-xr-xsrc/main/java/me/shedaniel/api/IDrawable.java12
-rwxr-xr-xsrc/main/java/me/shedaniel/api/IREIPlugin.java16
-rwxr-xr-xsrc/main/java/me/shedaniel/api/IRecipe.java20
-rwxr-xr-xsrc/main/java/me/shedaniel/api/IRecipeManager.java21
-rwxr-xr-xsrc/main/java/me/shedaniel/api/TriBooleanSupplier.java8
-rw-r--r--src/main/java/me/shedaniel/config/REIConfig.java22
-rw-r--r--src/main/java/me/shedaniel/config/REIItemListOrdering.java21
-rw-r--r--src/main/java/me/shedaniel/config/REIRuntimeConfig.java8
-rw-r--r--src/main/java/me/shedaniel/gui/ConfigGui.java154
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/Drawable.java35
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/GuiItemList.java397
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/REIRenderHelper.java280
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/RecipeContainer.java14
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/RecipeGui.java287
-rw-r--r--src/main/java/me/shedaniel/gui/SearchArgument.java36
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/widget/Button.java63
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/widget/Control.java127
-rw-r--r--src/main/java/me/shedaniel/gui/widget/CraftableToggleButton.java76
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/widget/IFocusable.java12
-rw-r--r--src/main/java/me/shedaniel/gui/widget/KeyBindButton.java59
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/widget/REISlot.java188
-rw-r--r--src/main/java/me/shedaniel/gui/widget/SmallButton.java73
-rw-r--r--src/main/java/me/shedaniel/gui/widget/Tab.java101
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/widget/TextBox.java85
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/widget/WidgetArrow.java50
-rwxr-xr-xsrc/main/java/me/shedaniel/impl/REIRecipeManager.java220
-rw-r--r--src/main/java/me/shedaniel/library/KeyBindFunction.java23
-rwxr-xr-xsrc/main/java/me/shedaniel/library/Sink.java8
-rwxr-xr-xsrc/main/java/me/shedaniel/listenerdefinitions/CharInput.java10
-rw-r--r--src/main/java/me/shedaniel/listenerdefinitions/ClientTickable.java7
-rwxr-xr-xsrc/main/java/me/shedaniel/listenerdefinitions/DoneLoading.java10
-rwxr-xr-xsrc/main/java/me/shedaniel/listenerdefinitions/DrawContainer.java12
-rwxr-xr-xsrc/main/java/me/shedaniel/listenerdefinitions/GuiClick.java10
-rwxr-xr-xsrc/main/java/me/shedaniel/listenerdefinitions/GuiKeyDown.java10
-rwxr-xr-xsrc/main/java/me/shedaniel/listenerdefinitions/GuiMouseScroll.java7
-rw-r--r--src/main/java/me/shedaniel/listenerdefinitions/IEvent.java4
-rwxr-xr-xsrc/main/java/me/shedaniel/listenerdefinitions/IMixinContainerGui.java20
-rw-r--r--src/main/java/me/shedaniel/listenerdefinitions/IMixinRecipeBookGui.java9
-rwxr-xr-xsrc/main/java/me/shedaniel/listenerdefinitions/MinecraftResize.java10
-rw-r--r--src/main/java/me/shedaniel/listenerdefinitions/PotionCraftingAdder.java10
-rwxr-xr-xsrc/main/java/me/shedaniel/listenerdefinitions/RecipeLoadListener.java9
-rwxr-xr-xsrc/main/java/me/shedaniel/listeners/DrawContainerListener.java65
-rw-r--r--src/main/java/me/shedaniel/mixins/MixinBrewingRecipeRegistry.java21
-rwxr-xr-xsrc/main/java/me/shedaniel/mixins/MixinContainerGui.java97
-rw-r--r--src/main/java/me/shedaniel/mixins/MixinCreativePlayerInventoryGui.java64
-rwxr-xr-xsrc/main/java/me/shedaniel/mixins/MixinDoneLoading.java23
-rwxr-xr-xsrc/main/java/me/shedaniel/mixins/MixinKeyboardListener.java29
-rwxr-xr-xsrc/main/java/me/shedaniel/mixins/MixinMinecraftResize.java31
-rw-r--r--src/main/java/me/shedaniel/mixins/MixinRecipeBookGui.java20
-rwxr-xr-xsrc/main/java/me/shedaniel/mixins/MixinRecipeManager.java27
-rwxr-xr-xsrc/main/java/me/shedaniel/network/CheatPacket.java49
-rwxr-xr-xsrc/main/java/me/shedaniel/network/DeletePacket.java33
-rw-r--r--src/main/java/me/shedaniel/plugin/RandomRecipe.java40
-rw-r--r--src/main/java/me/shedaniel/plugin/TestRandomCategory.java70
-rwxr-xr-xsrc/main/java/me/shedaniel/plugin/VanillaPlugin.java105
-rwxr-xr-xsrc/main/java/me/shedaniel/plugin/blastfurnace/VanillaBlastFurnaceCategory.java126
-rwxr-xr-xsrc/main/java/me/shedaniel/plugin/blastfurnace/VanillaBlastFurnaceRecipe.java58
-rwxr-xr-xsrc/main/java/me/shedaniel/plugin/crafting/VanillaCraftingCategory.java157
-rwxr-xr-xsrc/main/java/me/shedaniel/plugin/crafting/VanillaCraftingRecipe.java28
-rwxr-xr-xsrc/main/java/me/shedaniel/plugin/crafting/VanillaShapedCraftingRecipe.java59
-rwxr-xr-xsrc/main/java/me/shedaniel/plugin/crafting/VanillaShapelessCraftingRecipe.java61
-rwxr-xr-xsrc/main/java/me/shedaniel/plugin/furnace/VanillaFurnaceCategory.java126
-rwxr-xr-xsrc/main/java/me/shedaniel/plugin/furnace/VanillaFurnaceRecipe.java60
-rw-r--r--src/main/java/me/shedaniel/plugin/potion/VanillaPotionCategory.java189
-rwxr-xr-xsrc/main/java/me/shedaniel/plugin/potion/VanillaPotionRecipe.java56
-rwxr-xr-xsrc/main/java/me/shedaniel/plugin/smoker/VanillaSmokerCategory.java126
-rwxr-xr-xsrc/main/java/me/shedaniel/plugin/smoker/VanillaSmokerRecipe.java55
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java46
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerGuiOverlay.java68
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/IWidget.java9
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/LabelWidget.java24
-rw-r--r--src/main/java/me/shedaniel/rei/listeners/ClientTick.java9
-rw-r--r--src/main/java/me/shedaniel/rei/listeners/IListener.java4
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/IMixinContainerGui.java17
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinContainerGui.java67
-rwxr-xr-xsrc/main/resources/fabric.mod.json2
-rwxr-xr-xsrc/main/resources/roughlyenoughitems.client.json11
83 files changed, 249 insertions, 4609 deletions
diff --git a/.gitignore b/.gitignore
index 92af0487c..270cfeb7a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@
/out
/run
/classes
+/old
# IDE nonsense that could go in source control but really shouldn't
.classpath
diff --git a/build.gradle b/build.gradle
index d8882ed80..2e4099ce7 100755
--- a/build.gradle
+++ b/build.gradle
@@ -6,7 +6,7 @@ sourceCompatibility = 1.8
targetCompatibility = 1.8
archivesBaseName = "RoughlyEnoughItems"
-version = "1.5.1-21"
+version = "2.0-22"
minecraft {
}
diff --git a/src/main/java/me/shedaniel/ClientListener.java b/src/main/java/me/shedaniel/ClientListener.java
deleted file mode 100755
index ec1061e2f..000000000
--- a/src/main/java/me/shedaniel/ClientListener.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package me.shedaniel;
-
-import me.shedaniel.api.IREIPlugin;
-import me.shedaniel.gui.REIRenderHelper;
-import me.shedaniel.impl.REIRecipeManager;
-import me.shedaniel.library.KeyBindFunction;
-import me.shedaniel.listenerdefinitions.DoneLoading;
-import me.shedaniel.listenerdefinitions.RecipeLoadListener;
-import net.minecraft.enchantment.Enchantment;
-import net.minecraft.enchantment.EnchantmentHelper;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.item.Items;
-import net.minecraft.recipe.RecipeManager;
-import net.minecraft.util.DefaultedList;
-import net.minecraft.util.registry.Registry;
-
-import java.util.*;
-
-public class ClientListener implements DoneLoading, RecipeLoadListener {
-
- public static KeyBindFunction recipeKeyBind;
- public static KeyBindFunction hideKeyBind;
- public static KeyBindFunction usageKeyBind;
- public static List<KeyBindFunction> keyBinds = new ArrayList<>();
-
- private List<IREIPlugin> plugins;
- public static List<ItemStack> stackList;
-
- public static boolean processGuiKeyBinds(int typedChar) {
- for(KeyBindFunction keyBind : keyBinds)
- if (keyBind.apply(typedChar))
- return true;
- return false;
- }
-
- @Override
- public void onDoneLoading() {
- plugins = new ArrayList<>();
- stackList = new ArrayList<>();
-
- buildItemList();
- }
-
- public void onInitializeKeyBind() {
- recipeKeyBind = new KeyBindFunction(Core.config.recipeKeyBind) {
- @Override
- public boolean apply(int key) {
- if (key == this.getKey())
- REIRenderHelper.recipeKeyBind();
- return key == this.getKey();
- }
- };
- hideKeyBind = new KeyBindFunction(Core.config.hideKeyBind) {
- @Override
- public boolean apply(int key) {
- if (key == this.getKey())
- REIRenderHelper.hideKeyBind();
- return key == this.getKey();
- }
- };
- usageKeyBind = new KeyBindFunction(Core.config.usageKeyBind) {
- @Override
- public boolean apply(int key) {
- if (key == this.getKey())
- REIRenderHelper.useKeyBind();
- return key == this.getKey();
- }
- };
- keyBinds.addAll(Arrays.asList(recipeKeyBind, hideKeyBind, usageKeyBind));
- }
-
- private void buildItemList() {
- if (!Registry.ITEM.isEmpty())
- Registry.ITEM.forEach(this::processItem);
- if (Registry.ENCHANTMENT.stream().count() > 0)
- Registry.ENCHANTMENT.forEach(enchantment -> {
- for(int i = enchantment.getMinimumLevel(); i < enchantment.getMaximumLevel(); i++) {
- ItemStack stack = new ItemStack(Items.ENCHANTED_BOOK);
- Map<Enchantment, Integer> map = new HashMap<>();
- map.put(enchantment, i);
- EnchantmentHelper.set(map, stack);
- processItemStack(stack);
- }
- });
- }
-
- private void processItem(Item item) {
- DefaultedList<ItemStack> items = DefaultedList.create();
- try {
- item.addStacksForDisplay(item.getItemGroup(), items);
- items.forEach(stackList::add);
- } catch (NullPointerException e) {
- }
- }
-
- private void processItemStack(ItemStack item) {
- stackList.add(item);
- }
-
- @Override
- public void recipesLoaded(RecipeManager recipeManager) {
- REIRecipeManager.instance().RecipesLoaded(recipeManager);
- }
-
-}
diff --git a/src/main/java/me/shedaniel/Core.java b/src/main/java/me/shedaniel/Core.java
deleted file mode 100755
index 2cc74161b..000000000
--- a/src/main/java/me/shedaniel/Core.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package me.shedaniel;
-
-import me.shedaniel.config.REIConfig;
-import me.shedaniel.config.REIRuntimeConfig;
-import me.shedaniel.listenerdefinitions.ClientTickable;
-import me.shedaniel.listenerdefinitions.IEvent;
-import me.shedaniel.listeners.DrawContainerListener;
-import me.shedaniel.network.CheatPacket;
-import me.shedaniel.plugin.VanillaPlugin;
-import net.fabricmc.api.ClientModInitializer;
-import net.fabricmc.fabric.events.client.ClientTickEvent;
-import net.fabricmc.loader.FabricLoader;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.item.ItemStack;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.nio.file.Files;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * Created by James on 7/27/2018.
- */
-public class Core implements ClientModInitializer {
-
- private static List<IEvent> events = new LinkedList<>();
- public static final File configFile = new File(FabricLoader.INSTANCE.getConfigDirectory(), "rei.json");
- public static REIConfig config;
- public static REIRuntimeConfig runtimeConfig;
- public static ClientListener clientListener;
- public static Logger LOGGER = LogManager.getFormatterLogger("REI");
-
- @Override
- public void onInitializeClient() {
- this.clientListener = new ClientListener();
- registerSelfEvents();
- registerFabricEvents();
- try {
- loadConfig();
- runtimeConfig = new REIRuntimeConfig();
- } catch (IOException e) {
- e.printStackTrace();
- }
- this.clientListener.onInitializeKeyBind();
- }
-
- private void registerFabricEvents() {
- ClientTickEvent.CLIENT.register(minecraftClient -> {
- getListeners(ClientTickable.class).forEach(ClientTickable::clientTick);
- if (!Core.config.enableCraftableOnlyButton)
- Core.runtimeConfig.craftableOnly = false;
- });
- }
-
- private void registerSelfEvents() {
- registerEvent(new DrawContainerListener());
- registerEvent(clientListener);
- registerPlugin(new VanillaPlugin());
- }
-
- public static void registerPlugin(VanillaPlugin vanillaPlugin) {
- registerEvent(vanillaPlugin);
- }
-
- private static void registerEvent(IEvent event) {
- events.add(event);
- }
-
- public static <T> List<T> getListeners(Class<T> listenerInterface) {
- List<T> list = new ArrayList<>();
- events.forEach(iEvent -> {
- if (listenerInterface.isAssignableFrom(iEvent.getClass()))
- list.add(listenerInterface.cast(iEvent));
- });
- return list;
- }
-
- public static void loadConfig() throws IOException {
- if (!configFile.exists() || !configFile.canRead()) {
- config = new REIConfig();
- saveConfig();
- return;
- }
- boolean failed = false;
- try {
- config = REIConfig.GSON.fromJson(new InputStreamReader(Files.newInputStream(configFile.toPath())), REIConfig.class);
- } catch (Exception e) {
- failed = true;
- }
- if (failed || config == null) {
- Core.LOGGER.error("REI: Failed to load config! Overwriting with default config.");
- config = new REIConfig();
- }
- saveConfig();
- }
-
- public static void saveConfig() throws IOException {
- configFile.getParentFile().mkdirs();
- if (!configFile.exists() && !configFile.createNewFile()) {
- Core.LOGGER.error("REI: Failed to save config! Overwriting with default config.");
- config = new REIConfig();
- return;
- }