aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/client/ClientHelper.java
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-01-12 21:28:36 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-01-12 21:28:36 +0800
commitdfa3067117e96aa630a88952f0e5d4535bee8bf3 (patch)
tree21550ef69e146b18158be0c49a2a7fcf581bcc90 /src/main/java/me/shedaniel/rei/client/ClientHelper.java
parent936dc5f6dc09ad9a552728f9db06f11b4828bad2 (diff)
downloadRoughlyEnoughItems-dfa3067117e96aa630a88952f0e5d4535bee8bf3.tar.gz
RoughlyEnoughItems-dfa3067117e96aa630a88952f0e5d4535bee8bf3.tar.bz2
RoughlyEnoughItems-dfa3067117e96aa630a88952f0e5d4535bee8bf3.zip
Basic Config
Diffstat (limited to 'src/main/java/me/shedaniel/rei/client/ClientHelper.java')
-rw-r--r--src/main/java/me/shedaniel/rei/client/ClientHelper.java26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/main/java/me/shedaniel/rei/client/ClientHelper.java b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
index 306ddaa6b..8ca032457 100644
--- a/src/main/java/me/shedaniel/rei/client/ClientHelper.java
+++ b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
@@ -6,6 +6,7 @@ import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.IRecipeCategory;
import me.shedaniel.rei.api.IRecipeDisplay;
import me.shedaniel.rei.gui.ContainerGuiOverlay;
+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.IMixinContainerGui;
@@ -15,6 +16,8 @@ import net.fabricmc.fabric.impl.client.keybinding.KeyBindingRegistryImpl;
import net.fabricmc.loader.FabricLoader;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.Mouse;
+import net.minecraft.client.gui.ContainerGui;
+import net.minecraft.client.gui.Gui;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.client.util.InputUtil;
import net.minecraft.enchantment.Enchantment;
@@ -23,6 +26,7 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.server.network.packet.CustomPayloadServerPacket;
+import net.minecraft.util.DefaultedList;
import net.minecraft.util.Identifier;
import net.minecraft.util.PacketByteBuf;
import net.minecraft.util.registry.Registry;
@@ -30,6 +34,7 @@ import net.minecraft.util.registry.Registry;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.util.HashMap;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -117,9 +122,16 @@ public class ClientHelper implements ClientLoaded, ClientModInitializer {
return map.keySet().size() > 0;
}
+ public static void openConfigWindow(Gui parent) {
+ MinecraftClient.getInstance().openGui(new ConfigWidget(parent));
+ }
+
@Override
public void clientLoaded() {
- Registry.ITEM.forEach(this::registerItem);
+ Registry.ITEM.forEach(item -> {
+ if (!item.equals(Items.ENCHANTED_BOOK))
+ registerItem(item);
+ });
Registry.ENCHANTMENT.forEach(enchantment -> {
for(int i = enchantment.getMinimumLevel(); i < enchantment.getMaximumLevel(); i++) {
Map<Enchantment, Integer> map = new HashMap<>();
@@ -133,13 +145,23 @@ public class ClientHelper implements ClientLoaded, ClientModInitializer {
public void registerItem(Item item) {
registerItemStack(item.getDefaultStack());
+ DefaultedList<ItemStack> stacks = DefaultedList.create();
+ item.addStacksForDisplay(item.getItemGroup(), stacks);
+ stacks.forEach(this::registerItemStack);
}
public void registerItemStack(ItemStack stack) {
- if (!stack.getItem().equals(Items.AIR))
+ if (!stack.getItem().equals(Items.AIR) && !alreadyContain(stack))
itemList.add(stack);
}
+ private boolean alreadyContain(ItemStack stack) {
+ for(ItemStack itemStack : itemList)
+ if (ItemStack.areEqual(stack, itemStack))
+ return true;
+ return false;
+ }
+
@Override
public void onInitializeClient() {
this.cheating = false;