diff --git a/src/minecraft/assemblyline/client/gui/GuiButtonImage.java b/src/minecraft/assemblyline/client/gui/GuiButtonImage.java deleted file mode 100644 index c392f1bf9..000000000 --- a/src/minecraft/assemblyline/client/gui/GuiButtonImage.java +++ /dev/null @@ -1,50 +0,0 @@ -package assemblyline.client.gui; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiButton; - -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -/** - * Copied from GSM lib and modified for this mod only - * - * @author Rseifert - * - */ -@SideOnly(Side.CLIENT) -@Deprecated -public class GuiButtonImage extends GuiButton -{ - private int type = 0; - - public GuiButtonImage(int par1, int par2, int par3, int type) - { - super(par1, par2, par3, 12, 12, ""); - this.type = type; - } - - /** - * Draws this button to the screen. - */ - @Override - public void drawButton(Minecraft par1Minecraft, int width, int hight) - { - if (this.drawButton) - { - GL11.glBindTexture(GL11.GL_TEXTURE_2D, par1Minecraft.renderEngine.getTexture("/assemblyline/textures/gui@.png")); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - boolean var4 = width >= this.xPosition && hight >= this.yPosition && width < this.xPosition + this.width && hight < this.yPosition + this.height; - int var5 = 106; - int var6 = 0; - if (var4) - { - var5 += this.height; - } - - this.drawTexturedModalRect(this.xPosition, this.yPosition, var6, var5, this.width, this.height); - } - } -} \ No newline at end of file diff --git a/src/minecraft/assemblyline/client/render/RenderCrate.java b/src/minecraft/assemblyline/client/render/RenderCrate.java index 0a6c2670f..3a237846c 100644 --- a/src/minecraft/assemblyline/client/render/RenderCrate.java +++ b/src/minecraft/assemblyline/client/render/RenderCrate.java @@ -27,9 +27,9 @@ public class RenderCrate extends TileEntitySpecialRenderer @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float var8) { - Vector3 vec = new Vector3(x,y,z); - double distance = vec.distanceTo(new Vector3(0,0,0)); - if (tileEntity instanceof TileEntityCrate && distance < 15) + Vector3 vec = new Vector3(x, y, z); + double distance = vec.distanceTo(new Vector3(0, 0, 0)); + if (tileEntity instanceof TileEntityCrate && distance < 35) { TileEntityCrate tileCrate = (TileEntityCrate) tileEntity; @@ -133,8 +133,6 @@ public class RenderCrate extends TileEntitySpecialRenderer GL11.glPolygonOffset(-10, -10); GL11.glEnable(GL11.GL_POLYGON_OFFSET_FILL); - float displayX = 1 / 16; - float displayY = 1 / 16; float displayWidth = 1 - (2 / 16); float displayHeight = 1 - (2 / 16); GL11.glTranslated(x, y, z); diff --git a/src/minecraft/assemblyline/common/AssemblyLine.java b/src/minecraft/assemblyline/common/AssemblyLine.java index 5c09aa5d9..51a7bbd3d 100644 --- a/src/minecraft/assemblyline/common/AssemblyLine.java +++ b/src/minecraft/assemblyline/common/AssemblyLine.java @@ -187,7 +187,7 @@ public class AssemblyLine this.createStandardRecipes(); this.createUERecipes(); - if (PowerSystems.isPowerSystemLoaded(PowerSystems.INDUSTRIALCRAFT)) + if (PowerSystems.isPowerSystemLoaded(PowerSystems.INDUSTRIALCRAFT, true)) { createIC2Recipes(); } diff --git a/src/minecraft/assemblyline/common/Pair.java b/src/minecraft/assemblyline/common/Pair.java deleted file mode 100644 index beac0591d..000000000 --- a/src/minecraft/assemblyline/common/Pair.java +++ /dev/null @@ -1,41 +0,0 @@ -package assemblyline.common; - -public class Pair -{ - private final L left; - private final R right; - - public Pair(L left, R right) - { - this.left = left; - this.right = right; - } - - public L getKey() - { - return left; - } - - public R getValue() - { - return right; - } - - @Override - public int hashCode() - { - return left.hashCode() ^ right.hashCode(); - } - - @Override - public boolean equals(Object o) - { - if (o == null) - return false; - if (!(o instanceof Pair)) - return false; - Pair pairo = (Pair) o; - return this.left.equals(pairo.getKey()) && this.right.equals(pairo.getValue()); - } - -} \ No newline at end of file diff --git a/src/minecraft/assemblyline/common/imprinter/ContainerImprinter.java b/src/minecraft/assemblyline/common/imprinter/ContainerImprinter.java index 7b9d4b51a..ab8a6fb48 100644 --- a/src/minecraft/assemblyline/common/imprinter/ContainerImprinter.java +++ b/src/minecraft/assemblyline/common/imprinter/ContainerImprinter.java @@ -1,5 +1,9 @@ package assemblyline.common.imprinter; +import dark.library.inv.ISlotWatcher; +import dark.library.inv.SlotCraftingResult; +import dark.library.inv.SlotRestricted; +import dark.library.inv.WatchedSlot; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -30,11 +34,11 @@ public class ContainerImprinter extends Container implements ISlotWatcher } // Imprint Input for Imprinting - this.addSlotToContainer(new SlotCustom(this.tileEntity, TileEntityImprinter.IMPRINTER_MATRIX_START, 68, 34, new ItemStack(AssemblyLine.itemImprint))); + this.addSlotToContainer(new SlotRestricted(this.tileEntity, TileEntityImprinter.IMPRINTER_MATRIX_START, 68, 34, new ItemStack(AssemblyLine.itemImprint))); // Item to be imprinted this.addSlotToContainer(new WatchedSlot(this.tileEntity, TileEntityImprinter.IMPRINTER_MATRIX_START + 1, 92, 34, this)); // Result of Crafting/Imprinting - this.addSlotToContainer(new SlotCraftingResult(this, this.tileEntity, TileEntityImprinter.IMPRINTER_MATRIX_START + 2, 148, 34)); + this.addSlotToContainer(new SlotCraftingResult(this.tileEntity, this, this.tileEntity, TileEntityImprinter.IMPRINTER_MATRIX_START + 2, 148, 34)); // Imprinter Inventory for (int ii = 0; ii < 2; ii++) @@ -133,12 +137,12 @@ public class ContainerImprinter extends Container implements ISlotWatcher slotObj.onPickupFromSlot(player, slotStack); } - this.slotContentsChanged(); + this.slotContentsChanged(slot); return copyStack; } @Override - public void slotContentsChanged() + public void slotContentsChanged(int slot) { this.tileEntity.onInventoryChanged(); this.detectAndSendChanges(); diff --git a/src/minecraft/assemblyline/common/imprinter/ISlotWatcher.java b/src/minecraft/assemblyline/common/imprinter/ISlotWatcher.java deleted file mode 100644 index 46a0fbc4d..000000000 --- a/src/minecraft/assemblyline/common/imprinter/ISlotWatcher.java +++ /dev/null @@ -1,6 +0,0 @@ -package assemblyline.common.imprinter; - -public interface ISlotWatcher -{ - public void slotContentsChanged(); -} diff --git a/src/minecraft/assemblyline/common/imprinter/SlotCraftingResult.java b/src/minecraft/assemblyline/common/imprinter/SlotCraftingResult.java deleted file mode 100644 index f40fa380b..000000000 --- a/src/minecraft/assemblyline/common/imprinter/SlotCraftingResult.java +++ /dev/null @@ -1,35 +0,0 @@ -package assemblyline.common.imprinter; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; - -public class SlotCraftingResult extends WatchedSlot -{ - private ContainerImprinter container; - - public SlotCraftingResult(ContainerImprinter container, IInventory inventory, int par2, int par3, int par4) - { - super(inventory, par2, par3, par4, container); - this.container = container; - } - - @Override - public boolean isItemValid(ItemStack itemStack) - { - return false; - } - - @Override - public boolean canTakeStack(EntityPlayer player) - { - return true; - } - - @Override - public void onPickupFromSlot(EntityPlayer entityPlayer, ItemStack itemStack) - { - this.container.tileEntity.onPickUpFromResult(entityPlayer, itemStack); - super.onPickupFromSlot(entityPlayer, itemStack); - } -} diff --git a/src/minecraft/assemblyline/common/imprinter/SlotCustom.java b/src/minecraft/assemblyline/common/imprinter/SlotCustom.java deleted file mode 100644 index 782e7db32..000000000 --- a/src/minecraft/assemblyline/common/imprinter/SlotCustom.java +++ /dev/null @@ -1,21 +0,0 @@ -package assemblyline.common.imprinter; - -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotCustom extends Slot -{ - private ItemStack itemStack; - - public SlotCustom(IInventory par1iInventory, int par2, int par3, int par4, ItemStack itemStack) - { - super(par1iInventory, par2, par3, par4); - this.itemStack = itemStack; - } - - public boolean isItemValid(ItemStack itemStack) - { - return itemStack.isItemEqual(this.itemStack); - } -} diff --git a/src/minecraft/assemblyline/common/imprinter/SlotImprintResult.java b/src/minecraft/assemblyline/common/imprinter/SlotImprintResult.java deleted file mode 100644 index f54c6f4ff..000000000 --- a/src/minecraft/assemblyline/common/imprinter/SlotImprintResult.java +++ /dev/null @@ -1,42 +0,0 @@ -package assemblyline.common.imprinter; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotImprintResult extends Slot -{ - - public SlotImprintResult(IInventory par1iInventory, int par2, int par3, int par4) - { - super(par1iInventory, par2, par3, par4); - } - - @Override - public boolean isItemValid(ItemStack par1ItemStack) - { - return false; - } - - @Override - public void onPickupFromSlot(EntityPlayer par1EntityPlayer, ItemStack par2ItemStack) - { - super.onPickupFromSlot(par1EntityPlayer, par2ItemStack); - - if (this.inventory.getStackInSlot(0) != null) - { - this.inventory.getStackInSlot(0).stackSize--; - if (this.inventory.getStackInSlot(0).stackSize <= 0) - { - this.inventory.setInventorySlotContents(0, null); - } - } - /* - * if (this.inventory.getStackInSlot(1) != null) { - * this.inventory.getStackInSlot(1).stackSize--; if - * (this.inventory.getStackInSlot(1).stackSize <= 1) { - * this.inventory.setInventorySlotContents(1, null); } } - */ - } -} diff --git a/src/minecraft/assemblyline/common/imprinter/TileEntityImprinter.java b/src/minecraft/assemblyline/common/imprinter/TileEntityImprinter.java index 0d123f42f..1f3d89afb 100644 --- a/src/minecraft/assemblyline/common/imprinter/TileEntityImprinter.java +++ b/src/minecraft/assemblyline/common/imprinter/TileEntityImprinter.java @@ -39,14 +39,15 @@ import universalelectricity.prefab.tile.TileEntityAdvanced; import assemblyline.api.IArmbot; import assemblyline.api.IArmbotUseable; import assemblyline.common.AssemblyLine; -import assemblyline.common.Pair; import com.google.common.io.ByteArrayDataInput; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.ReflectionHelper; +import dark.library.helpers.Pair; +import dark.library.inv.ISlotPickResult; -public class TileEntityImprinter extends TileEntityAdvanced implements net.minecraftforge.common.ISidedInventory, ISidedInventory, IArmbotUseable, IPacketReceiver +public class TileEntityImprinter extends TileEntityAdvanced implements net.minecraftforge.common.ISidedInventory, ISidedInventory, IArmbotUseable, IPacketReceiver, ISlotPickResult { public static final int IMPRINTER_MATRIX_START = 9; public static final int INVENTORY_START = IMPRINTER_MATRIX_START + 3; @@ -361,7 +362,7 @@ public class TileEntityImprinter extends TileEntityAdvanced implements net.minec } } - public void onPickUpFromResult(EntityPlayer entityPlayer, ItemStack itemStack) + public void onPickUpFromSlot(EntityPlayer entityPlayer, int s, ItemStack itemStack) { if (itemStack != null) @@ -507,7 +508,7 @@ public class TileEntityImprinter extends TileEntityAdvanced implements net.minec */ public Pair getIdealRecipe(ItemStack outputItem) { - //System.out.println("IdealRecipe: Finding " + outputItem.toString()); + // System.out.println("IdealRecipe: Finding " + outputItem.toString()); for (Object object : CraftingManager.getInstance().getRecipeList()) { if (object instanceof IRecipe) @@ -516,12 +517,12 @@ public class TileEntityImprinter extends TileEntityAdvanced implements net.minec { if (this.areStacksEqual(outputItem, ((IRecipe) object).getRecipeOutput())) { - //System.out.println("IdealRecipe: Output Match Found"); + // System.out.println("IdealRecipe: Output Match Found"); if (object instanceof ShapedRecipes) { if (this.hasResource(((ShapedRecipes) object).recipeItems) != null) { - //System.out.println("IdealRecipe: Shaped Recipe Found"); + // System.out.println("IdealRecipe: Shaped Recipe Found"); return new Pair(((IRecipe) object).getRecipeOutput().copy(), ((ShapedRecipes) object).recipeItems); } } @@ -529,7 +530,7 @@ public class TileEntityImprinter extends TileEntityAdvanced implements net.minec { if (this.hasResource(((ShapelessRecipes) object).recipeItems.toArray(new ItemStack[1])) != null) { - //System.out.println("IdealRecipe: Shapeless Recipe Found"); + // System.out.println("IdealRecipe: Shapeless Recipe Found"); return new Pair(((IRecipe) object).getRecipeOutput().copy(), (ItemStack[]) ((ShapelessRecipes) object).recipeItems.toArray(new ItemStack[1])); } } @@ -542,7 +543,7 @@ public class TileEntityImprinter extends TileEntityAdvanced implements net.minec if (hasResources != null) { - //System.out.println("IdealRecipe: ShapedOre Recipe Found"); + // System.out.println("IdealRecipe: ShapedOre Recipe Found"); return new Pair(((IRecipe) object).getRecipeOutput().copy(), hasResources.toArray(new ItemStack[1])); } } @@ -555,7 +556,7 @@ public class TileEntityImprinter extends TileEntityAdvanced implements net.minec if (hasResources != null) { - //System.out.println("IdealRecipe: ShapelessOre Recipe Found"); + // System.out.println("IdealRecipe: ShapelessOre Recipe Found"); return new Pair(((IRecipe) object).getRecipeOutput().copy(), hasResources.toArray(new ItemStack[1])); } } @@ -584,10 +585,10 @@ public class TileEntityImprinter extends TileEntityAdvanced implements net.minec this.writeToNBT(cloneData); dummyImprinter.readFromNBT(cloneData); - //System.out.println("ResourceChecker: Looking for items"); + // System.out.println("ResourceChecker: Looking for items"); for (int i = 0; i < recipeItems.length; i++) { - //System.out.println("ResourceChecker: Looking for " + recipeItems.toString()); + // System.out.println("ResourceChecker: Looking for " + recipeItems.toString()); } /** * The actual amount of resource required. Each ItemStack will only have stacksize of 1. @@ -649,13 +650,15 @@ public class TileEntityImprinter extends TileEntityAdvanced implements net.minec } else { - //System.out.println("ResourceChecker: Item0" + w + " = null"); + // System.out.println("ResourceChecker: Item0" + w + " = null"); itemMatch++; } } boolean resourcesFound = itemMatch >= actualResources.size(); - //System.out.println("ResourceChecker: Found " + actualResources.size() + " Items and " + itemMatch + " slot matches"); - //System.out.println("ResourceChecker: has all resources been found? /n A: " + resourcesFound); + // System.out.println("ResourceChecker: Found " + actualResources.size() + " Items and " + // + itemMatch + " slot matches"); + // System.out.println("ResourceChecker: has all resources been found? /n A: " + + // resourcesFound); return resourcesFound ? actualResources : null; } catch (Exception e) @@ -674,7 +677,7 @@ public class TileEntityImprinter extends TileEntityAdvanced implements net.minec { return true; } - //System.out.println("ResourceChecker: Checking inv for item " + recipeItem.toString()); + // System.out.println("ResourceChecker: Checking inv for item " + recipeItem.toString()); for (int i = 0; i < dummyImprinter.containingItems.length; i++) { ItemStack checkStack = dummyImprinter.containingItems[i]; @@ -687,7 +690,8 @@ public class TileEntityImprinter extends TileEntityAdvanced implements net.minec { // TODO Do NBT Checking dummyImprinter.decrStackSize(i + INVENTORY_START, 1); - //System.out.println("ResourceChecker: Found matching item " + checkStack.toString()); + // System.out.println("ResourceChecker: Found matching item " + + // checkStack.toString()); return true; } } @@ -840,7 +844,7 @@ public class TileEntityImprinter extends TileEntityAdvanced implements net.minec if (this.imprinterMatrix[2] != null) { armbot.grabItem(this.imprinterMatrix[2].copy()); - this.onPickUpFromResult(null, this.imprinterMatrix[2]); + this.onPickUpFromSlot(null, 2, this.imprinterMatrix[2]); this.imprinterMatrix[2] = null; } diff --git a/src/minecraft/assemblyline/common/imprinter/WatchedSlot.java b/src/minecraft/assemblyline/common/imprinter/WatchedSlot.java deleted file mode 100644 index c8d7bf598..000000000 --- a/src/minecraft/assemblyline/common/imprinter/WatchedSlot.java +++ /dev/null @@ -1,25 +0,0 @@ -package assemblyline.common.imprinter; - -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; - -public class WatchedSlot extends Slot -{ - private ISlotWatcher slotWatcher; - - public WatchedSlot(IInventory inventory, int id, int xPosition, int yPosition, ISlotWatcher slotWatcher) - { - super(inventory, id, xPosition, yPosition); - this.slotWatcher = slotWatcher; - } - - @Override - public void onSlotChanged() - { - if (this.slotWatcher != null) - { - this.slotWatcher.slotContentsChanged(); - } - } - -} diff --git a/src/minecraft/assemblyline/common/machine/encoder/ContainerEncoder.java b/src/minecraft/assemblyline/common/machine/encoder/ContainerEncoder.java index e45133459..8d2124906 100644 --- a/src/minecraft/assemblyline/common/machine/encoder/ContainerEncoder.java +++ b/src/minecraft/assemblyline/common/machine/encoder/ContainerEncoder.java @@ -1,12 +1,12 @@ package assemblyline.common.machine.encoder; +import dark.library.inv.SlotRestricted; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import assemblyline.common.AssemblyLine; -import assemblyline.common.imprinter.SlotCustom; public class ContainerEncoder extends Container { @@ -22,7 +22,7 @@ public class ContainerEncoder extends Container this.tileEntity = encoder; // Disk - this.addSlotToContainer(new SlotCustom(encoder, 0, 80, 24 + Y_OFFSET, new ItemStack(AssemblyLine.itemDisk))); + this.addSlotToContainer(new SlotRestricted(encoder, 0, 80, 24 + Y_OFFSET, new ItemStack(AssemblyLine.itemDisk))); int var3;