This commit is contained in:
Brian Ricketts 2013-02-12 00:47:46 -06:00
commit ff3fa8a29e
23 changed files with 137 additions and 138 deletions

View file

@ -1 +1 @@
75
77

View file

@ -65,6 +65,8 @@ 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.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.73.jar AssemblyLine_v0.2.5.73_api.zip
@ AssemblyLine_v0.2.5.73.jar AssemblyLine_v0.2.5.73_api.zip
@ AssemblyLine_v0.2.5.74.jar AssemblyLine_v0.2.5.74_api.zip
@ AssemblyLine_v0.2.5.75.jar AssemblyLine_v0.2.5.75_api.zip
* AssemblyLine_v0.2.5.76.jar AssemblyLine_v0.2.5.76_api.zip
@ AssemblyLine_v0.2.6.77.jar AssemblyLine_v0.2.6.77_api.zip

View file

@ -1 +1 @@
0.2.5
0.2.6

View file

Before

Width:  |  Height:  |  Size: 7 KiB

After

Width:  |  Height:  |  Size: 7 KiB

View file

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View file

Before

Width:  |  Height:  |  Size: 718 B

After

Width:  |  Height:  |  Size: 718 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 B

View file

@ -2,7 +2,7 @@
{
"modid" : "AssemblyLine",
"name" : "Assembly Line",
"version" : "0.2.5",
"version" : "0.2.6",
"url" : "http://calclavia.com/universalelectricity/?m=18",
"credits" : "",
"authors": [

View file

@ -1,6 +1,6 @@
package assemblyline.api;
public interface ICraneStructure extends ICraneConnectable
{
}
package assemblyline.api;
public interface ICraneStructure extends ICraneConnectable
{
}

View file

@ -1,6 +1,11 @@
package assemblyline.client.render;
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.opengl.GL11.GL_LIGHTING;
import static org.lwjgl.opengl.GL11.glEnable;
import static org.lwjgl.opengl.GL11.glPopMatrix;
import static org.lwjgl.opengl.GL11.glPushMatrix;
import static org.lwjgl.opengl.GL11.glRotatef;
import static org.lwjgl.opengl.GL11.glTranslated;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
import assemblyline.client.model.ModelCraneController;
@ -9,8 +14,8 @@ import assemblyline.common.machine.crane.TileEntityCraneController;
public class RenderCraneController extends RenderImprintable
{
public static final String TEXTURE = "quarryControllerOff.png";
public static final String TEXTURE_VALID = "quarryControllerValid.png";
public static final String TEXTURE = "crane_controller_off.png";
public static final String TEXTURE_VALID = "crane_controller_on.png";
public static final ModelCraneController MODEL = new ModelCraneController();
@Override
@ -21,8 +26,11 @@ public class RenderCraneController extends RenderImprintable
this.bindTextureByName(AssemblyLine.TEXTURE_PATH + (((TileEntityCraneController) tileEntity).isCraneValid() ? TEXTURE_VALID : TEXTURE));
ForgeDirection rot = ForgeDirection.getOrientation(tileEntity.worldObj.getBlockMetadata(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord));
float angle = 0f;
switch (rot)
{
default:
break;
case NORTH:
{
angle = 90f;

View file

@ -15,7 +15,7 @@ import assemblyline.common.machine.crane.TileEntityCraneRail;
public class RenderCraneRail extends RenderImprintable
{
public static final String TEXTURE = "craneRail.png";
public static final String TEXTURE = "crane_rail.png";
public static final ModelCraneRail MODEL = new ModelCraneRail();
@Override
@ -50,4 +50,4 @@ public class RenderCraneRail extends RenderImprintable
}
}
}
}

View file

@ -89,25 +89,11 @@ public class RenderCrate extends TileEntitySpecialRenderer
GL11.glPopMatrix();
}
/*
switch (tileEntity.getTier())
{
default:
{
itemName = "\u00a7a" + itemName;
break;
}
case 1:
{
itemName = "\u00a74" + itemName;
break;
}
case 2:
{
itemName = "\u00a79" + itemName;
break;
}
}*/
* switch (tileEntity.getTier()) { default: { itemName = "\u00a7a" + itemName;
* break; } case 1: { itemName = "\u00a74" + itemName;
*
* break; } case 2: { itemName = "\u00a79" + itemName; break; } }
*/
this.renderText(itemName, side, 0.02f, x, y - 0.35f, z);

View file

@ -55,7 +55,7 @@ public class AssemblyLine
public static final String NAME = "Assembly Line";
public static final String VERSION = "0.2.5";
public static final String VERSION = "0.2.6";
public static final String CHANNEL = "AssemblyLine";

View file

@ -9,7 +9,6 @@ import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import universalelectricity.core.UniversalElectricity;
import universalelectricity.core.implement.IItemElectric;
import universalelectricity.core.vector.Vector3;
@ -169,7 +168,7 @@ public class BlockCrate extends BlockMachine
public void tryEject(TileEntityCrate tileEntity, EntityPlayer player, boolean allMode)
{
if (allMode)
if (allMode && !player.isSneaking())
{
this.ejectItems(tileEntity, player, tileEntity.getMaxLimit());
}

View file

@ -1,5 +1,7 @@
package assemblyline.common.machine.armbot;
import java.util.Random;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
@ -18,8 +20,6 @@ public class BlockArmbot extends BlockMachine
public BlockArmbot(int id)
{
super("armbot", id, UniversalElectricity.machine);
this.setResistance(5.0f);
this.setHardness(5.0f);
this.setCreativeTab(TabAssemblyLine.INSTANCE);
}
@ -62,6 +62,12 @@ public class BlockArmbot extends BlockMachine
super.breakBlock(world, x, y, z, par5, par6);
}
@Override
public int quantityDropped(Random par1Random)
{
return 0;
}
@Override
public TileEntity createNewTileEntity(World var1)
{

View file

@ -1,6 +1,5 @@
package assemblyline.common.machine.crane;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;

View file

@ -18,12 +18,12 @@ public class CraneHelper
* The maximum size that a crane can be
*/
public static final int MAX_SIZE = 64;
public static boolean isCraneBlock(World world, int x, int y, int z)
{
return world.getBlockTileEntity(x, y, z) != null && world.getBlockTileEntity(x, y, z) instanceof ICraneConnectable;
}
public static boolean isCraneStructureBlock(World world, int x, int y, int z)
{
return world.getBlockTileEntity(x, y, z) != null && world.getBlockTileEntity(x, y, z) instanceof ICraneStructure;
@ -38,7 +38,7 @@ public class CraneHelper
return false;
}
public static ForgeDirection rotateClockwise(ForgeDirection direction)
{
if (direction == ForgeDirection.NORTH)
@ -51,7 +51,7 @@ public class CraneHelper
return ForgeDirection.NORTH;
return ForgeDirection.UNKNOWN;
}
public static ForgeDirection rotateCounterClockwise(ForgeDirection direction)
{
if (direction == ForgeDirection.NORTH)

View file

@ -10,7 +10,7 @@ public class TileEntityCraneController extends TileEntityAssemblyNetwork impleme
int width, height, depth;
boolean isCraneValid;
long ticks;
public TileEntityCraneController()
{
super();
@ -18,7 +18,7 @@ public class TileEntityCraneController extends TileEntityAssemblyNetwork impleme
isCraneValid = false;
ticks = 0;
}
@Override
public void updateEntity()
{
@ -28,12 +28,12 @@ public class TileEntityCraneController extends TileEntityAssemblyNetwork impleme
validateCrane();
}
}
public boolean isCraneValid()
{
return isCraneValid;
}
private void validateCrane()
{
isCraneValid = false;
@ -46,7 +46,7 @@ public class TileEntityCraneController extends TileEntityAssemblyNetwork impleme
isCraneValid = isFrameValid();
}
}
private boolean isFrameValid()
{
for (int x = Math.min(0, width); x <= Math.max(0, width); x++)
@ -79,7 +79,7 @@ public class TileEntityCraneController extends TileEntityAssemblyNetwork impleme
}
return true;
}
/**
* Find x size and store in this.width
*/
@ -107,13 +107,13 @@ public class TileEntityCraneController extends TileEntityAssemblyNetwork impleme
x--;
}
}
width = x; //can be negative
width = x; // can be negative
if (width < 0)
width++;
if (width > 0)
width--;
}
/**
* Find y size and store in this.height
*/
@ -132,7 +132,7 @@ public class TileEntityCraneController extends TileEntityAssemblyNetwork impleme
}
height = y - 1;
}
/**
* Find x size and store in this.depth
*/
@ -160,7 +160,7 @@ public class TileEntityCraneController extends TileEntityAssemblyNetwork impleme
z--;
}
}
depth = z; //can be negative
depth = z; // can be negative
if (depth < 0)
depth++;
if (depth > 0)
@ -179,7 +179,7 @@ public class TileEntityCraneController extends TileEntityAssemblyNetwork impleme
return true;
return false;
}
@Override
public void writeToNBT(NBTTagCompound nbt)
{
@ -189,7 +189,7 @@ public class TileEntityCraneController extends TileEntityAssemblyNetwork impleme
nbt.setInteger("depth", depth);
nbt.setBoolean("isValid", isCraneValid);
}
@Override
public void readFromNBT(NBTTagCompound nbt)
{

View file

@ -1,7 +1,6 @@
package assemblyline.common.machine.crane;
import net.minecraftforge.common.ForgeDirection;
import assemblyline.api.ICraneConnectable;
import assemblyline.api.ICraneStructure;
import assemblyline.common.machine.TileEntityAssemblyNetwork;

View file

@ -5,7 +5,6 @@ import java.util.Random;
import net.minecraft.block.material.Material;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;

View file

@ -25,14 +25,14 @@ public class ContainerImprinter extends Container implements ISlotWatcher
{
for (int y = 0; y < 3; y++)
{
this.addSlotToContainer(new Slot(this.tileEntity, y + x * 3, 9 + y * 18, 16 + x * 18));
this.addSlotToContainer(new WatchedSlot(this.tileEntity, y + x * 3, 9 + y * 18, 16 + x * 18, this));
}
}
// Imprint Input for Imprinting
this.addSlotToContainer(new SlotCustom(this.tileEntity, TileEntityImprinter.IMPRINTER_MATRIX_START, 68, 34, new ItemStack(AssemblyLine.itemImprint)));
// Item to be imprinted
this.addSlotToContainer(new Slot(this.tileEntity, TileEntityImprinter.IMPRINTER_MATRIX_START + 1, 92, 34));
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));
@ -97,7 +97,7 @@ public class ContainerImprinter extends Container implements ISlotWatcher
this.tileEntity.setInventorySlotContents(this.tileEntity.INVENTORY_START - 1, null);
}
if (slot > this.tileEntity.getSizeInventory())
if (slot > this.tileEntity.getSizeInventory() - 1)
{
if (this.getSlot(this.tileEntity.IMPRINTER_MATRIX_START).isItemValid(slotStack))
{
@ -134,7 +134,6 @@ public class ContainerImprinter extends Container implements ISlotWatcher
}
this.slotContentsChanged();
return copyStack;
}
@ -142,5 +141,6 @@ public class ContainerImprinter extends Container implements ISlotWatcher
public void slotContentsChanged()
{
this.tileEntity.onInventoryChanged();
this.detectAndSendChanges();
}
}

