aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel')
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java9
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInit.java12
-rw-r--r--src/main/java/me/shedaniel/rei/client/ClientHelper.java34
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ConfigWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/RecipeViewingWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/listeners/IMixinKeyBinding.java11
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinGuiContainerCreative.java2
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java35
-rw-r--r--src/main/java/me/shedaniel/rei/network/CreateItemsMessage.java38
-rw-r--r--src/main/java/me/shedaniel/rei/network/CreateItemsPacket.java49
-rw-r--r--src/main/java/me/shedaniel/rei/network/DeleteItemsMessage.java27
-rw-r--r--src/main/java/me/shedaniel/rei/network/DeleteItemsPacket.java34
15 files changed, 161 insertions, 100 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
index 62b59a9fc..84ca49c6d 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
@@ -3,20 +3,11 @@ 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.network.CreateItemsMessage;
-import me.shedaniel.rei.network.DeleteItemsMessage;
-import me.shedaniel.rei.plugin.DefaultPlugin;
import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.registry.IRegistry;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.dimdev.rift.listener.MessageAdder;
-import org.dimdev.rift.network.Message;
-import org.dimdev.riftloader.listener.InitializationListener;
import java.util.LinkedList;
import java.util.List;
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInit.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInit.java
index 3db31334c..5a1801fb0 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInit.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInit.java
@@ -2,8 +2,8 @@ package me.shedaniel.rei;
import me.shedaniel.rei.client.ClientHelper;
import me.shedaniel.rei.client.RecipeHelper;
-import me.shedaniel.rei.network.CreateItemsMessage;
-import me.shedaniel.rei.network.DeleteItemsMessage;
+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;
@@ -15,7 +15,7 @@ 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, MessageAdder {
+public class RoughlyEnoughItemsInit implements InitializationListener {
@Override
public void onInitialization() {
@@ -34,10 +34,4 @@ public class RoughlyEnoughItemsInit implements InitializationListener, MessageAd
RoughlyEnoughItemsCore.registerPlugin(RoughlyEnoughItemsCore.DEFAULT_PLUGIN, new DefaultPlugin());
}
- @Override
- public void registerMessages(IRegistry<Class<? extends Message>> registry) {
- registry.put(DELETE_ITEMS_PACKET, DeleteItemsMessage.class);
- registry.put(CREATE_ITEMS_PACKET, CreateItemsMessage.class);
- }
-
}
diff --git a/src/main/java/me/shedaniel/rei/client/ClientHelper.java b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
index 4668f552a..3afefc48b 100644
--- a/src/main/java/me/shedaniel/rei/client/ClientHelper.java
+++ b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
@@ -2,6 +2,7 @@ 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;
@@ -9,11 +10,13 @@ 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.network.CreateItemsMessage;
-import me.shedaniel.rei.network.DeleteItemsMessage;
+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;
@@ -21,7 +24,6 @@ import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.network.EnumPacketDirection;
import net.minecraft.util.NonNullList;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.registry.IRegistry;
@@ -84,14 +86,14 @@ public class ClientHelper implements ClientLoaded, KeyBindingAdder {
}
public static void sendDeletePacket() {
- DeleteItemsMessage message = new DeleteItemsMessage();
- Minecraft.getInstance().getConnection().sendPacket(message.toPacket(EnumPacketDirection.CLIENTBOUND));
+ DeleteItemsPacket message = new DeleteItemsPacket();
+ Minecraft.getInstance().getConnection().sendPacket(message);
}
public static boolean tryCheatingStack(ItemStack cheatedStack) {
try {
- CreateItemsMessage message = new CreateItemsMessage(cheatedStack.copy());
- Minecraft.getInstance().getConnection().sendPacket(message.toPacket(EnumPacketDirection.CLIENTBOUND));
+ CreateItemsPacket message = new CreateItemsPacket(cheatedStack.copy());
+ Minecraft.getInstance().getConnection().sendPacket(message);
return true;
} catch (Exception e) {
return false;
@@ -167,9 +169,21 @@ public class ClientHelper implements ClientLoaded, KeyBindingAdder {
public Collection<? extends KeyBinding> getKeyBindings() {
String category = "key.rei.category";
List<KeyBinding> keyBindings = Lists.newArrayList();
- keyBindings.add(RECIPE = new KeyBinding(RECIPE_KEYBIND.toString().replaceAll(":", "."), InputMappings.Type.KEYSYM, 82, category));
- keyBindings.add(USAGE = new KeyBinding(USAGE_KEYBIND.toString().replaceAll(":", "."), InputMappings.Type.KEYSYM, 85, category));
- keyBindings.add(HIDE = new KeyBinding(HIDE_KEYBIND.toString().replaceAll(":", "."), InputMappings.Type.KEYSYM, 79, category));
+ 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/gui/widget/ConfigWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ConfigWidget.java
index 60b184150..93e41c655 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ConfigWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ConfigWidget.java
@@ -115,7 +115,7 @@ public class ConfigWidget extends GuiScreen {
@Override
public void render(int int_1, int int_2, float float_1) {
- drawBackground(0);
+ drawWorldBackground(0);
super.render(int_1, int_2, float_1);
widgets.forEach(widget -> {
RenderHelper.disableStandardItemLighting();
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java
index 060526947..88f3ca694 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java
@@ -36,7 +36,7 @@ public abstract class CraftableToggleButtonWidget extends ButtonWidget {
public void draw(int mouseX, int mouseY, float partialTicks) {
super.draw(mouseX, mouseY, partialTicks);
- RenderHelper.enableStandardItemLighting();
+ RenderHelper.enableGUIStandardItemLighting();
this.itemRenderer.zLevel = 0.0F;
this.itemRenderer.renderItemAndEffectIntoGUI(new ItemStack(Blocks.CRAFTING_TABLE), x + 2, y + 2);
this.itemRenderer.zLevel = 0.0F;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
index 25d3a4881..e2d6a6bdb 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
@@ -65,7 +65,7 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget {
}
if (itemStack.isEmpty())
return;
- RenderHelper.enableStandardItemLighting();
+ RenderHelper.enableGUIStandardItemLighting();
ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer();
itemRenderer.zLevel = 200.0F;
itemRenderer.renderItemAndEffectIntoGUI(itemStack, x, y);
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/RecipeViewingWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/RecipeViewingWidget.java
index f9a027951..7cbd416b8 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/RecipeViewingWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/RecipeViewingWidget.java
@@ -271,7 +271,7 @@ public class RecipeViewingWidget extends GuiScreen {
@Override
public void drawDefaultBackground() {
- drawBackground(0);
+ drawWorldBackground(0);
GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
RenderHelper.disableStandardItemLighting();
this.mc.getTextureManager().bindTexture(CHEST_GUI_TEXTURE);
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java
index f74975a1b..ea9a895b2 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java
@@ -78,7 +78,7 @@ public class TabWidget extends Gui implements HighlightableWidget {
this.drawTexturedModalRect(bounds.x, bounds.y + 2, selected ? 28 : 0, 192, 28, (selected ? 30 : 27));
this.zLevel = 100.0F;
this.itemRenderer.zLevel = 100.0F;
- RenderHelper.enableStandardItemLighting();
+ RenderHelper.enableGUIStandardItemLighting();
this.itemRenderer.renderItemAndEffectIntoGUI(getItemStack(), l, i1);
this.itemRenderer.renderItemOverlays(Minecraft.getInstance().fontRenderer, getItemStack(), l, i1);
GlStateManager.disableLighting();
diff --git a/src/main/java/me/shedaniel/rei/listeners/IMixinKeyBinding.java b/src/main/java/me/shedaniel/rei/listeners/IMixinKeyBinding.java
new file mode 100644
index 000000000..d8d4e4f44
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/listeners/IMixinKeyBinding.java
@@ -0,0 +1,11 @@
+package me.shedaniel.rei.listeners;
+
+public interface IMixinKeyBinding {
+
+ public boolean addCategory(String keyBindingCategory, int id);
+
+ public boolean addCategory(String keyBindingCategory);
+
+ public boolean hasCategory(String keyCategory);
+
+}
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinGuiContainerCreative.java b/src/main/java/me/shedaniel/rei/mixin/MixinGuiContainerCreative.java
index fc038fce9..126dce9ab 100644
--- a/src/main/java/me/shedaniel/rei/mixin/MixinGuiContainerCreative.java
+++ b/src/main/java/me/shedaniel/rei/mixin/MixinGuiContainerCreative.java
@@ -17,8 +17,6 @@ public abstract class MixinGuiContainerCreative extends InventoryEffectRenderer
@Shadow
private static int selectedTabIndex;
@Shadow
- private boolean field_2888;
- @Shadow
private boolean field_195377_F;
public MixinGuiContainerCreative(Container inventorySlotsIn) {
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java b/src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java
new file mode 100644
index 000000000..5c5f13993
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java
@@ -0,0 +1,35 @@
+package me.shedaniel.rei.mixin;
+
+import me.shedaniel.rei.listeners.IMixinKeyBinding;
+import net.minecraft.client.settings.KeyBinding;
+import org.spongepowered.asm.mixin.Final;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Shadow;
+
+import java.util.Map;
+
+@Mixin(KeyBinding.class)
+public class MixinKeyBinding implements IMixinKeyBinding {
+
+ @Shadow @Final private static Map<String, Integer> CATEGORY_ORDER;
+
+ @Override
+ public boolean addCategory(String keyBindingCategory, int id) {
+ if (!CATEGORY_ORDER.containsKey(keyBindingCategory)) {
+ CATEGORY_ORDER.put(keyBindingCategory, id);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean addCategory(String keyBindingCategory) {
+ return addCategory(keyBindingCategory, CATEGORY_ORDER.size() + 1);
+ }
+
+ @Override
+ public boolean hasCategory(String keyCategory) {
+ return CATEGORY_ORDER.containsKey(keyCategory);
+ }
+
+}
diff --git a/src/main/java/me/shedaniel/rei/network/CreateItemsMessage.java b/src/main/java/me/shedaniel/rei/network/CreateItemsMessage.java
deleted file mode 100644
index 4d1f2c3b9..000000000
--- a/src/main/java/me/shedaniel/rei/network/CreateItemsMessage.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package me.shedaniel.rei.network;
-
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.item.ItemStack;
-import net.minecraft.network.PacketBuffer;
-import net.minecraft.util.text.ChatType;
-import net.minecraft.util.text.TextComponentTranslation;
-import org.dimdev.rift.network.Message;
-import org.dimdev.rift.network.ServerMessageContext;
-
-public class CreateItemsMessage extends Message {
-
- private ItemStack stack;
-
- public CreateItemsMessage(ItemStack stack) {
- this.stack = stack;
- }
-
- @Override
- public void write(PacketBuffer buffer) {
- buffer.writeItemStack(stack);
- }
-
- @Override
- public void read(PacketBuffer buffer) {
- stack = buffer.readItemStack();
- }
-
- @Override
- public void process(ServerMessageContext context) {
- EntityPlayerMP player = context.getSender();
- if (player.inventory.addItemStackToInventory(stack.copy()))
- player.sendMessage(new TextComponentTranslation("text.rei.cheat_items", stack.getDisplayName().getFormattedText(), stack.getCount(), player.getName()), ChatType.SYSTEM);
- else
- player.sendMessage(new TextComponentTranslation("text.rei.failed_cheat_items"), ChatType.SYSTEM);
- }
-
-}
diff --git a/src/main/java/me/shedaniel/rei/network/CreateItemsPacket.java b/src/main/java/me/shedaniel/rei/network/CreateItemsPacket.java
new file mode 100644
index 000000000..003ea09fe
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/network/CreateItemsPacket.java
@@ -0,0 +1,49 @@
+package me.shedaniel.rei.network;
+
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.network.NetHandlerPlayServer;
+import net.minecraft.network.Packet;
+import net.minecraft.network.PacketBuffer;
+import net.minecraft.network.play.INetHandlerPlayServer;
+import net.minecraft.util.text.ChatType;
+import net.minecraft.util.text.TextComponentTranslation;
+import org.dimdev.rift.network.Message;
+import org.dimdev.rift.network.ServerMessageContext;
+
+import java.io.IOException;
+
+public class CreateItemsPacket implements Packet<INetHandlerPlayServer> {
+
+ private ItemStack stack;
+
+ public CreateItemsPacket() {
+ }
+
+ public CreateItemsPacket(ItemStack stack) {
+ this.stack = stack;
+ }
+
+ @Override
+ public void readPacketData(PacketBuffer packetBuffer) throws IOException {
+ stack = ItemStack.read(packetBuffer.readCompoundTag());
+ }
+
+ @Override
+ public void writePacketData(PacketBuffer packetBuffer) throws IOException {
+ NBTTagCompound tag = new NBTTagCompound();
+ stack.write(tag);
+ packetBuffer.writeCompoundTag(tag);
+ }
+
+ @Override
+ public void processPacket(INetHandlerPlayServer iNetHandlerPlayServer) {
+ NetHandlerPlayServer server = (NetHandlerPlayServer) iNetHandlerPlayServer;
+ EntityPlayerMP player = server.player;
+ if (player.inventory.addItemStackToInventory(stack.copy()))
+ player.sendMessage(new TextComponentTranslation("text.rei.cheat_items", stack.getDisplayName().getFormattedText(), stack.getCount(), player.getScoreboardName()), ChatType.SYSTEM);
+ else player.sendMessage(new TextComponentTranslation("text.rei.failed_cheat_items"), ChatType.SYSTEM);
+ }
+
+}
diff --git a/src/main/java/me/shedaniel/rei/network/DeleteItemsMessage.java b/src/main/java/me/shedaniel/rei/network/DeleteItemsMessage.java
deleted file mode 100644
index dc982e9f6..000000000
--- a/src/main/java/me/shedaniel/rei/network/DeleteItemsMessage.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package me.shedaniel.rei.network;
-
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.item.ItemStack;
-import net.minecraft.network.PacketBuffer;
-import org.dimdev.rift.network.Message;
-import org.dimdev.rift.network.ServerMessageContext;
-
-public class DeleteItemsMessage extends Message {
-
- @Override
- public void write(PacketBuffer buffer) {
-
- }
-
- @Override
- public void read(PacketBuffer buffer) {
-
- }
-
- @Override
- public void process(ServerMessageContext context) {
- EntityPlayerMP player = context.getSender();
- if (!player.inventory.getItemStack().isEmpty())
- player.inventory.setItemStack(ItemStack.EMPTY);
- }
-}
diff --git a/src/main/java/me/shedaniel/rei/network/DeleteItemsPacket.java b/src/main/java/me/shedaniel/rei/network/DeleteItemsPacket.java
new file mode 100644
index 000000000..503f8ce66
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/network/DeleteItemsPacket.java
@@ -0,0 +1,34 @@
+package me.shedaniel.rei.network;
+
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.network.NetHandlerPlayServer;
+import net.minecraft.network.Packet;
+import net.minecraft.network.PacketBuffer;
+import net.minecraft.network.play.INetHandlerPlayServer;
+
+import java.io.IOException;
+
+public class DeleteItemsPacket implements Packet<INetHandlerPlayServer> {
+
+ @Override
+ public void readPacketData(PacketBuffer packetBuffer) throws IOException {
+
+ }
+
+ @Override
+ public void writePacketData(PacketBuffer packetBuffer) throws IOException {
+
+ }
+
+ @Override
+ public void processPacket(INetHandlerPlayServer iNetHandlerPlayServer) {
+ NetHandlerPlayServer server = (NetHandlerPlayServer) iNetHandlerPlayServer;
+ EntityPlayerMP player = server.player;
+
+ if (!player.inventory.getItemStack().isEmpty()) {
+ player.inventory.setItemStack(ItemStack.EMPTY);
+ }
+ }
+
+}