AL 0.2.5 Release

This commit is contained in:
Henry Mao 2013-02-07 00:31:18 +08:00
parent 3388b3cbdc
commit 9d31ee73ae
11 changed files with 71 additions and 28 deletions

View file

@ -1 +1 @@
72 73

View file

@ -65,3 +65,4 @@ x AssemblyLine_v0.2.4.64.jar AssemblyLine_v0.2.4.64_api.zip
@ AssemblyLine_v0.2.5.70.jar AssemblyLine_v0.2.5.70_api.zip @ AssemblyLine_v0.2.5.70.jar AssemblyLine_v0.2.5.70_api.zip
@ AssemblyLine_v0.2.5.71.jar AssemblyLine_v0.2.5.71_api.zip @ AssemblyLine_v0.2.5.71.jar AssemblyLine_v0.2.5.71_api.zip
@ AssemblyLine_v0.2.5.72.jar AssemblyLine_v0.2.5.72_api.zip @ AssemblyLine_v0.2.5.72.jar AssemblyLine_v0.2.5.72_api.zip
* AssemblyLine_v0.2.5.73.jar AssemblyLine_v0.2.5.73_api.zip

View file

@ -1 +1 @@
0.2.4 0.2.5

View file

@ -29,6 +29,8 @@ public class GuiImprinter extends GuiContainer
@Override @Override
protected void drawGuiContainerForegroundLayer(int par1, int par2) protected void drawGuiContainerForegroundLayer(int par1, int par2)
{ {
this.fontRenderer.drawString("Use Inventories:", 70, 58, 4210752);
this.fontRenderer.drawString("" + this.tileEntity.searchInventories, 105, 67, 4210752);
this.fontRenderer.drawString(TranslationHelper.getLocal("tile.imprinter.name"), 68, 6, 4210752); this.fontRenderer.drawString(TranslationHelper.getLocal("tile.imprinter.name"), 68, 6, 4210752);
} }

View file