View file

@ -5,13 +5,13 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class SlotCraftingResult extends Slot
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);
super(inventory, par2, par3, par4, container);
this.container = container;
}
@ -30,8 +30,7 @@ public class SlotCraftingResult extends Slot
@Override
public void onPickupFromSlot(EntityPlayer entityPlayer, ItemStack itemStack)
{
super.onPickupFromSlot(entityPlayer, itemStack);
this.container.tileEntity.onPickUpFromResult(entityPlayer, itemStack);
super.onPickupFromSlot(entityPlayer, itemStack);
}
}

View file

@ -268,98 +268,100 @@ public class TileEntityImprinter extends TileEntityAdvanced implements ISidedInv
@Override
public void onInventoryChanged()
{
/**
* Makes the stamping recipe for filters
*/
this.isImprinting = false;
if (this.isMatrixEmpty() && this.imprinterMatrix[0] != null && this.imprinterMatrix[1] != null)
if (!this.worldObj.isRemote)
{
if (this.imprinterMatrix[0].getItem() instanceof ItemImprinter)
{
ItemStack outputStack = this.imprinterMatrix[0].copy();
outputStack.stackSize = 1;
ArrayList<ItemStack> filters = ItemImprinter.getFilters(outputStack);
boolean filteringItemExists = false;
for (ItemStack filteredStack : filters)
{
if (filteredStack.isItemEqual(this.imprinterMatrix[1]))
{
filters.remove(filteredStack);
filteringItemExists = true;
break;
}
}
if (!filteringItemExists)
{
filters.add(this.imprinterMatrix[1]);
}
ItemImprinter.setFilters(outputStack, filters);
this.imprinterMatrix[2] = outputStack;
this.isImprinting = true;
}
}
if (!this.isImprinting)
{
this.imprinterMatrix[2] = null;
/**
* Try to craft from crafting grid. If not possible, then craft from imprint.
* Makes the stamping recipe for filters
*/
boolean didCraft = false;
this.isImprinting = false;
/**
* Simulate an Inventory Crafting Instance
*/
InventoryCrafting inventoryCrafting = this.getCraftingMatrix();
if (inventoryCrafting != null)
{
ItemStack matrixOutput = CraftingManager.getInstance().findMatchingRecipe(inventoryCrafting, this.worldObj);
if (matrixOutput != null)
{
this.imprinterMatrix[2] = matrixOutput;
didCraft = true;
}
}
if (this.imprinterMatrix[0] != null && !didCraft)
if (this.isMatrixEmpty() && this.imprinterMatrix[0] != null && this.imprinterMatrix[1] != null)
{
if (this.imprinterMatrix[0].getItem() instanceof ItemImprinter)
{
ArrayList<ItemStack> filters = ItemImprinter.getFilters(this.imprinterMatrix[0]);
ItemStack outputStack = this.imprinterMatrix[0].copy();
outputStack.stackSize = 1;
ArrayList<ItemStack> filters = ItemImprinter.getFilters(outputStack);
boolean filteringItemExists = false;
for (ItemStack outputStack : filters)
for (ItemStack filteredStack : filters)
{
if (outputStack != null)
if (filteredStack.isItemEqual(this.imprinterMatrix[1]))
{
Pair<ItemStack, ItemStack[]> idealRecipe = this.getIdealRecipe(outputStack);
filters.remove(filteredStack);
filteringItemExists = true;
break;
}
}
if (idealRecipe != null)
if (!filteringItemExists)
{
filters.add(this.imprinterMatrix[1]);
}
ItemImprinter.setFilters(outputStack, filters);
this.imprinterMatrix[2] = outputStack;
this.isImprinting = true;
}
}
if (!this.isImprinting)
{
this.imprinterMatrix[2] = null;
/**
* Try to craft from crafting grid. If not possible, then craft from imprint.
*/
boolean didCraft = false;
/**
* Simulate an Inventory Crafting Instance
*/
InventoryCrafting inventoryCrafting = this.getCraftingMatrix();
if (inventoryCrafting != null)
{
ItemStack matrixOutput = CraftingManager.getInstance().findMatchingRecipe(inventoryCrafting, this.worldObj);
if (matrixOutput != null)
{
this.imprinterMatrix[2] = matrixOutput;
didCraft = true;
}
}
if (this.imprinterMatrix[0] != null && !didCraft)
{
if (this.imprinterMatrix[0].getItem() instanceof ItemImprinter)
{
ArrayList<ItemStack> filters = ItemImprinter.getFilters(this.imprinterMatrix[0]);
for (ItemStack outputStack : filters)
{
if (outputStack != null)
{
ItemStack recipeOutput = idealRecipe.getKey();
Pair<ItemStack, ItemStack[]> idealRecipe = this.getIdealRecipe(outputStack);
if (recipeOutput != null & recipeOutput.stackSize > 0)
if (idealRecipe != null)
{
this.imprinterMatrix[2] = recipeOutput;
didCraft = true;
break;
ItemStack recipeOutput = idealRecipe.getKey();
if (recipeOutput != null & recipeOutput.stackSize > 0)
{
this.imprinterMatrix[2] = recipeOutput;
didCraft = true;
break;
}
}
}
}
}
}
}
if (!didCraft)
{
this.imprinterMatrix[2] = null;
if (!didCraft)
{
this.imprinterMatrix[2] = null;
}
}
}
}