aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-01-20 15:21:10 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-01-20 15:21:10 +0800
commit855f72d9f730ce54be6167259f33bf1785b140fb (patch)
tree7a12beed35ee2466c75c85eab3b3edc90240f53a /src/main/java/me
parent277a10844312a2d8310875cfbd4205772a11445b (diff)
downloadRoughlyEnoughItems-2.0.0.11.tar.gz
RoughlyEnoughItems-2.0.0.11.tar.bz2
RoughlyEnoughItems-2.0.0.11.zip
Fixes malilib crash *sighs*v2.0.0.11
Diffstat (limited to 'src/main/java/me')
-rw-r--r--src/main/java/me/shedaniel/rei/REIMixinInit.java15
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java32
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInit.java37
-rw-r--r--src/main/java/me/shedaniel/rei/api/RoughlyEnoughItemsPlugin.java39
-rw-r--r--src/main/java/me/shedaniel/rei/client/ClientHelper.java39
-rw-r--r--src/main/java/me/shedaniel/rei/client/KeyBindHelper.java42
-rw-r--r--src/main/java/me/shedaniel/rei/client/RecipeHelper.java4
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerGuiOverlay.java17
8 files changed, 120 insertions, 105 deletions
diff --git a/src/main/java/me/shedaniel/rei/REIMixinInit.java b/src/main/java/me/shedaniel/rei/REIMixinInit.java
new file mode 100644
index 000000000..39f3639e2
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/REIMixinInit.java
@@ -0,0 +1,15 @@
+package me.shedaniel.rei;
+
+import org.dimdev.riftloader.listener.InitializationListener;
+import org.spongepowered.asm.launch.MixinBootstrap;
+import org.spongepowered.asm.mixin.Mixins;
+
+public class REIMixinInit implements InitializationListener {
+
+ @Override
+ public void onInitialization() {
+ MixinBootstrap.init();
+ Mixins.addConfiguration("roughlyenoughitems.client.json");
+ }
+
+}
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
index 84ca49c6d..ad445e1d2 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
@@ -3,12 +3,17 @@ package me.shedaniel.rei;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import me.shedaniel.rei.api.IRecipePlugin;
+import me.shedaniel.rei.client.ClientHelper;
import me.shedaniel.rei.client.ConfigHelper;
+import me.shedaniel.rei.client.RecipeHelper;
import me.shedaniel.rei.listeners.IListener;
+import me.shedaniel.rei.plugin.DefaultPlugin;
import net.minecraft.util.ResourceLocation;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.dimdev.riftloader.listener.InitializationListener;
+import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -17,11 +22,7 @@ import java.util.stream.Collectors;
public class RoughlyEnoughItemsCore {
public static final Logger LOGGER = LogManager.getFormatterLogger("REI");
- public static final ResourceLocation DELETE_ITEMS_PACKET = new ResourceLocation("roughlyenoughitems", "delete_item");
- public static final ResourceLocation CREATE_ITEMS_PACKET = new ResourceLocation("roughlyenoughitems", "create_item");
- public static final ResourceLocation DEFAULT_PLUGIN = new ResourceLocation("roughlyenoughitems", "default_plugin");
- private static final List<IListener> listeners = Lists.newArrayList();
- private static final Map<ResourceLocation, IRecipePlugin> plugins = Maps.newHashMap();
+ private static final List<IListener> listeners = Arrays.asList(new ClientHelper(), new RecipeHelper());
private static final ConfigHelper configHelper = new ConfigHelper();
public static <T> List<T> getListeners(Class<T> listenerClass) {
@@ -36,27 +37,6 @@ public class RoughlyEnoughItemsCore {
return configHelper;
}
- static IListener registerListener(IListener listener) {
- listeners.add(listener);
- return listener;
- }
-
- public static IRecipePlugin registerPlugin(ResourceLocation ResourceLocation, IRecipePlugin plugin) {
- plugins.put(ResourceLocation, plugin);
- return plugin;
- }
-
- public static List<IRecipePlugin> getPlugins() {
- return new LinkedList<>(plugins.values());
- }
-
- public static ResourceLocation getPluginResourceLocation(IRecipePlugin plugin) {
- for(ResourceLocation ResourceLocation : plugins.keySet())
- if (plugins.get(ResourceLocation).equals(plugin))
- return ResourceLocation;
- return null;
- }
-
private boolean removeListener(IListener listener) {
if (!listeners.contains(listener))
return false;
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInit.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInit.java
deleted file mode 100644
index 5a1801fb0..000000000
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInit.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package me.shedaniel.rei;
-
-import me.shedaniel.rei.client.ClientHelper;
-import me.shedaniel.rei.client.RecipeHelper;
-import me.shedaniel.rei.network.CreateItemsPacket;
-import me.shedaniel.rei.network.DeleteItemsPacket;
-import me.shedaniel.rei.plugin.DefaultPlugin;
-import net.minecraft.util.registry.IRegistry;
-import org.dimdev.rift.listener.MessageAdder;
-import org.dimdev.rift.network.Message;
-import org.dimdev.riftloader.listener.InitializationListener;
-import org.spongepowered.asm.launch.MixinBootstrap;
-import org.spongepowered.asm.mixin.Mixins;
-
-import static me.shedaniel.rei.RoughlyEnoughItemsCore.CREATE_ITEMS_PACKET;
-import static me.shedaniel.rei.RoughlyEnoughItemsCore.DELETE_ITEMS_PACKET;
-
-public class RoughlyEnoughItemsInit implements InitializationListener {
-
- @Override
- public void onInitialization() {
- MixinBootstrap.init();
- Mixins.addConfiguration("roughlyenoughitems.client.json");
- registerREIListeners();
- registerDefaultPlugin();
- }
-
- private void registerREIListeners() {
- RoughlyEnoughItemsCore.registerListener(new ClientHelper());
- RoughlyEnoughItemsCore.registerListener(new RecipeHelper());
- }
-
- private void registerDefaultPlugin() {
- RoughlyEnoughItemsCore.registerPlugin(RoughlyEnoughItemsCore.DEFAULT_PLUGIN, new DefaultPlugin());
- }
-
-}
diff --git a/src/main/java/me/shedaniel/rei/api/RoughlyEnoughItemsPlugin.java b/src/main/java/me/shedaniel/rei/api/RoughlyEnoughItemsPlugin.java
new file mode 100644
index 000000000..9930ca63f
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/api/RoughlyEnoughItemsPlugin.java
@@ -0,0 +1,39 @@
+package me.shedaniel.rei.api;
+
+import com.google.common.collect.Maps;
+import me.shedaniel.rei.RoughlyEnoughItemsCore;
+import me.shedaniel.rei.plugin.DefaultPlugin;
+import net.minecraft.util.ResourceLocation;
+import org.dimdev.riftloader.listener.InitializationListener;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+public class RoughlyEnoughItemsPlugin implements InitializationListener {
+
+ private static final Map<ResourceLocation, IRecipePlugin> plugins = Maps.newHashMap();
+ public static final ResourceLocation DEFAULT_PLUGIN = new ResourceLocation("roughlyenoughitems", "default_plugin");
+
+ public static IRecipePlugin registerPlugin(ResourceLocation ResourceLocation, IRecipePlugin plugin) {
+ plugins.put(ResourceLocation, plugin);
+ return plugin;
+ }
+
+ public static List<IRecipePlugin> getPlugins() {
+ return new LinkedList<>(plugins.values());
+ }
+
+ public static ResourceLocation getPluginResourceLocation(IRecipePlugin plugin) {
+ for(ResourceLocation ResourceLocation : plugins.keySet())
+ if (plugins.get(ResourceLocation).equals(plugin))
+ return ResourceLocation;
+ return null;
+ }
+
+ @Override
+ public void onInitialization() {
+ RoughlyEnoughItemsPlugin.registerPlugin(RoughlyEnoughItemsPlugin.DEFAULT_PLUGIN, new DefaultPlugin());
+ }
+
+}
diff --git a/src/main/java/me/shedaniel/rei/client/ClientHelper.java b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
index 3afefc48b..7023a4627 100644
--- a/src/main/java/me/shedaniel/rei/client/ClientHelper.java
+++ b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
@@ -2,7 +2,6 @@ package me.shedaniel.rei.client;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
-import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.IRecipeCategory;
import me.shedaniel.rei.api.IRecipeDisplay;
import me.shedaniel.rei.gui.ContainerGuiOverlay;
@@ -10,15 +9,11 @@ import me.shedaniel.rei.gui.widget.ConfigWidget;
import me.shedaniel.rei.gui.widget.RecipeViewingWidget;
import me.shedaniel.rei.listeners.ClientLoaded;
import me.shedaniel.rei.listeners.IMixinGuiContainer;
-import me.shedaniel.rei.listeners.IMixinKeyBinding;
import me.shedaniel.rei.network.CreateItemsPacket;
import me.shedaniel.rei.network.DeleteItemsPacket;
import net.minecraft.client.Minecraft;
import net.minecraft.client.MouseHelper;
import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.client.resources.I18n;
-import net.minecraft.client.settings.KeyBinding;
-import net.minecraft.client.util.InputMappings;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.init.Items;
@@ -27,19 +22,16 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.registry.IRegistry;
-import org.dimdev.rift.listener.client.KeyBindingAdder;
import org.dimdev.riftloader.RiftLoader;
import java.awt.*;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
-public class ClientHelper implements ClientLoaded, KeyBindingAdder {
+public class ClientHelper implements ClientLoaded {
- private static final ResourceLocation RECIPE_KEYBIND = new ResourceLocation("roughlyenoughitems", "recipe_keybind");
- private static final ResourceLocation USAGE_KEYBIND = new ResourceLocation("roughlyenoughitems", "usage_keybind");
- private static final ResourceLocation HIDE_KEYBIND = new ResourceLocation("roughlyenoughitems", "hide_keybind");
- public static KeyBinding RECIPE, USAGE, HIDE;
private static List<ItemStack> itemList;
private static boolean cheating = false;
@@ -78,6 +70,8 @@ public class ClientHelper implements ClientLoaded, KeyBindingAdder {
}
public static boolean isCheating() {
+ if (!Minecraft.getInstance().isSingleplayer())
+ cheating = false;
return cheating;
}
@@ -165,25 +159,4 @@ public class ClientHelper implements ClientLoaded, KeyBindingAdder {
return false;
}
- @Override
- public Collection<? extends KeyBinding> getKeyBindings() {
- String category = "key.rei.category";
- List<KeyBinding> keyBindings = Lists.newArrayList();
- keyBindings.add(RECIPE = createKeyBinding(RECIPE_KEYBIND, InputMappings.Type.KEYSYM, 82, category));
- keyBindings.add(USAGE = createKeyBinding(USAGE_KEYBIND, InputMappings.Type.KEYSYM, 85, category));
- keyBindings.add(HIDE = createKeyBinding(HIDE_KEYBIND, InputMappings.Type.KEYSYM, 79, category));
- addCategoryIfMissing(RECIPE, category);
- return keyBindings;
- }
-
- private void addCategoryIfMissing(KeyBinding keyBinding, String category) {
- if (!((IMixinKeyBinding) keyBinding).hasCategory(category))
- ((IMixinKeyBinding) keyBinding).addCategory(category);
- }
-
- private KeyBinding createKeyBinding(ResourceLocation location, InputMappings.Type inputType, int keyCode, String category) {
- RoughlyEnoughItemsCore.LOGGER.info("Registering: key." + location.toString().replaceAll(":", ".") + " in " + category);
- return new KeyBinding("key." + location.toString().replaceAll(":", "."), inputType, keyCode, category);
- }
-
}
diff --git a/src/main/java/me/shedaniel/rei/client/KeyBindHelper.java b/src/main/java/me/shedaniel/rei/client/KeyBindHelper.java
new file mode 100644
index 000000000..65ce788a1
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/client/KeyBindHelper.java
@@ -0,0 +1,42 @@
+package me.shedaniel.rei.client;
+
+import com.google.common.collect.Lists;
+import me.shedaniel.rei.RoughlyEnoughItemsCore;
+import me.shedaniel.rei.listeners.IMixinKeyBinding;
+import net.minecraft.client.settings.KeyBinding;
+import net.minecraft.client.util.InputMappings;
+import net.minecraft.util.ResourceLocation;
+import org.dimdev.rift.listener.client.KeyBindingAdder;
+
+import java.util.Collection;
+import java.util.List;
+
+public class KeyBindHelper implements KeyBindingAdder {
+
+ private static final ResourceLocation RECIPE_KEYBIND = new ResourceLocation("roughlyenoughitems", "recipe_keybind");
+ private static final ResourceLocation USAGE_KEYBIND = new ResourceLocation("roughlyenoughitems", "usage_keybind");
+ private static final ResourceLocation HIDE_KEYBIND = new ResourceLocation("roughlyenoughitems", "hide_keybind");
+ public static KeyBinding RECIPE, USAGE, HIDE;
+
+ @Override
+ public Collection<? extends KeyBinding> getKeyBindings() {
+ String category = "key.rei.category";
+ List<KeyBinding> keyBindings = Lists.newArrayList();
+ keyBindings.add(RECIPE = createKeyBinding(RECIPE_KEYBIND, InputMappings.Type.KEYSYM, 82, category));
+ keyBindings.add(USAGE = createKeyBinding(USAGE_KEYBIND, InputMappings.Type.KEYSYM, 85, category));
+ keyBindings.add(HIDE = createKeyBinding(HIDE_KEYBIND, InputMappings.Type.KEYSYM, 79, category));
+ addCategoryIfMissing(RECIPE, category);
+ return keyBindings;
+ }
+
+ private void addCategoryIfMissing(KeyBinding keyBinding, String category) {
+ if (!((IMixinKeyBinding) keyBinding).hasCategory(category))
+ ((IMixinKeyBinding) keyBinding).addCategory(category);
+ }
+
+ private KeyBinding createKeyBinding(ResourceLocation location, InputMappings.Type inputType, int keyCode, String category) {
+ RoughlyEnoughItemsCore.LOGGER.info("Registering: key." + location.toString().replaceAll(":", ".") + " in " + category);
+ return new KeyBinding("key." + location.toString().replaceAll(":", "."), inputType, keyCode, category);
+ }
+
+}
diff --git a/src/main/java/me/shedaniel/rei/client/RecipeHelper.java b/src/main/java/me/shedaniel/rei/client/RecipeHelper.java
index f52c426df..da0c4aab4 100644
--- a/src/main/java/me/shedaniel/rei/client/RecipeHelper.java
+++ b/src/main/java/me/shedaniel/rei/client/RecipeHelper.java
@@ -152,12 +152,12 @@ public class RecipeHelper implements RecipeSync {
this.categories.clear();
this.speedCraftAreaSupplierMap.clear();
this.speedCraftFunctionalMap.clear();
- List<IRecipePlugin> plugins = new LinkedList<>(RoughlyEnoughItemsCore.getPlugins());
+ List<IRecipePlugin> plugins = new LinkedList<>(RoughlyEnoughItemsPlugin.getPlugins());
plugins.sort((first, second) -> {
return second.getPriority() - first.getPriority();
});
RoughlyEnoughItemsCore.LOGGER.info("Loading %d REI plugins: %s", plugins.size(), String.join(", ", plugins.stream().map(plugin -> {
- ResourceLocation ResourceLocation = RoughlyEnoughItemsCore.getPluginResourceLocation(plugin);
+ ResourceLocation ResourceLocation = RoughlyEnoughItemsPlugin.getPluginResourceLocation(plugin);
return ResourceLocation == null ? "NULL" : ResourceLocation.toString();
}).collect(Collectors.toList())));
Collections.reverse(plugins);
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerGuiOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerGuiOverlay.java
index a91e319ec..fe9a96422 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerGuiOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerGuiOverlay.java
@@ -3,6 +3,7 @@ package me.shedaniel.rei.gui;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.client.ClientHelper;
import me.shedaniel.rei.client.GuiHelper;
+import me.shedaniel.rei.client.KeyBindHelper;
import me.shedaniel.rei.gui.widget.*;
import me.shedaniel.rei.listeners.IMixinGuiContainer;
import net.minecraft.client.MainWindow;
@@ -17,9 +18,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.math.MathHelper;
import java.awt.*;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedList;
+import java.util.*;
import java.util.List;
import java.util.stream.Collectors;
@@ -77,11 +76,15 @@ public class ContainerGuiOverlay extends GuiScreen {
public void draw(int int_1, int int_2, float float_1) {
this.text = getCheatModeText();
super.draw(int_1, int_2, float_1);
+ if (getBounds().contains(int_1, int_2) && !Minecraft.getInstance().isSingleplayer())
+ ContainerGuiOverlay.this.addTooltip(new QueuedTooltip(ClientHelper.getMouseLocation(),
+ Arrays.asList(I18n.format("text.rei.nocheating_in_servers").split("\n"))));
}
@Override
public void onPressed(int button, double mouseX, double mouseY) {
- ClientHelper.setCheating(!ClientHelper.isCheating());
+ if (Minecraft.getInstance().isSingleplayer())
+ ClientHelper.setCheating(!ClientHelper.isCheating());
}
});
widgets.add(new ButtonWidget(10, 35, 40, 20, I18n.format("text.rei.config")) {
@@ -275,12 +278,12 @@ public class ContainerGuiOverlay extends GuiScreen {
if (containerGui.getHoveredSlot() != null)
itemStack = containerGui.getHoveredSlot().getStack();
if (itemStack != null && !itemStack.isEmpty()) {
- if (ClientHelper.RECIPE.matchesKey(int_1, int_2))
+ if (KeyBindHelper.RECIPE.matchesKey(int_1, int_2))
return ClientHelper.executeRecipeKeyBind(this, itemStack, containerGui);
- else if (ClientHelper.USAGE.matchesKey(int_1, int_2))
+ else if (KeyBindHelper.USAGE.matchesKey(int_1, int_2))
return ClientHelper.executeUsageKeyBind(this, itemStack, containerGui);
}
- if (ClientHelper.HIDE.matchesKey(int_1, int_2)) {
+ if (KeyBindHelper.HIDE.matchesKey(int_1, int_2)) {
GuiHelper.toggleOverlayVisible();
return true;
}