Massive reformatting
This commit is contained in:
parent
d3a40a764b
commit
a1caf9acf3
14 changed files with 376 additions and 325 deletions
|
@ -15,14 +15,17 @@ public class ALCommonProxy implements IGuiHandler
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init()
|
public void init()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void postInit()
|
public void postInit()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
|
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
|
||||||
{
|
{
|
||||||
|
@ -32,7 +35,8 @@ public class ALCommonProxy implements IGuiHandler
|
||||||
{
|
{
|
||||||
switch (ID)
|
switch (ID)
|
||||||
{
|
{
|
||||||
case 0: return new GuiSorter(player.inventory, ((TileEntitySorter)tileEntity));
|
case 0:
|
||||||
|
return new GuiSorter(player.inventory, ((TileEntitySorter) tileEntity));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +52,8 @@ public class ALCommonProxy implements IGuiHandler
|
||||||
{
|
{
|
||||||
switch (ID)
|
switch (ID)
|
||||||
{
|
{
|
||||||
case 0: return new ContainerSorter(player.inventory, ((TileEntitySorter)tileEntity));
|
case 0:
|
||||||
|
return new ContainerSorter(player.inventory, ((TileEntitySorter) tileEntity));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,8 @@ import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
import cpw.mods.fml.common.registry.LanguageRegistry;
|
import cpw.mods.fml.common.registry.LanguageRegistry;
|
||||||
|
|
||||||
@Mod(modid = "AssemblyLine", name = "Assembly Line", version = AssemblyLine.VERSION, dependencies = "after:BasicComponents")
|
@Mod(modid = "AssemblyLine", name = "Assembly Line", version = AssemblyLine.VERSION, dependencies = "after:BasicComponents")
|
||||||
@NetworkMod(channels = { AssemblyLine.CHANNEL }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketManager.class)
|
@NetworkMod(channels =
|
||||||
|
{ AssemblyLine.CHANNEL }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketManager.class)
|
||||||
public class AssemblyLine
|
public class AssemblyLine
|
||||||
{
|
{
|
||||||
@SidedProxy(clientSide = "assemblyline.ALClientProxy", serverSide = "assemblyline.ALCommonProxy")
|
@SidedProxy(clientSide = "assemblyline.ALClientProxy", serverSide = "assemblyline.ALCommonProxy")
|
||||||
|
|
|
@ -16,7 +16,8 @@ public abstract class TileEntityBase extends TileEntityAdvanced implements IPack
|
||||||
protected ItemStack[] containingItems = new ItemStack[this.getSizeInventory()];
|
protected ItemStack[] containingItems = new ItemStack[this.getSizeInventory()];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The amount of players using this tile entity.
|
* The amount of players using this tile
|
||||||
|
* entity.
|
||||||
*/
|
*/
|
||||||
protected int playerUsing = 0;
|
protected int playerUsing = 0;
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@ import assemblyline.render.RenderHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The block for the actual conveyor belt!
|
* The block for the actual conveyor belt!
|
||||||
|
*
|
||||||
* @author Calclavia, DarkGuardsman
|
* @author Calclavia, DarkGuardsman
|
||||||
*/
|
*/
|
||||||
public class BlockConveyorBelt extends BlockMachine
|
public class BlockConveyorBelt extends BlockMachine
|
||||||
|
@ -29,13 +30,16 @@ public class BlockConveyorBelt extends BlockMachine
|
||||||
int angle = MathHelper.floor_double((par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
|
int angle = MathHelper.floor_double((par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
|
||||||
par1World.setBlockMetadataWithNotify(x, y, z, angle);
|
par1World.setBlockMetadataWithNotify(x, y, z, angle);
|
||||||
/*
|
/*
|
||||||
switch (angle)
|
* switch (angle) { case 0:
|
||||||
{
|
* par1World.setBlockMetadataWithNotify(x,
|
||||||
case 0: par1World.setBlockMetadataWithNotify(x, y, z, 0); break;
|
* y, z, 0); break; case 1:
|
||||||
case 1: par1World.setBlockMetadataWithNotify(x, y, z, 3); break;
|
* par1World.setBlockMetadataWithNotify(x,
|
||||||
case 2: par1World.setBlockMetadataWithNotify(x, y, z, 1); break;
|
* y, z, 3); break; case 2:
|
||||||
case 3: par1World.setBlockMetadataWithNotify(x, y, z, 2); break;
|
* par1World.setBlockMetadataWithNotify(x,
|
||||||
} */
|
* y, z, 1); break; case 3:
|
||||||
|
* par1World.setBlockMetadataWithNotify(x,
|
||||||
|
* y, z, 2); break; }
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -66,10 +70,7 @@ public class BlockConveyorBelt extends BlockMachine
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createNewTileEntity(World var1, int metadata)
|
public TileEntity createNewTileEntity(World var1, int metadata)
|
||||||
{
|
{
|
||||||
if(metadata >=0 && metadata < 4)
|
if (metadata >= 0 && metadata < 4) { return new TileEntityConveyorBelt(); }
|
||||||
{
|
|
||||||
return new TileEntityConveyorBelt();
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,6 +47,7 @@ public class TileEntityConveyorBelt extends TileEntityElectricityReceiver implem
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Steal power from nearby belts.
|
* Steal power from nearby belts.
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public boolean searchNeighborBelts()
|
public boolean searchNeighborBelts()
|
||||||
|
|
|
@ -119,7 +119,8 @@ public class BlockMulti extends BlockMachine
|
||||||
{
|
{
|
||||||
int metadata = par1World.getBlockMetadata(x, y, z);
|
int metadata = par1World.getBlockMetadata(x, y, z);
|
||||||
int guiID = MachineType.get(metadata).metadata;
|
int guiID = MachineType.get(metadata).metadata;
|
||||||
if(guiID == -1) return false;
|
if (guiID == -1)
|
||||||
|
return false;
|
||||||
par5EntityPlayer.openGui(AssemblyLine.instance, guiID, par1World, x, y, z);
|
par5EntityPlayer.openGui(AssemblyLine.instance, guiID, par1World, x, y, z);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,9 @@ public class ContainerSorter extends Container
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called to transfer a stack from one inventory to the other eg. when shift clicking.
|
* Called to transfer a stack from one
|
||||||
|
* inventory to the other eg. when shift
|
||||||
|
* clicking.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ItemStack func_82846_b(EntityPlayer par1EntityPlayer, int par1)
|
public ItemStack func_82846_b(EntityPlayer par1EntityPlayer, int par1)
|
||||||
|
@ -58,20 +60,11 @@ public class ContainerSorter extends Container
|
||||||
{
|
{
|
||||||
if (itemStack2.itemID == Item.coal.shiftedIndex)
|
if (itemStack2.itemID == Item.coal.shiftedIndex)
|
||||||
{
|
{
|
||||||
if (!this.mergeItemStack(itemStack2, 0, 1, false))
|
if (!this.mergeItemStack(itemStack2, 0, 1, false)) { return null; }
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
else if (par1 >= 30 && par1 < 37 && !this.mergeItemStack(itemStack2, 3, 30, false)) { return null; }
|
||||||
}
|
}
|
||||||
else if (par1 >= 30 && par1 < 37 && !this.mergeItemStack(itemStack2, 3, 30, false))
|
else if (!this.mergeItemStack(itemStack2, 3, 37, false)) { return null; }
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (!this.mergeItemStack(itemStack2, 3, 37, false))
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (itemStack2.stackSize == 0)
|
if (itemStack2.stackSize == 0)
|
||||||
{
|
{
|
||||||
|
@ -82,10 +75,7 @@ public class ContainerSorter extends Container
|
||||||
itemStack.onSlotChanged();
|
itemStack.onSlotChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (itemStack2.stackSize == itemStack3.stackSize)
|
if (itemStack2.stackSize == itemStack3.stackSize) { return null; }
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
itemStack.func_82870_a(par1EntityPlayer, itemStack2);
|
itemStack.func_82870_a(par1EntityPlayer, itemStack2);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,12 +25,13 @@ import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
||||||
import cpw.mods.fml.common.network.PacketDispatcher;
|
import cpw.mods.fml.common.network.PacketDispatcher;
|
||||||
|
|
||||||
public class TileEntitySorter extends TileEntityBase implements
|
public class TileEntitySorter extends TileEntityBase implements IElectricityReceiver, IPacketReceiver
|
||||||
IElectricityReceiver, IPacketReceiver {
|
{
|
||||||
/**
|
/**
|
||||||
* Used to id the packet types
|
* Used to id the packet types
|
||||||
*/
|
*/
|
||||||
private enum tPacketID {
|
private enum tPacketID
|
||||||
|
{
|
||||||
ANIMATION, GUI, SETTINGON
|
ANIMATION, GUI, SETTINGON
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,80 +50,80 @@ public class TileEntitySorter extends TileEntityBase implements
|
||||||
/**
|
/**
|
||||||
* on/off value for the GUI buttons
|
* on/off value for the GUI buttons
|
||||||
*/
|
*/
|
||||||
public boolean[] onOff = new boolean[] { true, true, true, true, true };
|
public boolean[] onOff = new boolean[]
|
||||||
|
{ true, true, true, true, true };
|
||||||
/**
|
/**
|
||||||
* the belt found in the search area
|
* the belt found in the search area
|
||||||
*/
|
*/
|
||||||
public TileEntityConveyorBelt beltSide = null;
|
public TileEntityConveyorBelt beltSide = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateEntity() {
|
public void updateEntity()
|
||||||
|
{
|
||||||
super.updateEntity();
|
super.updateEntity();
|
||||||
// has to update a bit faster than a conveyer belt
|
// has to update a bit faster than a
|
||||||
if (this.ticks % 5 == 0) {
|
// conveyer belt
|
||||||
|
if (this.ticks % 5 == 0)
|
||||||
|
{
|
||||||
|
|
||||||
int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
|
int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
|
||||||
this.firePiston = false;
|
this.firePiston = false;
|
||||||
|
|
||||||
// area to search for items
|
// area to search for items
|
||||||
ForgeDirection searchPosition = Vector3.getOrientationFromSide(
|
ForgeDirection searchPosition = Vector3.getOrientationFromSide(ForgeDirection.getOrientation(getDirection(meta)), ForgeDirection.SOUTH);
|
||||||
ForgeDirection.getOrientation(getDirection(meta)),
|
TileEntity tileEntity = worldObj.getBlockTileEntity(xCoord + searchPosition.offsetX, yCoord + searchPosition.offsetY, zCoord + searchPosition.offsetZ);
|
||||||
ForgeDirection.SOUTH);
|
|
||||||
TileEntity tileEntity = worldObj.getBlockTileEntity(xCoord
|
|
||||||
+ searchPosition.offsetX, yCoord + searchPosition.offsetY,
|
|
||||||
zCoord + searchPosition.offsetZ);
|
|
||||||
|
|
||||||
// find the belt in that search area
|
// find the belt in that search area
|
||||||
if (tileEntity instanceof TileEntityConveyorBelt) {
|
if (tileEntity instanceof TileEntityConveyorBelt)
|
||||||
|
{
|
||||||
this.beltSide = (TileEntityConveyorBelt) tileEntity;
|
this.beltSide = (TileEntityConveyorBelt) tileEntity;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
this.beltSide = null;
|
this.beltSide = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try
|
||||||
|
{
|
||||||
// search area bound box
|
// search area bound box
|
||||||
AxisAlignedBB bounds = AxisAlignedBB.getBoundingBox(xCoord
|
AxisAlignedBB bounds = AxisAlignedBB.getBoundingBox(xCoord + searchPosition.offsetX, yCoord + searchPosition.offsetY, zCoord + searchPosition.offsetZ, xCoord + searchPosition.offsetX + 1, yCoord + searchPosition.offsetY + 1, zCoord + searchPosition.offsetZ + 1);
|
||||||
+ searchPosition.offsetX, yCoord
|
|
||||||
+ searchPosition.offsetY, zCoord
|
|
||||||
+ searchPosition.offsetZ, xCoord
|
|
||||||
+ searchPosition.offsetX + 1, yCoord
|
|
||||||
+ searchPosition.offsetY + 1, zCoord
|
|
||||||
+ searchPosition.offsetZ + 1);
|
|
||||||
// EntityItem list
|
// EntityItem list
|
||||||
List<EntityItem> itemsBehind = worldObj.getEntitiesWithinAABB(
|
List<EntityItem> itemsBehind = worldObj.getEntitiesWithinAABB(EntityItem.class, bounds);
|
||||||
EntityItem.class, bounds);
|
|
||||||
|
|
||||||
boolean flag = false;
|
boolean flag = false;
|
||||||
|
|
||||||
if (itemsBehind.size() > 0
|
if (itemsBehind.size() > 0 && this.wattsReceived > this.WATTS_REQUIRED)
|
||||||
&& this.wattsReceived > this.WATTS_REQUIRED) {
|
{
|
||||||
// for every item found check if can be thrown then throw
|
// for every item found check
|
||||||
|
// if can be thrown then throw
|
||||||
// item off belt if it can
|
// item off belt if it can
|
||||||
for (EntityItem entity : itemsBehind) {
|
for (EntityItem entity : itemsBehind)
|
||||||
if (this.canItemBeThrow(entity)) {
|
{
|
||||||
|
if (this.canItemBeThrow(entity))
|
||||||
|
{
|
||||||
this.throwItem(searchPosition, entity);
|
this.throwItem(searchPosition, entity);
|
||||||
flag = true;
|
flag = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// send packet with animation data if an item was rejected from
|
// send packet with animation data
|
||||||
|
// if an item was rejected from
|
||||||
// the area
|
// the area
|
||||||
if (!worldObj.isRemote && flag) {
|
if (!worldObj.isRemote && flag)
|
||||||
Packet packet = PacketManager.getPacket(
|
{
|
||||||
AssemblyLine.CHANNEL, this,
|
Packet packet = PacketManager.getPacket(AssemblyLine.CHANNEL, this, this.data(tPacketID.ANIMATION));
|
||||||
this.data(tPacketID.ANIMATION));
|
PacketManager.sendPacketToClients(packet, worldObj, Vector3.get(this), 30);
|
||||||
PacketManager.sendPacketToClients(packet, worldObj,
|
|
||||||
Vector3.get(this), 30);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
if (!worldObj.isRemote && this.playerUsing > 0) {
|
if (!worldObj.isRemote && this.playerUsing > 0)
|
||||||
Packet packet = PacketManager.getPacket(AssemblyLine.CHANNEL,
|
{
|
||||||
this, this.data(tPacketID.GUI));
|
Packet packet = PacketManager.getPacket(AssemblyLine.CHANNEL, this, this.data(tPacketID.GUI));
|
||||||
PacketManager.sendPacketToClients(packet, worldObj,
|
PacketManager.sendPacketToClients(packet, worldObj, Vector3.get(this), 10);
|
||||||
Vector3.get(this), 10);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -135,9 +136,11 @@ public class TileEntitySorter extends TileEntityBase implements
|
||||||
* @param entity
|
* @param entity
|
||||||
* - Entity being thrown
|
* - Entity being thrown
|
||||||
*/
|
*/
|
||||||
public void throwItem(ForgeDirection side, Entity entity) {
|
public void throwItem(ForgeDirection side, Entity entity)
|
||||||
|
{
|
||||||
this.firePiston = true;
|
this.firePiston = true;
|
||||||
if (this.beltSide != null) {
|
if (this.beltSide != null)
|
||||||
|
{
|
||||||
this.beltSide.ignoreEntity(entity);
|
this.beltSide.ignoreEntity(entity);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -148,35 +151,36 @@ public class TileEntitySorter extends TileEntityBase implements
|
||||||
this.wattsReceived -= this.WATTS_REQUIRED;
|
this.wattsReceived -= this.WATTS_REQUIRED;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canItemBeThrow(Entity entity) {
|
public boolean canItemBeThrow(Entity entity)
|
||||||
|
{
|
||||||
// TODO add other things than items
|
// TODO add other things than items
|
||||||
if (entity instanceof EntityItem) {
|
if (entity instanceof EntityItem)
|
||||||
|
{
|
||||||
EntityItem itemE = (EntityItem) entity;
|
EntityItem itemE = (EntityItem) entity;
|
||||||
ItemStack item = itemE.item;
|
ItemStack item = itemE.item;
|
||||||
|
|
||||||
if (this.onOff[4]) {
|
if (this.onOff[4])
|
||||||
|
{
|
||||||
|
|
||||||
// reject matching items
|
// reject matching items
|
||||||
for (int i = 0; i < this.containingItems.length; i++) {
|
for (int i = 0; i < this.containingItems.length; i++)
|
||||||
if (containingItems[i] != null && onOff[i]) {
|
{
|
||||||
if (containingItems[i].itemID == item.itemID
|
if (containingItems[i] != null && onOff[i])
|
||||||
&& containingItems[i].getItemDamage() == item
|
{
|
||||||
.getItemDamage()) {
|
if (containingItems[i].itemID == item.itemID && containingItems[i].getItemDamage() == item.getItemDamage()) { return true; }
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
} else if (!this.onOff[4]) {
|
}
|
||||||
|
else if (!this.onOff[4])
|
||||||
|
{
|
||||||
// reject all but matching items
|
// reject all but matching items
|
||||||
for (int i = 0; i < this.containingItems.length; i++) {
|
for (int i = 0; i < this.containingItems.length; i++)
|
||||||
if (containingItems[i] != null && onOff[i]) {
|
{
|
||||||
if (containingItems[i].itemID == item.itemID
|
if (containingItems[i] != null && onOff[i])
|
||||||
&& containingItems[i].getItemDamage() == item
|
{
|
||||||
.getItemDamage()) {
|
if (containingItems[i].itemID == item.itemID && containingItems[i].getItemDamage() == item.getItemDamage()) { return false; }
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -185,9 +189,11 @@ public class TileEntitySorter extends TileEntityBase implements
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte getDirection(int meta) {
|
public byte getDirection(int meta)
|
||||||
|
{
|
||||||
|
|
||||||
switch (meta) {
|
switch (meta)
|
||||||
|
{
|
||||||
case 0:
|
case 0:
|
||||||
return 2;
|
return 2;
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -201,29 +207,33 @@ public class TileEntitySorter extends TileEntityBase implements
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canReceiveFromSide(ForgeDirection side) {
|
public boolean canReceiveFromSide(ForgeDirection side)
|
||||||
|
{
|
||||||
return side == ForgeDirection.DOWN;
|
return side == ForgeDirection.DOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to change any one of the boolean value of on/off array After
|
* Used to change any one of the boolean value
|
||||||
* changing the value if it was changed client side it will send a packet
|
* of on/off array After changing the value if
|
||||||
* server side with the changes
|
* it was changed client side it will send a
|
||||||
|
* packet server side with the changes
|
||||||
*
|
*
|
||||||
* @param i
|
* @param i
|
||||||
*/
|
*/
|
||||||
public void changeOnOff(int i) {
|
public void changeOnOff(int i)
|
||||||
if (i >= this.onOff.length) {
|
{
|
||||||
return;
|
if (i >= this.onOff.length) { return; }
|
||||||
}
|
if (this.onOff[i])
|
||||||
if (this.onOff[i]) {
|
{
|
||||||
this.onOff[i] = false;
|
this.onOff[i] = false;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
this.onOff[i] = true;
|
this.onOff[i] = true;
|
||||||
}
|
}
|
||||||
if (worldObj.isRemote) {
|
if (worldObj.isRemote)
|
||||||
Packet packet = PacketManager.getPacket("asmLine", this,
|
{
|
||||||
tPacketID.SETTINGON.ordinal(), i);
|
Packet packet = PacketManager.getPacket("asmLine", this, tPacketID.SETTINGON.ordinal(), i);
|
||||||
PacketDispatcher.sendPacketToServer(packet);
|
PacketDispatcher.sendPacketToServer(packet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -232,56 +242,71 @@ public class TileEntitySorter extends TileEntityBase implements
|
||||||
* Data methods
|
* Data methods
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void readFromNBT(NBTTagCompound nbt) {
|
public void readFromNBT(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
super.readFromNBT(nbt);
|
super.readFromNBT(nbt);
|
||||||
for (int i = 0; i < this.onOff.length; i++) {
|
for (int i = 0; i < this.onOff.length; i++)
|
||||||
|
{
|
||||||
this.onOff[i] = nbt.getBoolean("onOff" + i);
|
this.onOff[i] = nbt.getBoolean("onOff" + i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeToNBT(NBTTagCompound nbt) {
|
public void writeToNBT(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
super.writeToNBT(nbt);
|
super.writeToNBT(nbt);
|
||||||
for (int i = 0; i < this.onOff.length; i++) {
|
for (int i = 0; i < this.onOff.length; i++)
|
||||||
|
{
|
||||||
nbt.setBoolean("onOff" + i, this.onOff[i]);
|
nbt.setBoolean("onOff" + i, this.onOff[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object[] data(tPacketID id) {
|
public Object[] data(tPacketID id)
|
||||||
if (id == tPacketID.ANIMATION) {
|
{
|
||||||
return new Object[] { id.ordinal(), this.firePiston };
|
if (id == tPacketID.ANIMATION) { return new Object[]
|
||||||
}
|
{ id.ordinal(), this.firePiston }; }
|
||||||
if (id == tPacketID.GUI) {
|
if (id == tPacketID.GUI)
|
||||||
|
{
|
||||||
Object[] da = new Object[this.onOff.length];
|
Object[] da = new Object[this.onOff.length];
|
||||||
da[0] = id.ordinal();
|
da[0] = id.ordinal();
|
||||||
for (int i = 0; i < this.onOff.length; i++) {
|
for (int i = 0; i < this.onOff.length; i++)
|
||||||
|
{
|
||||||
da[i + 1] = onOff[i];
|
da[i + 1] = onOff[i];
|
||||||
}
|
}
|
||||||
return da;
|
return da;
|
||||||
}
|
}
|
||||||
return new Object[] { id.ordinal() };
|
return new Object[]
|
||||||
|
{ id.ordinal() };
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handlePacketData(INetworkManager network, int packetType,
|
public void handlePacketData(INetworkManager network, int packetType, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
|
||||||
Packet250CustomPayload packet, EntityPlayer player,
|
{
|
||||||
ByteArrayDataInput dataStream) {
|
try
|
||||||
try {
|
{
|
||||||
int id = dataStream.readInt();
|
int id = dataStream.readInt();
|
||||||
tPacketID pID = tPacketID.values()[id];
|
tPacketID pID = tPacketID.values()[id];
|
||||||
System.out.print("\n id:" + id + " ");
|
System.out.print("\n id:" + id + " ");
|
||||||
if (pID == tPacketID.ANIMATION) {
|
if (pID == tPacketID.ANIMATION)
|
||||||
|
{
|
||||||
this.firePiston = dataStream.readBoolean();
|
this.firePiston = dataStream.readBoolean();
|
||||||
} else if (pID == tPacketID.GUI) {
|
}
|
||||||
for (int i = 0; i < this.onOff.length; i++) {
|
else if (pID == tPacketID.GUI)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < this.onOff.length; i++)
|
||||||
|
{
|
||||||
this.onOff[i] = dataStream.readBoolean();
|
this.onOff[i] = dataStream.readBoolean();
|
||||||
}
|
}
|
||||||
} else if (pID == tPacketID.SETTINGON) {
|
}
|
||||||
|
else if (pID == tPacketID.SETTINGON)
|
||||||
|
{
|
||||||
int num = dataStream.readInt();
|
int num = dataStream.readInt();
|
||||||
this.changeOnOff(num);
|
this.changeOnOff(num);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -290,17 +315,20 @@ public class TileEntitySorter extends TileEntityBase implements
|
||||||
* inventory methods
|
* inventory methods
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getInvName() {
|
public String getInvName()
|
||||||
|
{
|
||||||
return "Rejector";
|
return "Rejector";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getInventoryStackLimit() {
|
public int getInventoryStackLimit()
|
||||||
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getSizeInventory() {
|
public int getSizeInventory()
|
||||||
|
{
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -308,17 +336,20 @@ public class TileEntitySorter extends TileEntityBase implements
|
||||||
* disabling methods
|
* disabling methods
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onDisable(int duration) {
|
public void onDisable(int duration)
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isDisabled() {
|
public boolean isDisabled()
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canConnect(ForgeDirection side) {
|
public boolean canConnect(ForgeDirection side)
|
||||||
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -326,18 +357,20 @@ public class TileEntitySorter extends TileEntityBase implements
|
||||||
* UE methods
|
* UE methods
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public double getVoltage() {
|
public double getVoltage()
|
||||||
|
{
|
||||||
return 120;
|
return 120;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double wattRequest() {
|
public double wattRequest()
|
||||||
|
{
|
||||||
return WATTS_REQUIRED;
|
return WATTS_REQUIRED;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(TileEntity sender, double amps, double voltage,
|
public void onReceive(TileEntity sender, double amps, double voltage, ForgeDirection side)
|
||||||
ForgeDirection side) {
|
{
|
||||||
this.wattsReceived += (amps * voltage);
|
this.wattsReceived += (amps * voltage);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,24 +8,29 @@ import net.minecraft.src.EntityItem;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.src.ItemStack;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.src.World;
|
||||||
|
|
||||||
public class ArmHelper {
|
public class ArmHelper
|
||||||
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to locate items in an area
|
* Used to locate items in an area
|
||||||
* @param start - start xyz
|
*
|
||||||
* @param End - end xyz
|
* @param start
|
||||||
|
* - start xyz
|
||||||
|
* @param End
|
||||||
|
* - end xyz
|
||||||
* @return list of items
|
* @return list of items
|
||||||
*/
|
*/
|
||||||
public List<EntityItem> findItems(World world, Vector3 start, Vector3 end)
|
public List<EntityItem> findItems(World world, Vector3 start, Vector3 end)
|
||||||
{
|
{
|
||||||
AxisAlignedBB bounds = AxisAlignedBB.getBoundingBox(start.x, start.y, start.z, end.x, end.x, end.x);
|
AxisAlignedBB bounds = AxisAlignedBB.getBoundingBox(start.x, start.y, start.z, end.x, end.x, end.x);
|
||||||
// EntityItem list
|
// EntityItem list
|
||||||
List<EntityItem> itemsList = world.getEntitiesWithinAABB(
|
List<EntityItem> itemsList = world.getEntitiesWithinAABB(EntityItem.class, bounds);
|
||||||
EntityItem.class, bounds);
|
|
||||||
return itemsList;
|
return itemsList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to locate an item type in an area
|
* Used to locate an item type in an area
|
||||||
|
*
|
||||||
* @param world
|
* @param world
|
||||||
* @param start
|
* @param start
|
||||||
* @param end
|
* @param end
|
||||||
|
@ -36,8 +41,7 @@ public class ArmHelper {
|
||||||
{
|
{
|
||||||
AxisAlignedBB bounds = AxisAlignedBB.getBoundingBox(start.x, start.y, start.z, end.x, end.x, end.x);
|
AxisAlignedBB bounds = AxisAlignedBB.getBoundingBox(start.x, start.y, start.z, end.x, end.x, end.x);
|
||||||
// EntityItem list
|
// EntityItem list
|
||||||
List<EntityItem> itemsList = world.getEntitiesWithinAABB(
|
List<EntityItem> itemsList = world.getEntitiesWithinAABB(EntityItem.class, bounds);
|
||||||
EntityItem.class, bounds);
|
|
||||||
for (EntityItem item : itemsList)
|
for (EntityItem item : itemsList)
|
||||||
{
|
{
|
||||||
ItemStack stackItem = item.item;
|
ItemStack stackItem = item.item;
|
||||||
|
|
|
@ -9,15 +9,18 @@ import net.minecraft.src.TileEntity;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.src.World;
|
||||||
import assemblyline.AssemblyLine;
|
import assemblyline.AssemblyLine;
|
||||||
|
|
||||||
public class BlockCrafter extends BlockMachine {
|
public class BlockCrafter extends BlockMachine
|
||||||
protected BlockCrafter(int par1) {
|
{
|
||||||
|
protected BlockCrafter(int par1)
|
||||||
|
{
|
||||||
super("AutoCrafters", par1, Material.iron);
|
super("AutoCrafters", par1, Material.iron);
|
||||||
this.setResistance(5.0f);
|
this.setResistance(5.0f);
|
||||||
this.setHardness(5.0f);
|
this.setHardness(5.0f);
|
||||||
this.setCreativeTab(CreativeTabs.tabTools);
|
this.setCreativeTab(CreativeTabs.tabTools);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static enum CrafterType {
|
public static enum CrafterType
|
||||||
|
{
|
||||||
CRAFTER("Crafter", 0, -1, TileEntityAutoCrafter.class);
|
CRAFTER("Crafter", 0, -1, TileEntityAutoCrafter.class);
|
||||||
|
|
||||||
public String name;
|
public String name;
|
||||||
|
@ -25,42 +28,47 @@ public class BlockCrafter extends BlockMachine {
|
||||||
public int guiID;
|
public int guiID;
|
||||||
public Class<? extends TileEntity> tileEntity;
|
public Class<? extends TileEntity> tileEntity;
|
||||||
|
|
||||||
CrafterType(String name, int metadata,int guiID,
|
CrafterType(String name, int metadata, int guiID, Class<? extends TileEntity> tileEntity)
|
||||||
Class<? extends TileEntity> tileEntity) {
|
{
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.metadata = metadata;
|
this.metadata = metadata;
|
||||||
this.guiID = guiID;
|
this.guiID = guiID;
|
||||||
this.tileEntity = tileEntity;
|
this.tileEntity = tileEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CrafterType get(int metadata) {
|
public static CrafterType get(int metadata)
|
||||||
for (CrafterType value : CrafterType.values()) {
|
{
|
||||||
if (metadata >= value.metadata && metadata < value.metadata + 4) {
|
for (CrafterType value : CrafterType.values())
|
||||||
return value;
|
{
|
||||||
}
|
if (metadata >= value.metadata && metadata < value.metadata + 4) { return value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the direction based on the metadata
|
* Gets the direction based on the
|
||||||
|
* metadata
|
||||||
*
|
*
|
||||||
* @return A direction value from 0 to 4.
|
* @return A direction value from 0 to 4.
|
||||||
*/
|
*/
|
||||||
public static int getDirection(int metadata) {
|
public static int getDirection(int metadata)
|
||||||
|
{
|
||||||
return metadata - CrafterType.get(metadata).metadata;
|
return metadata - CrafterType.get(metadata).metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param currentDirection
|
* @param currentDirection
|
||||||
* - An integer from 0 to 4.
|
* - An integer from 0 to 4.
|
||||||
* @return The metadata this block should change into.
|
* @return The metadata this block should
|
||||||
|
* change into.
|
||||||
*/
|
*/
|
||||||
public int getNextDirectionMeta(int currentDirection) {
|
public int getNextDirectionMeta(int currentDirection)
|
||||||
|
{
|
||||||
currentDirection++;
|
currentDirection++;
|
||||||
|
|
||||||
if (currentDirection >= 4) {
|
if (currentDirection >= 4)
|
||||||
|
{
|
||||||
currentDirection = 0;
|
currentDirection = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,10 +78,14 @@ public class BlockCrafter extends BlockMachine {
|
||||||
/**
|
/**
|
||||||
* Creates a new TIleEntity.
|
* Creates a new TIleEntity.
|
||||||
*/
|
*/
|
||||||
public TileEntity instantiateTileEntity() {
|
public TileEntity instantiateTileEntity()
|
||||||
try {
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
return this.tileEntity.newInstance();
|
return this.tileEntity.newInstance();
|
||||||
} catch (Exception e) {
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -81,37 +93,40 @@ public class BlockCrafter extends BlockMachine {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createNewTileEntity(World var1) {
|
public TileEntity createNewTileEntity(World var1)
|
||||||
|
{
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createNewTileEntity(World var1, int metadata) {
|
public TileEntity createNewTileEntity(World var1, int metadata)
|
||||||
|
{
|
||||||
return CrafterType.get(metadata).instantiateTileEntity();
|
return CrafterType.get(metadata).instantiateTileEntity();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onMachineActivated(World par1World, int x, int y, int z,
|
public boolean onMachineActivated(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer)
|
||||||
EntityPlayer par5EntityPlayer) {
|
{
|
||||||
if (!par1World.isRemote) {
|
if (!par1World.isRemote)
|
||||||
|
{
|
||||||
int metadata = par1World.getBlockMetadata(x, y, z);
|
int metadata = par1World.getBlockMetadata(x, y, z);
|
||||||
int guiID = CrafterType.get(metadata).metadata;
|
int guiID = CrafterType.get(metadata).metadata;
|
||||||
if (guiID == -1)
|
if (guiID == -1)
|
||||||
return false;
|
return false;
|
||||||
par5EntityPlayer.openGui(AssemblyLine.instance, guiID, par1World,
|
par5EntityPlayer.openGui(AssemblyLine.instance, guiID, par1World, x, y, z);
|
||||||
x, y, z);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean onSneakUseWrench(World par1World, int x, int y, int z,
|
public boolean onSneakUseWrench(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer)
|
||||||
EntityPlayer par5EntityPlayer) {
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getRenderType() {
|
public int getRenderType()
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,8 @@ import net.minecraft.src.ItemStack;
|
||||||
import net.minecraft.src.NBTTagCompound;
|
import net.minecraft.src.NBTTagCompound;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.src.World;
|
||||||
|
|
||||||
public class EntityCraftingArm extends Entity {
|
public class EntityCraftingArm extends Entity
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Used to ID the type of arm
|
* Used to ID the type of arm
|
||||||
*/
|
*/
|
||||||
|
@ -15,6 +16,7 @@ public class EntityCraftingArm extends Entity {
|
||||||
{
|
{
|
||||||
ARM, SOLDER, DRILL, BREAKER
|
ARM, SOLDER, DRILL, BREAKER
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* type of arm this robotic arm currently is
|
* type of arm this robotic arm currently is
|
||||||
*/
|
*/
|
||||||
|
@ -34,7 +36,8 @@ public class EntityCraftingArm extends Entity {
|
||||||
|
|
||||||
public boolean isWorking = false;
|
public boolean isWorking = false;
|
||||||
|
|
||||||
public EntityCraftingArm(World par1World) {
|
public EntityCraftingArm(World par1World)
|
||||||
|
{
|
||||||
super(par1World);
|
super(par1World);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,22 +48,24 @@ public class EntityCraftingArm extends Entity {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void readEntityFromNBT(NBTTagCompound nbt) {
|
protected void readEntityFromNBT(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
this.arm = armType.values()[nbt.getInteger("type")];
|
this.arm = armType.values()[nbt.getInteger("type")];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void writeEntityToNBT(NBTTagCompound nbt) {
|
protected void writeEntityToNBT(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
nbt.setInteger("type", arm.ordinal());
|
nbt.setInteger("type", arm.ordinal());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean grabItem(EntityItem item)
|
public boolean grabItem(EntityItem item)
|
||||||
{
|
{
|
||||||
if (this.stack == null)
|
if (this.stack == null)
|
||||||
{
|
{
|
||||||
//TODO set current stack to item as soon as it reaches coords
|
// TODO set current stack to item as
|
||||||
|
// soon as it reaches coords
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,9 +2,11 @@ package assemblyline.machines.crafter;
|
||||||
|
|
||||||
import net.minecraft.src.Item;
|
import net.minecraft.src.Item;
|
||||||
|
|
||||||
public class ItemCrafterArm extends Item {
|
public class ItemCrafterArm extends Item
|
||||||
|
{
|
||||||
|
|
||||||
protected ItemCrafterArm(int par1) {
|
protected ItemCrafterArm(int par1)
|
||||||
|
{
|
||||||
super(par1);
|
super(par1);
|
||||||
this.setHasSubtypes(true);
|
this.setHasSubtypes(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,30 +3,22 @@ package assemblyline.machines.crafter;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.src.EntityPlayer;
|
||||||
import net.minecraft.src.INetworkManager;
|
import net.minecraft.src.INetworkManager;
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
import net.minecraft.src.Packet250CustomPayload;
|
||||||
import net.minecraft.src.World;
|
import universalelectricity.prefab.TileEntityAdvanced;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
|
||||||
import net.minecraftforge.common.ISidedInventory;
|
|
||||||
import assemblyline.AssemblyLine;
|
|
||||||
import assemblyline.TileEntityBase;
|
|
||||||
import assemblyline.machines.BlockMulti.MachineType;
|
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
||||||
public class TileEntityAutoCrafter extends TileEntityBase
|
public class TileEntityAutoCrafter extends TileEntityAdvanced
|
||||||
{
|
{
|
||||||
@Override
|
|
||||||
public String getInvName()
|
public String getInvName()
|
||||||
{
|
{
|
||||||
return "Auto Crafter";
|
return "Auto Crafter";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getSizeInventory()
|
public int getSizeInventory()
|
||||||
{
|
{
|
||||||
return 10;
|
return 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void handlePacketData(INetworkManager network, int packetType, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
|
public void handlePacketData(INetworkManager network, int packetType, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue