mirror of
https://github.com/GTNewHorizons/WirelessCraftingTerminal.git
synced 2026-11-13 17:04:20 +00:00
[ci skip] spotlessApply with the new settings
This commit is contained in:
1 parent
67757e72c9
commit
d8da552c36
86 files changed
+1026
-943
No files matched your search
@@ -1,6 +1,7 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.api;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
public interface IWCTInteractionHelper {
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.api;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public interface IWCTItemDescription {
|
||||
|
||||
/**
|
||||
* Gets the damage, or meta, value of the item.
|
||||
*
|
||||
|
||||
@@ -3,6 +3,7 @@ package net.p455w0rd.wirelesscraftingterminal.api;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public abstract class IWCTItems {
|
||||
|
||||
/**
|
||||
* WirelessCraftingTerminal
|
||||
*/
|
||||
@@ -16,16 +17,13 @@ public abstract class IWCTItems {
|
||||
public IWCTItemDescription InfinityBoosterCard;
|
||||
|
||||
/**
|
||||
* Used for the creat6ive tab
|
||||
* TODO: remove unneeded item and just
|
||||
* add the icon properly
|
||||
* Used for the creat6ive tab TODO: remove unneeded item and just add the icon properly
|
||||
*/
|
||||
@Nonnull
|
||||
public IWCTItemDescription WCTDummyIcon;
|
||||
|
||||
/**
|
||||
* Item used solely for infinity booster
|
||||
* card slot background icon
|
||||
* Item used solely for infinity booster card slot background icon
|
||||
*/
|
||||
@Nonnull
|
||||
public IWCTItemDescription WCTBoosterBGIcon;
|
||||
|
||||
+6
-5
@@ -1,20 +1,21 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.api;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import appeng.api.features.IWirelessTermHandler;
|
||||
import appeng.api.implementations.items.IAEItemPowerStorage;
|
||||
import appeng.api.util.IConfigManager;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
/**
|
||||
* Provides the required functionality of a wireless terminal.
|
||||
* Presumably this interface would be implemented on an Item, but that is
|
||||
* not a requirement.
|
||||
* Provides the required functionality of a wireless terminal. Presumably this interface would be implemented on an
|
||||
* Item, but that is not a requirement.
|
||||
*
|
||||
* @author Nividica
|
||||
*
|
||||
*/
|
||||
public interface IWirelessCraftingTermHandler extends IWirelessTermHandler, IAEItemPowerStorage {
|
||||
|
||||
// public interface IWirelessCraftingTermHandler extends INetworkEncodable, IAEItemPowerStorage {
|
||||
/**
|
||||
* Gets the tag used to store the terminal data.
|
||||
|
||||
+2
-1
@@ -1,9 +1,10 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.api;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import appeng.api.implementations.items.IAEItemPowerStorage;
|
||||
import appeng.core.features.IAEFeature;
|
||||
import cofh.api.energy.IEnergyContainerItem;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public interface IWirelessCraftingTerminalItem
|
||||
extends IWirelessCraftingTermHandler, IAEItemPowerStorage, IAEFeature, IEnergyContainerItem {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.api;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@@ -8,15 +9,15 @@ public abstract class WCTApi {
|
||||
|
||||
protected static WCTApi api = null;
|
||||
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
@Nullable
|
||||
public static WCTApi instance() {
|
||||
// Have we already retrieved the api?
|
||||
if (WCTApi.api == null) {
|
||||
try {
|
||||
// Attempt to locate the API implementation
|
||||
Class clazz =
|
||||
Class.forName("net.p455w0rd.wirelesscraftingterminal.implementation.WCTAPIImplementation");
|
||||
Class clazz = Class
|
||||
.forName("net.p455w0rd.wirelesscraftingterminal.implementation.WCTAPIImplementation");
|
||||
|
||||
// Get the instance method
|
||||
Method instanceAccessor = clazz.getMethod("instance");
|
||||
|
||||
+4
-3
@@ -1,9 +1,10 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.api.grid;
|
||||
|
||||
import appeng.api.storage.ITerminalHost;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import appeng.api.storage.ITerminalHost;
|
||||
|
||||
/**
|
||||
* Defines the requirements for a terminal that wishes to issue AE2 crafting jobs.
|
||||
*
|
||||
@@ -11,6 +12,7 @@ import net.minecraft.item.ItemStack;
|
||||
*
|
||||
*/
|
||||
public interface ICraftingIssuerHost extends ITerminalHost {
|
||||
|
||||
/**
|
||||
* Gets the icon for this terminal.
|
||||
*
|
||||
@@ -19,8 +21,7 @@ public interface ICraftingIssuerHost extends ITerminalHost {
|
||||
ItemStack getIcon();
|
||||
|
||||
/**
|
||||
* Launches the terminal's GUI.
|
||||
* Used to return to the gui after crafting is confirmed or canceled.
|
||||
* Launches the terminal's GUI. Used to return to the gui after crafting is confirmed or canceled.
|
||||
*/
|
||||
void launchGUI(EntityPlayer player);
|
||||
}
|
||||
+1
@@ -1,6 +1,7 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.api.gui;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.grid.ICraftingIssuerHost;
|
||||
|
||||
public interface ICraftingIssuerContainer {
|
||||
|
||||
+3
-5
@@ -6,12 +6,10 @@ import appeng.api.networking.IGridNode;
|
||||
public interface WCTIActionHost extends IGridHost {
|
||||
|
||||
/**
|
||||
* Used to for calculating security rules, you must supply a node from your
|
||||
* IGridHost for the security test, this should be the primary node for the
|
||||
* machine, unless the action is preformed by a non primary node.
|
||||
* Used to for calculating security rules, you must supply a node from your IGridHost for the security test, this
|
||||
* should be the primary node for the machine, unless the action is preformed by a non primary node.
|
||||
*
|
||||
* @return the the gridnode that actions from this IGridHost are preformed
|
||||
* by.
|
||||
* @return the the gridnode that actions from this IGridHost are preformed by.
|
||||
*/
|
||||
IGridNode getActionableNode();
|
||||
|
||||
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.api.networking.security;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
import appeng.api.networking.security.IActionHost;
|
||||
import appeng.api.networking.security.PlayerSource;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
public class WCTPlayerSource extends PlayerSource {
|
||||
|
||||
|
||||
@@ -7,9 +7,8 @@ import net.p455w0rd.wirelesscraftingterminal.api.exceptions.RegistrationError;
|
||||
public interface IIngredient {
|
||||
|
||||
/**
|
||||
* Acquire a single input stack for the current recipe, if more then one
|
||||
* ItemStack is possible a RegistrationError exception will be thrown,
|
||||
* ignore these and let the system handle the error.
|
||||
* Acquire a single input stack for the current recipe, if more then one ItemStack is possible a RegistrationError
|
||||
* exception will be thrown, ignore these and let the system handle the error.
|
||||
*
|
||||
* @return a single ItemStack for the recipe handler.
|
||||
*
|
||||
@@ -19,8 +18,8 @@ public interface IIngredient {
|
||||
ItemStack getItemStack() throws RegistrationError, MissingIngredientError;
|
||||
|
||||
/**
|
||||
* Acquire a list of all the input stacks for the current recipe, this is
|
||||
* for handlers that support multiple inputs per slot.
|
||||
* Acquire a list of all the input stacks for the current recipe, this is for handlers that support multiple inputs
|
||||
* per slot.
|
||||
*
|
||||
* @return an array of ItemStacks for the recipe handler.
|
||||
*
|
||||
@@ -30,16 +29,14 @@ public interface IIngredient {
|
||||
ItemStack[] getItemStackSet() throws RegistrationError, MissingIngredientError;
|
||||
|
||||
/**
|
||||
* If you wish to support air, you must test before getting the ItemStack,
|
||||
* or ItemStackSet
|
||||
* If you wish to support air, you must test before getting the ItemStack, or ItemStackSet
|
||||
*
|
||||
* @return true if this slot contains no ItemStack, this is passed as "_"
|
||||
*/
|
||||
boolean isAir();
|
||||
|
||||
/**
|
||||
* @return The Name Space of the item. Prefer getItemStack or
|
||||
* getItemStackSet
|
||||
* @return The Name Space of the item. Prefer getItemStack or getItemStackSet
|
||||
*/
|
||||
String getNameSpace();
|
||||
|
||||
@@ -49,14 +46,12 @@ public interface IIngredient {
|
||||
String getItemName();
|
||||
|
||||
/**
|
||||
* @return The Damage Value of the item. Prefer getItemStack or
|
||||
* getItemStackSet
|
||||
* @return The Damage Value of the item. Prefer getItemStack or getItemStackSet
|
||||
*/
|
||||
int getDamageValue();
|
||||
|
||||
/**
|
||||
* @return The Damage Value of the item. Prefer getItemStack or
|
||||
* getItemStackSet
|
||||
* @return The Damage Value of the item. Prefer getItemStack or getItemStackSet
|
||||
*/
|
||||
int getQty();
|
||||
|
||||
|
||||
+1
@@ -3,5 +3,6 @@ package net.p455w0rd.wirelesscraftingterminal.api.recipes.game;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.exceptions.RegistrationError;
|
||||
|
||||
public interface IRecipeBakeable {
|
||||
|
||||
void bake() throws RegistrationError;
|
||||
}
|
||||
+4
-3
@@ -3,6 +3,7 @@ package net.p455w0rd.wirelesscraftingterminal.api.recipes.game;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import net.minecraft.inventory.InventoryCrafting;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.IRecipe;
|
||||
@@ -13,6 +14,7 @@ import net.p455w0rd.wirelesscraftingterminal.api.exceptions.RegistrationError;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.recipes.IIngredient;
|
||||
|
||||
public class ShapedRecipe implements IRecipe, IRecipeBakeable {
|
||||
|
||||
// Added in for future ease of change, but hard coded for now.
|
||||
private static final int MAX_CRAFT_GRID_WIDTH = 3;
|
||||
private static final int MAX_CRAFT_GRID_HEIGHT = 3;
|
||||
@@ -195,9 +197,8 @@ public class ShapedRecipe implements IRecipe, IRecipeBakeable {
|
||||
if (input == null && target != null || input != null && target == null) {
|
||||
return false;
|
||||
}
|
||||
return (target.getItem() == input.getItem()
|
||||
&& (target.getItemDamage() == OreDictionary.WILDCARD_VALUE
|
||||
|| target.getItemDamage() == input.getItemDamage()));
|
||||
return (target.getItem() == input.getItem() && (target.getItemDamage() == OreDictionary.WILDCARD_VALUE
|
||||
|| target.getItemDamage() == input.getItemDamage()));
|
||||
}
|
||||
|
||||
public ShapedRecipe setMirrored(final boolean mirror) {
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.client.gui;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.definitions.IDefinitions;
|
||||
import appeng.api.definitions.IParts;
|
||||
import appeng.api.storage.ITerminalHost;
|
||||
import appeng.client.gui.widgets.GuiTabButton;
|
||||
import appeng.container.implementations.ContainerCraftAmount;
|
||||
import appeng.helpers.Reflected;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -17,7 +10,16 @@ import net.p455w0rd.wirelesscraftingterminal.items.ItemEnum;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemWirelessCraftingTerminal;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.definitions.IDefinitions;
|
||||
import appeng.api.definitions.IParts;
|
||||
import appeng.api.storage.ITerminalHost;
|
||||
import appeng.client.gui.widgets.GuiTabButton;
|
||||
import appeng.container.implementations.ContainerCraftAmount;
|
||||
import appeng.helpers.Reflected;
|
||||
|
||||
public class GuiCraftAmount extends appeng.client.gui.implementations.GuiCraftAmount {
|
||||
|
||||
private GuiTabButton originalGuiBtn;
|
||||
|
||||
private ItemStack myIcon;
|
||||
@@ -32,7 +34,7 @@ public class GuiCraftAmount extends appeng.client.gui.implementations.GuiCraftAm
|
||||
myIcon = is;
|
||||
}
|
||||
|
||||
@SuppressWarnings({"unchecked", "unused"})
|
||||
@SuppressWarnings({ "unchecked", "unused" })
|
||||
@Override
|
||||
public void initGui() {
|
||||
super.initGui();
|
||||
@@ -52,7 +54,11 @@ public class GuiCraftAmount extends appeng.client.gui.implementations.GuiCraftAm
|
||||
if (this.originalGui > 0 && myIcon != null) {
|
||||
this.buttonList.add(
|
||||
this.originalGuiBtn = new GuiTabButton(
|
||||
this.guiLeft + 154, this.guiTop - 4, myIcon, myIcon.getDisplayName(), itemRender));
|
||||
this.guiLeft + 154,
|
||||
this.guiTop - 4,
|
||||
myIcon,
|
||||
myIcon.getDisplayName(),
|
||||
itemRender));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.client.gui;
|
||||
|
||||
import appeng.api.storage.ITerminalHost;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.NetworkHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketSwitchGuis;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import appeng.api.storage.ITerminalHost;
|
||||
|
||||
public class GuiCraftConfirm extends appeng.client.gui.implementations.GuiCraftConfirm {
|
||||
|
||||
public GuiCraftConfirm(final InventoryPlayer inventoryPlayer, final ITerminalHost te) {
|
||||
super(inventoryPlayer, te);
|
||||
}
|
||||
|
||||
+9
-8
@@ -1,11 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.client.gui;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.definitions.IDefinitions;
|
||||
import appeng.api.definitions.IParts;
|
||||
import appeng.api.storage.ITerminalHost;
|
||||
import appeng.client.gui.widgets.GuiTabButton;
|
||||
import appeng.container.implementations.ContainerCraftingStatus;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -16,7 +10,15 @@ import net.p455w0rd.wirelesscraftingterminal.items.ItemEnum;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemWirelessCraftingTerminal;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.definitions.IDefinitions;
|
||||
import appeng.api.definitions.IParts;
|
||||
import appeng.api.storage.ITerminalHost;
|
||||
import appeng.client.gui.widgets.GuiTabButton;
|
||||
import appeng.container.implementations.ContainerCraftingStatus;
|
||||
|
||||
public class GuiCraftingStatus extends appeng.client.gui.implementations.GuiCraftingStatus {
|
||||
|
||||
private GuiTabButton originalGuiBtn;
|
||||
private int originalGui;
|
||||
private ItemStack myIcon = null;
|
||||
@@ -31,8 +33,7 @@ public class GuiCraftingStatus extends appeng.client.gui.implementations.GuiCraf
|
||||
final IParts parts = definitions.parts();
|
||||
|
||||
if (target instanceof WirelessTerminalGuiObject) {
|
||||
for (final ItemStack wirelessTerminalStack :
|
||||
definitions.items().wirelessTerminal().maybeStack(1).asSet()) {
|
||||
for (final ItemStack wirelessTerminalStack : definitions.items().wirelessTerminal().maybeStack(1).asSet()) {
|
||||
this.myIcon = wirelessTerminalStack;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.client.gui;
|
||||
|
||||
import cpw.mods.fml.client.IModGuiFactory;
|
||||
import java.util.Set;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
|
||||
import cpw.mods.fml.client.IModGuiFactory;
|
||||
|
||||
public class GuiFactory implements IModGuiFactory {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -12,6 +12,7 @@ import net.p455w0rd.wirelesscraftingterminal.common.container.ContainerMagnet;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.NetworkHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketMagnetFilter;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.LocaleHandler;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class GuiMagnet extends GuiContainer {
|
||||
@@ -58,13 +59,28 @@ public class GuiMagnet extends GuiContainer {
|
||||
this.modeBtn = new WCTGuiButton(0, this.guiLeft + 104, this.guiTop + 4, 64, 14, getLabel(this.mode)));
|
||||
this.buttonList.add(
|
||||
this.ignoreNBTBox = new WCTGuiCheckBox(
|
||||
1, this.guiLeft + 61, this.guiTop + 20, "Ignore NBT Data", this.ignoreNBT, 107));
|
||||
1,
|
||||
this.guiLeft + 61,
|
||||
this.guiTop + 20,
|
||||
"Ignore NBT Data",
|
||||
this.ignoreNBT,
|
||||
107));
|
||||
this.buttonList.add(
|
||||
this.ignoreMetaBox = new WCTGuiCheckBox(
|
||||
2, this.guiLeft + 61, this.guiTop + 32, "Ignore Meta Data", this.ignoreMeta, 107));
|
||||
2,
|
||||
this.guiLeft + 61,
|
||||
this.guiTop + 32,
|
||||
"Ignore Meta Data",
|
||||
this.ignoreMeta,
|
||||
107));
|
||||
this.buttonList.add(
|
||||
this.useOreDictBox = new WCTGuiCheckBox(
|
||||
3, this.guiLeft + 61, this.guiTop + 44, "Use Ore Dictionary", this.useOreDict, 107));
|
||||
3,
|
||||
this.guiLeft + 61,
|
||||
this.guiTop + 44,
|
||||
"Use Ore Dictionary",
|
||||
this.useOreDict,
|
||||
107));
|
||||
}
|
||||
|
||||
String getLabel(boolean filterMode) {
|
||||
|
||||
+94
-100
@@ -1,5 +1,36 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.client.gui;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.text.NumberFormat;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.inventory.GuiInventory;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.p455w0rd.wirelesscraftingterminal.client.gui.widgets.GuiTrashButton;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.ContainerWirelessCraftingTerminal;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.slot.SlotTrash;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.NetworkHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketEmptyTrash;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketInventoryAction;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketSwitchGuis;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketValueConfig;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.LocaleHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.input.Mouse;
|
||||
|
||||
import yalter.mousetweaks.api.IMTModGuiContainer;
|
||||
import appeng.api.config.ActionItems;
|
||||
import appeng.api.config.SearchBoxMode;
|
||||
import appeng.api.config.Settings;
|
||||
@@ -33,34 +64,6 @@ import codechicken.nei.TextField;
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import cpw.mods.fml.common.Optional;
|
||||
import cpw.mods.fml.relauncher.ReflectionHelper;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.text.NumberFormat;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.inventory.GuiInventory;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.p455w0rd.wirelesscraftingterminal.client.gui.widgets.GuiTrashButton;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.ContainerWirelessCraftingTerminal;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.slot.SlotTrash;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.NetworkHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketEmptyTrash;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketInventoryAction;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketSwitchGuis;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketValueConfig;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.LocaleHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.input.Mouse;
|
||||
import yalter.mousetweaks.api.IMTModGuiContainer;
|
||||
|
||||
@Optional.Interface(modid = "MouseTweaks", iface = "yalter.mousetweaks.api.IMTModGuiContainer")
|
||||
public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
@@ -68,24 +71,10 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
|
||||
private float xSize_lo;
|
||||
private float ySize_lo;
|
||||
public static int tick = 0,
|
||||
GUI_HEIGHT = 240,
|
||||
GUI_WIDTH = 230,
|
||||
AE_ROW_HEIGHT = 18,
|
||||
AE_NUM_ROWS = 0,
|
||||
GUI_UPPER_HEIGHT = 35,
|
||||
GUI_SEARCH_ROW = 35,
|
||||
SEARCH_X = 80,
|
||||
SEARCH_Y = 4,
|
||||
SEARCH_WIDTH = 88,
|
||||
SEARCH_HEIGHT = 12,
|
||||
SEARCH_MAXCHARS = 15,
|
||||
GUI_LOWER_HEIGHT,
|
||||
AE_TOTAL_ROWS_HEIGHT,
|
||||
BUTTON_SEARCH_MODE_POS_X = -18,
|
||||
BUTTON_SEARCH_MODE_POS_Y = 68,
|
||||
BUTTON_SIZE = 16,
|
||||
NEI_EXTRA_SPACE = 30,
|
||||
public static int tick = 0, GUI_HEIGHT = 240, GUI_WIDTH = 230, AE_ROW_HEIGHT = 18, AE_NUM_ROWS = 0,
|
||||
GUI_UPPER_HEIGHT = 35, GUI_SEARCH_ROW = 35, SEARCH_X = 80, SEARCH_Y = 4, SEARCH_WIDTH = 88,
|
||||
SEARCH_HEIGHT = 12, SEARCH_MAXCHARS = 15, GUI_LOWER_HEIGHT, AE_TOTAL_ROWS_HEIGHT,
|
||||
BUTTON_SEARCH_MODE_POS_X = -18, BUTTON_SEARCH_MODE_POS_Y = 68, BUTTON_SIZE = 16, NEI_EXTRA_SPACE = 30,
|
||||
slotYOffset;
|
||||
protected static final int BUTTON_SEARCH_MODE_ID = 5;
|
||||
protected static final long TOOLTIP_UPDATE_INTERVAL = 3000L;
|
||||
@@ -152,9 +141,10 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
|
||||
private void setScrollBar() {
|
||||
this.getScrollBar().setTop(18).setLeft(174).setHeight(this.rows * 18 - 2);
|
||||
this.getScrollBar()
|
||||
.setRange(
|
||||
0, (this.repo.size() + this.perRow - 1) / this.perRow - this.rows, Math.max(1, this.rows / 6));
|
||||
this.getScrollBar().setRange(
|
||||
0,
|
||||
(this.repo.size() + this.perRow - 1) / this.perRow - this.rows,
|
||||
Math.max(1, this.rows / 6));
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
@@ -170,8 +160,7 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
final GuiImgButton iBtn = (GuiImgButton) btn;
|
||||
if (iBtn.getSetting() != Settings.ACTIONS) {
|
||||
final Enum cv = iBtn.getCurrentValue();
|
||||
final Enum next =
|
||||
Platform.rotateEnum(cv, backwards, iBtn.getSetting().getPossibleValues());
|
||||
final Enum next = Platform.rotateEnum(cv, backwards, iBtn.getSetting().getPossibleValues());
|
||||
|
||||
if (btn == this.terminalStyleBox) {
|
||||
AEConfig.instance.settings.putSetting(iBtn.getSetting(), next);
|
||||
@@ -182,8 +171,8 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
AEConfig.instance.preserveSearchBar = next == YesNo.YES;
|
||||
} else {
|
||||
try {
|
||||
NetworkHandler.instance.sendToServer(
|
||||
new PacketValueConfig(iBtn.getSetting().name(), next.name()));
|
||||
NetworkHandler.instance
|
||||
.sendToServer(new PacketValueConfig(iBtn.getSetting().name(), next.name()));
|
||||
} catch (final IOException e) {
|
||||
WCTLog.debug(e.getMessage());
|
||||
}
|
||||
@@ -205,8 +194,10 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
}
|
||||
|
||||
if (s != null) {
|
||||
final PacketInventoryAction p =
|
||||
new PacketInventoryAction(InventoryAction.MOVE_REGION, s.slotNumber, 0);
|
||||
final PacketInventoryAction p = new PacketInventoryAction(
|
||||
InventoryAction.MOVE_REGION,
|
||||
s.slotNumber,
|
||||
0);
|
||||
NetworkHandler.instance.sendToServer(p);
|
||||
}
|
||||
}
|
||||
@@ -245,8 +236,7 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
action = ctrlDown == 1 ? InventoryAction.SPLIT_OR_PLACE_SINGLE : InventoryAction.PICKUP_OR_SET_DOWN;
|
||||
stack = ((SlotME) slot).getAEStack();
|
||||
|
||||
if (stack != null
|
||||
&& action == InventoryAction.PICKUP_OR_SET_DOWN
|
||||
if (stack != null && action == InventoryAction.PICKUP_OR_SET_DOWN
|
||||
&& stack.getStackSize() == 0
|
||||
&& player.inventory.getItemStack() == null) {
|
||||
action = InventoryAction.AUTO_CRAFT;
|
||||
@@ -263,8 +253,10 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
}
|
||||
if (action == InventoryAction.AUTO_CRAFT) {
|
||||
((AEBaseContainer) this.inventorySlots).setTargetStack(stack);
|
||||
final PacketInventoryAction p =
|
||||
new PacketInventoryAction(action, this.inventorySlots.inventorySlots.size(), 0);
|
||||
final PacketInventoryAction p = new PacketInventoryAction(
|
||||
action,
|
||||
this.inventorySlots.inventorySlots.size(),
|
||||
0);
|
||||
NetworkHandler.instance.sendToServer(p);
|
||||
return;
|
||||
}
|
||||
@@ -296,15 +288,14 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
/**
|
||||
* Initializes the GUI
|
||||
*/
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
@Override
|
||||
public void initGui() {
|
||||
super.initGui();
|
||||
|
||||
Keyboard.enableRepeatEvents(true);
|
||||
this.maxRows = this.getMaxRows();
|
||||
this.perRow = AEConfig.instance.getConfigManager().getSetting(Settings.TERMINAL_STYLE) != TerminalStyle.FULL
|
||||
? 9
|
||||
this.perRow = AEConfig.instance.getConfigManager().getSetting(Settings.TERMINAL_STYLE) != TerminalStyle.FULL ? 9
|
||||
: 9 + ((this.width - this.standardSize) / 18);
|
||||
this.isNEIEnabled = Loader.isModLoaded("NotEnoughItems");
|
||||
int top = isNEIEnabled ? 22 : 0;
|
||||
@@ -346,19 +337,28 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
this.buttonList.clear();
|
||||
this.buttonList.add(
|
||||
this.clearBtn = new GuiImgButton(
|
||||
this.guiLeft + 134, this.guiTop + this.ySize - 160, Settings.ACTIONS, ActionItems.STASH));
|
||||
this.guiLeft + 134,
|
||||
this.guiTop + this.ySize - 160,
|
||||
Settings.ACTIONS,
|
||||
ActionItems.STASH));
|
||||
this.buttonList.add(this.trashBtn = new GuiTrashButton(this.guiLeft + 98, this.guiTop + this.ySize - 104));
|
||||
this.clearBtn.setHalfSize(true);
|
||||
if (this.customSortOrder) {
|
||||
this.buttonList.add(
|
||||
this.SortByBox = new GuiImgButton(
|
||||
this.guiLeft - 18, offset, Settings.SORT_BY, this.configSrc.getSetting(Settings.SORT_BY)));
|
||||
this.guiLeft - 18,
|
||||
offset,
|
||||
Settings.SORT_BY,
|
||||
this.configSrc.getSetting(Settings.SORT_BY)));
|
||||
offset += 20;
|
||||
}
|
||||
|
||||
this.buttonList.add(
|
||||
this.ViewBox = new GuiImgButton(
|
||||
this.guiLeft - 18, offset, Settings.VIEW_MODE, this.configSrc.getSetting(Settings.VIEW_MODE)));
|
||||
this.guiLeft - 18,
|
||||
offset,
|
||||
Settings.VIEW_MODE,
|
||||
this.configSrc.getSetting(Settings.VIEW_MODE)));
|
||||
offset += 20;
|
||||
|
||||
this.buttonList.add(
|
||||
@@ -440,8 +440,7 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
}
|
||||
|
||||
int getMaxRows() {
|
||||
return AEConfig.instance.getConfigManager().getSetting(Settings.TERMINAL_STYLE) == TerminalStyle.SMALL
|
||||
? 6
|
||||
return AEConfig.instance.getConfigManager().getSetting(Settings.TERMINAL_STYLE) == TerminalStyle.SMALL ? 6
|
||||
: Integer.MAX_VALUE;
|
||||
}
|
||||
|
||||
@@ -450,11 +449,10 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
}
|
||||
|
||||
/**
|
||||
* Called every tick. It is used in this instance to detect screen size
|
||||
* changes to automatically update the gui height.
|
||||
* Called every tick. It is used in this instance to detect screen size changes to automatically update the gui
|
||||
* height.
|
||||
* <p>
|
||||
* reInit variable is used to call initGui() on the next tick. It has to be
|
||||
* called this way to update correctly.
|
||||
* reInit variable is used to call initGui() on the next tick. It has to be called this way to update correctly.
|
||||
*
|
||||
* @author p455w0rd
|
||||
*/
|
||||
@@ -508,8 +506,7 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
* @author p455w0rd
|
||||
*/
|
||||
private boolean hasScreenResChanged() {
|
||||
if ((this.currScreenWidth != this.mc.displayWidth)
|
||||
|| (this.currScreenHeight != this.mc.displayHeight)
|
||||
if ((this.currScreenWidth != this.mc.displayWidth) || (this.currScreenHeight != this.mc.displayHeight)
|
||||
|| (this.isFullScreen != this.mc.isFullScreen())) {
|
||||
this.currScreenWidth = this.mc.displayWidth;
|
||||
this.currScreenHeight = this.mc.displayHeight;
|
||||
@@ -640,8 +637,8 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
return;
|
||||
}
|
||||
|
||||
final boolean mouseInGui =
|
||||
this.isPointInRegion(0, 0, this.xSize, this.ySize, this.currentMouseX, this.currentMouseY);
|
||||
final boolean mouseInGui = this
|
||||
.isPointInRegion(0, 0, this.xSize, this.ySize, this.currentMouseX, this.currentMouseY);
|
||||
if (this.isAutoFocus && !this.searchField.isFocused() && mouseInGui) {
|
||||
this.searchField.setFocused(true);
|
||||
}
|
||||
@@ -665,8 +662,8 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
this.mc.getTextureManager().bindTexture(loc);
|
||||
}
|
||||
|
||||
public List<String> handleItemTooltip(
|
||||
final ItemStack stack, final int mouseX, final int mouseY, final List<String> currentToolTip) {
|
||||
public List<String> handleItemTooltip(final ItemStack stack, final int mouseX, final int mouseY,
|
||||
final List<String> currentToolTip) {
|
||||
if (stack != null) {
|
||||
final Slot s = this.getSlot(mouseX, mouseY);
|
||||
if (s instanceof SlotME) {
|
||||
@@ -677,14 +674,13 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
try {
|
||||
final SlotME theSlotField = (SlotME) s;
|
||||
myStack = theSlotField.getAEStack();
|
||||
} catch (final Throwable ignore) {
|
||||
}
|
||||
} catch (final Throwable ignore) {}
|
||||
|
||||
if (myStack != null) {
|
||||
if (myStack.getStackSize() > BigNumber || (myStack.getStackSize() > 1 && stack.isItemDamaged())) {
|
||||
final String local = ButtonToolTips.ItemsStored.getLocal();
|
||||
final String formattedAmount =
|
||||
NumberFormat.getNumberInstance(Locale.US).format(myStack.getStackSize());
|
||||
final String formattedAmount = NumberFormat.getNumberInstance(Locale.US)
|
||||
.format(myStack.getStackSize());
|
||||
final String format = String.format(local, formattedAmount);
|
||||
|
||||
currentToolTip.add("\u00a77" + format);
|
||||
@@ -692,16 +688,15 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
|
||||
if (myStack.getCountRequestable() > 0) {
|
||||
final String local = ButtonToolTips.ItemsRequestable.getLocal();
|
||||
final String formattedAmount =
|
||||
NumberFormat.getNumberInstance(Locale.US).format(myStack.getCountRequestable());
|
||||
final String formattedAmount = NumberFormat.getNumberInstance(Locale.US)
|
||||
.format(myStack.getCountRequestable());
|
||||
final String format = String.format(local, formattedAmount);
|
||||
|
||||
currentToolTip.add("\u00a77" + format);
|
||||
}
|
||||
} else if (stack.stackSize > BigNumber || (stack.stackSize > 1 && stack.isItemDamaged())) {
|
||||
final String local = ButtonToolTips.ItemsStored.getLocal();
|
||||
final String formattedAmount =
|
||||
NumberFormat.getNumberInstance(Locale.US).format(stack.stackSize);
|
||||
final String formattedAmount = NumberFormat.getNumberInstance(Locale.US).format(stack.stackSize);
|
||||
final String format = String.format(local, formattedAmount);
|
||||
|
||||
currentToolTip.add("\u00a77" + format);
|
||||
@@ -711,7 +706,7 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
return currentToolTip;
|
||||
}
|
||||
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
@Override
|
||||
protected void renderToolTip(final ItemStack stack, final int x, final int y) {
|
||||
final Slot s = this.getSlot(x, y);
|
||||
@@ -723,28 +718,28 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
try {
|
||||
final SlotME theSlotField = (SlotME) s;
|
||||
myStack = theSlotField.getAEStack();
|
||||
} catch (final Throwable ignore) {
|
||||
}
|
||||
} catch (final Throwable ignore) {}
|
||||
|
||||
if (myStack != null) {
|
||||
final List<String> currentToolTip =
|
||||
stack.getTooltip(this.mc.thePlayer, this.mc.gameSettings.advancedItemTooltips);
|
||||
final List<String> currentToolTip = stack
|
||||
.getTooltip(this.mc.thePlayer, this.mc.gameSettings.advancedItemTooltips);
|
||||
|
||||
if (myStack.getStackSize() > BigNumber || (myStack.getStackSize() > 1 && stack.isItemDamaged())) {
|
||||
currentToolTip.add("Items Stored: "
|
||||
+ NumberFormat.getNumberInstance(Locale.US).format(myStack.getStackSize()));
|
||||
currentToolTip.add(
|
||||
"Items Stored: "
|
||||
+ NumberFormat.getNumberInstance(Locale.US).format(myStack.getStackSize()));
|
||||
}
|
||||
|
||||
if (myStack.getCountRequestable() > 0) {
|
||||
currentToolTip.add("Items Requestable: "
|
||||
+ NumberFormat.getNumberInstance(Locale.US).format(myStack.getCountRequestable()));
|
||||
currentToolTip.add(
|
||||
"Items Requestable: "
|
||||
+ NumberFormat.getNumberInstance(Locale.US).format(myStack.getCountRequestable()));
|
||||
}
|
||||
|
||||
this.drawTooltip(x, y, 0, join(currentToolTip, "\n"));
|
||||
} else if (stack.stackSize > BigNumber) {
|
||||
final List var4 = stack.getTooltip(this.mc.thePlayer, this.mc.gameSettings.advancedItemTooltips);
|
||||
var4.add("Items Stored: "
|
||||
+ NumberFormat.getNumberInstance(Locale.US).format(stack.stackSize));
|
||||
var4.add("Items Stored: " + NumberFormat.getNumberInstance(Locale.US).format(stack.stackSize));
|
||||
this.drawTooltip(x, y, 0, join(var4, "\n"));
|
||||
return;
|
||||
}
|
||||
@@ -815,8 +810,7 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
int j = this.guiTop;
|
||||
pointX -= i;
|
||||
pointY -= j;
|
||||
return pointX >= rectX - 1
|
||||
&& pointX < rectX + rectWidth + 1
|
||||
return pointX >= rectX - 1 && pointX < rectX + rectWidth + 1
|
||||
&& pointY >= rectY - 1
|
||||
&& pointY < rectY + rectHeight + 1;
|
||||
}
|
||||
@@ -826,8 +820,8 @@ public class GuiWirelessCraftingTerminal extends AEBaseGui
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
final Class<? super Object> c =
|
||||
ReflectionHelper.getClass(this.getClass().getClassLoader(), "codechicken.nei.LayoutManager");
|
||||
final Class<? super Object> c = ReflectionHelper
|
||||
.getClass(this.getClass().getClassLoader(), "codechicken.nei.LayoutManager");
|
||||
final Field fldSearchField = c.getField("searchField");
|
||||
final TextField searchField = (TextField) fldSearchField.get(c);
|
||||
return searchField.focused();
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.client.gui;
|
||||
|
||||
import cpw.mods.fml.client.config.GuiConfig;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraftforge.common.config.ConfigElement;
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.ConfigHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import cpw.mods.fml.client.config.GuiConfig;
|
||||
|
||||
public class WCTGuiConfig extends GuiConfig {
|
||||
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
public WCTGuiConfig(GuiScreen guiScreen) {
|
||||
super(
|
||||
guiScreen,
|
||||
|
||||
+9
-4
@@ -1,13 +1,15 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.client.gui.widgets;
|
||||
|
||||
import appeng.client.gui.widgets.ITooltip;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.LocaleHandler;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import appeng.client.gui.widgets.ITooltip;
|
||||
|
||||
public class GuiTrashButton extends GuiButton implements ITooltip {
|
||||
|
||||
public GuiTrashButton(int x, int y) {
|
||||
@@ -26,8 +28,7 @@ public class GuiTrashButton extends GuiButton implements ITooltip {
|
||||
GL11.glScalef(0.5f, 0.5f, 0.5f);
|
||||
GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
mc.renderEngine.bindTexture(new ResourceLocation("appliedenergistics2", "textures/guis/states.png"));
|
||||
this.field_146123_n = par2 >= this.xPosition
|
||||
&& par3 >= this.yPosition
|
||||
this.field_146123_n = par2 >= this.xPosition && par3 >= this.yPosition
|
||||
&& par2 < this.xPosition + this.width
|
||||
&& par3 < this.yPosition + this.height;
|
||||
this.drawTexturedModalRect(0, 0, 256 - 16, 256 - 16, 16, 16);
|
||||
@@ -39,7 +40,11 @@ public class GuiTrashButton extends GuiButton implements ITooltip {
|
||||
|
||||
@Override
|
||||
public String getMessage() {
|
||||
return EnumChatFormatting.WHITE + "" + LocaleHandler.EmptyTrash.getLocal() + "\n" + EnumChatFormatting.GRAY + ""
|
||||
return EnumChatFormatting.WHITE + ""
|
||||
+ LocaleHandler.EmptyTrash.getLocal()
|
||||
+ "\n"
|
||||
+ EnumChatFormatting.GRAY
|
||||
+ ""
|
||||
+ LocaleHandler.EmptyTrashDesc.getLocal();
|
||||
}
|
||||
|
||||
|
||||
+13
-7
@@ -5,19 +5,21 @@ import net.minecraft.client.gui.FontRenderer;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class WCTGuiButton extends GuiButton {
|
||||
|
||||
protected static final ResourceLocation buttonTextures =
|
||||
new ResourceLocation("minecraft", "textures/gui/widgets.png");
|
||||
protected static final ResourceLocation buttonTextures = new ResourceLocation(
|
||||
"minecraft",
|
||||
"textures/gui/widgets.png");
|
||||
|
||||
public WCTGuiButton(int p_i1020_1_, int p_i1020_2_, int p_i1020_3_, String p_i1020_4_) {
|
||||
this(p_i1020_1_, p_i1020_2_, p_i1020_3_, 200, 20, p_i1020_4_);
|
||||
}
|
||||
|
||||
public WCTGuiButton(
|
||||
int p_i1021_1_, int p_i1021_2_, int p_i1021_3_, int p_i1021_4_, int p_i1021_5_, String p_i1021_6_) {
|
||||
public WCTGuiButton(int p_i1021_1_, int p_i1021_2_, int p_i1021_3_, int p_i1021_4_, int p_i1021_5_,
|
||||
String p_i1021_6_) {
|
||||
super(p_i1021_1_, p_i1021_2_, p_i1021_3_, p_i1021_4_, p_i1021_5_, p_i1021_6_);
|
||||
this.width = 200;
|
||||
this.height = 20;
|
||||
@@ -37,8 +39,7 @@ public class WCTGuiButton extends GuiButton {
|
||||
FontRenderer fontrenderer = p_146112_1_.fontRenderer;
|
||||
p_146112_1_.getTextureManager().bindTexture(buttonTextures);
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
this.field_146123_n = p_146112_2_ >= this.xPosition
|
||||
&& p_146112_3_ >= this.yPosition
|
||||
this.field_146123_n = p_146112_2_ >= this.xPosition && p_146112_3_ >= this.yPosition
|
||||
&& p_146112_2_ < this.xPosition + this.width
|
||||
&& p_146112_3_ < this.yPosition + this.height;
|
||||
int k = this.getHoverState(this.field_146123_n);
|
||||
@@ -62,7 +63,12 @@ public class WCTGuiButton extends GuiButton {
|
||||
this.width - 2,
|
||||
2);
|
||||
this.drawTexturedModalRect(
|
||||
this.xPosition, this.yPosition + (this.height - 1), 200 - this.width, 65 + k * 20, this.width, 1);
|
||||
this.xPosition,
|
||||
this.yPosition + (this.height - 1),
|
||||
200 - this.width,
|
||||
65 + k * 20,
|
||||
this.width,
|
||||
1);
|
||||
this.mouseDragged(p_146112_1_, p_146112_2_, p_146112_3_);
|
||||
int l = 14737632;
|
||||
|
||||
|
||||
+13
-15
@@ -1,9 +1,10 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.client.gui.widgets;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
|
||||
import cpw.mods.fml.client.config.GuiCheckBox;
|
||||
import cpw.mods.fml.client.config.GuiUtils;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
|
||||
public class WCTGuiCheckBox extends GuiCheckBox {
|
||||
|
||||
@@ -22,8 +23,7 @@ public class WCTGuiCheckBox extends GuiCheckBox {
|
||||
@Override
|
||||
public void drawButton(Minecraft mc, int mouseX, int mouseY) {
|
||||
if (this.visible) {
|
||||
this.field_146123_n = mouseX >= this.xPosition
|
||||
&& mouseY >= this.yPosition
|
||||
this.field_146123_n = mouseX >= this.xPosition && mouseY >= this.yPosition
|
||||
&& mouseX < this.xPosition + this.boxWidth
|
||||
&& mouseY < this.yPosition + this.height;
|
||||
GuiUtils.drawContinuousTexturedBox(
|
||||
@@ -49,27 +49,25 @@ public class WCTGuiCheckBox extends GuiCheckBox {
|
||||
} else {
|
||||
color = 4210752;
|
||||
}
|
||||
if (this.isChecked)
|
||||
this.drawCenteredString(
|
||||
mc.fontRenderer,
|
||||
"✔",
|
||||
this.xPosition + (this.width - this.boxWidth) + this.boxWidth / 2 + 1,
|
||||
this.yPosition + 1,
|
||||
0x00FF00);
|
||||
if (this.isChecked) this.drawCenteredString(
|
||||
mc.fontRenderer,
|
||||
"✔",
|
||||
this.xPosition + (this.width - this.boxWidth) + this.boxWidth / 2 + 1,
|
||||
this.yPosition + 1,
|
||||
0x00FF00);
|
||||
|
||||
this.drawStringNoShadow(mc.fontRenderer, displayString, xPosition, yPosition + 2, color);
|
||||
}
|
||||
}
|
||||
|
||||
public void drawStringNoShadow(
|
||||
FontRenderer p_73731_1_, String p_73731_2_, int p_73731_3_, int p_73731_4_, int p_73731_5_) {
|
||||
public void drawStringNoShadow(FontRenderer p_73731_1_, String p_73731_2_, int p_73731_3_, int p_73731_4_,
|
||||
int p_73731_5_) {
|
||||
p_73731_1_.drawString(p_73731_2_, p_73731_3_, p_73731_4_, p_73731_5_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean mousePressed(Minecraft p_146116_1_, int p_146116_2_, int p_146116_3_) {
|
||||
if (this.enabled
|
||||
&& this.visible
|
||||
if (this.enabled && this.visible
|
||||
&& p_146116_2_ >= this.xPosition
|
||||
&& p_146116_3_ >= this.yPosition
|
||||
&& p_146116_2_ < this.xPosition + this.width
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.implementations.guiobjects.IPortableCell;
|
||||
import appeng.container.AEBaseContainer;
|
||||
import appeng.container.ContainerOpenContext;
|
||||
import appeng.container.implementations.ContainerCraftingStatus;
|
||||
import cpw.mods.fml.common.network.IGuiHandler;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
@@ -23,19 +17,30 @@ import net.p455w0rd.wirelesscraftingterminal.common.utils.RandomUtils;
|
||||
import net.p455w0rd.wirelesscraftingterminal.helpers.WirelessTerminalGuiObject;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.implementations.guiobjects.IPortableCell;
|
||||
import appeng.container.AEBaseContainer;
|
||||
import appeng.container.ContainerOpenContext;
|
||||
import appeng.container.implementations.ContainerCraftingStatus;
|
||||
import cpw.mods.fml.common.network.IGuiHandler;
|
||||
|
||||
public class WCTGuiHandler implements IGuiHandler {
|
||||
|
||||
public void registerRenderers() {}
|
||||
|
||||
@Override
|
||||
public Object getServerGuiElement(int guiId, EntityPlayer player, World world, int x, int y, int z) {
|
||||
final IWirelessCraftingTermHandler wh = (IWirelessCraftingTermHandler) AEApi.instance()
|
||||
.registries()
|
||||
.wireless()
|
||||
final IWirelessCraftingTermHandler wh = (IWirelessCraftingTermHandler) AEApi.instance().registries().wireless()
|
||||
.getWirelessTerminalHandler(RandomUtils.getWirelessTerm(player.inventory));
|
||||
if (wh != null) {
|
||||
final WirelessTerminalGuiObject obj = new WirelessTerminalGuiObject(
|
||||
wh, RandomUtils.getWirelessTerm(player.inventory), player, world, x, y, z);
|
||||
wh,
|
||||
RandomUtils.getWirelessTerm(player.inventory),
|
||||
player,
|
||||
world,
|
||||
x,
|
||||
y,
|
||||
z);
|
||||
if (obj != null) {
|
||||
final IPortableCell terminal = obj;
|
||||
|
||||
@@ -63,12 +68,24 @@ public class WCTGuiHandler implements IGuiHandler {
|
||||
|
||||
if (guiId == Reference.GUI_CRAFT_AMOUNT) {
|
||||
return updateGui(
|
||||
new ContainerCraftAmount(player, terminal), world, x, y, z, ForgeDirection.UNKNOWN, obj);
|
||||
new ContainerCraftAmount(player, terminal),
|
||||
world,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
ForgeDirection.UNKNOWN,
|
||||
obj);
|
||||
}
|
||||
|
||||
if (guiId == Reference.GUI_CRAFT_CONFIRM) {
|
||||
return updateGui(
|
||||
new ContainerCraftConfirm(player, terminal), world, x, y, z, ForgeDirection.UNKNOWN, obj);
|
||||
new ContainerCraftConfirm(player, terminal),
|
||||
world,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
ForgeDirection.UNKNOWN,
|
||||
obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -81,13 +98,17 @@ public class WCTGuiHandler implements IGuiHandler {
|
||||
|
||||
@Override
|
||||
public Object getClientGuiElement(int guiId, EntityPlayer player, World world, int x, int y, int z) {
|
||||
final IWirelessCraftingTermHandler wh = (IWirelessCraftingTermHandler) AEApi.instance()
|
||||
.registries()
|
||||
.wireless()
|
||||
final IWirelessCraftingTermHandler wh = (IWirelessCraftingTermHandler) AEApi.instance().registries().wireless()
|
||||
.getWirelessTerminalHandler(RandomUtils.getWirelessTerm(player.inventory));
|
||||
if (wh != null) {
|
||||
final WirelessTerminalGuiObject obj = new WirelessTerminalGuiObject(
|
||||
wh, RandomUtils.getWirelessTerm(player.inventory), player, world, x, y, z);
|
||||
wh,
|
||||
RandomUtils.getWirelessTerm(player.inventory),
|
||||
player,
|
||||
world,
|
||||
x,
|
||||
y,
|
||||
z);
|
||||
if (obj != null) {
|
||||
final IPortableCell terminal = obj;
|
||||
|
||||
@@ -116,19 +137,13 @@ public class WCTGuiHandler implements IGuiHandler {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void launchGui(
|
||||
final int ID, final EntityPlayer player, final World world, final int x, final int y, final int z) {
|
||||
public static void launchGui(final int ID, final EntityPlayer player, final World world, final int x, final int y,
|
||||
final int z) {
|
||||
player.openGui(WirelessCraftingTerminal.INSTANCE, ID, world, x, y, z);
|
||||
}
|
||||
|
||||
private Object updateGui(
|
||||
final Object newContainer,
|
||||
final World w,
|
||||
final int x,
|
||||
final int y,
|
||||
final int z,
|
||||
final ForgeDirection side,
|
||||
final Object myItem) {
|
||||
private Object updateGui(final Object newContainer, final World w, final int x, final int y, final int z,
|
||||
final ForgeDirection side, final Object myItem) {
|
||||
if (newContainer instanceof AEBaseContainer) {
|
||||
final AEBaseContainer bc = (AEBaseContainer) newContainer;
|
||||
bc.setOpenContext(new ContainerOpenContext(myItem));
|
||||
|
||||
+24
-18
@@ -1,5 +1,19 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.NetworkHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.creativetab.CreativeTabWCT;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.AchievementHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.ConfigHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.RecipeHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.integration.IntegrationRegistry;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemEnum;
|
||||
import net.p455w0rd.wirelesscraftingterminal.proxy.CommonProxy;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.features.IWirelessTermHandler;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
@@ -12,18 +26,6 @@ import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import java.io.File;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.NetworkHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.creativetab.CreativeTabWCT;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.AchievementHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.ConfigHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.RecipeHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.integration.IntegrationRegistry;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemEnum;
|
||||
import net.p455w0rd.wirelesscraftingterminal.proxy.CommonProxy;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
@Mod(
|
||||
modid = Reference.MODID,
|
||||
@@ -31,11 +33,15 @@ import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
name = Reference.NAME,
|
||||
version = Reference.VERSION,
|
||||
guiFactory = Reference.GUI_FACTORY,
|
||||
dependencies = "" + "required-after:Forge@[" + net.minecraftforge.common.ForgeVersion.majorVersion
|
||||
dependencies = "" + "required-after:Forge@["
|
||||
+ net.minecraftforge.common.ForgeVersion.majorVersion
|
||||
+ '.' // majorVersion
|
||||
+ net.minecraftforge.common.ForgeVersion.minorVersion + '.' // minorVersion
|
||||
+ net.minecraftforge.common.ForgeVersion.revisionVersion + '.' // revisionVersion
|
||||
+ net.minecraftforge.common.ForgeVersion.buildVersion + ",);"
|
||||
+ net.minecraftforge.common.ForgeVersion.minorVersion
|
||||
+ '.' // minorVersion
|
||||
+ net.minecraftforge.common.ForgeVersion.revisionVersion
|
||||
+ '.' // revisionVersion
|
||||
+ net.minecraftforge.common.ForgeVersion.buildVersion
|
||||
+ ",);"
|
||||
+ "required-after:appliedenergistics2@[rv3-beta-1,);after:NotEnoughItems;")
|
||||
public class WirelessCraftingTerminal {
|
||||
|
||||
@@ -57,8 +63,8 @@ public class WirelessCraftingTerminal {
|
||||
WirelessCraftingTerminal.proxy.registerItems();
|
||||
ConfigHandler.init(new File(event.getModConfigurationDirectory(), Reference.CONFIG_FILE));
|
||||
FMLCommonHandler.instance().bus().register(proxy);
|
||||
AEApi.instance().registries().wireless().registerWirelessHandler((IWirelessTermHandler)
|
||||
ItemEnum.WIRELESS_CRAFTING_TERMINAL.getItem());
|
||||
AEApi.instance().registries().wireless()
|
||||
.registerWirelessHandler((IWirelessTermHandler) ItemEnum.WIRELESS_CRAFTING_TERMINAL.getItem());
|
||||
WCTLog.endSection("PreInit", stopwatch);
|
||||
}
|
||||
|
||||
|
||||
+3
-1
@@ -1,12 +1,14 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common.container;
|
||||
|
||||
import appeng.api.implementations.guiobjects.IPortableCell;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.WCTGuiHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import appeng.api.implementations.guiobjects.IPortableCell;
|
||||
|
||||
public class ContainerCraftAmount extends appeng.container.implementations.ContainerCraftAmount {
|
||||
|
||||
public ContainerCraftAmount(EntityPlayer player, IPortableCell terminal) {
|
||||
super(player.inventory, terminal);
|
||||
}
|
||||
|
||||
+3
-1
@@ -1,11 +1,13 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common.container;
|
||||
|
||||
import appeng.api.implementations.guiobjects.IPortableCell;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.WCTGuiHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import appeng.api.implementations.guiobjects.IPortableCell;
|
||||
|
||||
public class ContainerCraftConfirm extends appeng.container.implementations.ContainerCraftConfirm {
|
||||
|
||||
private final EntityPlayer player;
|
||||
|
||||
public ContainerCraftConfirm(EntityPlayer player, IPortableCell terminal) {
|
||||
|
||||
+15
-22
@@ -3,6 +3,7 @@ package net.p455w0rd.wirelesscraftingterminal.common.container;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
@@ -25,11 +26,7 @@ public class ContainerMagnet extends Container {
|
||||
@SuppressWarnings("rawtypes")
|
||||
private final Set distributeSlotSet = new HashSet();
|
||||
|
||||
private final int PLAYER_INV_START = 0,
|
||||
PLAYER_INV_END = 26,
|
||||
HOTBAR_START = 27,
|
||||
HOTBAR_END = 35,
|
||||
FILTERS_START = 36,
|
||||
private final int PLAYER_INV_START = 0, PLAYER_INV_END = 26, HOTBAR_START = 27, HOTBAR_END = 35, FILTERS_START = 36,
|
||||
FILTERS_END = 62;
|
||||
|
||||
public ContainerMagnet(EntityPlayer player, InventoryPlayer inventoryPlayer) {
|
||||
@@ -84,7 +81,7 @@ public class ContainerMagnet extends Container {
|
||||
return false;
|
||||
}
|
||||
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
@Override
|
||||
public ItemStack slotClick(int slotNum, int mouseButton, int modifier, EntityPlayer player) {
|
||||
if (slotNum >= this.inventorySlots.size()) {
|
||||
@@ -103,8 +100,7 @@ public class ContainerMagnet extends Container {
|
||||
}
|
||||
|
||||
if (mouseButton == 1) {
|
||||
player.dropPlayerItemWithRandomChoice(
|
||||
inventoryplayer.getItemStack().splitStack(1), true);
|
||||
player.dropPlayerItemWithRandomChoice(inventoryplayer.getItemStack().splitStack(1), true);
|
||||
|
||||
if (inventoryplayer.getItemStack().stackSize == 0) {
|
||||
inventoryplayer.setItemStack((ItemStack) null);
|
||||
@@ -117,7 +113,7 @@ public class ContainerMagnet extends Container {
|
||||
// Click+drag stack
|
||||
else if (modifier == 5) {
|
||||
// if (isInFilters(slotNum)) {
|
||||
// return null;
|
||||
// return null;
|
||||
// }
|
||||
int currentDistributeState = this.distributeState;
|
||||
this.distributeState = checkForPressedButton(mouseButton);
|
||||
@@ -139,8 +135,7 @@ public class ContainerMagnet extends Container {
|
||||
} else if (this.distributeState == 1) {
|
||||
Slot slot = (Slot) this.inventorySlots.get(slotNum);
|
||||
|
||||
if (slot != null
|
||||
&& stackFitsInSlot(slot, inventoryplayer.getItemStack(), true)
|
||||
if (slot != null && stackFitsInSlot(slot, inventoryplayer.getItemStack(), true)
|
||||
&& slot.isItemValid(inventoryplayer.getItemStack())
|
||||
&& inventoryplayer.getItemStack().stackSize > this.distributeSlotSet.size()
|
||||
&& this.canDragIntoSlot(slot)) {
|
||||
@@ -155,8 +150,7 @@ public class ContainerMagnet extends Container {
|
||||
while (iterator.hasNext()) {
|
||||
Slot slot1 = (Slot) iterator.next();
|
||||
|
||||
if (slot1 != null
|
||||
&& stackFitsInSlot(slot1, inventoryplayer.getItemStack(), true)
|
||||
if (slot1 != null && stackFitsInSlot(slot1, inventoryplayer.getItemStack(), true)
|
||||
&& slot1.isItemValid(inventoryplayer.getItemStack())
|
||||
&& inventoryplayer.getItemStack().stackSize >= this.distributeSlotSet.size()
|
||||
&& this.canDragIntoSlot(slot1)) {
|
||||
@@ -237,12 +231,12 @@ public class ContainerMagnet extends Container {
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
public static void setSlotStack(
|
||||
Set slotSet, int stackSizeSelector, ItemStack stackToResize, int currentSlotStackSize) {
|
||||
public static void setSlotStack(Set slotSet, int stackSizeSelector, ItemStack stackToResize,
|
||||
int currentSlotStackSize) {
|
||||
switch (stackSizeSelector) {
|
||||
case 0:
|
||||
stackToResize.stackSize =
|
||||
MathHelper.floor_float((float) stackToResize.stackSize / (float) slotSet.size());
|
||||
stackToResize.stackSize = MathHelper
|
||||
.floor_float((float) stackToResize.stackSize / (float) slotSet.size());
|
||||
break;
|
||||
case 1:
|
||||
stackToResize.stackSize = 1;
|
||||
@@ -254,8 +248,7 @@ public class ContainerMagnet extends Container {
|
||||
public static boolean stackFitsInSlot(Slot slot, ItemStack itemStack, boolean sizeMatters) {
|
||||
boolean flag1 = slot == null || !slot.getHasStack();
|
||||
|
||||
if (slot != null
|
||||
&& slot.getHasStack()
|
||||
if (slot != null && slot.getHasStack()
|
||||
&& itemStack != null
|
||||
&& itemStack.isItemEqual(slot.getStack())
|
||||
&& ItemStack.areItemStackTagsEqual(slot.getStack(), itemStack)) {
|
||||
@@ -439,8 +432,7 @@ public class ContainerMagnet extends Container {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (itemstack1 != null
|
||||
&& itemstack1.getItem() == stack.getItem()
|
||||
if (itemstack1 != null && itemstack1.getItem() == stack.getItem()
|
||||
&& (!stack.getHasSubtypes() || stack.getItemDamage() == itemstack1.getItemDamage())
|
||||
&& ItemStack.areItemStackTagsEqual(stack, itemstack1)) {
|
||||
int l = itemstack1.stackSize + stack.stackSize;
|
||||
@@ -482,7 +474,8 @@ public class ContainerMagnet extends Container {
|
||||
break;
|
||||
} else {
|
||||
putStackInSlot(
|
||||
k, new ItemStack(stack.getItem(), slot.getSlotStackLimit(), stack.getItemDamage()));
|
||||
k,
|
||||
new ItemStack(stack.getItem(), slot.getSlotStackLimit(), stack.getItemDamage()));
|
||||
stack.stackSize -= slot.getSlotStackLimit();
|
||||
magnetInventory.markDirty();
|
||||
flag1 = true;
|
||||
|
||||
+121
-116
@@ -1,5 +1,53 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common.container;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.BufferOverflowException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.ICrafting;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.InventoryCrafting;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.CraftingManager;
|
||||
import net.minecraft.item.crafting.IRecipe;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.IWirelessCraftingTermHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.IWirelessCraftingTerminalItem;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.slot.SlotArmor;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.slot.SlotBooster;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.slot.SlotMagnet;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.slot.SlotTrash;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.slot.SlotViewCell;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.inventory.WCTInventoryBooster;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.inventory.WCTInventoryCrafting;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.inventory.WCTInventoryMagnet;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.inventory.WCTInventoryTrash;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.inventory.WCTInventoryViewCell;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.RandomUtils;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.NetworkHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketMEInventoryUpdate;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketValueConfig;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.LocaleHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.helpers.WirelessTerminalGuiObject;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemInfinityBooster;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemMagnet;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.config.Actionable;
|
||||
import appeng.api.config.PowerMultiplier;
|
||||
@@ -48,59 +96,10 @@ import appeng.util.IConfigManagerHost;
|
||||
import appeng.util.InventoryAdaptor;
|
||||
import appeng.util.Platform;
|
||||
import appeng.util.inv.AdaptorPlayerHand;
|
||||
import java.io.IOException;
|
||||
import java.nio.BufferOverflowException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Nonnull;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.ICrafting;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.InventoryCrafting;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.CraftingManager;
|
||||
import net.minecraft.item.crafting.IRecipe;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.IWirelessCraftingTermHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.IWirelessCraftingTerminalItem;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.slot.SlotArmor;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.slot.SlotBooster;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.slot.SlotMagnet;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.slot.SlotTrash;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.slot.SlotViewCell;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.inventory.WCTInventoryBooster;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.inventory.WCTInventoryCrafting;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.inventory.WCTInventoryMagnet;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.inventory.WCTInventoryTrash;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.inventory.WCTInventoryViewCell;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.RandomUtils;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.NetworkHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketMEInventoryUpdate;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketValueConfig;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.LocaleHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.helpers.WirelessTerminalGuiObject;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemInfinityBooster;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemMagnet;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
implements IConfigManagerHost,
|
||||
IConfigurableObject,
|
||||
IMEMonitorHandlerReceiver<IAEItemStack>,
|
||||
IAEAppEngInventory,
|
||||
IContainerCraftingPacket,
|
||||
IViewCellStorage {
|
||||
implements IConfigManagerHost, IConfigurableObject, IMEMonitorHandlerReceiver<IAEItemStack>, IAEAppEngInventory,
|
||||
IContainerCraftingPacket, IViewCellStorage {
|
||||
|
||||
private final ItemStack containerstack;
|
||||
public final WCTInventoryCrafting craftingGrid;
|
||||
@@ -112,18 +111,10 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
public ItemStack[] craftMatrixInventory;
|
||||
private final World worldObj;
|
||||
private final EntityPlayer player;
|
||||
public static final int HOTBAR_START = 2,
|
||||
HOTBAR_END = HOTBAR_START + 8,
|
||||
INV_START = HOTBAR_END + 1,
|
||||
INV_END = INV_START + 26,
|
||||
ARMOR_START = INV_END + 1,
|
||||
ARMOR_END = ARMOR_START + 3,
|
||||
CRAFT_GRID_START = ARMOR_END + 1,
|
||||
CRAFT_GRID_END = CRAFT_GRID_START + 8,
|
||||
CRAFT_RESULT = CRAFT_GRID_END + 1,
|
||||
VIEW_CELL_START = CRAFT_RESULT + 1,
|
||||
VIEW_CELL_END = VIEW_CELL_START + 4,
|
||||
BOOSTER_INDEX = 1,
|
||||
public static final int HOTBAR_START = 2, HOTBAR_END = HOTBAR_START + 8, INV_START = HOTBAR_END + 1,
|
||||
INV_END = INV_START + 26, ARMOR_START = INV_END + 1, ARMOR_END = ARMOR_START + 3,
|
||||
CRAFT_GRID_START = ARMOR_END + 1, CRAFT_GRID_END = CRAFT_GRID_START + 8, CRAFT_RESULT = CRAFT_GRID_END + 1,
|
||||
VIEW_CELL_START = CRAFT_RESULT + 1, VIEW_CELL_END = VIEW_CELL_START + 4, BOOSTER_INDEX = 1,
|
||||
MAGNET_INDEX = VIEW_CELL_END + 1;
|
||||
public static int CRAFTING_SLOT_X_POS = 80, CRAFTING_SLOT_Y_POS = 83;
|
||||
private SlotBooster boosterSlot;
|
||||
@@ -190,8 +181,13 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
craftMatrixSlot = new SlotCraftingMatrix[9];
|
||||
viewCellSlot = new SlotViewCell[5];
|
||||
|
||||
this.obj =
|
||||
getGuiObject(containerstack, player, worldObj, (int) player.posX, (int) player.posY, (int) player.posZ);
|
||||
this.obj = getGuiObject(
|
||||
containerstack,
|
||||
player,
|
||||
worldObj,
|
||||
(int) player.posX,
|
||||
(int) player.posY,
|
||||
(int) player.posZ);
|
||||
this.civ = this.obj;
|
||||
final IGridNode node = ((IGridHost) this.obj).getGridNode(ForgeDirection.UNKNOWN);
|
||||
this.networkNode = node;
|
||||
@@ -258,8 +254,12 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
// Add crafting grid slots
|
||||
for (int i = 0; i < 3; ++i) {
|
||||
for (int j = 0; j < 3; ++j) {
|
||||
craftMatrixSlot[k] =
|
||||
new SlotCraftingMatrix(this, this.craftingGrid, j + i * 3, 80 + j * 18, (i * 18) - 76);
|
||||
craftMatrixSlot[k] = new SlotCraftingMatrix(
|
||||
this,
|
||||
this.craftingGrid,
|
||||
j + i * 3,
|
||||
80 + j * 18,
|
||||
(i * 18) - 76);
|
||||
this.addSlotToContainer(craftMatrixSlot[k]);
|
||||
if (k == 0) {
|
||||
this.firstCraftingSlotNumber = craftMatrixSlot[k].slotNumber;
|
||||
@@ -456,7 +456,10 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
}
|
||||
|
||||
ais = Platform.poweredExtraction(
|
||||
this.getPowerSource(), this.getCellInventory(), ais, this.getActionSource());
|
||||
this.getPowerSource(),
|
||||
this.getCellInventory(),
|
||||
ais,
|
||||
this.getActionSource());
|
||||
if (ais != null) {
|
||||
adp.addItems(ais.getItemStack());
|
||||
}
|
||||
@@ -475,8 +478,8 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
ais.setStackSize(1);
|
||||
final IAEItemStack extracted = ais.copy();
|
||||
|
||||
ais = Platform.poweredInsert(
|
||||
this.getPowerSource(), this.getCellInventory(), ais, this.getActionSource());
|
||||
ais = Platform
|
||||
.poweredInsert(this.getPowerSource(), this.getCellInventory(), ais, this.getActionSource());
|
||||
if (ais == null) {
|
||||
final InventoryAdaptor ia = new AdaptorPlayerHand(player);
|
||||
|
||||
@@ -514,7 +517,10 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
IAEItemStack ais = slotItem.copy();
|
||||
ais.setStackSize(1);
|
||||
ais = Platform.poweredExtraction(
|
||||
this.getPowerSource(), this.getCellInventory(), ais, this.getActionSource());
|
||||
this.getPowerSource(),
|
||||
this.getCellInventory(),
|
||||
ais,
|
||||
this.getActionSource());
|
||||
if (ais != null) {
|
||||
final InventoryAdaptor ia = new AdaptorPlayerHand(player);
|
||||
|
||||
@@ -538,7 +544,10 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
IAEItemStack ais = slotItem.copy();
|
||||
ais.setStackSize(ais.getItemStack().getMaxStackSize());
|
||||
ais = Platform.poweredExtraction(
|
||||
this.getPowerSource(), this.getCellInventory(), ais, this.getActionSource());
|
||||
this.getPowerSource(),
|
||||
this.getCellInventory(),
|
||||
ais,
|
||||
this.getActionSource());
|
||||
if (ais != null) {
|
||||
player.inventory.setItemStack(ais.getItemStack());
|
||||
} else {
|
||||
@@ -548,8 +557,8 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
}
|
||||
} else {
|
||||
IAEItemStack ais = AEApi.instance().storage().createItemStack(player.inventory.getItemStack());
|
||||
ais = Platform.poweredInsert(
|
||||
this.getPowerSource(), this.getCellInventory(), ais, this.getActionSource());
|
||||
ais = Platform
|
||||
.poweredInsert(this.getPowerSource(), this.getCellInventory(), ais, this.getActionSource());
|
||||
if (ais != null) {
|
||||
player.inventory.setItemStack(ais.getItemStack());
|
||||
} else {
|
||||
@@ -575,7 +584,10 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
final long stackSize = Math.min(maxSize, ais.getStackSize());
|
||||
ais.setStackSize((stackSize + 1) >> 1);
|
||||
ais = Platform.poweredExtraction(
|
||||
this.getPowerSource(), this.getCellInventory(), ais, this.getActionSource());
|
||||
this.getPowerSource(),
|
||||
this.getCellInventory(),
|
||||
ais,
|
||||
this.getActionSource());
|
||||
}
|
||||
|
||||
if (ais != null) {
|
||||
@@ -588,8 +600,8 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
} else {
|
||||
IAEItemStack ais = AEApi.instance().storage().createItemStack(player.inventory.getItemStack());
|
||||
ais.setStackSize(1);
|
||||
ais = Platform.poweredInsert(
|
||||
this.getPowerSource(), this.getCellInventory(), ais, this.getActionSource());
|
||||
ais = Platform
|
||||
.poweredInsert(this.getPowerSource(), this.getCellInventory(), ais, this.getActionSource());
|
||||
if (ais == null) {
|
||||
final ItemStack is = player.inventory.getItemStack();
|
||||
is.stackSize--;
|
||||
@@ -631,7 +643,10 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
}
|
||||
|
||||
ais = Platform.poweredExtraction(
|
||||
this.getPowerSource(), this.getCellInventory(), ais, this.getActionSource());
|
||||
this.getPowerSource(),
|
||||
this.getCellInventory(),
|
||||
ais,
|
||||
this.getActionSource());
|
||||
if (ais != null) {
|
||||
adp.addItems(ais.getItemStack());
|
||||
} else {
|
||||
@@ -663,12 +678,8 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChangeInventory(
|
||||
final IInventory inv,
|
||||
final int slot,
|
||||
final InvOperation mc,
|
||||
final ItemStack removedStack,
|
||||
final ItemStack newStack) {
|
||||
public void onChangeInventory(final IInventory inv, final int slot, final InvOperation mc,
|
||||
final ItemStack removedStack, final ItemStack newStack) {
|
||||
// <3
|
||||
}
|
||||
|
||||
@@ -713,11 +724,11 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
return viewCellSlot[index];
|
||||
}
|
||||
|
||||
public static WirelessTerminalGuiObject getGuiObject(
|
||||
final ItemStack it, final EntityPlayer player, final World w, final int x, final int y, final int z) {
|
||||
public static WirelessTerminalGuiObject getGuiObject(final ItemStack it, final EntityPlayer player, final World w,
|
||||
final int x, final int y, final int z) {
|
||||
if (it != null) {
|
||||
final IWirelessCraftingTermHandler wh = (IWirelessCraftingTermHandler)
|
||||
AEApi.instance().registries().wireless().getWirelessTerminalHandler(it);
|
||||
final IWirelessCraftingTermHandler wh = (IWirelessCraftingTermHandler) AEApi.instance().registries()
|
||||
.wireless().getWirelessTerminalHandler(it);
|
||||
if (wh != null) {
|
||||
return new WirelessTerminalGuiObject(wh, it, player, w, x, y, z);
|
||||
}
|
||||
@@ -733,7 +744,9 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
if (this.ticks > 10) {
|
||||
if (!isBoosterInstalled() || !Reference.WCT_BOOSTER_ENABLED) {
|
||||
this.civ.extractAEPower(
|
||||
this.getPowerMultiplier() * this.ticks, Actionable.MODULATE, PowerMultiplier.CONFIG);
|
||||
this.getPowerMultiplier() * this.ticks,
|
||||
Actionable.MODULATE,
|
||||
PowerMultiplier.CONFIG);
|
||||
} else {
|
||||
this.civ.extractAEPower((int) (0.5 * this.ticks), Actionable.MODULATE, PowerMultiplier.CONFIG);
|
||||
}
|
||||
@@ -754,7 +767,8 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
for (final Object crafter : this.crafters) {
|
||||
try {
|
||||
NetworkHandler.instance.sendTo(
|
||||
new PacketValueConfig(set.name(), sideLocal.name()), (EntityPlayerMP) crafter);
|
||||
new PacketValueConfig(set.name(), sideLocal.name()),
|
||||
(EntityPlayerMP) crafter);
|
||||
} catch (final IOException e) {
|
||||
WCTLog.debug(e.getMessage());
|
||||
}
|
||||
@@ -801,22 +815,20 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
}
|
||||
if (!networkIsPowered()) {
|
||||
if (this.isValidContainer()) {
|
||||
this.getPlayerInv()
|
||||
.player
|
||||
this.getPlayerInv().player
|
||||
.addChatMessage(new ChatComponentText(LocaleHandler.NoNetworkPower.getLocal()));
|
||||
}
|
||||
this.setValidContainer(false);
|
||||
}
|
||||
} else if (!hasAccess(SecurityPermissions.CRAFT, true)
|
||||
|| !hasAccess(SecurityPermissions.EXTRACT, true)
|
||||
} else if (!hasAccess(SecurityPermissions.CRAFT, true) || !hasAccess(SecurityPermissions.EXTRACT, true)
|
||||
|| !hasAccess(SecurityPermissions.INJECT, true)) {
|
||||
if (this.isValidContainer()) {
|
||||
this.getPlayerInv().player.addChatMessage(PlayerMessages.CommunicationError.get());
|
||||
}
|
||||
this.setValidContainer(false);
|
||||
} else {
|
||||
this.setPowerMultiplier(AEConfig.instance.wireless_getDrainRate(this.obj.getRange()));
|
||||
}
|
||||
if (this.isValidContainer()) {
|
||||
this.getPlayerInv().player.addChatMessage(PlayerMessages.CommunicationError.get());
|
||||
}
|
||||
this.setValidContainer(false);
|
||||
} else {
|
||||
this.setPowerMultiplier(AEConfig.instance.wireless_getDrainRate(this.obj.getRange()));
|
||||
}
|
||||
|
||||
super.detectAndSendChanges();
|
||||
}
|
||||
@@ -828,8 +840,7 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
}
|
||||
boolean hasStack = getSlotFromInventory(this.boosterInventory, 0).getHasStack();
|
||||
if (hasStack) {
|
||||
Item boosterSlotContents =
|
||||
getSlotFromInventory(this.boosterInventory, 0).getStack().getItem();
|
||||
Item boosterSlotContents = getSlotFromInventory(this.boosterInventory, 0).getStack().getItem();
|
||||
return boosterSlotContents instanceof ItemInfinityBooster;
|
||||
}
|
||||
return false;
|
||||
@@ -840,12 +851,9 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
if (slot == null) {
|
||||
return false;
|
||||
}
|
||||
boolean hasStack =
|
||||
getSlotFromInventory(this.magnetInventory, MAGNET_INDEX).getHasStack();
|
||||
boolean hasStack = getSlotFromInventory(this.magnetInventory, MAGNET_INDEX).getHasStack();
|
||||
if (hasStack) {
|
||||
Item magnetSlotContents = getSlotFromInventory(this.magnetInventory, MAGNET_INDEX)
|
||||
.getStack()
|
||||
.getItem();
|
||||
Item magnetSlotContents = getSlotFromInventory(this.magnetInventory, MAGNET_INDEX).getStack().getItem();
|
||||
return magnetSlotContents instanceof ItemMagnet;
|
||||
}
|
||||
return false;
|
||||
@@ -902,9 +910,7 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postChange(
|
||||
final IBaseMonitor<IAEItemStack> monitor,
|
||||
final Iterable<IAEItemStack> change,
|
||||
public void postChange(final IBaseMonitor<IAEItemStack> monitor, final Iterable<IAEItemStack> change,
|
||||
final BaseActionSource source) {
|
||||
for (final IAEItemStack is : change) {
|
||||
this.items.add(is);
|
||||
@@ -1321,8 +1327,7 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
@Override
|
||||
public ItemStack slotClick(int slot, int button, int flag, EntityPlayer player) {
|
||||
try {
|
||||
if (slot >= 0
|
||||
&& getSlot(slot) != null
|
||||
if (slot >= 0 && getSlot(slot) != null
|
||||
&& getSlot(slot).getStack() == RandomUtils.getWirelessTerm(player.inventory)) {
|
||||
return null;
|
||||
}
|
||||
@@ -1353,8 +1358,7 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
if (itemstack1 != null
|
||||
&& itemstack1.getItem() == stack.getItem()
|
||||
if (itemstack1 != null && itemstack1.getItem() == stack.getItem()
|
||||
&& (!stack.getHasSubtypes() || stack.getItemDamage() == itemstack1.getItemDamage())
|
||||
&& ItemStack.areItemStackTagsEqual(stack, itemstack1)) {
|
||||
int l = itemstack1.stackSize + stack.stackSize;
|
||||
@@ -1396,7 +1400,8 @@ public class ContainerWirelessCraftingTerminal extends AEBaseContainer
|
||||
break;
|
||||
} else {
|
||||
putStackInSlot(
|
||||
k, new ItemStack(stack.getItem(), slot.getSlotStackLimit(), stack.getItemDamage()));
|
||||
k,
|
||||
new ItemStack(stack.getItem(), slot.getSlotStackLimit(), stack.getItemDamage()));
|
||||
stack.stackSize -= slot.getSlotStackLimit();
|
||||
boosterInventory.markDirty();
|
||||
flag1 = true;
|
||||
|
||||
+4
-10
@@ -1,9 +1,10 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common.container.slot;
|
||||
|
||||
import appeng.container.slot.SlotFake;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import appeng.container.slot.SlotFake;
|
||||
|
||||
public class OptionalSlotFake extends SlotFake {
|
||||
|
||||
private final int srcX;
|
||||
@@ -12,15 +13,8 @@ public class OptionalSlotFake extends SlotFake {
|
||||
private final IOptionalSlotHost host;
|
||||
private boolean renderDisabled = true;
|
||||
|
||||
public OptionalSlotFake(
|
||||
final IInventory inv,
|
||||
final IOptionalSlotHost containerBus,
|
||||
final int idx,
|
||||
final int x,
|
||||
final int y,
|
||||
final int offX,
|
||||
final int offY,
|
||||
final int groupNum) {
|
||||
public OptionalSlotFake(final IInventory inv, final IOptionalSlotHost containerBus, final int idx, final int x,
|
||||
final int y, final int offX, final int offY, final int groupNum) {
|
||||
super(inv, idx, x + offX * 18, y + offY * 18);
|
||||
this.srcX = x;
|
||||
this.srcY = y;
|
||||
|
||||
+5
-5
@@ -1,7 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common.container.slot;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.Item;
|
||||
@@ -9,12 +7,14 @@ import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class SlotArmor extends appeng.container.slot.AppEngSlot {
|
||||
|
||||
/*
|
||||
* The armor type that can be placed on that slot, it uses the same values
|
||||
* of armorType field on ItemArmor. Probably could've done just as well
|
||||
* with vanilla armor slot class. if so, this will be removed in the future.
|
||||
* The armor type that can be placed on that slot, it uses the same values of armorType field on ItemArmor. Probably
|
||||
* could've done just as well with vanilla armor slot class. if so, this will be removed in the future.
|
||||
*/
|
||||
final int armorType;
|
||||
|
||||
|
||||
+4
-3
@@ -1,14 +1,15 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common.container.slot;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemBoosterBGIcon;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemInfinityBooster;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class SlotBooster extends appeng.container.slot.AppEngSlot {
|
||||
|
||||
/**
|
||||
|
||||
+2
-4
@@ -84,8 +84,7 @@ public class SlotTrash extends appeng.container.slot.AppEngSlot {
|
||||
}
|
||||
|
||||
public void readNBT() {
|
||||
NBTTagCompound nbtTagCompound =
|
||||
RandomUtils.getWirelessTerm(entityPlayer.inventory).getTagCompound();
|
||||
NBTTagCompound nbtTagCompound = RandomUtils.getWirelessTerm(entityPlayer.inventory).getTagCompound();
|
||||
NBTTagList tagList = nbtTagCompound.getTagList(this.name, 10);
|
||||
NBTTagCompound tagCompound = tagList.getCompoundTagAt(0);
|
||||
if (tagCompound != null) {
|
||||
@@ -94,8 +93,7 @@ public class SlotTrash extends appeng.container.slot.AppEngSlot {
|
||||
}
|
||||
|
||||
public void writeNBT() {
|
||||
NBTTagCompound nbtTagCompound =
|
||||
RandomUtils.getWirelessTerm(entityPlayer.inventory).getTagCompound();
|
||||
NBTTagCompound nbtTagCompound = RandomUtils.getWirelessTerm(entityPlayer.inventory).getTagCompound();
|
||||
NBTTagList tagList = new NBTTagList();
|
||||
if (itemStack != null) {
|
||||
NBTTagCompound tagCompound = new NBTTagCompound();
|
||||
|
||||
+2
-1
@@ -1,9 +1,10 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common.container.slot;
|
||||
|
||||
import appeng.container.slot.SlotRestrictedInput;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
|
||||
import appeng.container.slot.SlotRestrictedInput;
|
||||
|
||||
public class SlotViewCell extends SlotRestrictedInput {
|
||||
|
||||
public SlotViewCell(IInventory inv, int index, int xPos, int yPos, InventoryPlayer playerInv) {
|
||||
|
||||
+12
-17
@@ -1,17 +1,18 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common.inventory;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.IWirelessCraftingTerminalItem;
|
||||
|
||||
import appeng.api.storage.IMEInventory;
|
||||
import appeng.me.storage.MEIInventoryWrapper;
|
||||
import appeng.tile.inventory.AppEngInternalInventory;
|
||||
import appeng.tile.inventory.IAEAppEngInventory;
|
||||
import appeng.tile.inventory.InvOperation;
|
||||
import appeng.util.Platform;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.IWirelessCraftingTerminalItem;
|
||||
|
||||
public class WCTInventoryCrafting extends AppEngInternalInventory {
|
||||
|
||||
@@ -133,17 +134,11 @@ public class WCTInventoryCrafting extends AppEngInternalInventory {
|
||||
}
|
||||
|
||||
/*
|
||||
* @Override public ItemStack decrStackSize(int slot, int amount) { if
|
||||
* (this.stackList[slot] != null) { ItemStack itemstack; if
|
||||
* (this.stackList[slot].stackSize <= amount) { itemstack =
|
||||
* this.stackList[slot]; this.stackList[slot] = null;
|
||||
* this.eventHandler.onCraftMatrixChanged(this); return itemstack; } else {
|
||||
* itemstack = this.stackList[slot].splitStack(amount);
|
||||
*
|
||||
* if (this.stackList[slot].stackSize == 0) { this.stackList[slot] = null; }
|
||||
*
|
||||
* this.eventHandler.onCraftMatrixChanged(this); return itemstack; } } else
|
||||
* { return getStackInSlot(slot); } }
|
||||
* @Override public ItemStack decrStackSize(int slot, int amount) { if (this.stackList[slot] != null) { ItemStack
|
||||
* itemstack; if (this.stackList[slot].stackSize <= amount) { itemstack = this.stackList[slot]; this.stackList[slot]
|
||||
* = null; this.eventHandler.onCraftMatrixChanged(this); return itemstack; } else { itemstack =
|
||||
* this.stackList[slot].splitStack(amount); if (this.stackList[slot].stackSize == 0) { this.stackList[slot] = null;
|
||||
* } this.eventHandler.onCraftMatrixChanged(this); return itemstack; } } else { return getStackInSlot(slot); } }
|
||||
*/
|
||||
public void setInventorySlotContents(int slot, ItemStack stack) {
|
||||
this.stackList[slot] = stack;
|
||||
|
||||
+2
-1
@@ -1,12 +1,13 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common.inventory;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
|
||||
public class WCTInventoryViewCell implements IInventory {
|
||||
|
||||
private final String name = "ViewCells";
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common.utils;
|
||||
|
||||
import baubles.api.BaublesApi;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -12,6 +9,10 @@ import net.minecraft.util.EnumChatFormatting;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.IWirelessCraftingTerminalItem;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemMagnet;
|
||||
|
||||
import baubles.api.BaublesApi;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class RandomUtils {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@@ -80,8 +81,7 @@ public class RandomUtils {
|
||||
|
||||
public static ItemStack getMagnet(InventoryPlayer playerInv) {
|
||||
// Is player holding a Magnet Card?
|
||||
if (playerInv.player.getHeldItem() != null
|
||||
&& playerInv.player.getHeldItem().getItem() instanceof ItemMagnet) {
|
||||
if (playerInv.player.getHeldItem() != null && playerInv.player.getHeldItem().getItem() instanceof ItemMagnet) {
|
||||
return playerInv.player.getHeldItem();
|
||||
}
|
||||
// if not true, try to return first magnet card from first
|
||||
@@ -129,9 +129,7 @@ public class RandomUtils {
|
||||
}
|
||||
|
||||
public static boolean isMagnetInstalled(InventoryPlayer ip) {
|
||||
NBTTagCompound magnetNBTForm = RandomUtils.getWirelessTerm(ip)
|
||||
.getTagCompound()
|
||||
.getTagList("MagnetSlot", 10)
|
||||
NBTTagCompound magnetNBTForm = RandomUtils.getWirelessTerm(ip).getTagCompound().getTagList("MagnetSlot", 10)
|
||||
.getCompoundTagAt(0);
|
||||
if (magnetNBTForm != null) {
|
||||
ItemStack magnetItem = ItemStack.loadItemStackFromNBT(magnetNBTForm);
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.common.utils;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
public class WCTLog {
|
||||
|
||||
public static final Logger log = LogManager.getLogger("Wireless Crafting Terminal");
|
||||
|
||||
/**
|
||||
@@ -29,9 +31,11 @@ public class WCTLog {
|
||||
* Displays the section footer.
|
||||
*/
|
||||
public static void endSection(final String section, final long sectionStartTime) {
|
||||
log.info(String.format(
|
||||
"-=-=-=-=-=-=-=[FINISH] %s in %dms=-=-=-=-=-=-=-",
|
||||
section, (System.currentTimeMillis() - sectionStartTime)));
|
||||
log.info(
|
||||
String.format(
|
||||
"-=-=-=-=-=-=-=[FINISH] %s in %dms=-=-=-=-=-=-=-",
|
||||
section,
|
||||
(System.currentTimeMillis() - sectionStartTime)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.NetworkHandler;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
public abstract class WCTPacket {
|
||||
|
||||
private ByteBuf p;
|
||||
|
||||
+10
-11
@@ -1,11 +1,10 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.handler.codec.DecoderException;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketConfigSync;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketCraftRequest;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketEmptyTrash;
|
||||
@@ -18,11 +17,15 @@ import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketSetMagnet;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketSwitchGuis;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketValueConfig;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.handler.codec.DecoderException;
|
||||
|
||||
public class WCTPacketHandlerBase {
|
||||
private static final Map<Class<? extends WCTPacket>, PacketTypes> REVERSE_LOOKUP =
|
||||
new HashMap<Class<? extends WCTPacket>, WCTPacketHandlerBase.PacketTypes>();
|
||||
|
||||
private static final Map<Class<? extends WCTPacket>, PacketTypes> REVERSE_LOOKUP = new HashMap<Class<? extends WCTPacket>, WCTPacketHandlerBase.PacketTypes>();
|
||||
|
||||
public enum PacketTypes {
|
||||
|
||||
PACKET_INVENTORY_ACTION(PacketInventoryAction.class),
|
||||
|
||||
PACKET_ME_INVENTORY_UPDATE(PacketMEInventoryUpdate.class),
|
||||
@@ -54,10 +57,7 @@ public class WCTPacketHandlerBase {
|
||||
Constructor<? extends WCTPacket> x = null;
|
||||
try {
|
||||
x = this.packetClass.getConstructor(ByteBuf.class);
|
||||
} catch (final NoSuchMethodException ignored) {
|
||||
} catch (final SecurityException ignored) {
|
||||
} catch (final DecoderException ignored) {
|
||||
}
|
||||
} catch (final NoSuchMethodException ignored) {} catch (final SecurityException ignored) {} catch (final DecoderException ignored) {}
|
||||
|
||||
this.packetConstructor = x;
|
||||
REVERSE_LOOKUP.put(this.packetClass, this);
|
||||
@@ -76,9 +76,8 @@ public class WCTPacketHandlerBase {
|
||||
return REVERSE_LOOKUP.get(c);
|
||||
}
|
||||
|
||||
public WCTPacket parsePacket(final ByteBuf in)
|
||||
throws InstantiationException, IllegalAccessException, IllegalArgumentException,
|
||||
InvocationTargetException {
|
||||
public WCTPacket parsePacket(final ByteBuf in) throws InstantiationException, IllegalAccessException,
|
||||
IllegalArgumentException, InvocationTargetException {
|
||||
return this.packetConstructor.newInstance(in);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,3 +1,4 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.network;
|
||||
|
||||
public interface INetworkInfo {}
|
||||
public interface INetworkInfo {
|
||||
}
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.network;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
||||
|
||||
public interface IPacketHandler {
|
||||
|
||||
void onPacketData(INetworkInfo manager, FMLProxyPacket packet, EntityPlayer player);
|
||||
|
||||
+4
-3
@@ -1,14 +1,15 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.network;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.network.NetHandlerPlayServer;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.network.FMLEventChannel;
|
||||
import cpw.mods.fml.common.network.FMLNetworkEvent.ClientCustomPacketEvent;
|
||||
import cpw.mods.fml.common.network.FMLNetworkEvent.ServerCustomPacketEvent;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.network.NetHandlerPlayServer;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
|
||||
public class NetworkHandler {
|
||||
|
||||
|
||||
+4
-2
@@ -1,14 +1,16 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.network;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacketHandlerBase;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
public class WCTClientPacketHandler extends WCTPacketHandlerBase implements IPacketHandler {
|
||||
|
||||
@Override
|
||||
|
||||
+4
-2
@@ -1,13 +1,15 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.network;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacketHandlerBase;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
public final class WCTServerPacketHandler extends WCTPacketHandlerBase implements IPacketHandler {
|
||||
|
||||
@Override
|
||||
|
||||
+3
-2
@@ -1,7 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.packets;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
@@ -9,6 +7,9 @@ import net.p455w0rd.wirelesscraftingterminal.handlers.ConfigHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.RecipeHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
|
||||
public class PacketConfigSync extends WCTPacket {
|
||||
|
||||
int wirelessTermMaxPower, boosterDropChance;
|
||||
|
||||
+13
-7
@@ -1,5 +1,13 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.packets;
|
||||
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.WCTGuiHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import appeng.api.networking.IGrid;
|
||||
import appeng.api.networking.IGridHost;
|
||||
import appeng.api.networking.crafting.ICraftingGrid;
|
||||
@@ -8,12 +16,6 @@ import appeng.container.implementations.ContainerCraftAmount;
|
||||
import appeng.container.implementations.ContainerCraftConfirm;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import java.util.concurrent.Future;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.WCTGuiHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
public class PacketCraftRequest extends WCTPacket {
|
||||
|
||||
@@ -55,7 +57,11 @@ public class PacketCraftRequest extends WCTPacket {
|
||||
try {
|
||||
final ICraftingGrid cg = g.getCache(ICraftingGrid.class);
|
||||
futureJob = cg.beginCraftingJob(
|
||||
cca.getWorld(), cca.getGrid(), cca.getActionSrc(), cca.getItemToCraft(), null);
|
||||
cca.getWorld(),
|
||||
cca.getGrid(),
|
||||
cca.getActionSrc(),
|
||||
cca.getItemToCraft(),
|
||||
null);
|
||||
|
||||
int x = (int) player.posX;
|
||||
int y = (int) player.posY;
|
||||
|
||||
+3
-2
@@ -1,7 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.packets;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
@@ -10,6 +8,9 @@ import net.p455w0rd.wirelesscraftingterminal.common.utils.RandomUtils;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
|
||||
public class PacketEmptyTrash extends WCTPacket {
|
||||
|
||||
public PacketEmptyTrash(final ByteBuf stream) {}
|
||||
|
||||
+17
-20
@@ -1,5 +1,17 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.packets;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.WCTGuiHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.ContainerWirelessCraftingTerminal;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.RandomUtils;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import appeng.api.storage.data.IAEItemStack;
|
||||
import appeng.client.ClientHelper;
|
||||
import appeng.container.AEBaseContainer;
|
||||
@@ -10,16 +22,6 @@ import appeng.util.Platform;
|
||||
import appeng.util.item.AEItemStack;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import java.io.IOException;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.WCTGuiHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.ContainerWirelessCraftingTerminal;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.RandomUtils;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
public class PacketInventoryAction extends WCTPacket {
|
||||
|
||||
@@ -115,10 +117,8 @@ public class PacketInventoryAction extends WCTPacket {
|
||||
|
||||
if (baseContainer instanceof ContainerWirelessCraftingTerminal) {
|
||||
if (((ContainerWirelessCraftingTerminal) baseContainer).getTargetStack() != null) {
|
||||
cca.getCraftingItem()
|
||||
.putStack(((ContainerWirelessCraftingTerminal) baseContainer)
|
||||
.getTargetStack()
|
||||
.getItemStack());
|
||||
cca.getCraftingItem().putStack(
|
||||
((ContainerWirelessCraftingTerminal) baseContainer).getTargetStack().getItemStack());
|
||||
cca.setItemToCraft(((ContainerWirelessCraftingTerminal) baseContainer).getTargetStack());
|
||||
}
|
||||
}
|
||||
@@ -126,9 +126,7 @@ public class PacketInventoryAction extends WCTPacket {
|
||||
if (baseContainer instanceof AEBaseContainer) {
|
||||
if (((AEBaseContainer) baseContainer).getTargetStack() != null) {
|
||||
cca.getCraftingItem()
|
||||
.putStack(((AEBaseContainer) baseContainer)
|
||||
.getTargetStack()
|
||||
.getItemStack());
|
||||
.putStack(((AEBaseContainer) baseContainer).getTargetStack().getItemStack());
|
||||
cca.setItemToCraft(((AEBaseContainer) baseContainer).getTargetStack());
|
||||
}
|
||||
}
|
||||
@@ -140,9 +138,8 @@ public class PacketInventoryAction extends WCTPacket {
|
||||
if (baseContainer instanceof ContainerWirelessCraftingTerminal) {
|
||||
if (RandomUtils.getWirelessTerm(player.inventory) == null)
|
||||
((ContainerWirelessCraftingTerminal) baseContainer).setValidContainer(false);
|
||||
else
|
||||
((ContainerWirelessCraftingTerminal) baseContainer)
|
||||
.doAction(sender, this.action, this.slot, this.id);
|
||||
else((ContainerWirelessCraftingTerminal) baseContainer)
|
||||
.doAction(sender, this.action, this.slot, this.id);
|
||||
}
|
||||
if (baseContainer instanceof AEBaseContainer) {
|
||||
((AEBaseContainer) baseContainer).doAction(sender, this.action, this.slot, this.id);
|
||||
|
||||
+13
-7
@@ -1,12 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.packets;
|
||||
|
||||
import appeng.api.storage.data.IAEItemStack;
|
||||
import appeng.util.item.AEItemStack;
|
||||
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
@@ -15,7 +8,9 @@ import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
import java.util.zip.GZIPOutputStream;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@@ -25,7 +20,16 @@ import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
|
||||
import appeng.api.storage.data.IAEItemStack;
|
||||
import appeng.util.item.AEItemStack;
|
||||
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
|
||||
public class PacketMEInventoryUpdate extends WCTPacket {
|
||||
|
||||
private static final int UNCOMPRESSED_PACKET_BYTE_LIMIT = 16 * 1024 * 1024;
|
||||
private static final int OPERATION_BYTE_LIMIT = 2 * 1024;
|
||||
private static final int TEMP_BUFFER_SIZE = 1024;
|
||||
@@ -54,6 +58,7 @@ public class PacketMEInventoryUpdate extends WCTPacket {
|
||||
this.ref = stream.readByte();
|
||||
|
||||
final GZIPInputStream gzReader = new GZIPInputStream(new InputStream() {
|
||||
|
||||
@Override
|
||||
public int read() throws IOException {
|
||||
if (stream.readableBytes() <= 0) {
|
||||
@@ -94,6 +99,7 @@ public class PacketMEInventoryUpdate extends WCTPacket {
|
||||
this.data.writeByte(this.ref);
|
||||
|
||||
this.compressFrame = new GZIPOutputStream(new OutputStream() {
|
||||
|
||||
@Override
|
||||
public void write(final int value) throws IOException {
|
||||
PacketMEInventoryUpdate.this.data.writeByte(value);
|
||||
|
||||
+3
-2
@@ -1,7 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.packets;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
@@ -10,6 +8,9 @@ import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemMagnet;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
|
||||
public class PacketMagnetFilter extends WCTPacket {
|
||||
|
||||
// 0 = initialize
|
||||
|
||||
+38
-33
@@ -1,5 +1,28 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.packets;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.InventoryCrafting;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.IRecipe;
|
||||
import net.minecraft.nbt.CompressedStreamTools;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.ContainerWirelessCraftingTerminal;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.RandomUtils;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
import net.p455w0rd.wirelesscraftingterminal.helpers.WirelessTerminalGuiObject;
|
||||
|
||||
import appeng.api.config.Actionable;
|
||||
import appeng.api.config.FuzzyMode;
|
||||
import appeng.api.config.SecurityPermissions;
|
||||
@@ -20,27 +43,6 @@ import appeng.util.item.AEItemStack;
|
||||
import appeng.util.prioitylist.IPartitionList;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.InventoryCrafting;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.IRecipe;
|
||||
import net.minecraft.nbt.CompressedStreamTools;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.container.ContainerWirelessCraftingTerminal;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.RandomUtils;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
import net.p455w0rd.wirelesscraftingterminal.helpers.WirelessTerminalGuiObject;
|
||||
|
||||
public class PacketNEIRecipe extends WCTPacket {
|
||||
|
||||
@@ -80,7 +82,7 @@ public class PacketNEIRecipe extends WCTPacket {
|
||||
configureWrite(data);
|
||||
}
|
||||
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
@Override
|
||||
public void serverPacketData(final INetworkInfo manager, final WCTPacket packet, final EntityPlayer player) {
|
||||
final EntityPlayerMP pmp = (EntityPlayerMP) player;
|
||||
@@ -140,15 +142,16 @@ public class PacketNEIRecipe extends WCTPacket {
|
||||
ItemStack currentItem = craftMatrix.getStackInSlot(x);
|
||||
if (currentItem != null) {
|
||||
testInv.setInventorySlotContents(x, currentItem);
|
||||
final ItemStack newItemStack =
|
||||
r.matches(testInv, pmp.worldObj) ? r.getCraftingResult(testInv) : null;
|
||||
final ItemStack newItemStack = r.matches(testInv, pmp.worldObj)
|
||||
? r.getCraftingResult(testInv)
|
||||
: null;
|
||||
testInv.setInventorySlotContents(x, patternItem);
|
||||
|
||||
if (newItemStack == null || !Platform.isSameItemPrecise(newItemStack, is)) {
|
||||
final IAEItemStack in = AEItemStack.create(currentItem);
|
||||
if (in != null) {
|
||||
final IAEItemStack out =
|
||||
Platform.poweredInsert(energy, storage, in, cct.getActionSource());
|
||||
final IAEItemStack out = Platform
|
||||
.poweredInsert(energy, storage, in, cct.getActionSource());
|
||||
if (out != null) {
|
||||
craftMatrix.setInventorySlotContents(x, out.getItemStack());
|
||||
} else {
|
||||
@@ -190,7 +193,10 @@ public class PacketNEIRecipe extends WCTPacket {
|
||||
if (filter == null || filter.isListed(request)) {
|
||||
request.setStackSize(1);
|
||||
final IAEItemStack out = Platform.poweredExtraction(
|
||||
energy, storage, request, cct.getActionSource());
|
||||
energy,
|
||||
storage,
|
||||
request,
|
||||
cct.getActionSource());
|
||||
if (out != null) {
|
||||
whichItem = out.getItemStack();
|
||||
break;
|
||||
@@ -219,18 +225,17 @@ public class PacketNEIRecipe extends WCTPacket {
|
||||
/**
|
||||
* Tries to extract an item from the player inventory. Does account for fuzzy items.
|
||||
*
|
||||
* @param player the {@link EntityPlayer} to extract from
|
||||
* @param mode the {@link Actionable} to simulate or modulate the operation
|
||||
* @param player the {@link EntityPlayer} to extract from
|
||||
* @param mode the {@link Actionable} to simulate or modulate the operation
|
||||
* @param patternItem which {@link ItemStack} to extract
|
||||
* @return null or a found {@link ItemStack}
|
||||
*/
|
||||
private ItemStack extractItemFromPlayerInventory(
|
||||
final EntityPlayer player, final Actionable mode, final ItemStack patternItem) {
|
||||
private ItemStack extractItemFromPlayerInventory(final EntityPlayer player, final Actionable mode,
|
||||
final ItemStack patternItem) {
|
||||
final InventoryAdaptor ia = InventoryAdaptor.getAdaptor(player, ForgeDirection.UNKNOWN);
|
||||
final AEItemStack request = AEItemStack.create(patternItem);
|
||||
// final boolean isSimulated = mode == Actionable.SIMULATE;
|
||||
final boolean checkFuzzy = request.isOre()
|
||||
|| patternItem.getItemDamage() == OreDictionary.WILDCARD_VALUE
|
||||
final boolean checkFuzzy = request.isOre() || patternItem.getItemDamage() == OreDictionary.WILDCARD_VALUE
|
||||
|| patternItem.hasTagCompound()
|
||||
|| patternItem.isItemStackDamageable();
|
||||
|
||||
|
||||
+9
-3
@@ -1,13 +1,14 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.packets;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.ContainerPlayer;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.WCTGuiHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
|
||||
public class PacketOpenGui extends WCTPacket {
|
||||
|
||||
private final int whichGui;
|
||||
@@ -29,7 +30,12 @@ public class PacketOpenGui extends WCTPacket {
|
||||
public void serverPacketData(final INetworkInfo manager, final WCTPacket packet, final EntityPlayer player) {
|
||||
if (player.openContainer instanceof ContainerPlayer) {
|
||||
WCTGuiHandler.launchGui(
|
||||
this.whichGui, player, player.worldObj, (int) player.posX, (int) player.posY, (int) player.posZ);
|
||||
this.whichGui,
|
||||
player,
|
||||
player.worldObj,
|
||||
(int) player.posX,
|
||||
(int) player.posY,
|
||||
(int) player.posZ);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+7
-12
@@ -1,7 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.packets;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
@@ -11,6 +9,9 @@ import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.LocaleHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemMagnet;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
|
||||
public class PacketSetMagnet extends WCTPacket {
|
||||
|
||||
int magnetDamage;
|
||||
@@ -38,18 +39,12 @@ public class PacketSetMagnet extends WCTPacket {
|
||||
if (magnetItem != null) {
|
||||
|
||||
if (magnetItem.getItemDamage() == 2) {
|
||||
RandomUtils.getWirelessTerm(player.inventory)
|
||||
.getTagCompound()
|
||||
.getTagList("MagnetSlot", 10)
|
||||
.getCompoundTagAt(0)
|
||||
.setShort("Damage", (short) 0);
|
||||
RandomUtils.getWirelessTerm(player.inventory).getTagCompound().getTagList("MagnetSlot", 10)
|
||||
.getCompoundTagAt(0).setShort("Damage", (short) 0);
|
||||
player.addChatMessage(new ChatComponentText(LocaleHandler.MagnetMode1.getLocal()));
|
||||
} else {
|
||||
RandomUtils.getWirelessTerm(player.inventory)
|
||||
.getTagCompound()
|
||||
.getTagList("MagnetSlot", 10)
|
||||
.getCompoundTagAt(0)
|
||||
.setShort("Damage", (short) (magnetItem.getItemDamage() + 1));
|
||||
RandomUtils.getWirelessTerm(player.inventory).getTagCompound().getTagList("MagnetSlot", 10)
|
||||
.getCompoundTagAt(0).setShort("Damage", (short) (magnetItem.getItemDamage() + 1));
|
||||
if (magnetItem.getItemDamage() == 0) {
|
||||
player.addChatMessage(new ChatComponentText(LocaleHandler.MagnetMode2.getLocal()));
|
||||
} else {
|
||||
|
||||
+4
-3
@@ -1,8 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.packets;
|
||||
|
||||
import appeng.util.Platform;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.world.World;
|
||||
import net.p455w0rd.wirelesscraftingterminal.client.gui.GuiWirelessCraftingTerminal;
|
||||
@@ -10,6 +7,10 @@ import net.p455w0rd.wirelesscraftingterminal.common.WCTGuiHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
|
||||
import appeng.util.Platform;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
|
||||
public class PacketSwitchGuis extends WCTPacket {
|
||||
|
||||
private final int newGui;
|
||||
|
||||
+14
-13
@@ -1,5 +1,18 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.core.sync.packets;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.RandomUtils;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
|
||||
import appeng.api.config.Settings;
|
||||
import appeng.api.util.IConfigManager;
|
||||
import appeng.api.util.IConfigurableObject;
|
||||
@@ -7,17 +20,6 @@ import appeng.container.AEBaseContainer;
|
||||
import appeng.helpers.IMouseWheelItem;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.RandomUtils;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.WCTPacket;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.INetworkInfo;
|
||||
|
||||
public class PacketValueConfig extends WCTPacket {
|
||||
|
||||
@@ -53,8 +55,7 @@ public class PacketValueConfig extends WCTPacket {
|
||||
public void serverPacketData(final INetworkInfo manager, final WCTPacket packet, final EntityPlayer player) {
|
||||
final Container c = player.openContainer;
|
||||
|
||||
if (this.Name.equals("Item")
|
||||
&& RandomUtils.getWirelessTerm(player.inventory) != null
|
||||
if (this.Name.equals("Item") && RandomUtils.getWirelessTerm(player.inventory) != null
|
||||
&& RandomUtils.getWirelessTerm(player.inventory).getItem() instanceof IMouseWheelItem) {
|
||||
final ItemStack is = RandomUtils.getWirelessTerm(player.inventory);
|
||||
final IMouseWheelItem si = (IMouseWheelItem) is.getItem();
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.creativetab;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemEnum;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemWirelessCraftingTerminal;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class CreativeTabWCT extends CreativeTabs {
|
||||
|
||||
public CreativeTabWCT(int id, String unlocalizedName) {
|
||||
|
||||
+17
-4
@@ -17,11 +17,24 @@ public class AchievementHandler {
|
||||
new ItemStack(ItemEnum.WIRELESS_CRAFTING_TERMINAL.getItem(), 1),
|
||||
(Achievement) null);
|
||||
public static final Achievement boosterAch = new Achievement(
|
||||
"achievment.boosterAchievement", "boosterAchievement", 0, 2, ItemEnum.BOOSTER_ICON.getItem(), wctAch);
|
||||
"achievment.boosterAchievement",
|
||||
"boosterAchievement",
|
||||
0,
|
||||
2,
|
||||
ItemEnum.BOOSTER_ICON.getItem(),
|
||||
wctAch);
|
||||
public static final Achievement magnetAch = new Achievement(
|
||||
"achievement.magnetAchievement", "magnetAchievement", 2, 0, ItemEnum.MAGNET_CARD.getItem(), wctAch);
|
||||
private static final AchievementPage achPage =
|
||||
new AchievementPage("Wireless Crafting Term", wctAch, boosterAch, magnetAch);
|
||||
"achievement.magnetAchievement",
|
||||
"magnetAchievement",
|
||||
2,
|
||||
0,
|
||||
ItemEnum.MAGNET_CARD.getItem(),
|
||||
wctAch);
|
||||
private static final AchievementPage achPage = new AchievementPage(
|
||||
"Wireless Crafting Term",
|
||||
wctAch,
|
||||
boosterAch,
|
||||
magnetAch);
|
||||
|
||||
public static void init() {
|
||||
registerAchievements();
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.handlers;
|
||||
|
||||
import cpw.mods.fml.client.event.ConfigChangedEvent;
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import java.io.File;
|
||||
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
import net.minecraftforge.common.config.Property;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.WirelessCraftingTerminal;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemEnum;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import cpw.mods.fml.client.event.ConfigChangedEvent;
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
|
||||
public class ConfigHandler {
|
||||
|
||||
/*
|
||||
* A big part of what goes on here is reloading the cfg on-the-fly
|
||||
* since Ender-Core adds the abilitty to modify config stuff while in game,
|
||||
* I figured I'd add support for such possibilities
|
||||
* A big part of what goes on here is reloading the cfg on-the-fly since Ender-Core adds the abilitty to modify
|
||||
* config stuff while in game, I figured I'd add support for such possibilities
|
||||
*/
|
||||
public static Configuration config;
|
||||
public static boolean enableInfinityBooster;
|
||||
@@ -53,18 +55,17 @@ public class ConfigHandler {
|
||||
String mineTweakerOverrideDesc = LocaleHandler.MineTweakerOverride.getLocal();
|
||||
String doVersionCheckDesc = LocaleHandler.DoVersionCheck.getLocal();
|
||||
String saveSearchStringDesc = LocaleHandler.SaveSearchString.getLocal();
|
||||
enableInfinityBooster =
|
||||
config.getBoolean("enableInfinityBooster", Configuration.CATEGORY_GENERAL, true, boosterDesc);
|
||||
enableInfinityBooster = config
|
||||
.getBoolean("enableInfinityBooster", Configuration.CATEGORY_GENERAL, true, boosterDesc);
|
||||
enableEasyMode = config.getBoolean("enableEasyMode", Configuration.CATEGORY_GENERAL, false, easyModeDesc);
|
||||
boosterDropsEnabled =
|
||||
config.getBoolean("boosterDropsEnabled", Configuration.CATEGORY_GENERAL, true, boosterDropEnabledDesc);
|
||||
mineTweakerOverride = config.getBoolean(
|
||||
"mineTweakerOverride", Configuration.CATEGORY_GENERAL, false, mineTweakerOverrideDesc);
|
||||
boosterDropsEnabled = config
|
||||
.getBoolean("boosterDropsEnabled", Configuration.CATEGORY_GENERAL, true, boosterDropEnabledDesc);
|
||||
mineTweakerOverride = config
|
||||
.getBoolean("mineTweakerOverride", Configuration.CATEGORY_GENERAL, false, mineTweakerOverrideDesc);
|
||||
doVersionCheck = config.getBoolean("doVersionCheck", Configuration.CATEGORY_GENERAL, true, doVersionCheckDesc);
|
||||
/*
|
||||
* I did the max power cfg loading like this because while using
|
||||
* Configuration#getInt did enforce the min/max values in-game, it
|
||||
* didn't properly update the config file
|
||||
* I did the max power cfg loading like this because while using Configuration#getInt did enforce the min/max
|
||||
* values in-game, it didn't properly update the config file
|
||||
*/
|
||||
Property pwrCfgKey = config.get(Configuration.CATEGORY_GENERAL, "ae2wctMaxPower", Reference.WCT_MAX_POWER);
|
||||
pwrCfgKey.comment = pwrDesc;
|
||||
@@ -84,8 +85,8 @@ public class ConfigHandler {
|
||||
doSave = true;
|
||||
}
|
||||
|
||||
Property boosterDropKey =
|
||||
config.get(Configuration.CATEGORY_GENERAL, "boosterDropChance", Reference.WCT_BOOSTER_DROPCHANCE);
|
||||
Property boosterDropKey = config
|
||||
.get(Configuration.CATEGORY_GENERAL, "boosterDropChance", Reference.WCT_BOOSTER_DROPCHANCE);
|
||||
boosterDropKey.comment = boosterDropDesc;
|
||||
boosterDropKey.setDefaultValue(Reference.WCT_BOOSTER_DROPCHANCE);
|
||||
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.handlers;
|
||||
|
||||
import cpw.mods.fml.client.FMLClientHandler;
|
||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.entity.EntityClientPlayerMP;
|
||||
import net.minecraft.client.settings.KeyBinding;
|
||||
@@ -18,8 +12,16 @@ import net.p455w0rd.wirelesscraftingterminal.core.sync.network.NetworkHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketOpenGui;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketSetMagnet;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import org.lwjgl.input.Keyboard;
|
||||
|
||||
import cpw.mods.fml.client.FMLClientHandler;
|
||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class KeybindHandler {
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package net.p455w0rd.wirelesscraftingterminal.handlers;
|
||||
import net.minecraft.util.StatCollector;
|
||||
|
||||
public enum LocaleHandler {
|
||||
|
||||
TitleDesc,
|
||||
InfinityBoosterDesc,
|
||||
WirelessTermLabel("gui.labels.ae2wct"),
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.handlers;
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.CraftingManager;
|
||||
@@ -12,6 +12,8 @@ import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemEnum;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
|
||||
public class RecipeHandler {
|
||||
|
||||
public static ArrayList<IRecipe> easyRecipeList = new ArrayList<IRecipe>();
|
||||
@@ -28,88 +30,53 @@ public class RecipeHandler {
|
||||
// EASY MODE RECIPES
|
||||
|
||||
// Wireless Crafting Terminal
|
||||
easyRecipeList.add(new ShapedOreRecipe(ItemEnum.WIRELESS_CRAFTING_TERMINAL.getStack(), new Object[] {
|
||||
"a",
|
||||
"b",
|
||||
"c",
|
||||
Character.valueOf('a'),
|
||||
new ItemStack(multiMaterial, 1, 41),
|
||||
Character.valueOf('b'),
|
||||
new ItemStack(multiPart, 1, 360),
|
||||
Character.valueOf('c'),
|
||||
new ItemStack(ae2WirelessTerm, 1, 0)
|
||||
}));
|
||||
easyRecipeList.add(
|
||||
new ShapedOreRecipe(
|
||||
ItemEnum.WIRELESS_CRAFTING_TERMINAL.getStack(),
|
||||
new Object[] { "a", "b", "c", Character.valueOf('a'), new ItemStack(multiMaterial, 1, 41),
|
||||
Character.valueOf('b'), new ItemStack(multiPart, 1, 360), Character.valueOf('c'),
|
||||
new ItemStack(ae2WirelessTerm, 1, 0) }));
|
||||
|
||||
// Magnet Card
|
||||
easyRecipeList.add(new ShapedOreRecipe(ItemEnum.MAGNET_CARD.getStack(), new Object[] {
|
||||
"a b",
|
||||
"cdc",
|
||||
"ccc",
|
||||
Character.valueOf('a'),
|
||||
"dustRedstone",
|
||||
Character.valueOf('b'),
|
||||
"gemLapis",
|
||||
Character.valueOf('c'),
|
||||
"ingotIron",
|
||||
Character.valueOf('d'),
|
||||
new ItemStack(multiMaterial, 1, 28)
|
||||
}));
|
||||
easyRecipeList.add(
|
||||
new ShapedOreRecipe(
|
||||
ItemEnum.MAGNET_CARD.getStack(),
|
||||
new Object[] { "a b", "cdc", "ccc", Character.valueOf('a'), "dustRedstone",
|
||||
Character.valueOf('b'), "gemLapis", Character.valueOf('c'), "ingotIron",
|
||||
Character.valueOf('d'), new ItemStack(multiMaterial, 1, 28) }));
|
||||
|
||||
// Infinity Booster Card
|
||||
easyRecipeList.add(new ShapedOreRecipe(ItemEnum.BOOSTER_CARD.getStack(), new Object[] {
|
||||
"abc",
|
||||
"ded",
|
||||
"cba",
|
||||
Character.valueOf('a'),
|
||||
new ItemStack(blockSpatialIO, 1, 0),
|
||||
Character.valueOf('b'),
|
||||
new ItemStack(multiMaterial, 1, 42),
|
||||
Character.valueOf('c'),
|
||||
new ItemStack(blockCraftingStorage, 1, 3),
|
||||
Character.valueOf('d'),
|
||||
new ItemStack(multiMaterial, 1, 48),
|
||||
Character.valueOf('e'),
|
||||
new ItemStack(itemWAP, 1, 0)
|
||||
}));
|
||||
easyRecipeList.add(
|
||||
new ShapedOreRecipe(
|
||||
ItemEnum.BOOSTER_CARD.getStack(),
|
||||
new Object[] { "abc", "ded", "cba", Character.valueOf('a'), new ItemStack(blockSpatialIO, 1, 0),
|
||||
Character.valueOf('b'), new ItemStack(multiMaterial, 1, 42), Character.valueOf('c'),
|
||||
new ItemStack(blockCraftingStorage, 1, 3), Character.valueOf('d'),
|
||||
new ItemStack(multiMaterial, 1, 48), Character.valueOf('e'),
|
||||
new ItemStack(itemWAP, 1, 0) }));
|
||||
|
||||
// ==================
|
||||
// HARD MODE RECIPES
|
||||
|
||||
// Wireless Crafting Terminal
|
||||
hardRecipeList.add(new ShapedOreRecipe(ItemEnum.WIRELESS_CRAFTING_TERMINAL.getStack(), new Object[] {
|
||||
"aba",
|
||||
"cdc",
|
||||
"efe",
|
||||
Character.valueOf('a'),
|
||||
new ItemStack(multiMaterial, 1, 9),
|
||||
Character.valueOf('b'),
|
||||
new ItemStack(itemWAP, 1, 0),
|
||||
Character.valueOf('c'),
|
||||
new ItemStack(multiMaterial, 1, 12),
|
||||
Character.valueOf('d'),
|
||||
new ItemStack(multiPart, 1, 360),
|
||||
Character.valueOf('e'),
|
||||
new ItemStack(multiMaterial, 1, 38),
|
||||
Character.valueOf('f'),
|
||||
new ItemStack(multiMaterial, 1, 47)
|
||||
}));
|
||||
hardRecipeList.add(
|
||||
new ShapedOreRecipe(
|
||||
ItemEnum.WIRELESS_CRAFTING_TERMINAL.getStack(),
|
||||
new Object[] { "aba", "cdc", "efe", Character.valueOf('a'), new ItemStack(multiMaterial, 1, 9),
|
||||
Character.valueOf('b'), new ItemStack(itemWAP, 1, 0), Character.valueOf('c'),
|
||||
new ItemStack(multiMaterial, 1, 12), Character.valueOf('d'),
|
||||
new ItemStack(multiPart, 1, 360), Character.valueOf('e'),
|
||||
new ItemStack(multiMaterial, 1, 38), Character.valueOf('f'),
|
||||
new ItemStack(multiMaterial, 1, 47) }));
|
||||
|
||||
// Magnet Card
|
||||
hardRecipeList.add(new ShapedOreRecipe(ItemEnum.MAGNET_CARD.getStack(), new Object[] {
|
||||
"abc",
|
||||
"ded",
|
||||
"ddd",
|
||||
Character.valueOf('a'),
|
||||
"blockRedstone",
|
||||
Character.valueOf('b'),
|
||||
new ItemStack(multiPart, 1, 300),
|
||||
Character.valueOf('c'),
|
||||
"blockLapis",
|
||||
Character.valueOf('d'),
|
||||
"blockIron",
|
||||
Character.valueOf('e'),
|
||||
new ItemStack(multiMaterial, 1, 28)
|
||||
}));
|
||||
hardRecipeList.add(
|
||||
new ShapedOreRecipe(
|
||||
ItemEnum.MAGNET_CARD.getStack(),
|
||||
new Object[] { "abc", "ded", "ddd", Character.valueOf('a'), "blockRedstone",
|
||||
Character.valueOf('b'), new ItemStack(multiPart, 1, 300), Character.valueOf('c'),
|
||||
"blockLapis", Character.valueOf('d'), "blockIron", Character.valueOf('e'),
|
||||
new ItemStack(multiMaterial, 1, 28) }));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -126,8 +93,7 @@ public class RecipeHandler {
|
||||
}
|
||||
|
||||
// remove old recipes
|
||||
Iterator<IRecipe> iterator =
|
||||
CraftingManager.getInstance().getRecipeList().iterator();
|
||||
Iterator<IRecipe> iterator = CraftingManager.getInstance().getRecipeList().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
ItemStack r = iterator.next().getRecipeOutput();
|
||||
for (IRecipe recipe : recipeList2) {
|
||||
|
||||
+14
-8
@@ -1,20 +1,22 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.handlers;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.IChatComponent;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent;
|
||||
|
||||
public class VersionCheckHandler {
|
||||
|
||||
int timer = 150;
|
||||
@@ -43,8 +45,12 @@ public class VersionCheckHandler {
|
||||
if (!fetchVersion().equals(Reference.VERSION) && !Reference.WCT_HASCHECKEDVERSION) {
|
||||
Reference.WCT_HASCHECKEDVERSION = true;
|
||||
player.addChatMessage(
|
||||
new ChatComponentText(EnumChatFormatting.BLUE + "-=-=-=-=-=[" + EnumChatFormatting.WHITE
|
||||
+ "Wireless Crafting Terminal" + EnumChatFormatting.BLUE + "]=-=-=-=-=-"));
|
||||
new ChatComponentText(
|
||||
EnumChatFormatting.BLUE + "-=-=-=-=-=["
|
||||
+ EnumChatFormatting.WHITE
|
||||
+ "Wireless Crafting Terminal"
|
||||
+ EnumChatFormatting.BLUE
|
||||
+ "]=-=-=-=-=-"));
|
||||
player.addChatMessage(new ChatComponentText(LocaleHandler.NewVersionAvailable.getLocal()));
|
||||
IChatComponent component = IChatComponent.Serializer.func_150699_a(LocaleHandler.ClickString.getLocal());
|
||||
player.addChatComponentMessage(component);
|
||||
@@ -57,9 +63,9 @@ public class VersionCheckHandler {
|
||||
private String fetchVersion() {
|
||||
try {
|
||||
InputStream in = new URL(
|
||||
new String(
|
||||
"https://raw.githubusercontent.com/p455w0rd/WirelessCraftingTerminal/master/latestversionrv3.txt"))
|
||||
.openStream();
|
||||
new String(
|
||||
"https://raw.githubusercontent.com/p455w0rd/WirelessCraftingTerminal/master/latestversionrv3.txt"))
|
||||
.openStream();
|
||||
BufferedReader r = new BufferedReader(new InputStreamReader(in));
|
||||
return r.readLine();
|
||||
} catch (MalformedURLException ignored) {
|
||||
|
||||
@@ -9,5 +9,5 @@ import java.lang.annotation.Target;
|
||||
* Marker interface to help identify invocation of reflection
|
||||
*/
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@Target({ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.TYPE, ElementType.METHOD})
|
||||
@Target({ ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.TYPE, ElementType.METHOD })
|
||||
public @interface Reflected {}
|
||||
+10
-15
@@ -1,5 +1,12 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.helpers;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.IWirelessCraftingTerminalItem;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.networking.security.WCTIActionHost;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.config.AccessRestriction;
|
||||
import appeng.api.config.Actionable;
|
||||
@@ -27,12 +34,6 @@ import appeng.api.util.DimensionalCoord;
|
||||
import appeng.api.util.IConfigManager;
|
||||
import appeng.container.interfaces.IInventorySlotAware;
|
||||
import appeng.tile.networking.TileWireless;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.IWirelessCraftingTerminalItem;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.networking.security.WCTIActionHost;
|
||||
|
||||
public class WirelessTerminalGuiObject
|
||||
implements IActionHost, IPortableCell, IInventorySlotAware, WCTIActionHost, IGuiItemObject {
|
||||
@@ -49,14 +50,8 @@ public class WirelessTerminalGuiObject
|
||||
private double myRange = Double.MAX_VALUE;
|
||||
private final int inventorySlot;
|
||||
|
||||
public WirelessTerminalGuiObject(
|
||||
final IWirelessTermHandler wh,
|
||||
final ItemStack is,
|
||||
final EntityPlayer ep,
|
||||
final World w,
|
||||
final int x,
|
||||
final int y,
|
||||
final int z) {
|
||||
public WirelessTerminalGuiObject(final IWirelessTermHandler wh, final ItemStack is, final EntityPlayer ep,
|
||||
final World w, final int x, final int y, final int z) {
|
||||
this.encryptionKey = wh.getEncryptionKey(is);
|
||||
this.effectiveItem = is;
|
||||
this.myPlayer = ep;
|
||||
@@ -133,7 +128,7 @@ public class WirelessTerminalGuiObject
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
@Override
|
||||
public IItemList<IAEItemStack> getAvailableItems(final IItemList out) {
|
||||
if (this.itemStorage != null) {
|
||||
|
||||
+2
-1
@@ -1,12 +1,13 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.implementation;
|
||||
|
||||
import cpw.mods.fml.common.LoaderState;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.IWCTInteractionHelper;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.IWCTItems;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.WCTApi;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.WirelessCraftingTerminal;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
|
||||
import cpw.mods.fml.common.LoaderState;
|
||||
|
||||
public class WCTAPIImplementation extends WCTApi {
|
||||
|
||||
private final WCTItems items;
|
||||
|
||||
+6
-6
@@ -1,7 +1,5 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.implementation;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -14,12 +12,14 @@ import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketOpenGui;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemWirelessCraftingTerminal;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
|
||||
public class WCTInteractionHelper implements IWCTInteractionHelper {
|
||||
|
||||
@Override
|
||||
public void openWirelessCraftingTerminalGui(final EntityPlayer player) {
|
||||
if ((player == null)
|
||||
|| (player instanceof FakePlayer)
|
||||
if ((player == null) || (player instanceof FakePlayer)
|
||||
|| (player instanceof EntityPlayerMP)
|
||||
|| FMLCommonHandler.instance().getSide() == Side.SERVER) {
|
||||
return;
|
||||
@@ -43,8 +43,8 @@ public class WCTInteractionHelper implements IWCTInteractionHelper {
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isTerminalLinked(
|
||||
final IWirelessCraftingTermHandler wirelessTerminal, final ItemStack wirelessTerminalItemstack) {
|
||||
public static boolean isTerminalLinked(final IWirelessCraftingTermHandler wirelessTerminal,
|
||||
final ItemStack wirelessTerminalItemstack) {
|
||||
return (!wirelessTerminal.getEncryptionKey(wirelessTerminalItemstack).isEmpty());
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,15 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.integration;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import crazypants.enderio.enchantment.EnchantmentSoulBound;
|
||||
import crazypants.enderio.enchantment.Enchantments;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
/**
|
||||
* @author p455w0rd
|
||||
|
||||
+1
@@ -1,6 +1,7 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.integration;
|
||||
|
||||
public interface IIntegrationModule {
|
||||
|
||||
void init() throws Throwable;
|
||||
|
||||
void postInit();
|
||||
|
||||
+10
-9
@@ -1,10 +1,12 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.integration;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.exceptions.ModNotInstalled;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import cpw.mods.fml.common.ModAPIManager;
|
||||
import java.lang.reflect.Field;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.exceptions.ModNotInstalled;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.WCTLog;
|
||||
|
||||
public final class IntegrationNode {
|
||||
|
||||
@@ -22,8 +24,8 @@ public final class IntegrationNode {
|
||||
private Object instance;
|
||||
private IIntegrationModule mod = null;
|
||||
|
||||
public IntegrationNode(
|
||||
final String displayName, final String modID, final IntegrationType shortName, final String name) {
|
||||
public IntegrationNode(final String displayName, final String modID, final IntegrationType shortName,
|
||||
final String name) {
|
||||
this.displayName = displayName;
|
||||
this.shortName = shortName;
|
||||
this.modID = modID;
|
||||
@@ -53,13 +55,12 @@ public final class IntegrationNode {
|
||||
switch (stage) {
|
||||
case PRE_INIT:
|
||||
final ModAPIManager apiManager = ModAPIManager.INSTANCE;
|
||||
boolean enabled =
|
||||
this.modID == null || Loader.isModLoaded(this.modID) || apiManager.hasAPI(this.modID);
|
||||
boolean enabled = this.modID == null || Loader.isModLoaded(this.modID)
|
||||
|| apiManager.hasAPI(this.modID);
|
||||
|
||||
if (enabled) {
|
||||
this.classValue = this.getClass().getClassLoader().loadClass(this.name);
|
||||
this.mod = (IIntegrationModule)
|
||||
this.classValue.getConstructor().newInstance();
|
||||
this.mod = (IIntegrationModule) this.classValue.getConstructor().newInstance();
|
||||
final Field f = this.classValue.getField("instance");
|
||||
f.set(this.classValue, this.setInstance(this.mod));
|
||||
} else {
|
||||
|
||||
+8
-5
@@ -1,12 +1,15 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.integration;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import cpw.mods.fml.relauncher.FMLLaunchHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public enum IntegrationRegistry {
|
||||
|
||||
INSTANCE;
|
||||
|
||||
private static final String PACKAGE_PREFIX = "net.p455w0rd.wirelesscraftingterminal.integration.modules.";
|
||||
@@ -53,8 +56,8 @@ public enum IntegrationRegistry {
|
||||
builder.append(", ");
|
||||
}
|
||||
|
||||
final String integrationState =
|
||||
node.getShortName() + ":" + (node.getState() == IntegrationStage.FAILED ? "OFF" : "ON");
|
||||
final String integrationState = node.getShortName() + ":"
|
||||
+ (node.getState() == IntegrationStage.FAILED ? "OFF" : "ON");
|
||||
builder.append(integrationState);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.integration;
|
||||
|
||||
public enum IntegrationType {
|
||||
|
||||
RFItem(IntegrationSide.BOTH, "RedstoneFlux Power - Items", "CoFHAPI"),
|
||||
|
||||
// Waila( IntegrationSide.BOTH, "Waila", "Waila" ),
|
||||
|
||||
@@ -1,21 +1,9 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.integration.modules;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.storage.data.IAEItemStack;
|
||||
import appeng.container.slot.SlotCraftingMatrix;
|
||||
import appeng.container.slot.SlotFakeCraftingMatrix;
|
||||
import appeng.integration.modules.NEIHelpers.NEIAEShapelessRecipeHandler;
|
||||
import appeng.util.Platform;
|
||||
import codechicken.nei.PositionedStack;
|
||||
import codechicken.nei.api.API;
|
||||
import codechicken.nei.api.IOverlayHandler;
|
||||
import codechicken.nei.api.IStackPositioner;
|
||||
import codechicken.nei.guihook.GuiContainerManager;
|
||||
import codechicken.nei.guihook.IContainerTooltipHandler;
|
||||
import codechicken.nei.recipe.IRecipeHandler;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
@@ -35,7 +23,22 @@ import net.p455w0rd.wirelesscraftingterminal.integration.abstraction.INEI;
|
||||
import net.p455w0rd.wirelesscraftingterminal.integration.modules.NEIHelpers.NEIAEShapedRecipeHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.integration.modules.NEIHelpers.NEIGUIHandler;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.storage.data.IAEItemStack;
|
||||
import appeng.container.slot.SlotCraftingMatrix;
|
||||
import appeng.container.slot.SlotFakeCraftingMatrix;
|
||||
import appeng.integration.modules.NEIHelpers.NEIAEShapelessRecipeHandler;
|
||||
import appeng.util.Platform;
|
||||
import codechicken.nei.PositionedStack;
|
||||
import codechicken.nei.api.API;
|
||||
import codechicken.nei.api.IOverlayHandler;
|
||||
import codechicken.nei.api.IStackPositioner;
|
||||
import codechicken.nei.guihook.GuiContainerManager;
|
||||
import codechicken.nei.guihook.IContainerTooltipHandler;
|
||||
import codechicken.nei.recipe.IRecipeHandler;
|
||||
|
||||
public class NEI implements INEI, IContainerTooltipHandler, IIntegrationModule {
|
||||
|
||||
@Reflected
|
||||
public static NEI instance;
|
||||
|
||||
@@ -94,7 +97,12 @@ public class NEI implements INEI, IContainerTooltipHandler, IIntegrationModule {
|
||||
|
||||
GuiContainerManager.drawItems.renderItemAndEffectIntoGUI(fontRenderer, mc.getTextureManager(), stack, x, y);
|
||||
GuiContainerManager.drawItems.renderItemOverlayIntoGUI(
|
||||
fontRenderer, mc.getTextureManager(), stack, x, y, String.valueOf(stack.stackSize));
|
||||
fontRenderer,
|
||||
mc.getTextureManager(),
|
||||
stack,
|
||||
x,
|
||||
y,
|
||||
String.valueOf(stack.stackSize));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -109,24 +117,20 @@ public class NEI implements INEI, IContainerTooltipHandler, IIntegrationModule {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> handleTooltip(
|
||||
final GuiContainer arg0, final int arg1, final int arg2, final List<String> current) {
|
||||
public List<String> handleTooltip(final GuiContainer arg0, final int arg1, final int arg2,
|
||||
final List<String> current) {
|
||||
return current;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> handleItemDisplayName(
|
||||
final GuiContainer arg0, final ItemStack arg1, final List<String> current) {
|
||||
public List<String> handleItemDisplayName(final GuiContainer arg0, final ItemStack arg1,
|
||||
final List<String> current) {
|
||||
return current;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> handleItemTooltip(
|
||||
final GuiContainer guiScreen,
|
||||
final ItemStack stack,
|
||||
final int mouseX,
|
||||
final int mouseY,
|
||||
final List<String> currentToolTip) {
|
||||
public List<String> handleItemTooltip(final GuiContainer guiScreen, final ItemStack stack, final int mouseX,
|
||||
final int mouseY, final List<String> currentToolTip) {
|
||||
if (guiScreen instanceof GuiWirelessCraftingTerminal) {
|
||||
return ((GuiWirelessCraftingTerminal) guiScreen).handleItemTooltip(stack, mouseX, mouseY, currentToolTip);
|
||||
}
|
||||
@@ -146,10 +150,10 @@ public class NEI implements INEI, IContainerTooltipHandler, IIntegrationModule {
|
||||
|
||||
for (final PositionedStack positionedStack : stacks) {
|
||||
if (positionedStack.items != null && positionedStack.items.length > 0) {
|
||||
positionedStack.relx +=
|
||||
ContainerWirelessCraftingTerminal.CRAFTING_SLOT_X_POS - NEI.NEI_REGULAR_SLOT_OFFSET_X;
|
||||
positionedStack.rely +=
|
||||
ContainerWirelessCraftingTerminal.CRAFTING_SLOT_Y_POS - NEI.NEI_REGULAR_SLOT_OFFSET_Y;
|
||||
positionedStack.relx += ContainerWirelessCraftingTerminal.CRAFTING_SLOT_X_POS
|
||||
- NEI.NEI_REGULAR_SLOT_OFFSET_X;
|
||||
positionedStack.rely += ContainerWirelessCraftingTerminal.CRAFTING_SLOT_Y_POS
|
||||
- NEI.NEI_REGULAR_SLOT_OFFSET_Y;
|
||||
}
|
||||
}
|
||||
return stacks;
|
||||
@@ -157,6 +161,7 @@ public class NEI implements INEI, IContainerTooltipHandler, IIntegrationModule {
|
||||
}
|
||||
|
||||
public class WCTOverlayHandler implements IOverlayHandler {
|
||||
|
||||
/**
|
||||
* Reduces regular slot offsets to 0, 1, or 2
|
||||
*/
|
||||
@@ -171,10 +176,10 @@ public class NEI implements INEI, IContainerTooltipHandler, IIntegrationModule {
|
||||
*/
|
||||
private boolean addCraftingItems(final PositionedStack ingredient, final IAEItemStack[] overlayItems) {
|
||||
// Calculate the slot positions
|
||||
int slotX =
|
||||
(ingredient.relx - NEI.NEI_REGULAR_SLOT_OFFSET_X) / WCTOverlayHandler.REGULAR_SLOT_INDEX_DIVISOR;
|
||||
int slotY =
|
||||
(ingredient.rely - NEI.NEI_REGULAR_SLOT_OFFSET_Y) / WCTOverlayHandler.REGULAR_SLOT_INDEX_DIVISOR;
|
||||
int slotX = (ingredient.relx - NEI.NEI_REGULAR_SLOT_OFFSET_X)
|
||||
/ WCTOverlayHandler.REGULAR_SLOT_INDEX_DIVISOR;
|
||||
int slotY = (ingredient.rely - NEI.NEI_REGULAR_SLOT_OFFSET_Y)
|
||||
/ WCTOverlayHandler.REGULAR_SLOT_INDEX_DIVISOR;
|
||||
// Calculate the slot index
|
||||
int slotIndex = slotX + (slotY * 3);
|
||||
// Add the item to the list
|
||||
@@ -193,21 +198,19 @@ public class NEI implements INEI, IContainerTooltipHandler, IIntegrationModule {
|
||||
// overlayItems);
|
||||
}
|
||||
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
@Override
|
||||
public void overlayRecipe(
|
||||
final GuiContainer gui, final IRecipeHandler recipe, final int recipeIndex, final boolean shift) {
|
||||
public void overlayRecipe(final GuiContainer gui, final IRecipeHandler recipe, final int recipeIndex,
|
||||
final boolean shift) {
|
||||
try {
|
||||
final List ingredients = recipe.getIngredientStacks(recipeIndex);
|
||||
this.overlayRecipe(gui, ingredients, shift);
|
||||
} catch (final Exception ignored) {
|
||||
} catch (final Error ignored) {
|
||||
}
|
||||
} catch (final Exception ignored) {} catch (final Error ignored) {}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private void overlayRecipe(
|
||||
final GuiContainer gui, final List<PositionedStack> ingredients, final boolean shift) {
|
||||
private void overlayRecipe(final GuiContainer gui, final List<PositionedStack> ingredients,
|
||||
final boolean shift) {
|
||||
try {
|
||||
final NBTTagCompound recipe = new NBTTagCompound();
|
||||
|
||||
@@ -247,9 +250,7 @@ public class NEI implements INEI, IContainerTooltipHandler, IIntegrationModule {
|
||||
|
||||
NetworkHandler.instance.sendToServer(new PacketNEIRecipe(recipe));
|
||||
}
|
||||
} catch (final Exception ignored) {
|
||||
} catch (final Error ignored) {
|
||||
}
|
||||
} catch (final Exception ignored) {} catch (final Error ignored) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
+28
-37
@@ -1,5 +1,20 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.integration.modules.NEIHelpers;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.gui.inventory.GuiCrafting;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.CraftingManager;
|
||||
import net.minecraft.item.crafting.IRecipe;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.exceptions.MissingIngredientError;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.exceptions.RegistrationError;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.recipes.IIngredient;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.recipes.game.ShapedRecipe;
|
||||
|
||||
import appeng.core.AEConfig;
|
||||
import appeng.util.Platform;
|
||||
import codechicken.nei.NEIClientUtils;
|
||||
@@ -11,19 +26,6 @@ import codechicken.nei.api.IRecipeOverlayRenderer;
|
||||
import codechicken.nei.api.IStackPositioner;
|
||||
import codechicken.nei.recipe.RecipeInfo;
|
||||
import codechicken.nei.recipe.TemplateRecipeHandler;
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.gui.inventory.GuiCrafting;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.CraftingManager;
|
||||
import net.minecraft.item.crafting.IRecipe;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.exceptions.MissingIngredientError;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.exceptions.RegistrationError;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.recipes.IIngredient;
|
||||
import net.p455w0rd.wirelesscraftingterminal.api.recipes.game.ShapedRecipe;
|
||||
|
||||
public class NEIAEShapedRecipeHandler extends TemplateRecipeHandler {
|
||||
|
||||
@@ -66,30 +68,16 @@ public class NEIAEShapedRecipeHandler extends TemplateRecipeHandler {
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
@Override
|
||||
public void loadUsageRecipes( final ItemStack ingredient )
|
||||
{
|
||||
final List<IRecipe> recipes = CraftingManager.getInstance().getRecipeList();
|
||||
for( final IRecipe recipe : recipes )
|
||||
{
|
||||
if( ( recipe instanceof ShapedRecipe ) )
|
||||
{
|
||||
final CachedShapedRecipe cachedRecipe = new CachedShapedRecipe( (ShapedRecipe) recipe );
|
||||
|
||||
if( ( (ShapedRecipe) recipe ).isEnabled() && cachedRecipe.contains( cachedRecipe.ingredients, ingredient.getItem() ) )
|
||||
{
|
||||
cachedRecipe.computeVisuals();
|
||||
if( cachedRecipe.contains( cachedRecipe.ingredients, ingredient ) )
|
||||
{
|
||||
cachedRecipe.setIngredientPermutation( cachedRecipe.ingredients, ingredient );
|
||||
this.arecipes.add( cachedRecipe );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
/*
|
||||
* @Override public void loadUsageRecipes( final ItemStack ingredient ) { final List<IRecipe> recipes =
|
||||
* CraftingManager.getInstance().getRecipeList(); for( final IRecipe recipe : recipes ) { if( ( recipe instanceof
|
||||
* ShapedRecipe ) ) { final CachedShapedRecipe cachedRecipe = new CachedShapedRecipe( (ShapedRecipe) recipe ); if( (
|
||||
* (ShapedRecipe) recipe ).isEnabled() && cachedRecipe.contains( cachedRecipe.ingredients, ingredient.getItem() ) )
|
||||
* { cachedRecipe.computeVisuals(); if( cachedRecipe.contains( cachedRecipe.ingredients, ingredient ) ) {
|
||||
* cachedRecipe.setIngredientPermutation( cachedRecipe.ingredients, ingredient ); this.arecipes.add( cachedRecipe );
|
||||
* } } } } }
|
||||
*/
|
||||
@Override
|
||||
public String getGuiTexture() {
|
||||
return "textures/gui/container/crafting_table.png";
|
||||
@@ -171,7 +159,10 @@ public class NEIAEShapedRecipeHandler extends TemplateRecipeHandler {
|
||||
try {
|
||||
final ItemStack[] is = ing.getItemStackSet();
|
||||
final PositionedStack stack = new PositionedStack(
|
||||
useSingleItems ? Platform.findPreferred(is) : is, 25 + x * 18, 6 + y * 18, false);
|
||||
useSingleItems ? Platform.findPreferred(is) : is,
|
||||
25 + x * 18,
|
||||
6 + y * 18,
|
||||
false);
|
||||
stack.setMaxSize(1);
|
||||
this.ingredients.add(stack);
|
||||
} catch (final RegistrationError ignored) {
|
||||
|
||||
+13
-15
@@ -1,13 +1,8 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.integration.modules.NEIHelpers;
|
||||
|
||||
import appeng.container.slot.SlotCraftingMatrix;
|
||||
import appeng.container.slot.SlotFakeCraftingMatrix;
|
||||
import appeng.util.Platform;
|
||||
import codechicken.nei.PositionedStack;
|
||||
import codechicken.nei.api.IOverlayHandler;
|
||||
import codechicken.nei.recipe.IRecipeHandler;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -17,20 +12,25 @@ import net.p455w0rd.wirelesscraftingterminal.client.gui.GuiWirelessCraftingTermi
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.network.NetworkHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.core.sync.packets.PacketNEIRecipe;
|
||||
|
||||
import appeng.container.slot.SlotCraftingMatrix;
|
||||
import appeng.container.slot.SlotFakeCraftingMatrix;
|
||||
import appeng.util.Platform;
|
||||
import codechicken.nei.PositionedStack;
|
||||
import codechicken.nei.api.IOverlayHandler;
|
||||
import codechicken.nei.recipe.IRecipeHandler;
|
||||
|
||||
public class NEICraftingHandler implements IOverlayHandler {
|
||||
|
||||
public NEICraftingHandler(final int x, final int y) {}
|
||||
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
@Override
|
||||
public void overlayRecipe(
|
||||
final GuiContainer gui, final IRecipeHandler recipe, final int recipeIndex, final boolean shift) {
|
||||
public void overlayRecipe(final GuiContainer gui, final IRecipeHandler recipe, final int recipeIndex,
|
||||
final boolean shift) {
|
||||
try {
|
||||
final List ingredients = recipe.getIngredientStacks(recipeIndex);
|
||||
this.overlayRecipe(gui, ingredients, shift);
|
||||
} catch (final Exception ignored) {
|
||||
} catch (final Error ignored) {
|
||||
}
|
||||
} catch (final Exception ignored) {} catch (final Error ignored) {}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -74,8 +74,6 @@ public class NEICraftingHandler implements IOverlayHandler {
|
||||
|
||||
NetworkHandler.instance.sendToServer(new PacketNEIRecipe(recipe));
|
||||
}
|
||||
} catch (final Exception ignored) {
|
||||
} catch (final Error ignored) {
|
||||
}
|
||||
} catch (final Exception ignored) {} catch (final Error ignored) {}
|
||||
}
|
||||
}
|
||||
+4
-4
@@ -1,11 +1,13 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.integration.modules.NEIHelpers;
|
||||
|
||||
import codechicken.nei.api.INEIGuiAdapter;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.p455w0rd.wirelesscraftingterminal.client.gui.GuiWirelessCraftingTerminal;
|
||||
|
||||
import codechicken.nei.api.INEIGuiAdapter;
|
||||
|
||||
public class NEIGUIHandler extends INEIGuiAdapter {
|
||||
|
||||
protected Pattern SPECIAL_REGEX_CHARS = Pattern.compile("[{}()\\[\\].+*?^$\\\\|]");
|
||||
@@ -15,9 +17,7 @@ public class NEIGUIHandler extends INEIGuiAdapter {
|
||||
if (gui instanceof GuiWirelessCraftingTerminal && draggedStack != null && draggedStack.getItem() != null) {
|
||||
GuiWirelessCraftingTerminal gmm = (GuiWirelessCraftingTerminal) gui;
|
||||
if (gmm.isOverSearchField(mousex, mousey)) {
|
||||
gmm.setSearchString(SPECIAL_REGEX_CHARS
|
||||
.matcher(draggedStack.getDisplayName())
|
||||
.replaceAll("\\\\$0"));
|
||||
gmm.setSearchString(SPECIAL_REGEX_CHARS.matcher(draggedStack.getDisplayName()).replaceAll("\\\\$0"));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import net.p455w0rd.wirelesscraftingterminal.integration.IIntegrationModule;
|
||||
import net.p455w0rd.wirelesscraftingterminal.integration.IntegrationHelper;
|
||||
|
||||
public class RFItem implements IIntegrationModule {
|
||||
|
||||
@Reflected
|
||||
public static RFItem instance;
|
||||
|
||||
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.integration.modules.helpers;
|
||||
|
||||
import cofh.api.energy.IEnergyReceiver;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
import cofh.api.energy.IEnergyReceiver;
|
||||
|
||||
public class NullRFHandler implements IEnergyReceiver {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.items;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class ItemBoosterBGIcon extends Item {
|
||||
|
||||
public static IIcon[] boosterIcon;
|
||||
@@ -22,8 +23,7 @@ public class ItemBoosterBGIcon extends Item {
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerIcons(IIconRegister register) {
|
||||
boosterIcon[0] = register.registerIcon(
|
||||
Reference.MODID + ":" + this.getUnlocalizedName().substring(5));
|
||||
boosterIcon[0] = register.registerIcon(Reference.MODID + ":" + this.getUnlocalizedName().substring(5));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
|
||||
@@ -4,6 +4,7 @@ import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public enum ItemEnum {
|
||||
|
||||
BOOSTER_CARD("infinityBoosterCard", new ItemInfinityBooster().setUnlocalizedName("infinityBoosterCard")),
|
||||
BOOSTER_ICON("infinityBoosterIcon", new ItemInfinityBooster().hasEffect(true)),
|
||||
WIRELESS_CRAFTING_TERMINAL("wirelessCraftingTerminal", new ItemWirelessCraftingTerminal()),
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.items;
|
||||
|
||||
import com.google.common.base.Splitter;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.p455w0rd.wirelesscraftingterminal.common.utils.RandomUtils;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.LocaleHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import org.apache.commons.lang3.text.WordUtils;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
|
||||
import com.google.common.base.Splitter;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class ItemInfinityBooster extends Item {
|
||||
|
||||
public boolean showEffect = false;
|
||||
@@ -39,14 +43,13 @@ public class ItemInfinityBooster extends Item {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void addInformation(ItemStack is, EntityPlayer player, List list, boolean par4) {
|
||||
String shift = LocaleHandler.PressShift.getLocal()
|
||||
.replace(
|
||||
"Shift",
|
||||
color("yellow") + "" + color("bold") + "" + color("italics") + "Shift" + color("gray"));
|
||||
String shift = LocaleHandler.PressShift.getLocal().replace(
|
||||
"Shift",
|
||||
color("yellow") + "" + color("bold") + "" + color("italics") + "Shift" + color("gray"));
|
||||
list.add(color("aqua") + "==============================");
|
||||
if (isShiftKeyDown()) {
|
||||
String info = LocaleHandler.InfinityBoosterDesc.getLocal();
|
||||
|
||||
@@ -1,22 +1,9 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.items;
|
||||
|
||||
import appeng.api.config.SecurityPermissions;
|
||||
import appeng.api.implementations.guiobjects.IPortableCell;
|
||||
import appeng.api.networking.IGrid;
|
||||
import appeng.api.networking.energy.IEnergyGrid;
|
||||
import appeng.api.networking.energy.IEnergySource;
|
||||
import appeng.api.networking.security.BaseActionSource;
|
||||
import appeng.api.networking.security.ISecurityGrid;
|
||||
import appeng.api.storage.IMEInventoryHandler;
|
||||
import appeng.api.storage.IMEMonitor;
|
||||
import appeng.api.storage.data.IAEItemStack;
|
||||
import appeng.util.Platform;
|
||||
import com.google.common.base.Splitter;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.item.EntityXPOrb;
|
||||
@@ -38,12 +25,29 @@ import net.p455w0rd.wirelesscraftingterminal.handlers.KeybindHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.LocaleHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.helpers.WirelessTerminalGuiObject;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import org.apache.commons.lang3.text.WordUtils;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
|
||||
import appeng.api.config.SecurityPermissions;
|
||||
import appeng.api.implementations.guiobjects.IPortableCell;
|
||||
import appeng.api.networking.IGrid;
|
||||
import appeng.api.networking.energy.IEnergyGrid;
|
||||
import appeng.api.networking.energy.IEnergySource;
|
||||
import appeng.api.networking.security.BaseActionSource;
|
||||
import appeng.api.networking.security.ISecurityGrid;
|
||||
import appeng.api.storage.IMEInventoryHandler;
|
||||
import appeng.api.storage.IMEMonitor;
|
||||
import appeng.api.storage.data.IAEItemStack;
|
||||
import appeng.util.Platform;
|
||||
|
||||
import com.google.common.base.Splitter;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
/**
|
||||
* Jotato's amazing magnet item from QuantumFlux adapted for use in the Wireless
|
||||
* Crafting Terminal
|
||||
* Jotato's amazing magnet item from QuantumFlux adapted for use in the Wireless Crafting Terminal
|
||||
*
|
||||
* @author p455w0rd, Jotato
|
||||
*
|
||||
@@ -111,22 +115,31 @@ public class ItemMagnet extends Item {
|
||||
if (isActivated(itemStack)) {
|
||||
String boundKey = Keyboard.getKeyName(KeybindHandler.openMagnetFilter.getKeyCode());
|
||||
if (!boundKey.equals("NONE")) {
|
||||
list.add(color("italics") + LocaleHandler.OrPress.getLocal() + " " + color("yellow") + color("bold")
|
||||
+ "[" + boundKey + "]");
|
||||
list.add(
|
||||
color("italics") + LocaleHandler.OrPress
|
||||
.getLocal() + " " + color("yellow") + color("bold") + "[" + boundKey + "]");
|
||||
}
|
||||
String boundKey2 = Keyboard.getKeyName(KeybindHandler.changeMagnetMode.getKeyCode());
|
||||
if (!boundKey2.equals("NONE")) {
|
||||
list.add(color("italics") + LocaleHandler.Press.getLocal() + " " + color("yellow") + color("bold")
|
||||
+ "[" + boundKey2 + "] " + color("gray") + color("italics")
|
||||
+ LocaleHandler.ToSwitchMode.getLocal());
|
||||
list.add(
|
||||
color("italics") + LocaleHandler.Press.getLocal()
|
||||
+ " "
|
||||
+ color("yellow")
|
||||
+ color("bold")
|
||||
+ "["
|
||||
+ boundKey2
|
||||
+ "] "
|
||||
+ color("gray")
|
||||
+ color("italics")
|
||||
+ LocaleHandler.ToSwitchMode.getLocal());
|
||||
}
|
||||
}
|
||||
|
||||
list.add("");
|
||||
list.add(LocaleHandler.Status.getLocal() + ": "
|
||||
+ (isActivated(is)
|
||||
? color("green") + LocaleHandler.Active.getLocal()
|
||||
: color("red") + LocaleHandler.Inactive.getLocal()));
|
||||
list.add(
|
||||
LocaleHandler.Status.getLocal() + ": "
|
||||
+ (isActivated(is) ? color("green") + LocaleHandler.Active.getLocal()
|
||||
: color("red") + LocaleHandler.Inactive.getLocal()));
|
||||
if (is.getItemDamage() == 1) {
|
||||
list.add(color("white") + " " + LocaleHandler.MagnetActiveDesc1.getLocal());
|
||||
} else if (is.getItemDamage() == 2) {
|
||||
@@ -229,13 +242,12 @@ public class ItemMagnet extends Item {
|
||||
// List<ItemStack> filteredList = getFilteredItems(getItemStack());
|
||||
// items
|
||||
Iterator<? extends Entity> iterator = getEntitiesInRange(
|
||||
EntityItem.class,
|
||||
world,
|
||||
(int) player.posX,
|
||||
(int) player.posY,
|
||||
(int) player.posZ,
|
||||
distanceFromPlayer)
|
||||
.iterator();
|
||||
EntityItem.class,
|
||||
world,
|
||||
(int) player.posX,
|
||||
(int) player.posY,
|
||||
(int) player.posZ,
|
||||
distanceFromPlayer).iterator();
|
||||
while (iterator.hasNext()) {
|
||||
EntityItem itemToGet = (EntityItem) iterator.next();
|
||||
if (itemToGet.func_145800_j() != null && itemToGet.func_145800_j().equals(player.getCommandSenderName())) {
|
||||
@@ -262,13 +274,12 @@ public class ItemMagnet extends Item {
|
||||
|
||||
// xp
|
||||
iterator = getEntitiesInRange(
|
||||
EntityXPOrb.class,
|
||||
world,
|
||||
(int) player.posX,
|
||||
(int) player.posY,
|
||||
(int) player.posZ,
|
||||
distanceFromPlayer)
|
||||
.iterator();
|
||||
EntityXPOrb.class,
|
||||
world,
|
||||
(int) player.posX,
|
||||
(int) player.posY,
|
||||
(int) player.posZ,
|
||||
distanceFromPlayer).iterator();
|
||||
while (iterator.hasNext()) {
|
||||
EntityXPOrb xpToGet = (EntityXPOrb) iterator.next();
|
||||
if (xpToGet.isDead || xpToGet.isInvisible()) {
|
||||
@@ -288,8 +299,8 @@ public class ItemMagnet extends Item {
|
||||
}
|
||||
}
|
||||
|
||||
public void doVanillaPickup(
|
||||
EntityItem itemToGet, EntityPlayer player, ItemStack itemStackToGet, World world, int stackSize) {
|
||||
public void doVanillaPickup(EntityItem itemToGet, EntityPlayer player, ItemStack itemStackToGet, World world,
|
||||
int stackSize) {
|
||||
if (pickupTimer < 100) {
|
||||
pickupTimer++;
|
||||
return;
|
||||
@@ -363,8 +374,7 @@ public class ItemMagnet extends Item {
|
||||
}
|
||||
// ignore nothing/don't use oredict--must be exact match
|
||||
else {
|
||||
if (isMetaEqual(is, thisStack)
|
||||
&& ItemStack.areItemStackTagsEqual(is, thisStack)
|
||||
if (isMetaEqual(is, thisStack) && ItemStack.areItemStackTagsEqual(is, thisStack)
|
||||
&& is.getItem() == thisStack.getItem()) {
|
||||
return true;
|
||||
}
|
||||
@@ -378,8 +388,8 @@ public class ItemMagnet extends Item {
|
||||
return is1.getItemDamage() == is2.getItemDamage();
|
||||
}
|
||||
|
||||
public boolean hasNetworkAccess(
|
||||
final SecurityPermissions perm, final boolean requirePower, EntityPlayer player, ItemStack wirelessTerm) {
|
||||
public boolean hasNetworkAccess(final SecurityPermissions perm, final boolean requirePower, EntityPlayer player,
|
||||
ItemStack wirelessTerm) {
|
||||
if (player.capabilities.isCreativeMode) {
|
||||
return true;
|
||||
}
|
||||
@@ -423,13 +433,8 @@ public class ItemMagnet extends Item {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean doInject(
|
||||
IAEItemStack ais,
|
||||
int stackSize,
|
||||
EntityPlayer player,
|
||||
EntityItem itemToGet,
|
||||
ItemStack itemStackToGet,
|
||||
World world) {
|
||||
public boolean doInject(IAEItemStack ais, int stackSize, EntityPlayer player, EntityItem itemToGet,
|
||||
ItemStack itemStackToGet, World world) {
|
||||
ais = Platform.poweredInsert(powerSrc, cellInv, ais, mySrc);
|
||||
if (ais != null) {
|
||||
player.onItemPickup(itemToGet, stackSize);
|
||||
@@ -475,12 +480,17 @@ public class ItemMagnet extends Item {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static List<? extends Entity> getEntitiesInRange(
|
||||
Class<?> entityType, World world, int x, int y, int z, int distance) {
|
||||
public static List<? extends Entity> getEntitiesInRange(Class<?> entityType, World world, int x, int y, int z,
|
||||
int distance) {
|
||||
return world.getEntitiesWithinAABB(
|
||||
entityType,
|
||||
AxisAlignedBB.getBoundingBox(
|
||||
x - distance, y - distance, z - distance, x + distance, y + distance, z + distance));
|
||||
x - distance,
|
||||
y - distance,
|
||||
z - distance,
|
||||
x + distance,
|
||||
y + distance,
|
||||
z + distance));
|
||||
}
|
||||
|
||||
public ItemStack getStack() {
|
||||
|
||||
+38
-31
@@ -1,19 +1,7 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.items;
|
||||
|
||||
import appeng.api.config.*;
|
||||
import appeng.api.features.IWirelessTermHandler;
|
||||
import appeng.api.util.IConfigManager;
|
||||
import appeng.items.tools.powered.powersink.AERootPoweredItem;
|
||||
import appeng.util.ConfigManager;
|
||||
import appeng.util.IConfigManagerHost;
|
||||
import appeng.util.Platform;
|
||||
import baubles.api.BaubleType;
|
||||
import baubles.api.IBauble;
|
||||
import com.google.common.base.Optional;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
@@ -31,8 +19,25 @@ import net.p455w0rd.wirelesscraftingterminal.common.utils.RandomUtils;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.LocaleHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.integration.EnderIO;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import org.lwjgl.input.Keyboard;
|
||||
|
||||
import appeng.api.config.*;
|
||||
import appeng.api.features.IWirelessTermHandler;
|
||||
import appeng.api.util.IConfigManager;
|
||||
import appeng.items.tools.powered.powersink.AERootPoweredItem;
|
||||
import appeng.util.ConfigManager;
|
||||
import appeng.util.IConfigManagerHost;
|
||||
import appeng.util.Platform;
|
||||
import baubles.api.BaubleType;
|
||||
import baubles.api.IBauble;
|
||||
|
||||
import com.google.common.base.Optional;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class ItemWirelessCraftingTerminal extends AERootPoweredItem
|
||||
implements IWirelessCraftingTerminalItem, IWirelessTermHandler, IBauble {
|
||||
|
||||
@@ -80,8 +85,7 @@ public class ItemWirelessCraftingTerminal extends AERootPoweredItem
|
||||
}
|
||||
|
||||
/**
|
||||
* This method return the type of bauble this is.
|
||||
* Type is used to determine the slots it can go into.
|
||||
* This method return the type of bauble this is. Type is used to determine the slots it can go into.
|
||||
*
|
||||
* @param itemstack
|
||||
*/
|
||||
@@ -234,8 +238,7 @@ public class ItemWirelessCraftingTerminal extends AERootPoweredItem
|
||||
final ConfigManager out = new ConfigManager(new IConfigManagerHost() {
|
||||
|
||||
@Override
|
||||
public void updateSetting(
|
||||
final IConfigManager manager,
|
||||
public void updateSetting(final IConfigManager manager,
|
||||
@SuppressWarnings("rawtypes") final Enum settingName,
|
||||
@SuppressWarnings("rawtypes") final Enum newValue) {
|
||||
final NBTTagCompound data = Platform.openNbtData(target);
|
||||
@@ -251,7 +254,7 @@ public class ItemWirelessCraftingTerminal extends AERootPoweredItem
|
||||
return out;
|
||||
}
|
||||
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
@Override
|
||||
public void getCheckedSubItems(Item item, CreativeTabs creativeTab, List itemList) {
|
||||
List itemList2 = itemList;
|
||||
@@ -271,14 +274,13 @@ public class ItemWirelessCraftingTerminal extends AERootPoweredItem
|
||||
return true;
|
||||
}
|
||||
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void addCheckedInformation(ItemStack is, EntityPlayer player, List list, boolean displayMore) {
|
||||
String shift = LocaleHandler.PressShift.getLocal()
|
||||
.replace(
|
||||
"Shift",
|
||||
color("yellow") + "" + color("bold") + "" + color("italics") + "Shift" + color("gray"));
|
||||
String shift = LocaleHandler.PressShift.getLocal().replace(
|
||||
"Shift",
|
||||
color("yellow") + "" + color("bold") + "" + color("italics") + "Shift" + color("gray"));
|
||||
final NBTTagCompound tag = ensureTagCompound(is);
|
||||
|
||||
String encKey = tag.getString("key");
|
||||
@@ -292,19 +294,22 @@ public class ItemWirelessCraftingTerminal extends AERootPoweredItem
|
||||
pctTxtColor = color("red") + "";
|
||||
}
|
||||
list.add(color("aqua") + "==============================");
|
||||
list.add(StatCollector.translateToLocal("gui.appliedenergistics2.StoredEnergy") + ": " + pctTxtColor
|
||||
+ (int) aeCurrPower + " AE - " + aeCurrPowerPct + "%");
|
||||
list.add(
|
||||
StatCollector.translateToLocal("gui.appliedenergistics2.StoredEnergy") + ": "
|
||||
+ pctTxtColor
|
||||
+ (int) aeCurrPower
|
||||
+ " AE - "
|
||||
+ aeCurrPowerPct
|
||||
+ "%");
|
||||
if (isShiftKeyDown()) {
|
||||
String linked = color("red") + StatCollector.translateToLocal("gui.appliedenergistics2.Unlinked");
|
||||
if (encKey != null && !encKey.isEmpty()) {
|
||||
linked = color("blue") + StatCollector.translateToLocal("gui.appliedenergistics2.Linked");
|
||||
}
|
||||
list.add(LocaleHandler.LinkStatus.getLocal() + ": " + linked);
|
||||
String boosterStatus = (checkForBooster(is)
|
||||
? color("green") + "" + LocaleHandler.Installed.getLocal()
|
||||
String boosterStatus = (checkForBooster(is) ? color("green") + "" + LocaleHandler.Installed.getLocal()
|
||||
: color("red") + "" + LocaleHandler.NotInstalled.getLocal());
|
||||
String magnetStatus = (isMagnetInstalled(is)
|
||||
? color("green") + "" + LocaleHandler.Installed.getLocal()
|
||||
String magnetStatus = (isMagnetInstalled(is) ? color("green") + "" + LocaleHandler.Installed.getLocal()
|
||||
: color("red") + "" + LocaleHandler.NotInstalled.getLocal());
|
||||
if (Reference.WCT_BOOSTER_ENABLED) {
|
||||
list.add(getItemName("infinityBoosterCard") + ": " + boosterStatus);
|
||||
@@ -457,7 +462,8 @@ public class ItemWirelessCraftingTerminal extends AERootPoweredItem
|
||||
double currentAEPower = getAECurrentPower(container);
|
||||
if ((int) currentAEPower < Reference.WCT_MAX_POWER) {
|
||||
int leftOver = (int) PowerUnits.AE.convertTo(
|
||||
PowerUnits.RF, injectAEPower(container, PowerUnits.RF.convertTo(PowerUnits.AE, maxReceive)));
|
||||
PowerUnits.RF,
|
||||
injectAEPower(container, PowerUnits.RF.convertTo(PowerUnits.AE, maxReceive)));
|
||||
return maxReceive - leftOver;
|
||||
} else {
|
||||
return 0;
|
||||
@@ -478,7 +484,8 @@ public class ItemWirelessCraftingTerminal extends AERootPoweredItem
|
||||
}
|
||||
} else {
|
||||
return (int) PowerUnits.AE.convertTo(
|
||||
PowerUnits.RF, extractAEPower(container, PowerUnits.RF.convertTo(PowerUnits.AE, maxExtract)));
|
||||
PowerUnits.RF,
|
||||
extractAEPower(container, PowerUnits.RF.convertTo(PowerUnits.AE, maxExtract)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.proxy;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.p455w0rd.wirelesscraftingterminal.handlers.KeybindHandler;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemEnum;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.Loader;
|
||||
|
||||
public class ClientProxy extends CommonProxy {
|
||||
|
||||
public ClientProxy() {
|
||||
|
||||
@@ -1,18 +1,8 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.proxy;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.config.SecurityPermissions;
|
||||
import appeng.api.storage.data.IAEItemStack;
|
||||
import baubles.api.BaublesApi;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
||||
import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.entity.boss.EntityDragon;
|
||||
import net.minecraft.entity.boss.EntityWither;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
@@ -42,6 +32,18 @@ import net.p455w0rd.wirelesscraftingterminal.items.ItemEnum;
|
||||
import net.p455w0rd.wirelesscraftingterminal.items.ItemMagnet;
|
||||
import net.p455w0rd.wirelesscraftingterminal.reference.Reference;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.config.SecurityPermissions;
|
||||
import appeng.api.storage.data.IAEItemStack;
|
||||
import baubles.api.BaublesApi;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
||||
import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
|
||||
public class CommonProxy {
|
||||
|
||||
Achievement wctAch = AchievementHandler.wctAch;
|
||||
@@ -137,14 +139,11 @@ public class CommonProxy {
|
||||
ConfigHandler.reloadRecipes();
|
||||
}
|
||||
|
||||
/* NH fork definitely does not need version checking
|
||||
if ((Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment")) {
|
||||
WCTLog.info("Dev environment detected, skipping version check");
|
||||
}
|
||||
else {
|
||||
new VersionCheckHandler();
|
||||
}
|
||||
*/
|
||||
/*
|
||||
* NH fork definitely does not need version checking if ((Boolean)
|
||||
* Launch.blackboard.get("fml.deobfuscatedEnvironment")) {
|
||||
* WCTLog.info("Dev environment detected, skipping version check"); } else { new VersionCheckHandler(); }
|
||||
*/
|
||||
} else {
|
||||
final PacketConfigSync p = new PacketConfigSync(
|
||||
Reference.WCT_MAX_POWER,
|
||||
@@ -161,7 +160,11 @@ public class CommonProxy {
|
||||
if (!Reference.WCT_EASYMODE_ENABLED && Reference.WCT_BOOSTER_ENABLED && Reference.WCT_BOOSTERDROP_ENABLED) {
|
||||
ItemStack stack = new ItemStack(ItemEnum.BOOSTER_CARD.getItem());
|
||||
EntityItem drop = new EntityItem(
|
||||
event.entity.worldObj, event.entity.posX, event.entity.posY, event.entity.posZ, stack);
|
||||
event.entity.worldObj,
|
||||
event.entity.posX,
|
||||
event.entity.posY,
|
||||
event.entity.posZ,
|
||||
stack);
|
||||
if (event.entity instanceof EntityDragon) {
|
||||
event.drops.add(drop);
|
||||
}
|
||||
@@ -202,7 +205,12 @@ public class CommonProxy {
|
||||
ItemMagnet magnet = (ItemMagnet) magnetStack.getItem();
|
||||
|
||||
magnet.obj = ContainerWirelessCraftingTerminal.getGuiObject(
|
||||
WCTStack, player, world, (int) player.posX, (int) player.posY, (int) player.posZ);
|
||||
WCTStack,
|
||||
player,
|
||||
world,
|
||||
(int) player.posX,
|
||||
(int) player.posY,
|
||||
(int) player.posZ);
|
||||
magnet.civ = magnet.obj;
|
||||
magnet.powerSrc = magnet.civ;
|
||||
magnet.monitor = magnet.civ.getItemInventory();
|
||||
@@ -216,8 +224,7 @@ public class CommonProxy {
|
||||
List<ItemStack> filteredList = magnet.getFilteredItems(magnetStack);
|
||||
IAEItemStack ais = AEApi.instance().storage().createItemStack(stack);
|
||||
if (magnet.getMode(magnetStack)) { // whitelisting
|
||||
if (filteredList != null
|
||||
&& magnet.isItemFiltered(stack, filteredList)
|
||||
if (filteredList != null && magnet.isItemFiltered(stack, filteredList)
|
||||
&& filteredList.size() > 0) {
|
||||
if (magnet.doInject(ais, stack.stackSize, player, itemEntity, stack, world)) {
|
||||
stack = null;
|
||||
@@ -234,16 +241,14 @@ public class CommonProxy {
|
||||
"random.pop",
|
||||
0.15F,
|
||||
((world.rand.nextFloat() - world.rand.nextFloat()) * 0.7F
|
||||
+ 1.0F)
|
||||
* 2.0F);
|
||||
+ 1.0F) * 2.0F);
|
||||
}
|
||||
} else {
|
||||
magnet.doVanillaPickup(itemEntity, player, stack, world, stack.stackSize);
|
||||
}
|
||||
}
|
||||
} else { // blacklisting
|
||||
if (!magnet.isItemFiltered(stack, filteredList)
|
||||
|| filteredList == null
|
||||
if (!magnet.isItemFiltered(stack, filteredList) || filteredList == null
|
||||
|| filteredList.size() <= 0) {
|
||||
if (magnet.doInject(ais, stack.stackSize, player, itemEntity, stack, world)) {
|
||||
stack = null;
|
||||
@@ -261,8 +266,7 @@ public class CommonProxy {
|
||||
"random.pop",
|
||||
0.15F,
|
||||
((world.rand.nextFloat() - world.rand.nextFloat()) * 0.7F
|
||||
+ 1.0F)
|
||||
* 2.0F);
|
||||
+ 1.0F) * 2.0F);
|
||||
}
|
||||
} else {
|
||||
magnet.doVanillaPickup(itemEntity, player, stack, world, stack.stackSize);
|
||||
@@ -283,8 +287,7 @@ public class CommonProxy {
|
||||
|
||||
@SubscribeEvent
|
||||
public void onPlayerCraftingEvent(final PlayerEvent.ItemCraftedEvent event) {
|
||||
if (event.player == null
|
||||
|| event.player.isDead
|
||||
if (event.player == null || event.player.isDead
|
||||
|| event.player instanceof FakePlayer
|
||||
|| event.crafting == null) {
|
||||
return;
|
||||
@@ -302,12 +305,9 @@ public class CommonProxy {
|
||||
}
|
||||
|
||||
/*
|
||||
* if (event.crafting.getItem() ==
|
||||
* ItemEnum.WIRELESS_CRAFTING_TERMINAL.getItem()) {
|
||||
* AchievementHandler.triggerAch(wctAch, event.player); if
|
||||
* (Reference.WCT_BOOSTER_ENABLED) {
|
||||
* AchievementHandler.addAchievementToPage(AchievementHandler.
|
||||
* boosterAch, true, event.player); } }
|
||||
* if (event.crafting.getItem() == ItemEnum.WIRELESS_CRAFTING_TERMINAL.getItem()) {
|
||||
* AchievementHandler.triggerAch(wctAch, event.player); if (Reference.WCT_BOOSTER_ENABLED) {
|
||||
* AchievementHandler.addAchievementToPage(AchievementHandler. boosterAch, true, event.player); } }
|
||||
*/
|
||||
if (Reference.WCT_BOOSTER_ENABLED && Reference.WCT_EASYMODE_ENABLED) {
|
||||
if (event.crafting.getItem() == ItemEnum.BOOSTER_CARD.getItem()) {
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package net.p455w0rd.wirelesscraftingterminal.reference;
|
||||
|
||||
public class Reference {
|
||||
|
||||
public static final String MODID = "ae2wct";
|
||||
public static final String VERSION = "GRADLETOKEN_VERSION";
|
||||
public static final String NAME = "AE2 Wireless Crafting Terminal";
|
||||
public static final String SERVER_PROXY_CLASS = "net.p455w0rd.wirelesscraftingterminal.proxy.CommonProxy";
|
||||
public static final String CLIENT_PROXY_CLASS = "net.p455w0rd.wirelesscraftingterminal.proxy.ClientProxy";
|
||||
public static final String GUI_FACTORY = "net.p455w0rd.wirelesscraftingterminal.client.gui.GuiFactory";
|
||||
public static final String CREDITS_LIST =
|
||||
"brandon3055, Techjar, AlgorythmX2, thatsIch, Nividica, squeek502, M3gaFr3ak, DrummerMC, cpw, LexManos, Pahimar, diesieben07, Wuppy, Jabelar, blay09, SirSengir, mezz, jotato";
|
||||
public static final String CREDITS_LIST = "brandon3055, Techjar, AlgorythmX2, thatsIch, Nividica, squeek502, M3gaFr3ak, DrummerMC, cpw, LexManos, Pahimar, diesieben07, Wuppy, Jabelar, blay09, SirSengir, mezz, jotato";
|
||||
public static final String CONFIG_FILE = "WirelessCraftingTerminal.cfg";
|
||||
public static boolean WCT_DIDTHEDIDDLE = false;
|
||||
public static int WCT_MAX_POWER = 1600000;
|
||||
|
||||
Reference in new issue
Block a user