@ -164,13 +164,18 @@ public class BlockCrate extends BlockMachine
*/ */
public boolean insertAllItems(TileEntityCrate tileEntity, EntityPlayer player) public boolean insertAllItems(TileEntityCrate tileEntity, EntityPlayer player)
{ {
ItemStack requestStack = player.getCurrentEquippedItem(); ItemStack requestStack = null;
if (requestStack == null && tileEntity.getStackInSlot(0) != null) if (tileEntity.getStackInSlot(0) != null)
{ {
requestStack = tileEntity.getStackInSlot(0).copy(); requestStack = tileEntity.getStackInSlot(0).copy();
} }
if (requestStack == null)
{
requestStack = player.getCurrentEquippedItem();
}
if (requestStack != null) if (requestStack != null)
{ {
if (requestStack.isStackable()) if (requestStack.isStackable())

View file

@ -7,7 +7,6 @@ import net.minecraftforge.common.ForgeDirection;
import universalelectricity.core.UniversalElectricity; import universalelectricity.core.UniversalElectricity;
import universalelectricity.prefab.BlockMachine; import universalelectricity.prefab.BlockMachine;
import assemblyline.client.render.BlockRenderingHandler; import assemblyline.client.render.BlockRenderingHandler;
import assemblyline.common.TabAssemblyLine;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -19,7 +18,7 @@ public class BlockCraneController extends BlockMachine
super("cranecontroller", id, UniversalElectricity.machine); super("cranecontroller", id, UniversalElectricity.machine);
this.setResistance(5.0f); this.setResistance(5.0f);
this.setHardness(5.0f); this.setHardness(5.0f);
//this.setCreativeTab(TabAssemblyLine.INSTANCE); // this.setCreativeTab(TabAssemblyLine.INSTANCE);
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package assemblyline.common.machine.crane;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import universalelectricity.prefab.BlockMachine; import universalelectricity.prefab.BlockMachine;
import assemblyline.common.TabAssemblyLine;
public class BlockCraneParts extends BlockMachine public class BlockCraneParts extends BlockMachine
{ {

View file

@ -54,6 +54,20 @@ public class BlockImprinter extends BlockMachine
} }
public boolean onUseWrench(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer, int side, float hitX, float hitY, float hitZ)
{
TileEntity tileEntity = par1World.getBlockTileEntity(x, y, z);
if (tileEntity instanceof TileEntityImprinter)
{
((TileEntityImprinter) tileEntity).searchInventories = !((TileEntityImprinter) tileEntity).searchInventories;
par1World.markBlockForUpdate(x, y, z);
return true;
}
return false;
}
@Override @Override
public TileEntity createNewTileEntity(World var1) public TileEntity createNewTileEntity(World var1)
{ {

View file

@ -9,7 +9,7 @@ import assemblyline.common.AssemblyLine;
public class ContainerImprinter extends Container implements ISlotWatcher public class ContainerImprinter extends Container implements ISlotWatcher
{ {
private InventoryPlayer inventoryPlayer; public InventoryPlayer inventoryPlayer;
public TileEntityImprinter tileEntity; public TileEntityImprinter tileEntity;
public ContainerImprinter(InventoryPlayer inventoryPlayer, TileEntityImprinter tileEntity) public ContainerImprinter(InventoryPlayer inventoryPlayer, TileEntityImprinter tileEntity)
@ -60,6 +60,15 @@ public class ContainerImprinter extends Container implements ISlotWatcher
{ {
this.addSlotToContainer(new WatchedSlot(inventoryPlayer, var3, 8 + var3 * 18, 178, this)); this.addSlotToContainer(new WatchedSlot(inventoryPlayer, var3, 8 + var3 * 18, 178, this));
} }
this.tileEntity.openChest();
}
@Override
public void onCraftGuiClosed(EntityPlayer par1EntityPlayer)
{
super.onCraftGuiClosed(par1EntityPlayer);
this.tileEntity.closeChest();
} }
@Override @Override

View file

@ -25,8 +25,6 @@ public class SlotCraftingResult extends Slot
public boolean canTakeStack(EntityPlayer player) public boolean canTakeStack(EntityPlayer player)
{ {
return true; return true;
// this.getStack() == null ? false :
// this.container.tileEntity.getIdealRecipe(this.getStack()) != null;
} }
@Override @Override
@ -36,19 +34,4 @@ public class SlotCraftingResult extends Slot
this.container.tileEntity.onPickUpFromResult(entityPlayer, itemStack); this.container.tileEntity.onPickUpFromResult(entityPlayer, itemStack);
} }
/*
* private boolean playerHasRequiredIngredients(EntityPlayer player, ItemStack desiredItem) { if
* (this.getStack() != null) { ItemStack[] idealRecipe =
* this.container.tileEntity.getIdealRecipe(this.getStack()).getValue(); if (idealRecipe !=
* null) { ItemStack[] requiredItems = idealRecipe.clone(); int foundItems = 0;
*
* if (requiredItems != null) { for (ItemStack searchStack : requiredItems) { for (int i = 0; i
* < player.inventory.getSizeInventory(); i++) { ItemStack checkStack =
* player.inventory.getStackInSlot(i);
*
* if (checkStack != null) { if (searchStack.isItemEqual(checkStack)) { foundItems++; } } } } }
*
* if (foundItems >= requiredItems.length) return true; } } return false; }
*/
} }

View file

@ -13,6 +13,9 @@ import net.minecraft.item.crafting.ShapedRecipes;
import net.minecraft.item.crafting.ShapelessRecipes; import net.minecraft.item.crafting.ShapelessRecipes;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagList;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet;
import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityChest; import net.minecraft.tileentity.TileEntityChest;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
@ -24,14 +27,20 @@ import net.minecraftforge.oredict.ShapelessOreRecipe;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;
import universalelectricity.prefab.TranslationHelper; import universalelectricity.prefab.TranslationHelper;
import universalelectricity.prefab.multiblock.TileEntityMulti; import universalelectricity.prefab.multiblock.TileEntityMulti;
import universalelectricity.prefab.network.IPacketReceiver;
import universalelectricity.prefab.network.PacketManager;
import universalelectricity.prefab.tile.TileEntityAdvanced; import universalelectricity.prefab.tile.TileEntityAdvanced;
import assemblyline.api.IArmbot; import assemblyline.api.IArmbot;
import assemblyline.api.IArmbotUseable; import assemblyline.api.IArmbotUseable;
import assemblyline.common.AssemblyLine;
import assemblyline.common.Pair; import assemblyline.common.Pair;
import com.google.common.io.ByteArrayDataInput;
import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.ReflectionHelper; import cpw.mods.fml.relauncher.ReflectionHelper;
public class TileEntityImprinter extends TileEntityAdvanced implements ISidedInventory, IArmbotUseable public class TileEntityImprinter extends TileEntityAdvanced implements ISidedInventory, IArmbotUseable, IPacketReceiver
{ {
public static final int IMPRINTER_MATRIX_START = 9; public static final int IMPRINTER_MATRIX_START = 9;
public static final int INVENTORY_START = IMPRINTER_MATRIX_START + 3; public static final int INVENTORY_START = IMPRINTER_MATRIX_START + 3;
@ -203,11 +212,13 @@ public class TileEntityImprinter extends TileEntityAdvanced implements ISidedInv
@Override @Override
public void openChest() public void openChest()
{ {
this.onInventoryChanged();
} }
@Override @Override
public void closeChest() public void closeChest()
{ {
this.onInventoryChanged();
} }
/** /**
@ -257,6 +268,7 @@ public class TileEntityImprinter extends TileEntityAdvanced implements ISidedInv
@Override @Override
public void onInventoryChanged() public void onInventoryChanged()
{ {
/** /**
* Makes the stamping recipe for filters * Makes the stamping recipe for filters
*/ */
@ -721,7 +733,8 @@ public class TileEntityImprinter extends TileEntityAdvanced implements ISidedInv
try try
{ {
// TODO: Get Client Side Working. // TODO: Get Client Side Working. The issue is that the client side doesn't know
// about the chest, and hence does not get the correct data.
TileEntity simulatedTileEntity = tileEntity.getClass().newInstance(); TileEntity simulatedTileEntity = tileEntity.getClass().newInstance();
simulatedTileEntity.worldObj = tileEntity.worldObj; simulatedTileEntity.worldObj = tileEntity.worldObj;
@ -753,6 +766,21 @@ public class TileEntityImprinter extends TileEntityAdvanced implements ISidedInv
return simulatedInventories; return simulatedInventories;
} }
@Override
public Packet getDescriptionPacket()
{
return PacketManager.getPacket(AssemblyLine.CHANNEL, this, this.searchInventories);
}
@Override
public void handlePacketData(INetworkManager network, int packetType, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
{
if (this.worldObj.isRemote)
{
this.searchInventories = dataStream.readBoolean();
}
}
/** /**
* NBT Data * NBT Data
*/ */
@ -776,6 +804,8 @@ public class TileEntityImprinter extends TileEntityAdvanced implements ISidedInv
this.setInventorySlotContents(var5, ItemStack.loadItemStackFromNBT(var4)); this.setInventorySlotContents(var5, ItemStack.loadItemStackFromNBT(var4));
} }
} }
this.searchInventories = nbt.getBoolean("searchInventories");
} }
/** /**
@ -800,6 +830,8 @@ public class TileEntityImprinter extends TileEntityAdvanced implements ISidedInv
} }
nbt.setTag("Items", var2); nbt.setTag("Items", var2);
nbt.setBoolean("searchInventories", this.searchInventories);
} }
/** /**
@ -819,5 +851,4 @@ public class TileEntityImprinter extends TileEntityAdvanced implements ISidedInv
return false; return false;
} }
} }