More fixes
This commit is contained in:
parent
e13a214549
commit
e8afe5d767
22 changed files with 1357 additions and 251 deletions
1
README.md
Normal file
1
README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
A mod that brings realistic transportation systems into Minecraft.
|
|
@ -3,12 +3,12 @@ package assemblyline;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.src.EntityPlayer;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.src.TileEntity;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.src.World;
|
||||||
import asmline.GUIEjectorSettings;
|
import assemblyline.gui.GuiEjectorSettings;
|
||||||
import assemblyline.interaction.ContainerEjector;
|
import assemblyline.interaction.ContainerEjector;
|
||||||
import assemblyline.interaction.TileEntityEjector;
|
import assemblyline.interaction.TileEntityEjector;
|
||||||
import cpw.mods.fml.common.network.IGuiHandler;
|
import cpw.mods.fml.common.network.IGuiHandler;
|
||||||
|
|
||||||
public class ALProxy implements IGuiHandler
|
public class ALCommonProxy implements IGuiHandler
|
||||||
{
|
{
|
||||||
|
|
||||||
public void preInit()
|
public void preInit()
|
||||||
|
@ -32,7 +32,7 @@ public class ALProxy implements IGuiHandler
|
||||||
{
|
{
|
||||||
switch(ID)
|
switch(ID)
|
||||||
{
|
{
|
||||||
case 0: return new GUIEjectorSettings(player.inventory, ((TileEntityEjector)tileEntity));
|
case 0: return new GuiEjectorSettings(player.inventory, ((TileEntityEjector)tileEntity));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import assemblyline.interaction.TileEntityEjector;
|
||||||
import assemblyline.interaction.TileEntityMachineInput;
|
import assemblyline.interaction.TileEntityMachineInput;
|
||||||
import cpw.mods.fml.common.Mod;
|
import cpw.mods.fml.common.Mod;
|
||||||
import cpw.mods.fml.common.Mod.Init;
|
import cpw.mods.fml.common.Mod.Init;
|
||||||
|
import cpw.mods.fml.common.Mod.Instance;
|
||||||
import cpw.mods.fml.common.Mod.PostInit;
|
import cpw.mods.fml.common.Mod.PostInit;
|
||||||
import cpw.mods.fml.common.Mod.PreInit;
|
import cpw.mods.fml.common.Mod.PreInit;
|
||||||
import cpw.mods.fml.common.SidedProxy;
|
import cpw.mods.fml.common.SidedProxy;
|
||||||
|
@ -28,14 +29,20 @@ import cpw.mods.fml.common.network.NetworkRegistry;
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
import cpw.mods.fml.common.registry.LanguageRegistry;
|
import cpw.mods.fml.common.registry.LanguageRegistry;
|
||||||
|
|
||||||
@Mod(modid = "asmLine", name = "Assemble Line", version = "V2.3", dependencies = "after:UniversalElectricity")
|
@Mod(modid = "AssemblyLine", name = "Assembly Line", version = AssemblyLine.VERSION, dependencies = "after:BasicComponents")
|
||||||
@NetworkMod(channels =
|
@NetworkMod(channels = { AssemblyLine.CHANNEL }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketManager.class)
|
||||||
{ "asmLine" }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketManager.class)
|
public class AssemblyLine
|
||||||
public class AssembleLine
|
|
||||||
{
|
{
|
||||||
@SidedProxy(clientSide = "asmline.asmClientProxy", serverSide = "asmline.asmProxy")
|
@SidedProxy(clientSide = "assemblyline.ALClientProxy", serverSide = "assemblyline.ALCommonProxy")
|
||||||
public static ALProxy proxy;
|
public static ALCommonProxy proxy;
|
||||||
public static AssembleLine instance;
|
|
||||||
|
@Instance("AssemblyLine")
|
||||||
|
public static AssemblyLine instance;
|
||||||
|
|
||||||
|
public static final String VERSION = "0.1.0";
|
||||||
|
|
||||||
|
public static final String CHANNEL = "AssemblyLine";
|
||||||
|
|
||||||
public static final Configuration config = new Configuration(new File(cpw.mods.fml.common.Loader.instance().getConfigDir(), "UniversalElectricity/ConveyorBelts.cfg"));
|
public static final Configuration config = new Configuration(new File(cpw.mods.fml.common.Loader.instance().getConfigDir(), "UniversalElectricity/ConveyorBelts.cfg"));
|
||||||
public static int machineID = configurationProperties();
|
public static int machineID = configurationProperties();
|
||||||
public static int machine2ID;
|
public static int machine2ID;
|
|
@ -8,7 +8,7 @@ import net.minecraft.src.MathHelper;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.src.TileEntity;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.src.World;
|
||||||
import universalelectricity.prefab.BlockMachine;
|
import universalelectricity.prefab.BlockMachine;
|
||||||
import asmline.beltRenders.BeltRenderHelper;
|
import assemblyline.render.BeltRenderHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The block for the actual conveyor!
|
* The block for the actual conveyor!
|
||||||
|
|
|
@ -18,7 +18,7 @@ import universalelectricity.implement.IConductor;
|
||||||
import universalelectricity.prefab.TileEntityElectricityReceiver;
|
import universalelectricity.prefab.TileEntityElectricityReceiver;
|
||||||
import universalelectricity.prefab.network.IPacketReceiver;
|
import universalelectricity.prefab.network.IPacketReceiver;
|
||||||
import universalelectricity.prefab.network.PacketManager;
|
import universalelectricity.prefab.network.PacketManager;
|
||||||
import assemblyline.AssembleLine;
|
import assemblyline.AssemblyLine;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ public class TileEntityConveyorBelt extends TileEntityElectricityReceiver implem
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AssembleLine.animationOn)
|
if (AssemblyLine.animationOn)
|
||||||
{
|
{
|
||||||
if (flip == true)
|
if (flip == true)
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,8 +6,8 @@ import net.minecraft.src.Material;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.src.TileEntity;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.src.World;
|
||||||
import universalelectricity.prefab.BlockMachine;
|
import universalelectricity.prefab.BlockMachine;
|
||||||
import asmline.beltRenders.BeltRenderHelper;
|
import assemblyline.AssemblyLine;
|
||||||
import assemblyline.AssembleLine;
|
import assemblyline.render.BeltRenderHelper;
|
||||||
|
|
||||||
public class BlockInteraction extends BlockMachine
|
public class BlockInteraction extends BlockMachine
|
||||||
{
|
{
|
||||||
|
@ -30,7 +30,7 @@ public class BlockInteraction extends BlockMachine
|
||||||
{
|
{
|
||||||
if (!par1World.isRemote)
|
if (!par1World.isRemote)
|
||||||
{
|
{
|
||||||
par5EntityPlayer.openGui(AssembleLine.instance, 0, par1World, x, y, z);
|
par5EntityPlayer.openGui(AssemblyLine.instance, 0, par1World, x, y, z);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -44,52 +44,52 @@ public class ContainerEjector 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 transferStackInSlot(int par1)
|
public ItemStack func_82846_b(EntityPlayer par1EntityPlayer, int par1)
|
||||||
{
|
{
|
||||||
ItemStack var2 = null;
|
ItemStack itemStack3 = null;
|
||||||
Slot var3 = (Slot)this.inventorySlots.get(par1);
|
Slot itemStack = (Slot)this.inventorySlots.get(par1);
|
||||||
|
|
||||||
if (var3 != null && var3.getHasStack())
|
if (itemStack != null && itemStack.getHasStack())
|
||||||
{
|
{
|
||||||
ItemStack var4 = var3.getStack();
|
ItemStack itemStack2 = itemStack.getStack();
|
||||||
var2 = var4.copy();
|
itemStack3 = itemStack2.copy();
|
||||||
|
|
||||||
if (par1 != 0)
|
if (par1 != 0)
|
||||||
{
|
{
|
||||||
if (var4.itemID == Item.coal.shiftedIndex)
|
if (itemStack2.itemID == Item.coal.shiftedIndex)
|
||||||
{
|
{
|
||||||
if (!this.mergeItemStack(var4, 0, 1, false))
|
if (!this.mergeItemStack(itemStack2, 0, 1, false))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (par1 >= 30 && par1 < 37 && !this.mergeItemStack(var4, 3, 30, false))
|
else if (par1 >= 30 && par1 < 37 && !this.mergeItemStack(itemStack2, 3, 30, false))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!this.mergeItemStack(var4, 3, 37, false))
|
else if (!this.mergeItemStack(itemStack2, 3, 37, false))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var4.stackSize == 0)
|
if (itemStack2.stackSize == 0)
|
||||||
{
|
{
|
||||||
var3.putStack((ItemStack)null);
|
itemStack.putStack((ItemStack)null);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var3.onSlotChanged();
|
itemStack.onSlotChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var4.stackSize == var2.stackSize)
|
if (itemStack2.stackSize == itemStack3.stackSize)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
var3.onPickupFromSlot(var4);
|
itemStack.func_82870_a(par1EntityPlayer, itemStack2);
|
||||||
}
|
}
|
||||||
|
|
||||||
return var2;
|
return itemStack3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ import net.minecraft.src.ItemBlock;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.src.ItemStack;
|
||||||
import net.minecraft.src.MathHelper;
|
import net.minecraft.src.MathHelper;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.src.World;
|
||||||
import assemblyline.AssembleLine;
|
import assemblyline.AssemblyLine;
|
||||||
|
|
||||||
public class ItemMachine extends ItemBlock {
|
public class ItemMachine extends ItemBlock {
|
||||||
|
|
||||||
|
@ -19,11 +19,11 @@ public class ItemMachine extends ItemBlock {
|
||||||
this.setCreativeTab(CreativeTabs.tabRedstone);
|
this.setCreativeTab(CreativeTabs.tabRedstone);
|
||||||
}
|
}
|
||||||
private String[] names = new String[] {"Ejector", "ItemScooper", "FB","FB"};
|
private String[] names = new String[] {"Ejector", "ItemScooper", "FB","FB"};
|
||||||
int blockID = AssembleLine.machineID;
|
int blockID = AssemblyLine.machineID;
|
||||||
public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List)
|
public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List)
|
||||||
{
|
{
|
||||||
par3List.add(new ItemStack(AssembleLine.blockMachine,1,0));
|
par3List.add(new ItemStack(AssemblyLine.blockMachine,1,0));
|
||||||
par3List.add(new ItemStack(AssembleLine.blockMachine,1,4));
|
par3List.add(new ItemStack(AssemblyLine.blockMachine,1,4));
|
||||||
//par3List.add(new ItemStack(AssembleLine.blockMachine,1,8));
|
//par3List.add(new ItemStack(AssembleLine.blockMachine,1,8));
|
||||||
//par3List.add(new ItemStack(AssembleLine.blockMachine,1,12));
|
//par3List.add(new ItemStack(AssembleLine.blockMachine,1,12));
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ public class ItemMachine extends ItemBlock {
|
||||||
@Override
|
@Override
|
||||||
public int getBlockID()
|
public int getBlockID()
|
||||||
{
|
{
|
||||||
return AssembleLine.machineID;
|
return AssemblyLine.machineID;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
|
public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
|
||||||
|
|
|
@ -2,10 +2,13 @@ package assemblyline.interaction;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
||||||
import net.minecraft.src.AxisAlignedBB;
|
import net.minecraft.src.AxisAlignedBB;
|
||||||
import net.minecraft.src.Entity;
|
import net.minecraft.src.Entity;
|
||||||
import net.minecraft.src.EntityItem;
|
import net.minecraft.src.EntityItem;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.src.EntityPlayer;
|
||||||
|
import net.minecraft.src.INetworkManager;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.src.ItemStack;
|
||||||
import net.minecraft.src.NBTTagCompound;
|
import net.minecraft.src.NBTTagCompound;
|
||||||
import net.minecraft.src.Packet;
|
import net.minecraft.src.Packet;
|
||||||
|
@ -18,9 +21,6 @@ import universalelectricity.prefab.network.IPacketReceiver;
|
||||||
import universalelectricity.prefab.network.PacketManager;
|
import universalelectricity.prefab.network.PacketManager;
|
||||||
import assemblyline.TileEntityBase;
|
import assemblyline.TileEntityBase;
|
||||||
import assemblyline.belts.TileEntityConveyorBelt;
|
import assemblyline.belts.TileEntityConveyorBelt;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
|
||||||
|
|
||||||
import cpw.mods.fml.common.network.PacketDispatcher;
|
import cpw.mods.fml.common.network.PacketDispatcher;
|
||||||
|
|
||||||
public class TileEntityEjector extends TileEntityBase implements IElectricityReceiver, IPacketReceiver
|
public class TileEntityEjector extends TileEntityBase implements IElectricityReceiver, IPacketReceiver
|
||||||
|
@ -331,4 +331,40 @@ public class TileEntityEjector extends TileEntityBase implements IElectricityRec
|
||||||
this.wattsReceived += (amps * voltage);
|
this.wattsReceived += (amps * voltage);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDisable(int duration)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isDisabled()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canConnect(ForgeDirection side)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getVoltage()
|
||||||
|
{
|
||||||
|
return 120;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSizeInventory()
|
||||||
|
{
|
||||||
|
return 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handlePacketData(INetworkManager network, int packetType, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import net.minecraft.src.AxisAlignedBB;
|
||||||
import net.minecraft.src.EntityItem;
|
import net.minecraft.src.EntityItem;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.src.EntityPlayer;
|
||||||
import net.minecraft.src.IInventory;
|
import net.minecraft.src.IInventory;
|
||||||
|
import net.minecraft.src.INetworkManager;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.src.ItemStack;
|
||||||
import net.minecraft.src.NBTTagCompound;
|
import net.minecraft.src.NBTTagCompound;
|
||||||
import net.minecraft.src.NBTTagList;
|
import net.minecraft.src.NBTTagList;
|
||||||
|
@ -18,21 +19,26 @@ import universalelectricity.prefab.network.IPacketReceiver;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
||||||
public class TileEntityMachineInput extends TileEntityElectricityReceiver implements IPacketReceiver,IInventory {
|
public class TileEntityMachineInput extends TileEntityElectricityReceiver implements IPacketReceiver, IInventory
|
||||||
|
{
|
||||||
public float energyReq = .1f;
|
public float energyReq = .1f;
|
||||||
public float energyMax = 10f;
|
public float energyMax = 10f;
|
||||||
public float energyStor = 0f;
|
public float energyStor = 0f;
|
||||||
private ItemStack[] containingItems = new ItemStack[1];
|
private ItemStack[] containingItems = new ItemStack[1];
|
||||||
public ForgeDirection dir = ForgeDirection.DOWN;
|
public ForgeDirection dir = ForgeDirection.DOWN;
|
||||||
private int count = 0;
|
private int count = 0;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double wattRequest() {
|
public double wattRequest()
|
||||||
|
{
|
||||||
return energyMax - energyStor;
|
return energyMax - energyStor;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateEntity()
|
public void updateEntity()
|
||||||
{
|
{
|
||||||
if(count++ >=10){
|
if (count++ >= 10)
|
||||||
|
{
|
||||||
count = 0;
|
count = 0;
|
||||||
if (!isDisabled())
|
if (!isDisabled())
|
||||||
{
|
{
|
||||||
|
@ -46,7 +52,8 @@ public class TileEntityMachineInput extends TileEntityElectricityReceiver implem
|
||||||
List<EntityItem> itemsBehind = worldObj.getEntitiesWithinAABB(EntityItem.class, bounds);
|
List<EntityItem> itemsBehind = worldObj.getEntitiesWithinAABB(EntityItem.class, bounds);
|
||||||
ItemStack tItem = this.containingItems[0];
|
ItemStack tItem = this.containingItems[0];
|
||||||
if (itemsBehind.size() > 0 && this.energyStor > this.energyReq && bEnt instanceof IInventory)
|
if (itemsBehind.size() > 0 && this.energyStor > this.energyReq && bEnt instanceof IInventory)
|
||||||
{ energyStor -= energyReq;
|
{
|
||||||
|
energyStor -= energyReq;
|
||||||
|
|
||||||
for (EntityItem entity : itemsBehind)
|
for (EntityItem entity : itemsBehind)
|
||||||
{
|
{
|
||||||
|
@ -65,7 +72,8 @@ public class TileEntityMachineInput extends TileEntityElectricityReceiver implem
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(eStack != null && eStack.stackSize > 0){
|
if (eStack != null && eStack.stackSize > 0)
|
||||||
|
{
|
||||||
for (int i = 0; i < bEntChest.getSizeInventory(); i++)
|
for (int i = 0; i < bEntChest.getSizeInventory(); i++)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -76,8 +84,8 @@ public class TileEntityMachineInput extends TileEntityElectricityReceiver implem
|
||||||
entity.setDead();
|
entity.setDead();
|
||||||
eStack = null;
|
eStack = null;
|
||||||
break;
|
break;
|
||||||
}else
|
}
|
||||||
if(stack.getItem().equals(eStack.getItem()) && stack.getItemDamage() == eStack.getItemDamage())
|
else if (stack.getItem().equals(eStack.getItem()) && stack.getItemDamage() == eStack.getItemDamage())
|
||||||
{
|
{
|
||||||
int rej = Math.max((stack.stackSize + eStack.stackSize) - stack.getItem().getItemStackLimit(), 0);
|
int rej = Math.max((stack.stackSize + eStack.stackSize) - stack.getItem().getItemStackLimit(), 0);
|
||||||
stack.stackSize = Math.min(Math.max((stack.stackSize + eStack.stackSize - rej), 0), stack.getItem().getItemStackLimit());
|
stack.stackSize = Math.min(Math.max((stack.stackSize + eStack.stackSize - rej), 0), stack.getItem().getItemStackLimit());
|
||||||
|
@ -105,8 +113,8 @@ public class TileEntityMachineInput extends TileEntityElectricityReceiver implem
|
||||||
entity.setDead();
|
entity.setDead();
|
||||||
eStack = null;
|
eStack = null;
|
||||||
break;
|
break;
|
||||||
}else
|
}
|
||||||
if(stack.getItem().equals(eStack.getItem()) && stack.getItemDamage() == eStack.getItemDamage())
|
else if (stack.getItem().equals(eStack.getItem()) && stack.getItemDamage() == eStack.getItemDamage())
|
||||||
{
|
{
|
||||||
int rej = Math.max((stack.stackSize + eStack.stackSize) - stack.getItem().getItemStackLimit(), 0);
|
int rej = Math.max((stack.stackSize + eStack.stackSize) - stack.getItem().getItemStackLimit(), 0);
|
||||||
stack.stackSize = Math.min(Math.max((stack.stackSize + eStack.stackSize - rej), 0), stack.getItem().getItemStackLimit());
|
stack.stackSize = Math.min(Math.max((stack.stackSize + eStack.stackSize - rej), 0), stack.getItem().getItemStackLimit());
|
||||||
|
@ -120,24 +128,30 @@ public class TileEntityMachineInput extends TileEntityElectricityReceiver implem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}if(entity != null && eStack != null){
|
}
|
||||||
|
if (entity != null && eStack != null)
|
||||||
|
{
|
||||||
if (eStack != null && eStack.stackSize <= 0)
|
if (eStack != null && eStack.stackSize <= 0)
|
||||||
{
|
{
|
||||||
entity.setDead();
|
entity.setDead();
|
||||||
eStack = null;
|
eStack = null;
|
||||||
break;
|
break;
|
||||||
}else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
entity.setDead();
|
entity.setDead();
|
||||||
EntityItem var23 = new EntityItem(worldObj, entity.posX, entity.posY + 0.1D, entity.posZ, eStack);
|
EntityItem var23 = new EntityItem(worldObj, entity.posX, entity.posY + 0.1D, entity.posZ, eStack);
|
||||||
worldObj.spawnEntityInWorld(var23);
|
worldObj.spawnEntityInWorld(var23);
|
||||||
}}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}// end chest trade
|
}// end chest trade
|
||||||
//TODO setup for ISideInventory
|
// TODO setup for
|
||||||
|
// ISideInventory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}catch(Exception e)
|
}
|
||||||
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -145,6 +159,7 @@ public class TileEntityMachineInput extends TileEntityElectricityReceiver implem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getBeltDirection()
|
public int getBeltDirection()
|
||||||
{
|
{
|
||||||
int meta = worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord);
|
int meta = worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord);
|
||||||
|
@ -152,22 +167,26 @@ public class TileEntityMachineInput extends TileEntityElectricityReceiver implem
|
||||||
{
|
{
|
||||||
switch (meta)
|
switch (meta)
|
||||||
{
|
{
|
||||||
case 4: return 2;
|
case 4:
|
||||||
case 5: return 5;
|
return 2;
|
||||||
case 6: return 3;
|
case 5:
|
||||||
case 7: return 4;
|
return 5;
|
||||||
|
case 6:
|
||||||
|
return 3;
|
||||||
|
case 7:
|
||||||
|
return 4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canReceiveFromSide(ForgeDirection side) {
|
public boolean canReceiveFromSide(ForgeDirection side)
|
||||||
if(side == dir ||side == dir.getOpposite())
|
|
||||||
{
|
{
|
||||||
return false;
|
if (side == dir || side == dir.getOpposite()) { return false; }
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readFromNBT(NBTTagCompound par1NBTTagCompound)
|
public void readFromNBT(NBTTagCompound par1NBTTagCompound)
|
||||||
{
|
{
|
||||||
|
@ -186,6 +205,7 @@ public class TileEntityMachineInput extends TileEntityElectricityReceiver implem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes a tile entity to NBT.
|
* Writes a tile entity to NBT.
|
||||||
*/
|
*/
|
||||||
|
@ -208,16 +228,19 @@ public class TileEntityMachineInput extends TileEntityElectricityReceiver implem
|
||||||
|
|
||||||
par1NBTTagCompound.setTag("Items", var2);
|
par1NBTTagCompound.setTag("Items", var2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getSizeInventory()
|
public int getSizeInventory()
|
||||||
{
|
{
|
||||||
return this.containingItems.length;
|
return this.containingItems.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack getStackInSlot(int par1)
|
public ItemStack getStackInSlot(int par1)
|
||||||
{
|
{
|
||||||
return this.containingItems[par1];
|
return this.containingItems[par1];
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack decrStackSize(int par1, int par2)
|
public ItemStack decrStackSize(int par1, int par2)
|
||||||
{
|
{
|
||||||
|
@ -248,6 +271,7 @@ public class TileEntityMachineInput extends TileEntityElectricityReceiver implem
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack getStackInSlotOnClosing(int par1)
|
public ItemStack getStackInSlotOnClosing(int par1)
|
||||||
{
|
{
|
||||||
|
@ -262,6 +286,7 @@ public class TileEntityMachineInput extends TileEntityElectricityReceiver implem
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setInventorySlotContents(int par1, ItemStack par2ItemStack)
|
public void setInventorySlotContents(int par1, ItemStack par2ItemStack)
|
||||||
{
|
{
|
||||||
|
@ -272,36 +297,46 @@ public class TileEntityMachineInput extends TileEntityElectricityReceiver implem
|
||||||
par2ItemStack.stackSize = this.getInventoryStackLimit();
|
par2ItemStack.stackSize = this.getInventoryStackLimit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getInvName()
|
public String getInvName()
|
||||||
{
|
{
|
||||||
return "Ejector";
|
return "Ejector";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getInventoryStackLimit()
|
public int getInventoryStackLimit()
|
||||||
{
|
{
|
||||||
// TODO change
|
// TODO change
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer)
|
public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer)
|
||||||
{
|
{
|
||||||
return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq(this.xCoord + 0.5D, this.yCoord + 0.5D, this.zCoord + 0.5D) <= 64.0D;
|
return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq(this.xCoord + 0.5D, this.yCoord + 0.5D, this.zCoord + 0.5D) <= 64.0D;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void openChest() { }
|
public void openChest()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void closeChest() { }
|
public void closeChest()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
@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.energyStor += (amps * voltage);
|
this.energyStor += (amps * voltage);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handlePacketData(NetworkManager network, int packetType,
|
public void handlePacketData(INetworkManager network, int packetType, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
|
||||||
Packet250CustomPayload packet, EntityPlayer player,
|
{
|
||||||
ByteArrayDataInput dataStream) {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
32
src/minecraft/assemblyline/ALClientProxy.java
Normal file
32
src/minecraft/assemblyline/ALClientProxy.java
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
package assemblyline;
|
||||||
|
|
||||||
|
import net.minecraftforge.client.MinecraftForgeClient;
|
||||||
|
import assemblyline.AssemblyLine;
|
||||||
|
import assemblyline.ALCommonProxy;
|
||||||
|
import assemblyline.belts.TileEntityConveyorBelt;
|
||||||
|
import assemblyline.interaction.TileEntityEjector;
|
||||||
|
import assemblyline.interaction.TileEntityMachineInput;
|
||||||
|
import assemblyline.render.BeltRenderHelper;
|
||||||
|
import assemblyline.render.RenderBeltMain;
|
||||||
|
import assemblyline.render.RenderMachineBelt;
|
||||||
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||||
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||||
|
|
||||||
|
public class ALClientProxy extends ALCommonProxy
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void preInit()
|
||||||
|
{
|
||||||
|
MinecraftForgeClient.preloadTexture(AssemblyLine.TEXTURE_PATH+"/Items.png");
|
||||||
|
RenderingRegistry.registerBlockHandler(new BeltRenderHelper());
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void init()
|
||||||
|
{
|
||||||
|
//ClientRegistry.registerTileEntity(TileEntityConveyorBelt.class, "belt", new RenderConveyorBelt());
|
||||||
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConveyorBelt.class, new RenderBeltMain());
|
||||||
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityEjector.class,new RenderEjector());
|
||||||
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineInput.class,new RenderMachineBelt());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
108
src/minecraft/assemblyline/ModelDropBox.java
Normal file
108
src/minecraft/assemblyline/ModelDropBox.java
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
package assemblyline;
|
||||||
|
|
||||||
|
import net.minecraft.src.Entity;
|
||||||
|
import net.minecraft.src.ModelBase;
|
||||||
|
import net.minecraft.src.ModelRenderer;
|
||||||
|
|
||||||
|
public class ModelDropBox extends ModelBase
|
||||||
|
{
|
||||||
|
// fields
|
||||||
|
ModelRenderer Left;
|
||||||
|
ModelRenderer Top;
|
||||||
|
ModelRenderer Front;
|
||||||
|
ModelRenderer LeftB;
|
||||||
|
ModelRenderer Back;
|
||||||
|
ModelRenderer Right;
|
||||||
|
ModelRenderer RightB;
|
||||||
|
ModelRenderer Bottom;
|
||||||
|
ModelRenderer Back3;
|
||||||
|
ModelRenderer Back2;
|
||||||
|
|
||||||
|
public ModelDropBox()
|
||||||
|
{
|
||||||
|
textureWidth = 128;
|
||||||
|
textureHeight = 128;
|
||||||
|
|
||||||
|
Left = new ModelRenderer(this, 33, 43);
|
||||||
|
Left.addBox(7F, -10F, -8F, 1, 7, 15);
|
||||||
|
Left.setRotationPoint(0F, 19F, 0F);
|
||||||
|
Left.setTextureSize(128, 128);
|
||||||
|
Left.mirror = true;
|
||||||
|
setRotation(Left, 0F, 0F, 0F);
|
||||||
|
Top = new ModelRenderer(this, 0, 65);
|
||||||
|
Top.addBox(-7F, -11F, -7F, 14, 1, 14);
|
||||||
|
Top.setRotationPoint(0F, 19F, 0F);
|
||||||
|
Top.setTextureSize(128, 128);
|
||||||
|
Top.mirror = true;
|
||||||
|
setRotation(Top, 0F, 0F, 0F);
|
||||||
|
Front = new ModelRenderer(this, 0, 33);
|
||||||
|
Front.addBox(-8F, -4F, -7.5F, 16, 5, 1);
|
||||||
|
Front.setRotationPoint(0F, 19F, 0F);
|
||||||
|
Front.setTextureSize(128, 128);
|
||||||
|
Front.mirror = true;
|
||||||
|
setRotation(Front, 0.5235988F, 0F, 0F);
|
||||||
|
LeftB = new ModelRenderer(this, 36, 21);
|
||||||
|
LeftB.addBox(7F, -3F, -6F, 1, 8, 13);
|
||||||
|
LeftB.setRotationPoint(0F, 19F, 0F);
|
||||||
|
LeftB.setTextureSize(128, 128);
|
||||||
|
LeftB.mirror = true;
|
||||||
|
setRotation(LeftB, 0F, 0F, 0F);
|
||||||
|
Back = new ModelRenderer(this, 0, 96);
|
||||||
|
Back.addBox(-5F, -8F, 4F, 10, 10, 4);
|
||||||
|
Back.setRotationPoint(0F, 19F, 0F);
|
||||||
|
Back.setTextureSize(128, 128);
|
||||||
|
Back.mirror = true;
|
||||||
|
setRotation(Back, 0F, 0F, 0F);
|
||||||
|
Right = new ModelRenderer(this, 0, 42);
|
||||||
|
Right.addBox(-8F, -10F, -8F, 1, 7, 15);
|
||||||
|
Right.setRotationPoint(0F, 19F, 0F);
|
||||||
|
Right.setTextureSize(128, 128);
|
||||||
|
Right.mirror = true;
|
||||||
|
setRotation(Right, 0F, 0F, 0F);
|
||||||
|
RightB = new ModelRenderer(this, 36, 0);
|
||||||
|
RightB.addBox(-8F, -3F, -6F, 1, 8, 13);
|
||||||
|
RightB.setRotationPoint(0F, 19F, 0F);
|
||||||
|
RightB.setTextureSize(128, 128);
|
||||||
|
RightB.mirror = true;
|
||||||
|
setRotation(RightB, 0F, 0F, 0F);
|
||||||
|
Bottom = new ModelRenderer(this, 0, 81);
|
||||||
|
Bottom.addBox(-7F, 4F, -6F, 14, 1, 13);
|
||||||
|
Bottom.setRotationPoint(0F, 19F, 0F);
|
||||||
|
Bottom.setTextureSize(128, 128);
|
||||||
|
Bottom.mirror = true;
|
||||||
|
setRotation(Bottom, 0F, 0F, 0F);
|
||||||
|
Back3 = new ModelRenderer(this, 0, 23);
|
||||||
|
Back3.addBox(-7F, -10F, -9F, 14, 8, 1);
|
||||||
|
Back3.setRotationPoint(0F, 19F, 0F);
|
||||||
|
Back3.setTextureSize(128, 128);
|
||||||
|
Back3.mirror = true;
|
||||||
|
setRotation(Back3, -0.1919862F, 0F, 0F);
|
||||||
|
Back2 = new ModelRenderer(this, 0, 7);
|
||||||
|
Back2.addBox(-7F, -10F, 3F, 14, 14, 1);
|
||||||
|
Back2.setRotationPoint(0F, 19F, 0F);
|
||||||
|
Back2.setTextureSize(128, 128);
|
||||||
|
Back2.mirror = true;
|
||||||
|
setRotation(Back2, 0F, 0F, 0F);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(float f5)
|
||||||
|
{
|
||||||
|
Left.render(f5);
|
||||||
|
Top.render(f5);
|
||||||
|
Front.render(f5);
|
||||||
|
LeftB.render(f5);
|
||||||
|
Back.render(f5);
|
||||||
|
Right.render(f5);
|
||||||
|
RightB.render(f5);
|
||||||
|
Bottom.render(f5);
|
||||||
|
Back.render(f5);
|
||||||
|
Back.render(f5);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setRotation(ModelRenderer model, float x, float y, float z)
|
||||||
|
{
|
||||||
|
model.rotateAngleX = x;
|
||||||
|
model.rotateAngleY = y;
|
||||||
|
model.rotateAngleZ = z;
|
||||||
|
}
|
||||||
|
}
|
120
src/minecraft/assemblyline/ModelEjector.java
Normal file
120
src/minecraft/assemblyline/ModelEjector.java
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
// Date: 9/8/2012 7:10:46 PM
|
||||||
|
// Template version 1.1
|
||||||
|
// Java generated by Techne
|
||||||
|
// Keep in mind that you still need to fill in some blanks
|
||||||
|
// - ZeuX
|
||||||
|
|
||||||
|
package assemblyline;
|
||||||
|
|
||||||
|
import net.minecraft.src.Entity;
|
||||||
|
import net.minecraft.src.ModelBase;
|
||||||
|
import net.minecraft.src.ModelRenderer;
|
||||||
|
|
||||||
|
public class ModelEjector extends ModelBase
|
||||||
|
{
|
||||||
|
// fields
|
||||||
|
ModelRenderer Base;
|
||||||
|
ModelRenderer Case;
|
||||||
|
ModelRenderer Piston;
|
||||||
|
ModelRenderer H1;
|
||||||
|
ModelRenderer H2;
|
||||||
|
ModelRenderer Top;
|
||||||
|
ModelRenderer Case2;
|
||||||
|
ModelRenderer H3;
|
||||||
|
ModelRenderer PistonShaft;
|
||||||
|
ModelRenderer PistonFace;
|
||||||
|
|
||||||
|
public ModelEjector()
|
||||||
|
{
|
||||||
|
textureWidth = 128;
|
||||||
|
textureHeight = 128;
|
||||||
|
|
||||||
|
Base = new ModelRenderer(this, 64, 0);
|
||||||
|
Base.addBox(-8F, 0F, -8F, 16, 4, 16);
|
||||||
|
Base.setRotationPoint(0F, 20F, 0F);
|
||||||
|
Base.setTextureSize(64, 32);
|
||||||
|
Base.mirror = true;
|
||||||
|
setRotation(Base, 0F, 0F, 0F);
|
||||||
|
Case = new ModelRenderer(this, 0, 38);
|
||||||
|
Case.addBox(-2F, 0F, 0F, 4, 8, 13);
|
||||||
|
Case.setRotationPoint(-5F, 12F, -6F);
|
||||||
|
Case.setTextureSize(64, 32);
|
||||||
|
Case.mirror = true;
|
||||||
|
setRotation(Case, 0F, 0F, 0F);
|
||||||
|
Piston = new ModelRenderer(this, 0, 22);
|
||||||
|
Piston.addBox(-2F, 0F, 0F, 4, 4, 10);
|
||||||
|
Piston.setRotationPoint(0F, 15F, -5F);
|
||||||
|
Piston.setTextureSize(64, 32);
|
||||||
|
Piston.mirror = true;
|
||||||
|
setRotation(Piston, 0F, 0F, 0F);
|
||||||
|
H1 = new ModelRenderer(this, 29, 23);
|
||||||
|
H1.addBox(-2F, 0F, 0F, 2, 1, 8);
|
||||||
|
H1.setRotationPoint(1F, 19F, -4F);
|
||||||
|
H1.setTextureSize(64, 32);
|
||||||
|
H1.mirror = true;
|
||||||
|
setRotation(H1, 0F, 0F, 0F);
|
||||||
|
H2 = new ModelRenderer(this, 54, 23);
|
||||||
|
H2.addBox(-2F, 0F, 0F, 1, 2, 8);
|
||||||
|
H2.setRotationPoint(-1F, 16F, -4F);
|
||||||
|
H2.setTextureSize(64, 32);
|
||||||
|
H2.mirror = true;
|
||||||
|
setRotation(H2, 0F, 0F, 0F);
|
||||||
|
Top = new ModelRenderer(this, 0, 0);
|
||||||
|
Top.addBox(-8F, 0F, -8F, 16, 4, 16);
|
||||||
|
Top.setRotationPoint(0F, 8F, 0F);
|
||||||
|
Top.setTextureSize(64, 32);
|
||||||
|
Top.mirror = true;
|
||||||
|
setRotation(Top, 0F, 0F, 0F);
|
||||||
|
Case2 = new ModelRenderer(this, 0, 38);
|
||||||
|
Case2.addBox(-2F, 0F, 0F, 4, 8, 13);
|
||||||
|
Case2.setRotationPoint(5F, 12F, -6F);
|
||||||
|
Case2.setTextureSize(64, 32);
|
||||||
|
Case2.mirror = true;
|
||||||
|
setRotation(Case2, 0F, 0F, 0F);
|
||||||
|
H3 = new ModelRenderer(this, 54, 23);
|
||||||
|
H3.addBox(-2F, 0F, 0F, 1, 2, 8);
|
||||||
|
H3.setRotationPoint(4F, 16F, -4F);
|
||||||
|
H3.setTextureSize(64, 32);
|
||||||
|
H3.mirror = true;
|
||||||
|
setRotation(H3, 0F, 0F, 0F);
|
||||||
|
PistonShaft = new ModelRenderer(this, 0, 67);
|
||||||
|
PistonShaft.addBox(-1F, -1F, 0F, 2, 2, 10);
|
||||||
|
PistonShaft.setRotationPoint(0F, 17F, -6F);
|
||||||
|
PistonShaft.setTextureSize(64, 32);
|
||||||
|
PistonShaft.mirror = true;
|
||||||
|
setRotation(PistonShaft, 0F, 0F, 0F);
|
||||||
|
PistonFace = new ModelRenderer(this, 0, 62);
|
||||||
|
PistonFace.addBox(-3F, -1F, -1F, 6, 2, 1);
|
||||||
|
PistonFace.setRotationPoint(0F, 17F, -6F);
|
||||||
|
PistonFace.setTextureSize(64, 32);
|
||||||
|
PistonFace.mirror = true;
|
||||||
|
setRotation(PistonFace, 0F, 0F, 0F);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void renderMain(float f5)
|
||||||
|
{
|
||||||
|
Base.render(f5);
|
||||||
|
Case.render(f5);
|
||||||
|
H1.render(f5);
|
||||||
|
H2.render(f5);
|
||||||
|
Top.render(f5);
|
||||||
|
Case2.render(f5);
|
||||||
|
H3.render(f5);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void renderPiston(float f5, int pos)
|
||||||
|
{
|
||||||
|
Piston.render(f5);
|
||||||
|
PistonShaft.setRotationPoint(0F, 17F, -6F - pos);
|
||||||
|
PistonFace.setRotationPoint(0F, 17F, -6F - pos);
|
||||||
|
PistonShaft.render(f5);
|
||||||
|
PistonFace.render(f5);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setRotation(ModelRenderer model, float x, float y, float z)
|
||||||
|
{
|
||||||
|
model.rotateAngleX = x;
|
||||||
|
model.rotateAngleY = y;
|
||||||
|
model.rotateAngleZ = z;
|
||||||
|
}
|
||||||
|
}
|
38
src/minecraft/assemblyline/RenderDropBox.java
Normal file
38
src/minecraft/assemblyline/RenderDropBox.java
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
package assemblyline;
|
||||||
|
|
||||||
|
import net.minecraft.src.TileEntity;
|
||||||
|
import net.minecraft.src.TileEntitySpecialRenderer;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import assemblyline.interaction.TileEntityMachineInput;
|
||||||
|
|
||||||
|
public class RenderDropBox extends TileEntitySpecialRenderer
|
||||||
|
{
|
||||||
|
private ModelDropBox model = new ModelDropBox();
|
||||||
|
|
||||||
|
public void renderAModelAt(TileEntity tileEntity, double x, double y, double z, float f)
|
||||||
|
{
|
||||||
|
|
||||||
|
int face = tileEntity.worldObj.getBlockMetadata(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord);
|
||||||
|
int pos = 0;
|
||||||
|
bindTextureByName("/textures/DropBox.png");
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
|
||||||
|
GL11.glScalef(1.0F, -1F, -1F);
|
||||||
|
if(face==4){ GL11.glRotatef(180f, 0f, 1f, 0f);}
|
||||||
|
if(face==6){ GL11.glRotatef(0f, 0f, 1f, 0f);}
|
||||||
|
if(face==5){ GL11.glRotatef(270f, 0f, 1f, 0f);}
|
||||||
|
if(face==7){ GL11.glRotatef(90f, 0f, 1f, 0f);}
|
||||||
|
model.render(0.0625F);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderTileEntityAt(TileEntity tileEntity, double var2, double var4, double var6, float var8)
|
||||||
|
{
|
||||||
|
this.renderAModelAt((TileEntityMachineInput)tileEntity, var2, var4, var6, var8);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
40
src/minecraft/assemblyline/RenderEjector.java
Normal file
40
src/minecraft/assemblyline/RenderEjector.java
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
package assemblyline;
|
||||||
|
|
||||||
|
import net.minecraft.src.TileEntity;
|
||||||
|
import net.minecraft.src.TileEntitySpecialRenderer;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import assemblyline.interaction.TileEntityEjector;
|
||||||
|
|
||||||
|
public class RenderEjector extends TileEntitySpecialRenderer
|
||||||
|
{
|
||||||
|
private ModelEjector model = new ModelEjector();
|
||||||
|
|
||||||
|
public void renderAModelAt(TileEntityEjector tileEntity, double x, double y, double z, float f)
|
||||||
|
{
|
||||||
|
boolean fire = tileEntity.firePiston;
|
||||||
|
int face = tileEntity.getDirection(tileEntity.worldObj.getBlockMetadata(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord));
|
||||||
|
int pos = 0;
|
||||||
|
if(fire){pos = 8;}
|
||||||
|
bindTextureByName("/textures/Ejector.png");
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
|
||||||
|
GL11.glScalef(1.0F, -1F, -1F);
|
||||||
|
if(face==2){ GL11.glRotatef(180f, 0f, 1f, 0f);}
|
||||||
|
if(face==3){ GL11.glRotatef(0f, 0f, 1f, 0f);}
|
||||||
|
if(face==4){ GL11.glRotatef(90f, 0f, 1f, 0f);}
|
||||||
|
if(face==5){ GL11.glRotatef(270f, 0f, 1f, 0f);}
|
||||||
|
model.renderMain(0.0625F);
|
||||||
|
model.renderPiston(0.0625F, pos);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderTileEntityAt(TileEntity tileEntity, double var2, double var4, double var6, float var8)
|
||||||
|
{
|
||||||
|
this.renderAModelAt((TileEntityEjector)tileEntity, var2, var4, var6, var8);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
46
src/minecraft/assemblyline/gui/GuiCrafting.java
Normal file
46
src/minecraft/assemblyline/gui/GuiCrafting.java
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
package assemblyline.gui;
|
||||||
|
|
||||||
|
import net.minecraft.src.ContainerWorkbench;
|
||||||
|
import net.minecraft.src.GuiContainer;
|
||||||
|
import net.minecraft.src.InventoryPlayer;
|
||||||
|
import net.minecraft.src.StatCollector;
|
||||||
|
import net.minecraft.src.World;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.Side;
|
||||||
|
import cpw.mods.fml.common.asm.SideOnly;
|
||||||
|
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public class GuiCrafting extends GuiContainer
|
||||||
|
{
|
||||||
|
public GuiCrafting(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5)
|
||||||
|
{
|
||||||
|
super(new ContainerWorkbench(par1InventoryPlayer, par2World, par3, par4, par5));
|
||||||
|
//TODO on opening if the user is not the owner they can see the crafting recipes but if
|
||||||
|
//the machine is locked they can't do anything with it
|
||||||
|
//Also the need to add a locking button can only be activate by the owner
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draw the foreground layer for the GuiContainer (everything in front of the items)
|
||||||
|
*/
|
||||||
|
protected void drawGuiContainerForegroundLayer()
|
||||||
|
{
|
||||||
|
this.fontRenderer.drawString(StatCollector.translateToLocal("AutoCrafter"), 28, 6, 4210752);
|
||||||
|
this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draw the background layer for the GuiContainer (everything behind the items)
|
||||||
|
*/
|
||||||
|
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
|
||||||
|
{
|
||||||
|
int var4 = this.mc.renderEngine.getTexture("/gui/crafting.png");
|
||||||
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
|
this.mc.renderEngine.bindTexture(var4);
|
||||||
|
int var5 = (this.width - this.xSize) / 2;
|
||||||
|
int var6 = (this.height - this.ySize) / 2;
|
||||||
|
this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize);
|
||||||
|
}
|
||||||
|
}
|
53
src/minecraft/assemblyline/gui/GuiEjectorSettings.java
Normal file
53
src/minecraft/assemblyline/gui/GuiEjectorSettings.java
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
package assemblyline.gui;
|
||||||
|
|
||||||
|
import net.minecraft.src.GuiContainer;
|
||||||
|
import net.minecraft.src.InventoryPlayer;
|
||||||
|
import net.minecraft.src.StatCollector;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import assemblyline.AssemblyLine;
|
||||||
|
import assemblyline.interaction.ContainerEjector;
|
||||||
|
import assemblyline.interaction.TileEntityEjector;
|
||||||
|
|
||||||
|
public class GuiEjectorSettings extends GuiContainer
|
||||||
|
{
|
||||||
|
private TileEntityEjector tileEntity;
|
||||||
|
|
||||||
|
private int containerWidth;
|
||||||
|
private int containerHeight;
|
||||||
|
|
||||||
|
public GuiEjectorSettings(InventoryPlayer par1InventoryPlayer, TileEntityEjector tileEntity)
|
||||||
|
{
|
||||||
|
super(new ContainerEjector(par1InventoryPlayer, tileEntity));
|
||||||
|
this.tileEntity = tileEntity;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draw the foreground layer for the
|
||||||
|
* GuiContainer (everything in front of the
|
||||||
|
* items)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void drawGuiContainerForegroundLayer(int par1, int par2)
|
||||||
|
{
|
||||||
|
this.fontRenderer.drawString("Ejector Settings", 55, 6, 4210752);
|
||||||
|
this.fontRenderer.drawString("Voltage: " + (int) this.tileEntity.getVoltage(), 95, 60, 4210752);
|
||||||
|
this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draw the background layer for the
|
||||||
|
* GuiContainer (everything behind the items)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
|
||||||
|
{
|
||||||
|
int var4 = this.mc.renderEngine.getTexture(AssemblyLine.TEXTURE_PATH + "/GuiEjector.png");
|
||||||
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
|
this.mc.renderEngine.bindTexture(var4);
|
||||||
|
containerWidth = (this.width - this.xSize) / 2;
|
||||||
|
containerHeight = (this.height - this.ySize) / 2;
|
||||||
|
this.drawTexturedModalRect(containerWidth, containerHeight, 0, 0, this.xSize, this.ySize);
|
||||||
|
}
|
||||||
|
}
|
60
src/minecraft/assemblyline/render/BeltRenderHelper.java
Normal file
60
src/minecraft/assemblyline/render/BeltRenderHelper.java
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
package assemblyline.render;
|
||||||
|
|
||||||
|
import net.minecraft.src.Block;
|
||||||
|
import net.minecraft.src.IBlockAccess;
|
||||||
|
import net.minecraft.src.RenderBlocks;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import assemblyline.AssemblyLine;
|
||||||
|
import assemblyline.ModelEjector;
|
||||||
|
import assemblyline.belts.TileEntityConveyorBelt;
|
||||||
|
import cpw.mods.fml.client.FMLClientHandler;
|
||||||
|
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||||
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||||
|
|
||||||
|
public class BeltRenderHelper implements ISimpleBlockRenderingHandler {
|
||||||
|
public static BeltRenderHelper instance = new BeltRenderHelper();
|
||||||
|
public static int blockRenderId = RenderingRegistry.getNextAvailableRenderId();
|
||||||
|
private static TileEntityConveyorBelt belt = null;
|
||||||
|
private ModelConveyorBelt modelBelt = new ModelConveyorBelt();
|
||||||
|
private ModelEjector modelEj = new ModelEjector();
|
||||||
|
@Override
|
||||||
|
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
|
||||||
|
if(block.blockID == assemblyline.AssemblyLine.beltBlockID)
|
||||||
|
{
|
||||||
|
//TileEntityRenderer.instance.renderTileEntityAt(belt, -0.5D, 0.0D, -0.5D, 0.0F);
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslatef((float) 0.0F, (float)1.5F, (float)0.0F);
|
||||||
|
GL11.glRotatef(180f, 0f, 0f, 1f);
|
||||||
|
GL11.glBindTexture(GL11.GL_TEXTURE_2D, FMLClientHandler.instance().getClient().renderEngine.getTexture("/textures/BeltTexture.png"));
|
||||||
|
//bindTextureByName("/textures/BeltSingle.png");
|
||||||
|
modelBelt.render(0.0625F,0, false,false,false);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
if(block.blockID == assemblyline.AssemblyLine.machineID && metadata == 0)
|
||||||
|
{
|
||||||
|
GL11.glBindTexture(GL11.GL_TEXTURE_2D, FMLClientHandler.instance().getClient().renderEngine.getTexture("/textures/Ejector.png"));
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslatef((float) 0.6F, (float)1.5F, (float)0.6F);
|
||||||
|
GL11.glRotatef(180f, 0f, 0f, 1f);
|
||||||
|
GL11.glRotatef(-90f, 0f, 1f, 0f);
|
||||||
|
modelEj.renderMain(0.0625F);
|
||||||
|
modelEj.renderPiston(0.0625F, 1);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean shouldRender3DInInventory() {
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getRenderId()
|
||||||
|
{
|
||||||
|
return blockRenderId;
|
||||||
|
}
|
||||||
|
}
|
239
src/minecraft/assemblyline/render/ModelConveyorBelt.java
Normal file
239
src/minecraft/assemblyline/render/ModelConveyorBelt.java
Normal file
|
@ -0,0 +1,239 @@
|
||||||
|
package assemblyline.render;
|
||||||
|
|
||||||
|
import net.minecraft.src.Entity;
|
||||||
|
import net.minecraft.src.ModelBase;
|
||||||
|
import net.minecraft.src.ModelRenderer;
|
||||||
|
|
||||||
|
public class ModelConveyorBelt extends ModelBase
|
||||||
|
{
|
||||||
|
// fields
|
||||||
|
ModelRenderer bBELTLong;
|
||||||
|
ModelRenderer FBELT;
|
||||||
|
ModelRenderer BacBELT;
|
||||||
|
ModelRenderer BBelt;
|
||||||
|
ModelRenderer FRL;
|
||||||
|
ModelRenderer MRL;
|
||||||
|
ModelRenderer FLL;
|
||||||
|
ModelRenderer BLL;
|
||||||
|
ModelRenderer MRoller;
|
||||||
|
ModelRenderer BRoller;
|
||||||
|
ModelRenderer tBELT;
|
||||||
|
ModelRenderer FRoller;
|
||||||
|
ModelRenderer BRL;
|
||||||
|
ModelRenderer BML;
|
||||||
|
ModelRenderer tBELTLong;
|
||||||
|
ModelRenderer tBELT15;
|
||||||
|
ModelRenderer bBELT15;
|
||||||
|
ModelRenderer c4;
|
||||||
|
ModelRenderer c3;
|
||||||
|
ModelRenderer c2;
|
||||||
|
ModelRenderer c1;
|
||||||
|
|
||||||
|
public ModelConveyorBelt()
|
||||||
|
{
|
||||||
|
textureWidth = 128;
|
||||||
|
textureHeight = 128;
|
||||||
|
|
||||||
|
bBELTLong = new ModelRenderer(this, 0, 66);
|
||||||
|
bBELTLong.addBox(0F, 0F, 0F, 14, 1, 16);
|
||||||
|
bBELTLong.setRotationPoint(-7F, 22F, -8F);
|
||||||
|
bBELTLong.setTextureSize(128, 128);
|
||||||
|
bBELTLong.mirror = true;
|
||||||
|
setRotation(bBELTLong, 0F, 0F, 0F);
|
||||||
|
FBELT = new ModelRenderer(this, 0, 16);
|
||||||
|
FBELT.addBox(0F, 0F, 0F, 14, 2, 1);
|
||||||
|
FBELT.setRotationPoint(-7F, 20F, -8F);
|
||||||
|
FBELT.setTextureSize(128, 128);
|
||||||
|
FBELT.mirror = true;
|
||||||
|
setRotation(FBELT, 0F, 0F, 0F);
|
||||||
|
BacBELT = new ModelRenderer(this, 0, 16);
|
||||||
|
BacBELT.addBox(0F, 0F, 0F, 14, 2, 1);
|
||||||
|
BacBELT.setRotationPoint(-7F, 20F, 7F);
|
||||||
|
BacBELT.setTextureSize(128, 128);
|
||||||
|
BacBELT.mirror = true;
|
||||||
|
setRotation(BacBELT, 0F, 0F, 0F);
|
||||||
|
BBelt = new ModelRenderer(this, 0, 31);
|
||||||
|
BBelt.addBox(0F, 0F, 0F, 14, 1, 14);
|
||||||
|
BBelt.setRotationPoint(-7F, 22F, -7F);
|
||||||
|
BBelt.setTextureSize(128, 128);
|
||||||
|
BBelt.mirror = true;
|
||||||
|
setRotation(BBelt, 0F, 0F, 0F);
|
||||||
|
FRL = new ModelRenderer(this, 0, 20);
|
||||||
|
FRL.addBox(0F, 0F, 0F, 1, 3, 2);
|
||||||
|
FRL.setRotationPoint(-8F, 21F, -6F);
|
||||||
|
FRL.setTextureSize(128, 128);
|
||||||
|
FRL.mirror = true;
|
||||||
|
setRotation(FRL, 0F, 0F, 0F);
|
||||||
|
MRL = new ModelRenderer(this, 0, 20);
|
||||||
|
MRL.addBox(0F, 0F, 0F, 1, 3, 2);
|
||||||
|
MRL.setRotationPoint(-8F, 21F, -1F);
|
||||||
|
MRL.setTextureSize(128, 128);
|
||||||
|
MRL.mirror = true;
|
||||||
|
setRotation(MRL, 0F, 0F, 0F);
|
||||||
|
FLL = new ModelRenderer(this, 0, 20);
|
||||||
|
FLL.addBox(0F, 0F, 0F, 1, 3, 2);
|
||||||
|
FLL.setRotationPoint(7F, 21F, -6F);
|
||||||
|
FLL.setTextureSize(128, 128);
|
||||||
|
FLL.mirror = true;
|
||||||
|
setRotation(FLL, 0F, 0F, 0F);
|
||||||
|
BLL = new ModelRenderer(this, 0, 20);
|
||||||
|
BLL.addBox(0F, 0F, 0F, 1, 3, 2);
|
||||||
|
BLL.setRotationPoint(7F, 21F, 4F);
|
||||||
|
BLL.setTextureSize(128, 128);
|
||||||
|
BLL.mirror = true;
|
||||||
|
setRotation(BLL, 0F, 0F, 0F);
|
||||||
|
MRoller = new ModelRenderer(this, 0, 26);
|
||||||
|
MRoller.addBox(-7F, -1F, -1F, 14, 2, 2);
|
||||||
|
MRoller.setRotationPoint(0F, 21F, 0F);
|
||||||
|
MRoller.setTextureSize(128, 128);
|
||||||
|
MRoller.mirror = true;
|
||||||
|
setRotation(MRoller, 0F, 0F, 0F);
|
||||||
|
BRoller = new ModelRenderer(this, 0, 26);
|
||||||
|
BRoller.addBox(-7F, -1F, -1F, 14, 2, 2);
|
||||||
|
BRoller.setRotationPoint(0F, 21F, 5F);
|
||||||
|
BRoller.setTextureSize(128, 128);
|
||||||
|
BRoller.mirror = true;
|
||||||
|
setRotation(BRoller, 0F, 0F, 0F);
|
||||||
|
tBELT = new ModelRenderer(this, 0, 0);
|
||||||
|
tBELT.addBox(0F, 0F, 0F, 14, 1, 14);
|
||||||
|
tBELT.setRotationPoint(-7F, 19F, -7F);
|
||||||
|
tBELT.setTextureSize(128, 128);
|
||||||
|
tBELT.mirror = true;
|
||||||
|
setRotation(tBELT, 0F, 0F, 0F);
|
||||||
|
FRoller = new ModelRenderer(this, 0, 26);
|
||||||
|
FRoller.addBox(-7F, -1F, -1F, 14, 2, 2);
|
||||||
|
FRoller.setRotationPoint(0F, 21F, -5F);
|
||||||
|
FRoller.setTextureSize(128, 128);
|
||||||
|
FRoller.mirror = true;
|
||||||
|
setRotation(FRoller, 0F, 0F, 0F);
|
||||||
|
BRL = new ModelRenderer(this, 0, 20);
|
||||||
|
BRL.addBox(0F, 0F, 0F, 1, 3, 2);
|
||||||
|
BRL.setRotationPoint(-8F, 21F, 4F);
|
||||||
|
BRL.setTextureSize(128, 128);
|
||||||
|
BRL.mirror = true;
|
||||||
|
setRotation(BRL, 0F, 0F, 0F);
|
||||||
|
BML = new ModelRenderer(this, 0, 20);
|
||||||
|
BML.addBox(0F, 0F, 0F, 1, 3, 2);
|
||||||
|
BML.setRotationPoint(7F, 21F, -1F);
|
||||||
|
BML.setTextureSize(128, 128);
|
||||||
|
BML.mirror = true;
|
||||||
|
setRotation(BML, 0F, 0F, 0F);
|
||||||
|
tBELTLong = new ModelRenderer(this, 0, 48);
|
||||||
|
tBELTLong.addBox(0F, 0F, 0F, 14, 1, 16);
|
||||||
|
tBELTLong.setRotationPoint(-7F, 19F, -8F);
|
||||||
|
tBELTLong.setTextureSize(128, 128);
|
||||||
|
tBELTLong.mirror = true;
|
||||||
|
setRotation(tBELTLong, 0F, 0F, 0F);
|
||||||
|
// 15p long belts for end caps
|
||||||
|
tBELT15 = new ModelRenderer(this, 0, 84);
|
||||||
|
tBELT15.addBox(0F, 0F, 0F, 14, 1, 15);
|
||||||
|
tBELT15.setRotationPoint(-7F, 19F, -8F);
|
||||||
|
tBELT15.setTextureSize(128, 128);
|
||||||
|
tBELT15.mirror = true;
|
||||||
|
setRotation(tBELT15, 0F, 0F, 0F);
|
||||||
|
bBELT15 = new ModelRenderer(this, 0, 84);
|
||||||
|
bBELT15.addBox(0F, 0F, 0F, 14, 1, 15);
|
||||||
|
bBELT15.setRotationPoint(-7F, 22F, -8F);
|
||||||
|
bBELT15.setTextureSize(128, 128);
|
||||||
|
bBELT15.mirror = true;
|
||||||
|
setRotation(bBELT15, 0F, 0F, 0F);
|
||||||
|
// bracers if connected to machane above
|
||||||
|
c4 = new ModelRenderer(this, 60, 20);
|
||||||
|
c4.addBox(0F, 0F, 0F, 1, 16, 1);
|
||||||
|
c4.setRotationPoint(7F, 8F, 7F);
|
||||||
|
c4.setTextureSize(128, 128);
|
||||||
|
c4.mirror = true;
|
||||||
|
setRotation(c4, 0F, 0F, 0F);
|
||||||
|
c3 = new ModelRenderer(this, 60, 20);
|
||||||
|
c3.addBox(0F, 0F, 0F, 1, 16, 1);
|
||||||
|
c3.setRotationPoint(7F, 8F, -8F);
|
||||||
|
c3.setTextureSize(128, 128);
|
||||||
|
c3.mirror = true;
|
||||||
|
setRotation(c3, 0F, 0F, 0F);
|
||||||
|
c2 = new ModelRenderer(this, 60, 20);
|
||||||
|
c2.addBox(0F, 0F, 0F, 1, 16, 1);
|
||||||
|
c2.setRotationPoint(-8F, 8F, 7F);
|
||||||
|
c2.setTextureSize(128, 128);
|
||||||
|
c2.mirror = true;
|
||||||
|
setRotation(c2, 0F, 0F, 0F);
|
||||||
|
c1 = new ModelRenderer(this, 60, 20);
|
||||||
|
c1.addBox(0F, 0F, 0F, 1, 16, 1);
|
||||||
|
c1.setRotationPoint(-8F, 8F, -8F);
|
||||||
|
c1.setTextureSize(128, 128);
|
||||||
|
c1.mirror = true;
|
||||||
|
setRotation(c1, 0F, 0F, 0F);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(float f5, int pos, boolean front, boolean back, boolean above)
|
||||||
|
{
|
||||||
|
boolean mid = front && back ? true : false;
|
||||||
|
boolean leftCap = !front && back ? true : false;
|
||||||
|
boolean rightCap = front && !back ? true : false;
|
||||||
|
if (back || front)
|
||||||
|
{
|
||||||
|
// use longer belts if needs to render
|
||||||
|
// none normal
|
||||||
|
|
||||||
|
if (leftCap)
|
||||||
|
{
|
||||||
|
FBELT.render(f5);
|
||||||
|
tBELT15.setRotationPoint(-7F, 19F, -7F);
|
||||||
|
bBELT15.setRotationPoint(-7F, 22F, -7F);
|
||||||
|
tBELT15.render(f5);
|
||||||
|
bBELT15.render(f5);
|
||||||
|
}
|
||||||
|
else if (rightCap)
|
||||||
|
{
|
||||||
|
BacBELT.render(f5);
|
||||||
|
tBELT15.setRotationPoint(-7F, 19F, -8F);
|
||||||
|
bBELT15.setRotationPoint(-7F, 22F, -8F);
|
||||||
|
tBELT15.render(f5);
|
||||||
|
bBELT15.render(f5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bBELTLong.render(f5);
|
||||||
|
tBELTLong.render(f5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// render normal if nothing is on
|
||||||
|
// either side
|
||||||
|
FBELT.render(f5);
|
||||||
|
BacBELT.render(f5);
|
||||||
|
BBelt.render(f5);
|
||||||
|
tBELT.render(f5);
|
||||||
|
}
|
||||||
|
if (above)
|
||||||
|
{
|
||||||
|
c1.render(f5);
|
||||||
|
c2.render(f5);
|
||||||
|
c3.render(f5);
|
||||||
|
c4.render(f5);
|
||||||
|
}
|
||||||
|
|
||||||
|
// rollers
|
||||||
|
MRoller.rotateAngleX = 0.7853982F * pos;
|
||||||
|
BRoller.rotateAngleX = 0.7853982F * pos;
|
||||||
|
FRoller.rotateAngleX = 0.7853982F * pos;
|
||||||
|
MRoller.render(f5);
|
||||||
|
BRoller.render(f5);
|
||||||
|
FRoller.render(f5);
|
||||||
|
|
||||||
|
// legs
|
||||||
|
BRL.render(f5);
|
||||||
|
BML.render(f5);
|
||||||
|
FLL.render(f5);
|
||||||
|
BLL.render(f5);
|
||||||
|
FRL.render(f5);
|
||||||
|
MRL.render(f5);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setRotation(ModelRenderer model, float x, float y, float z)
|
||||||
|
{
|
||||||
|
model.rotateAngleX = x;
|
||||||
|
model.rotateAngleY = y;
|
||||||
|
model.rotateAngleZ = z;
|
||||||
|
}
|
||||||
|
}
|
203
src/minecraft/assemblyline/render/ModelMachineBelt.java
Normal file
203
src/minecraft/assemblyline/render/ModelMachineBelt.java
Normal file
|
@ -0,0 +1,203 @@
|
||||||
|
package assemblyline.render;
|
||||||
|
|
||||||
|
import net.minecraft.src.Entity;
|
||||||
|
import net.minecraft.src.ModelBase;
|
||||||
|
import net.minecraft.src.ModelRenderer;
|
||||||
|
|
||||||
|
public class ModelMachineBelt extends ModelBase
|
||||||
|
{
|
||||||
|
// fields
|
||||||
|
ModelRenderer bBELTLong;
|
||||||
|
ModelRenderer FBELT;
|
||||||
|
ModelRenderer BacPanel;
|
||||||
|
ModelRenderer BBelt;
|
||||||
|
ModelRenderer FRL;
|
||||||
|
ModelRenderer MRL;
|
||||||
|
ModelRenderer FLL;
|
||||||
|
ModelRenderer BLL;
|
||||||
|
ModelRenderer MRoller;
|
||||||
|
ModelRenderer BRoller;
|
||||||
|
ModelRenderer tBELT;
|
||||||
|
ModelRenderer FRoller;
|
||||||
|
ModelRenderer BRL;
|
||||||
|
ModelRenderer BML;
|
||||||
|
ModelRenderer tBELTLong;
|
||||||
|
ModelRenderer RPanel;
|
||||||
|
ModelRenderer LPanel;
|
||||||
|
ModelRenderer TopPanel;
|
||||||
|
ModelRenderer RCPanel;
|
||||||
|
ModelRenderer LCPanel;
|
||||||
|
|
||||||
|
public ModelMachineBelt()
|
||||||
|
{
|
||||||
|
textureWidth = 128;
|
||||||
|
textureHeight = 128;
|
||||||
|
|
||||||
|
bBELTLong = new ModelRenderer(this, 0, 66);
|
||||||
|
bBELTLong.addBox(0F, 0F, 0F, 14, 1, 16);
|
||||||
|
bBELTLong.setRotationPoint(-7F, 22F, -8F);
|
||||||
|
bBELTLong.setTextureSize(128, 128);
|
||||||
|
bBELTLong.mirror = true;
|
||||||
|
setRotation(bBELTLong, 0F, 0F, 0F);
|
||||||
|
FBELT = new ModelRenderer(this, 0, 16);
|
||||||
|
FBELT.addBox(0F, 0F, 0F, 14, 2, 1);
|
||||||
|
FBELT.setRotationPoint(-7F, 20F, -8F);
|
||||||
|
FBELT.setTextureSize(128, 128);
|
||||||
|
FBELT.mirror = true;
|
||||||
|
setRotation(FBELT, 0F, 0F, 0F);
|
||||||
|
BacPanel = new ModelRenderer(this, 0, 86);
|
||||||
|
BacPanel.addBox(0F, -12F, 0F, 14, 12, 1);
|
||||||
|
BacPanel.setRotationPoint(-7F, 24F, 7F);
|
||||||
|
BacPanel.setTextureSize(128, 128);
|
||||||
|
BacPanel.mirror = true;
|
||||||
|
setRotation(BacPanel, 0F, 0F, 0F);
|
||||||
|
BBelt = new ModelRenderer(this, 0, 31);
|
||||||
|
BBelt.addBox(0F, 0F, 0F, 14, 1, 14);
|
||||||
|
BBelt.setRotationPoint(-7F, 22F, -7F);
|
||||||
|
BBelt.setTextureSize(128, 128);
|
||||||
|
BBelt.mirror = true;
|
||||||
|
setRotation(BBelt, 0F, 0F, 0F);
|
||||||
|
FRL = new ModelRenderer(this, 0, 20);
|
||||||
|
FRL.addBox(0F, 0F, 0F, 1, 3, 2);
|
||||||
|
FRL.setRotationPoint(-8F, 21F, -6F);
|
||||||
|
FRL.setTextureSize(128, 128);
|
||||||
|
FRL.mirror = true;
|
||||||
|
setRotation(FRL, 0F, 0F, 0F);
|
||||||
|
MRL = new ModelRenderer(this, 0, 20);
|
||||||
|
MRL.addBox(0F, 0F, 0F, 1, 3, 2);
|
||||||
|
MRL.setRotationPoint(-8F, 21F, -1F);
|
||||||
|
MRL.setTextureSize(128, 128);
|
||||||
|
MRL.mirror = true;
|
||||||
|
setRotation(MRL, 0F, 0F, 0F);
|
||||||
|
FLL = new ModelRenderer(this, 0, 20);
|
||||||
|
FLL.addBox(0F, 0F, 0F, 1, 3, 2);
|
||||||
|
FLL.setRotationPoint(7F, 21F, -6F);
|
||||||
|
FLL.setTextureSize(128, 128);
|
||||||
|
FLL.mirror = true;
|
||||||
|
setRotation(FLL, 0F, 0F, 0F);
|
||||||
|
BLL = new ModelRenderer(this, 0, 20);
|
||||||
|
BLL.addBox(0F, 0F, 0F, 1, 3, 2);
|
||||||
|
BLL.setRotationPoint(7F, 21F, 4F);
|
||||||
|
BLL.setTextureSize(128, 128);
|
||||||
|
BLL.mirror = true;
|
||||||
|
setRotation(BLL, 0F, 0F, 0F);
|
||||||
|
MRoller = new ModelRenderer(this, 0, 26);
|
||||||
|
MRoller.addBox(-7F, -1F, -1F, 14, 2, 2);
|
||||||
|
MRoller.setRotationPoint(0F, 21F, 0F);
|
||||||
|
MRoller.setTextureSize(128, 128);
|
||||||
|
MRoller.mirror = true;
|
||||||
|
setRotation(MRoller, 0F, 0F, 0F);
|
||||||
|
BRoller = new ModelRenderer(this, 0, 26);
|
||||||
|
BRoller.addBox(-7F, -1F, -1F, 14, 2, 2);
|
||||||
|
BRoller.setRotationPoint(0F, 21F, 5F);
|
||||||
|
BRoller.setTextureSize(128, 128);
|
||||||
|
BRoller.mirror = true;
|
||||||
|
setRotation(BRoller, 0F, 0F, 0F);
|
||||||
|
tBELT = new ModelRenderer(this, 0, 0);
|
||||||
|
tBELT.addBox(0F, 0F, 0F, 14, 1, 14);
|
||||||
|
tBELT.setRotationPoint(-7F, 19F, -7F);
|
||||||
|
tBELT.setTextureSize(128, 128);
|
||||||
|
tBELT.mirror = true;
|
||||||
|
setRotation(tBELT, 0F, 0F, 0F);
|
||||||
|
FRoller = new ModelRenderer(this, 0, 26);
|
||||||
|
FRoller.addBox(-7F, -1F, -1F, 14, 2, 2);
|
||||||
|
FRoller.setRotationPoint(0F, 21F, -5F);
|
||||||
|
FRoller.setTextureSize(128, 128);
|
||||||
|
FRoller.mirror = true;
|
||||||
|
setRotation(FRoller, 0F, 0F, 0F);
|
||||||
|
BRL = new ModelRenderer(this, 0, 20);
|
||||||
|
BRL.addBox(0F, 0F, 0F, 1, 3, 2);
|
||||||
|
BRL.setRotationPoint(-8F, 21F, 4F);
|
||||||
|
BRL.setTextureSize(128, 128);
|
||||||
|
BRL.mirror = true;
|
||||||
|
setRotation(BRL, 0F, 0F, 0F);
|
||||||
|
BML = new ModelRenderer(this, 0, 20);
|
||||||
|
BML.addBox(0F, 0F, 0F, 1, 3, 2);
|
||||||
|
BML.setRotationPoint(7F, 21F, -1F);
|
||||||
|
BML.setTextureSize(128, 128);
|
||||||
|
BML.mirror = true;
|
||||||
|
setRotation(BML, 0F, 0F, 0F);
|
||||||
|
tBELTLong = new ModelRenderer(this, 0, 48);
|
||||||
|
tBELTLong.addBox(0F, 0F, 0F, 14, 1, 16);
|
||||||
|
tBELTLong.setRotationPoint(-7F, 19F, -8F);
|
||||||
|
tBELTLong.setTextureSize(128, 128);
|
||||||
|
tBELTLong.mirror = true;
|
||||||
|
setRotation(tBELTLong, 0F, 0F, 0F);
|
||||||
|
RPanel = new ModelRenderer(this, 65, 41);
|
||||||
|
RPanel.addBox(0F, -2F, -8F, 1, 4, 16);
|
||||||
|
RPanel.setRotationPoint(-8F, 19F, 0F);
|
||||||
|
RPanel.setTextureSize(128, 128);
|
||||||
|
RPanel.mirror = true;
|
||||||
|
setRotation(RPanel, 0F, 0F, 0F);
|
||||||
|
LPanel = new ModelRenderer(this, 65, 20);
|
||||||
|
LPanel.addBox(0F, -2F, -8F, 1, 4, 16);
|
||||||
|
LPanel.setRotationPoint(7F, 19F, 0F);
|
||||||
|
LPanel.setTextureSize(128, 128);
|
||||||
|
LPanel.mirror = true;
|
||||||
|
setRotation(LPanel, 0F, 0F, 0F);
|
||||||
|
TopPanel = new ModelRenderer(this, 0, 105);
|
||||||
|
TopPanel.addBox(0F, 0F, 0F, 14, 2, 10);
|
||||||
|
TopPanel.setRotationPoint(-7F, 12F, -3F);
|
||||||
|
TopPanel.setTextureSize(128, 128);
|
||||||
|
TopPanel.mirror = true;
|
||||||
|
setRotation(TopPanel, 0F, 0F, 0F);
|
||||||
|
RCPanel = new ModelRenderer(this, 50, 105);
|
||||||
|
RCPanel.addBox(-1F, 0F, 0F, 2, 5, 10);
|
||||||
|
RCPanel.setRotationPoint(-7F, 14F, -3F);
|
||||||
|
RCPanel.setTextureSize(128, 128);
|
||||||
|
RCPanel.mirror = true;
|
||||||
|
setRotation(RCPanel, 0F, 0F, 0F);
|
||||||
|
LCPanel = new ModelRenderer(this, 76, 105);
|
||||||
|
LCPanel.addBox(0F, 0F, 0F, 2, 5, 10);
|
||||||
|
LCPanel.setRotationPoint(6F, 14F, -3F);
|
||||||
|
LCPanel.setTextureSize(128, 128);
|
||||||
|
LCPanel.mirror = true;
|
||||||
|
setRotation(LCPanel, 0F, 0F, 0F);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(float f5, boolean cc, int pos)
|
||||||
|
{
|
||||||
|
// body panels
|
||||||
|
BacPanel.render(f5);
|
||||||
|
RPanel.render(f5);
|
||||||
|
LPanel.render(f5);
|
||||||
|
TopPanel.render(f5);
|
||||||
|
RCPanel.render(f5);
|
||||||
|
LCPanel.render(f5);
|
||||||
|
// legs
|
||||||
|
FRL.render(f5);
|
||||||
|
MRL.render(f5);
|
||||||
|
FLL.render(f5);
|
||||||
|
BLL.render(f5);
|
||||||
|
BRL.render(f5);
|
||||||
|
BML.render(f5);
|
||||||
|
// rollers
|
||||||
|
MRoller.rotateAngleX = 0.7853982F * pos;
|
||||||
|
BRoller.rotateAngleX = 0.7853982F * pos;
|
||||||
|
FRoller.rotateAngleX = 0.7853982F * pos;
|
||||||
|
MRoller.render(f5);
|
||||||
|
BRoller.render(f5);
|
||||||
|
FRoller.render(f5);
|
||||||
|
|
||||||
|
if (cc)
|
||||||
|
{
|
||||||
|
// long belt
|
||||||
|
tBELTLong.render(f5);
|
||||||
|
bBELTLong.render(f5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// short belt
|
||||||
|
FBELT.render(f5);
|
||||||
|
tBELT.render(f5);
|
||||||
|
BBelt.render(f5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setRotation(ModelRenderer model, float x, float y, float z)
|
||||||
|
{
|
||||||
|
model.rotateAngleX = x;
|
||||||
|
model.rotateAngleY = y;
|
||||||
|
model.rotateAngleZ = z;
|
||||||
|
}
|
||||||
|
}
|
44
src/minecraft/assemblyline/render/RenderBeltMain.java
Normal file
44
src/minecraft/assemblyline/render/RenderBeltMain.java
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
package assemblyline.render;
|
||||||
|
|
||||||
|
import net.minecraft.src.TileEntity;
|
||||||
|
import net.minecraft.src.TileEntitySpecialRenderer;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import assemblyline.belts.TileEntityConveyorBelt;
|
||||||
|
|
||||||
|
public class RenderBeltMain extends TileEntitySpecialRenderer
|
||||||
|
{
|
||||||
|
private ModelConveyorBelt model = new ModelConveyorBelt();
|
||||||
|
|
||||||
|
public void renderAModelAt(TileEntityConveyorBelt tileEntity, double x, double y, double z, float f)
|
||||||
|
{
|
||||||
|
String flip = "";//if(tileEntity.flip){flip = "F";}
|
||||||
|
boolean mid = tileEntity.middleBelt();
|
||||||
|
int face = tileEntity.getBeltDirection();
|
||||||
|
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
|
||||||
|
GL11.glRotatef(180f, 0f, 0f, 1f);
|
||||||
|
|
||||||
|
int pos = 0;
|
||||||
|
bindTextureByName("/textures/BeltTexture"+flip+".png");
|
||||||
|
if(face==2){ GL11.glRotatef(180f, 0f, 1f, 0f);}
|
||||||
|
if(face==3){ GL11.glRotatef(0f, 0f, 1f, 0f);}
|
||||||
|
if(face==4){ GL11.glRotatef(90f, 0f, 1f, 0f);}
|
||||||
|
if(face==5){ GL11.glRotatef(270f, 0f, 1f, 0f);}
|
||||||
|
int ent = tileEntity.worldObj.getBlockId(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord);
|
||||||
|
model.render(0.0625F,pos,tileEntity.BackCap(),tileEntity.FrontCap(), false);
|
||||||
|
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderTileEntityAt(TileEntity tileEntity, double var2, double var4, double var6, float var8)
|
||||||
|
{
|
||||||
|
this.renderAModelAt((TileEntityConveyorBelt)tileEntity, var2, var4, var6, var8);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
44
src/minecraft/assemblyline/render/RenderMachineBelt.java
Normal file
44
src/minecraft/assemblyline/render/RenderMachineBelt.java
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
package assemblyline.render;
|
||||||
|
|
||||||
|
import net.minecraft.src.TileEntity;
|
||||||
|
import net.minecraft.src.TileEntitySpecialRenderer;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import assemblyline.belts.TileEntityConveyorBelt;
|
||||||
|
import assemblyline.interaction.TileEntityMachineInput;
|
||||||
|
|
||||||
|
public class RenderMachineBelt extends TileEntitySpecialRenderer
|
||||||
|
{
|
||||||
|
private ModelMachineBelt model = new ModelMachineBelt();
|
||||||
|
|
||||||
|
public void renderAModelAt(TileEntityMachineInput tileEntity, double x, double y, double z, float f)
|
||||||
|
{
|
||||||
|
String flip = "";//if(tileEntity.flip){flip = "F";}
|
||||||
|
int face = tileEntity.getBeltDirection();
|
||||||
|
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
|
||||||
|
GL11.glRotatef(180f, 0f, 0f, 1f);
|
||||||
|
|
||||||
|
int pos = 0;
|
||||||
|
bindTextureByName("/textures/machineBelt.png");
|
||||||
|
if(face==2){ GL11.glRotatef(0f, 0f, 1f, 0f);}
|
||||||
|
if(face==3){ GL11.glRotatef(180f, 0f, 1f, 0f);}
|
||||||
|
if(face==4){ GL11.glRotatef(270f, 0f, 1f, 0f);}
|
||||||
|
if(face==5){ GL11.glRotatef(90f, 0f, 1f, 0f);}
|
||||||
|
int ent = tileEntity.worldObj.getBlockId(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord);
|
||||||
|
model.render(0.0625F, true,pos);//TODO change the true part to check if there is a TE on the input side
|
||||||
|
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderTileEntityAt(TileEntity tileEntity, double var2, double var4, double var6, float var8)
|
||||||
|
{
|
||||||
|
this.renderAModelAt((TileEntityMachineInput)tileEntity, var2, var4, var6, var8);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue