Updated to Forge 6.4.2
This commit is contained in:
parent
abd08fc54e
commit
efc755d77a
99 changed files with 910 additions and 1421 deletions
|
@ -1,4 +0,0 @@
|
||||||
@echo off
|
|
||||||
cd resources
|
|
||||||
"..\..\7za.exe" a "..\jars\bin\minecraft.jar" "*"
|
|
||||||
pause
|
|
|
@ -1 +1 @@
|
||||||
14
|
16
|
||||||
|
|
|
@ -8,6 +8,10 @@ set /p CurrentBuild=<buildnumber.txt
|
||||||
set /a BUILD_NUMBER=%CurrentBuild%+1
|
set /a BUILD_NUMBER=%CurrentBuild%+1
|
||||||
echo %BUILD_NUMBER% >buildnumber.txt
|
echo %BUILD_NUMBER% >buildnumber.txt
|
||||||
|
|
||||||
|
if %PROMOTION%==* (
|
||||||
|
echo %MODVERSION% >recommendedversion.txt
|
||||||
|
)
|
||||||
|
|
||||||
set FILE_NAME=AssemblyLine_v%MODVERSION%.%BUILD_NUMBER%.jar
|
set FILE_NAME=AssemblyLine_v%MODVERSION%.%BUILD_NUMBER%.jar
|
||||||
set API_NAME=AssemblyLine_v%MODVERSION%.%BUILD_NUMBER%_api.zip
|
set API_NAME=AssemblyLine_v%MODVERSION%.%BUILD_NUMBER%_api.zip
|
||||||
set BACKUP_NAME=AssemblyLine_v%MODVERSION%.%BUILD_NUMBER%_backup.zip
|
set BACKUP_NAME=AssemblyLine_v%MODVERSION%.%BUILD_NUMBER%_backup.zip
|
||||||
|
@ -39,7 +43,7 @@ echo open www.calclavia.com>ftpscript.txt
|
||||||
echo al@calclavia.com>>ftpscript.txt
|
echo al@calclavia.com>>ftpscript.txt
|
||||||
echo VkE4laBa84R9>>ftpscript.txt
|
echo VkE4laBa84R9>>ftpscript.txt
|
||||||
echo binary>>ftpscript.txt
|
echo binary>>ftpscript.txt
|
||||||
echo put "modversion.txt">>ftpscript.txt
|
echo put "recommendedversion.txt">>ftpscript.txt
|
||||||
echo put "builds\%FILE_NAME%">>ftpscript.txt
|
echo put "builds\%FILE_NAME%">>ftpscript.txt
|
||||||
echo put "builds\%API_NAME%">>ftpscript.txt
|
echo put "builds\%API_NAME%">>ftpscript.txt
|
||||||
echo put info.txt>>ftpscript.txt
|
echo put info.txt>>ftpscript.txt
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
package assemblyline;
|
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
|
||||||
import net.minecraft.src.TileEntity;
|
|
||||||
import net.minecraft.src.World;
|
|
||||||
import assemblyline.machine.ContainerSorter;
|
|
||||||
import assemblyline.machine.TileEntityRejector;
|
|
||||||
import cpw.mods.fml.common.network.IGuiHandler;
|
|
||||||
|
|
||||||
public class ALCommonProxy implements IGuiHandler
|
|
||||||
{
|
|
||||||
public static final int GUI_ARCHITECHT_TABLE = 4;
|
|
||||||
|
|
||||||
public void preInit()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void init()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
|
|
||||||
{
|
|
||||||
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
|
||||||
|
|
||||||
if (tileEntity != null)
|
|
||||||
{
|
|
||||||
switch (ID)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
return new ContainerSorter(player.inventory, ((TileEntityRejector) tileEntity));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,95 +0,0 @@
|
||||||
package assemblyline.machine.belt;
|
|
||||||
|
|
||||||
import net.minecraft.src.EntityLiving;
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
|
||||||
import net.minecraft.src.MathHelper;
|
|
||||||
import net.minecraft.src.TileEntity;
|
|
||||||
import net.minecraft.src.World;
|
|
||||||
import universalelectricity.core.UniversalElectricity;
|
|
||||||
import universalelectricity.prefab.BlockMachine;
|
|
||||||
import universalelectricity.prefab.UETab;
|
|
||||||
import assemblyline.render.RenderHelper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The block for the actual conveyor belt!
|
|
||||||
*
|
|
||||||
* @author Calclavia, DarkGuardsman
|
|
||||||
*/
|
|
||||||
public class BlockConveyorBelt extends BlockMachine
|
|
||||||
{
|
|
||||||
public BlockConveyorBelt(int id)
|
|
||||||
{
|
|
||||||
super("Conveyor Belt", id, UniversalElectricity.machine);
|
|
||||||
this.setBlockBounds(0, 0, 0, 1, 0.3f, 1);
|
|
||||||
this.setCreativeTab(UETab.INSTANCE);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLiving par5EntityLiving)
|
|
||||||
{
|
|
||||||
int meta = world.getBlockMetadata(x, y, z);
|
|
||||||
int angle = MathHelper.floor_double((par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
|
|
||||||
world.setBlockMetadataWithNotify(x, y, z, meta + angle);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onUseWrench(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer, int side, float hitX, float hitY, float hitZ)
|
|
||||||
{
|
|
||||||
int metadata = par1World.getBlockMetadata(x, y, z);
|
|
||||||
|
|
||||||
if (metadata >= 0 && metadata < 8)
|
|
||||||
{
|
|
||||||
if (metadata >= 3)
|
|
||||||
{
|
|
||||||
par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, 0);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (metadata >= 7)
|
|
||||||
{
|
|
||||||
par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, 4);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, metadata + 1);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the TileEntity used by this block.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public TileEntity createNewTileEntity(World var1, int metadata)
|
|
||||||
{
|
|
||||||
if (metadata >= 0 && metadata < 4) { return new TileEntityConveyorBelt(); }
|
|
||||||
if (metadata >= 4 && metadata < 8) { return new TileEntityCoveredBelt(); }
|
|
||||||
// if (metadata >= 8 && metadata < 12) {
|
|
||||||
// //TODO vertical Belt }
|
|
||||||
// if (metadata >= 12 && metadata < 16) {
|
|
||||||
// //TODO IDK}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getRenderType()
|
|
||||||
{
|
|
||||||
return RenderHelper.BLOCK_RENDER_ID;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isOpaqueCube()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean renderAsNormalBlock()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,24 +0,0 @@
|
||||||
package universalelectricity.core.electricity;
|
|
||||||
|
|
||||||
public class ElectricityPack
|
|
||||||
{
|
|
||||||
public double amperes;
|
|
||||||
public double voltage;
|
|
||||||
|
|
||||||
public ElectricityPack(double amperes, double voltage)
|
|
||||||
{
|
|
||||||
this.amperes = amperes;
|
|
||||||
this.voltage = voltage;
|
|
||||||
}
|
|
||||||
|
|
||||||
public double getWatts()
|
|
||||||
{
|
|
||||||
return ElectricInfo.getWatts(amperes, voltage);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString()
|
|
||||||
{
|
|
||||||
return "ElectricityPack [Amps:" + this.amperes + " Volts:" + this.voltage + "]";
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
package universalelectricity.prefab.modifier;
|
|
||||||
|
|
||||||
import net.minecraft.src.ItemStack;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This must be applied to an item that acts as a modifier or an upgrade.
|
|
||||||
*
|
|
||||||
* @author Calclavia
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public interface IModifier
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @return - The name of the modifier.
|
|
||||||
*/
|
|
||||||
public String getName(ItemStack itemstack);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return - How much effect does this modifier have?
|
|
||||||
*/
|
|
||||||
public int getEffectiveness(ItemStack itemstack);
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
package universalelectricity.prefab.modifier;
|
|
||||||
|
|
||||||
import net.minecraft.src.IInventory;
|
|
||||||
import net.minecraft.src.ItemStack;
|
|
||||||
import net.minecraft.src.Slot;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This slot should be used by any container that contains an item that is a modifier. An example of
|
|
||||||
* this would be upgrade slots.
|
|
||||||
*
|
|
||||||
* @author Calclavia
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class SlotModifier extends Slot
|
|
||||||
{
|
|
||||||
public SlotModifier(IInventory par2IInventory, int par3, int par4, int par5)
|
|
||||||
{
|
|
||||||
super(par2IInventory, par3, par4, par5);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if the stack is a valid item for this slot. Always true beside for the armor slots.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean isItemValid(ItemStack par1ItemStack)
|
|
||||||
{
|
|
||||||
return par1ItemStack.getItem() instanceof IModifier;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,98 +0,0 @@
|
||||||
package universalelectricity.prefab.multiblock;
|
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import net.minecraft.src.Block;
|
|
||||||
import net.minecraft.src.BlockContainer;
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
|
||||||
import net.minecraft.src.ItemStack;
|
|
||||||
import net.minecraft.src.MovingObjectPosition;
|
|
||||||
import net.minecraft.src.TileEntity;
|
|
||||||
import net.minecraft.src.World;
|
|
||||||
import universalelectricity.core.UniversalElectricity;
|
|
||||||
import universalelectricity.core.vector.Vector3;
|
|
||||||
|
|
||||||
public class BlockMulti extends BlockContainer
|
|
||||||
{
|
|
||||||
public BlockMulti(int id)
|
|
||||||
{
|
|
||||||
super(id, UniversalElectricity.machine);
|
|
||||||
this.setHardness(0.8F);
|
|
||||||
this.setBlockName("MultiBlock");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void makeFakeBlock(World worldObj, Vector3 position, Vector3 mainBlock)
|
|
||||||
{
|
|
||||||
worldObj.setBlockWithNotify(position.intX(), position.intY(), position.intZ(), this.blockID);
|
|
||||||
((TileEntityMulti) worldObj.getBlockTileEntity(position.intX(), position.intY(), position.intZ())).setMainBlock(mainBlock);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void breakBlock(World par1World, int x, int y, int z, int par5, int par6)
|
|
||||||
{
|
|
||||||
TileEntityMulti tileEntity = (TileEntityMulti) par1World.getBlockTileEntity(x, y, z);
|
|
||||||
tileEntity.onBlockRemoval();
|
|
||||||
super.breakBlock(par1World, x, y, z, par5, par6);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when the block is right clicked by the player. This modified version detects electric
|
|
||||||
* items and wrench actions on your machine block. Do not override this function. Use
|
|
||||||
* machineActivated instead! (It does the same thing)
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean onBlockActivated(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)
|
|
||||||
{
|
|
||||||
TileEntityMulti tileEntity = (TileEntityMulti) par1World.getBlockTileEntity(x, y, z);
|
|
||||||
return tileEntity.onBlockActivated(par1World, x, y, z, par5EntityPlayer);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the quantity of items to drop on block destruction.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public int quantityDropped(Random par1Random)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getRenderType()
|
|
||||||
{
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isOpaqueCube()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean renderAsNormalBlock()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public TileEntity createNewTileEntity(World var1)
|
|
||||||
{
|
|
||||||
return new TileEntityMulti();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ItemStack getPickBlock(MovingObjectPosition target, World par1World, int x, int y, int z)
|
|
||||||
{
|
|
||||||
TileEntity tileEntity = par1World.getBlockTileEntity(x, y, z);
|
|
||||||
Vector3 mainBlockPosition = ((TileEntityMulti) tileEntity).mainBlockPosition;
|
|
||||||
|
|
||||||
if (mainBlockPosition != null)
|
|
||||||
{
|
|
||||||
int mainBlockID = par1World.getBlockId(mainBlockPosition.intX(), mainBlockPosition.intY(), mainBlockPosition.intZ());
|
|
||||||
|
|
||||||
if (mainBlockID > 0) { return Block.blocksList[mainBlockID].getPickBlock(target, par1World, mainBlockPosition.intX(), mainBlockPosition.intY(), mainBlockPosition.intZ()); }
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
package universalelectricity.prefab.multiblock;
|
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A general interface to be implemented by anything that needs it.
|
|
||||||
*
|
|
||||||
* @author Calclavia
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public interface IBlockActivate
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Called when activated
|
|
||||||
*/
|
|
||||||
public boolean onActivated(EntityPlayer entityPlayer);
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
package universalelectricity.prefab.multiblock;
|
|
||||||
|
|
||||||
import net.minecraft.src.TileEntity;
|
|
||||||
import universalelectricity.core.vector.Vector3;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Interface to be applied to tile entity blocks that occupies more than one block space. Useful for
|
|
||||||
* large machines.
|
|
||||||
*
|
|
||||||
* @author Calclavia
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public interface IMultiBlock extends IBlockActivate
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Called when this multiblock is created
|
|
||||||
*
|
|
||||||
* @param placedPosition - The position the block was placed at
|
|
||||||
*/
|
|
||||||
public void onCreate(Vector3 placedPosition);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when one of the multiblocks of this block is destroyed
|
|
||||||
*
|
|
||||||
* @param callingBlock - The tile entity who called the onDestroy function
|
|
||||||
*/
|
|
||||||
public void onDestroy(TileEntity callingBlock);
|
|
||||||
}
|
|
|
@ -1,120 +0,0 @@
|
||||||
package universalelectricity.prefab.multiblock;
|
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
|
||||||
import net.minecraft.src.INetworkManager;
|
|
||||||
import net.minecraft.src.NBTTagCompound;
|
|
||||||
import net.minecraft.src.Packet;
|
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
|
||||||
import net.minecraft.src.TileEntity;
|
|
||||||
import net.minecraft.src.World;
|
|
||||||
import universalelectricity.core.vector.Vector3;
|
|
||||||
import universalelectricity.prefab.network.IPacketReceiver;
|
|
||||||
import universalelectricity.prefab.network.PacketManager;
|
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This is a multiblock to be used for blocks that are bigger than one block.
|
|
||||||
*
|
|
||||||
* @author Calclavia
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class TileEntityMulti extends TileEntity implements IPacketReceiver
|
|
||||||
{
|
|
||||||
// The the position of the main block
|
|
||||||
public Vector3 mainBlockPosition;
|
|
||||||
|
|
||||||
public void setMainBlock(Vector3 mainBlock)
|
|
||||||
{
|
|
||||||
this.mainBlockPosition = mainBlock;
|
|
||||||
|
|
||||||
if (!this.worldObj.isRemote)
|
|
||||||
{
|
|
||||||
PacketManager.sendPacketToClients(this.getDescriptionPacket());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Packet getDescriptionPacket()
|
|
||||||
{
|
|
||||||
return PacketManager.getPacket("BasicComponents", this, this.mainBlockPosition.x, this.mainBlockPosition.y, this.mainBlockPosition.z);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onBlockRemoval()
|
|
||||||
{
|
|
||||||
if (mainBlockPosition != null)
|
|
||||||
{
|
|
||||||
TileEntity tileEntity = this.worldObj.getBlockTileEntity((int) mainBlockPosition.x, (int) mainBlockPosition.y, (int) mainBlockPosition.z);
|
|
||||||
|
|
||||||
if (tileEntity != null && tileEntity instanceof IMultiBlock)
|
|
||||||
{
|
|
||||||
IMultiBlock mainBlock = (IMultiBlock) tileEntity;
|
|
||||||
|
|
||||||
if (mainBlock != null)
|
|
||||||
{
|
|
||||||
mainBlock.onDestroy(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean onBlockActivated(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer)
|
|
||||||
{
|
|
||||||
if (mainBlockPosition != null)
|
|
||||||
{
|
|
||||||
TileEntity tileEntity = this.worldObj.getBlockTileEntity((int) mainBlockPosition.x, (int) mainBlockPosition.y, (int) mainBlockPosition.z);
|
|
||||||
|
|
||||||
if (tileEntity != null)
|
|
||||||
{
|
|
||||||
if (tileEntity instanceof IMultiBlock) { return ((IMultiBlock) tileEntity).onActivated(par5EntityPlayer); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads a tile entity from NBT.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void readFromNBT(NBTTagCompound par1NBTTagCompound)
|
|
||||||
{
|
|
||||||
super.readFromNBT(par1NBTTagCompound);
|
|
||||||
|
|
||||||
this.mainBlockPosition = Vector3.readFromNBT("mainBlockPosition", par1NBTTagCompound);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes a tile entity to NBT.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void writeToNBT(NBTTagCompound par1NBTTagCompound)
|
|
||||||
{
|
|
||||||
super.writeToNBT(par1NBTTagCompound);
|
|
||||||
|
|
||||||
this.mainBlockPosition.writeToNBT("mainBlockPosition", par1NBTTagCompound);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determines if this TileEntity requires update calls.
|
|
||||||
*
|
|
||||||
* @return True if you want updateEntity() to be called, false if not
|
|
||||||
*/
|
|
||||||
public boolean canUpdate()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void handlePacketData(INetworkManager network, int packetType, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
this.mainBlockPosition = new Vector3(dataStream.readDouble(), dataStream.readDouble(), dataStream.readDouble());
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,99 +0,0 @@
|
||||||
package universalelectricity.prefab.ore;
|
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import net.minecraft.src.Block;
|
|
||||||
import net.minecraft.src.IChunkProvider;
|
|
||||||
import net.minecraft.src.ItemStack;
|
|
||||||
import net.minecraft.src.World;
|
|
||||||
import net.minecraftforge.common.Configuration;
|
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
|
||||||
import net.minecraftforge.oredict.OreDictionary;
|
|
||||||
import universalelectricity.core.UniversalElectricity;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class is used for storing ore generation data. If you are too lazy to generate your own
|
|
||||||
* ores, you can do {@link #OreGenerator.ORES_TO_GENERATE.add()} to add your ore to the list of ores
|
|
||||||
* to generate.
|
|
||||||
*
|
|
||||||
* @author Calclavia
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public abstract class OreGenBase
|
|
||||||
{
|
|
||||||
public String name;
|
|
||||||
|
|
||||||
public String oreDictionaryName;
|
|
||||||
|
|
||||||
public boolean shouldGenerate;
|
|
||||||
|
|
||||||
public int blockIndexTexture;
|
|
||||||
|
|
||||||
public ItemStack oreStack;
|
|
||||||
|
|
||||||
public int oreID;
|
|
||||||
|
|
||||||
public int oreMeta;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* What harvest level does this machine need to be acquired?
|
|
||||||
*/
|
|
||||||
public int harvestLevel;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The predefined tool classes are "pickaxe", "shovel", "axe". You can add others for custom
|
|
||||||
* tools.
|
|
||||||
*/
|
|
||||||
public String harvestTool;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param name - The name of the ore for display
|
|
||||||
* @param textureFile - The 16x16 png texture of your ore to override
|
|
||||||
* @param minGenerateLevel - The highest generation level of your ore
|
|
||||||
* @param maxGenerateLevel - The lowest generation level of your ore
|
|
||||||
* @param amountPerChunk - The amount of ores to generate per chunk
|
|
||||||
* @param amountPerBranch - The amount of ores to generate in a clutter. E.g coal generates with
|
|
||||||
* a lot of other coal next to it. How much do you want?
|
|
||||||
*/
|
|
||||||
public OreGenBase(String name, String oreDiectionaryName, ItemStack stack, String harvestTool, int harvestLevel)
|
|
||||||
{
|
|
||||||
this.name = name;
|
|
||||||
this.shouldGenerate = false;
|
|
||||||
this.harvestTool = harvestTool;
|
|
||||||
this.harvestLevel = harvestLevel;
|
|
||||||
this.oreDictionaryName = oreDiectionaryName;
|
|
||||||
this.oreStack = stack;
|
|
||||||
this.oreID = stack.itemID;
|
|
||||||
this.oreMeta = stack.getItemDamage();
|
|
||||||
|
|
||||||
OreDictionary.registerOre(oreDictionaryName, stack);
|
|
||||||
MinecraftForge.setBlockHarvestLevel(Block.blocksList[stack.itemID], stack.getItemDamage(), harvestTool, harvestLevel);
|
|
||||||
}
|
|
||||||
|
|
||||||
public OreGenBase enable(Configuration config)
|
|
||||||
{
|
|
||||||
this.shouldGenerate = shouldGenerateOre(config, this.name);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public OreGenBase enable()
|
|
||||||
{
|
|
||||||
this.enable(UniversalElectricity.CONFIGURATION);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks the config file and see if Universal Electricity should generate this ore
|
|
||||||
*/
|
|
||||||
private static boolean shouldGenerateOre(Configuration configuration, String oreName)
|
|
||||||
{
|
|
||||||
configuration.load();
|
|
||||||
boolean shouldGenerate = configuration.get("Ore Generation", "Generate " + oreName, true).getBoolean(true);
|
|
||||||
configuration.save();
|
|
||||||
return shouldGenerate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public abstract void generate(World world, Random random, int varX, int varZ);
|
|
||||||
|
|
||||||
public abstract boolean isOreGeneratedInWorld(World world, IChunkProvider chunkGenerator);
|
|
||||||
}
|
|
|
@ -1,126 +0,0 @@
|
||||||
package universalelectricity.prefab.ore;
|
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import net.minecraft.src.ChunkProviderEnd;
|
|
||||||
import net.minecraft.src.ChunkProviderGenerate;
|
|
||||||
import net.minecraft.src.ChunkProviderHell;
|
|
||||||
import net.minecraft.src.IChunkProvider;
|
|
||||||
import net.minecraft.src.ItemStack;
|
|
||||||
import net.minecraft.src.MathHelper;
|
|
||||||
import net.minecraft.src.World;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class is used for storing ore generation data. If you are too lazy to generate your own
|
|
||||||
* ores, you can do {@link #OreGenerator.ORES_TO_GENERATE.add()} to add your ore to the list of ores
|
|
||||||
* to generate.
|
|
||||||
*
|
|
||||||
* @author Calclavia
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class OreGenReplace extends OreGenBase
|
|
||||||
{
|
|
||||||
|
|
||||||
public int minGenerateLevel;
|
|
||||||
public int maxGenerateLevel;
|
|
||||||
public int amountPerChunk;
|
|
||||||
public int amountPerBranch;
|
|
||||||
public int replaceID;
|
|
||||||
|
|
||||||
public boolean generateSurface;
|
|
||||||
public boolean generateNether;
|
|
||||||
public boolean generateEnd;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param name - The name of the ore for display
|
|
||||||
* @param textureFile - The 16x16 png texture of your ore to override
|
|
||||||
* @param minGenerateLevel - The highest generation level of your ore
|
|
||||||
* @param maxGenerateLevel - The lowest generation level of your ore
|
|
||||||
* @param amountPerChunk - The amount of ores to generate per chunk
|
|
||||||
* @param amountPerBranch - The amount of ores to generate in a clutter. E.g coal generates with
|
|
||||||
* a lot of other coal next to it. How much do you want?
|
|
||||||
*/
|
|
||||||
public OreGenReplace(String name, String oreDiectionaryName, ItemStack stack, int replaceID, int minGenerateLevel, int maxGenerateLevel, int amountPerChunk, int amountPerBranch, String harvestTool, int harvestLevel)
|
|
||||||
{
|
|
||||||
super(name, oreDiectionaryName, stack, harvestTool, harvestLevel);
|
|
||||||
this.minGenerateLevel = minGenerateLevel;
|
|
||||||
this.maxGenerateLevel = maxGenerateLevel;
|
|
||||||
this.amountPerChunk = amountPerChunk;
|
|
||||||
this.amountPerBranch = amountPerBranch;
|
|
||||||
this.replaceID = replaceID;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void generate(World world, Random random, int varX, int varZ)
|
|
||||||
{
|
|
||||||
|
|
||||||
for (int i = 0; i < this.amountPerChunk; i++)
|
|
||||||
{
|
|
||||||
int x = varX + random.nextInt(16);
|
|
||||||
int z = varZ + random.nextInt(16);
|
|
||||||
int y = random.nextInt(this.maxGenerateLevel - this.minGenerateLevel) + this.minGenerateLevel;
|
|
||||||
generateReplace(world, random, x, y, z);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean generateReplace(World par1World, Random par2Random, int par3, int par4, int par5)
|
|
||||||
{
|
|
||||||
float var6 = par2Random.nextFloat() * (float) Math.PI;
|
|
||||||
double var7 = (double) ((float) (par3 + 8) + MathHelper.sin(var6) * (float) this.amountPerBranch / 8.0F);
|
|
||||||
double var9 = (double) ((float) (par3 + 8) - MathHelper.sin(var6) * (float) this.amountPerBranch / 8.0F);
|
|
||||||
double var11 = (double) ((float) (par5 + 8) + MathHelper.cos(var6) * (float) this.amountPerBranch / 8.0F);
|
|
||||||
double var13 = (double) ((float) (par5 + 8) - MathHelper.cos(var6) * (float) this.amountPerBranch / 8.0F);
|
|
||||||
double var15 = (double) (par4 + par2Random.nextInt(3) - 2);
|
|
||||||
double var17 = (double) (par4 + par2Random.nextInt(3) - 2);
|
|
||||||
|
|
||||||
for (int var19 = 0; var19 <= this.amountPerBranch; ++var19)
|
|
||||||
{
|
|
||||||
double var20 = var7 + (var9 - var7) * (double) var19 / (double) this.amountPerBranch;
|
|
||||||
double var22 = var15 + (var17 - var15) * (double) var19 / (double) this.amountPerBranch;
|
|
||||||
double var24 = var11 + (var13 - var11) * (double) var19 / (double) this.amountPerBranch;
|
|
||||||
double var26 = par2Random.nextDouble() * (double) this.amountPerBranch / 16.0D;
|
|
||||||
double var28 = (double) (MathHelper.sin((float) var19 * (float) Math.PI / (float) this.amountPerBranch) + 1.0F) * var26 + 1.0D;
|
|
||||||
double var30 = (double) (MathHelper.sin((float) var19 * (float) Math.PI / (float) this.amountPerBranch) + 1.0F) * var26 + 1.0D;
|
|
||||||
int var32 = MathHelper.floor_double(var20 - var28 / 2.0D);
|
|
||||||
int var33 = MathHelper.floor_double(var22 - var30 / 2.0D);
|
|
||||||
int var34 = MathHelper.floor_double(var24 - var28 / 2.0D);
|
|
||||||
int var35 = MathHelper.floor_double(var20 + var28 / 2.0D);
|
|
||||||
int var36 = MathHelper.floor_double(var22 + var30 / 2.0D);
|
|
||||||
int var37 = MathHelper.floor_double(var24 + var28 / 2.0D);
|
|
||||||
|
|
||||||
for (int var38 = var32; var38 <= var35; ++var38)
|
|
||||||
{
|
|
||||||
double var39 = ((double) var38 + 0.5D - var20) / (var28 / 2.0D);
|
|
||||||
|
|
||||||
if (var39 * var39 < 1.0D)
|
|
||||||
{
|
|
||||||
for (int var41 = var33; var41 <= var36; ++var41)
|
|
||||||
{
|
|
||||||
double var42 = ((double) var41 + 0.5D - var22) / (var30 / 2.0D);
|
|
||||||
|
|
||||||
if (var39 * var39 + var42 * var42 < 1.0D)
|
|
||||||
{
|
|
||||||
for (int var44 = var34; var44 <= var37; ++var44)
|
|
||||||
{
|
|
||||||
double var45 = ((double) var44 + 0.5D - var24) / (var28 / 2.0D);
|
|
||||||
|
|
||||||
int block = par1World.getBlockId(var38, var41, var44);
|
|
||||||
if (var39 * var39 + var42 * var42 + var45 * var45 < 1.0D && (this.replaceID == 0 || block == this.replaceID))
|
|
||||||
{
|
|
||||||
par1World.setBlockAndMetadata(var38, var41, var44, this.oreID, this.oreMeta);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isOreGeneratedInWorld(World world, IChunkProvider chunkGenerator)
|
|
||||||
{
|
|
||||||
return ((this.generateSurface && chunkGenerator instanceof ChunkProviderGenerate) || (this.generateNether && chunkGenerator instanceof ChunkProviderHell) || (this.generateEnd && chunkGenerator instanceof ChunkProviderEnd));
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
package universalelectricity.prefab.ore;
|
|
||||||
|
|
||||||
import net.minecraft.src.ItemStack;
|
|
||||||
|
|
||||||
public class OreGenReplaceStone extends OreGenReplace
|
|
||||||
{
|
|
||||||
public OreGenReplaceStone(String name, String oreDiectionaryName, ItemStack stack, int replaceID, int minGenerateLevel, int maxGenerateLevel, int amountPerChunk, int amountPerBranch, String harvestTool, int harvestLevel)
|
|
||||||
{
|
|
||||||
super(name, oreDiectionaryName, stack, 1, minGenerateLevel, maxGenerateLevel, amountPerChunk, amountPerBranch, harvestTool, harvestLevel);
|
|
||||||
this.generateSurface = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// A simplified version of the constructor
|
|
||||||
public OreGenReplaceStone(String name, String oreDiectionaryName, ItemStack stack, int replaceID, int maxGenerateLevel, int amountPerChunk, int amountPerBranch)
|
|
||||||
{
|
|
||||||
this(name, oreDiectionaryName, stack, 0, replaceID, maxGenerateLevel, amountPerChunk, amountPerBranch, "pickaxe", 1);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,75 +0,0 @@
|
||||||
package universalelectricity.prefab.ore;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import net.minecraft.src.IChunkProvider;
|
|
||||||
import net.minecraft.src.World;
|
|
||||||
import cpw.mods.fml.common.IWorldGenerator;
|
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
|
||||||
|
|
||||||
public class OreGenerator implements IWorldGenerator
|
|
||||||
{
|
|
||||||
public static boolean isInitiated = false;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add your ore data to this list of ores for it to automatically generate! No hassle indeed!
|
|
||||||
*/
|
|
||||||
private static final List<OreGenBase> ORES_TO_GENERATE = new ArrayList<OreGenBase>();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds an ore to the ore generate list. Do this in pre-init.
|
|
||||||
*/
|
|
||||||
public static void addOre(OreGenBase data)
|
|
||||||
{
|
|
||||||
if (!isInitiated)
|
|
||||||
{
|
|
||||||
GameRegistry.registerWorldGenerator(new OreGenerator());
|
|
||||||
}
|
|
||||||
|
|
||||||
ORES_TO_GENERATE.add(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks to see if this ore
|
|
||||||
*
|
|
||||||
* @param oreName
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static boolean oreExists(String oreName)
|
|
||||||
{
|
|
||||||
for (OreGenBase ore : ORES_TO_GENERATE)
|
|
||||||
{
|
|
||||||
if (ore.oreDictionaryName == oreName) { return true; }
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes an ore to the ore generate list. Do this in init.
|
|
||||||
*/
|
|
||||||
public static void removeOre(OreGenBase data)
|
|
||||||
{
|
|
||||||
ORES_TO_GENERATE.remove(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
|
|
||||||
{
|
|
||||||
chunkX = chunkX << 4;
|
|
||||||
chunkZ = chunkZ << 4;
|
|
||||||
|
|
||||||
// Checks to make sure this is the normal
|
|
||||||
// world
|
|
||||||
for (OreGenBase oreData : ORES_TO_GENERATE)
|
|
||||||
{
|
|
||||||
if (oreData.shouldGenerate && oreData.isOreGeneratedInWorld(world, chunkGenerator))
|
|
||||||
{
|
|
||||||
oreData.generate(world, rand, chunkX, chunkZ);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,37 +0,0 @@
|
||||||
package universalelectricity.prefab.potion;
|
|
||||||
|
|
||||||
import net.minecraft.src.Potion;
|
|
||||||
import cpw.mods.fml.common.registry.LanguageRegistry;
|
|
||||||
|
|
||||||
public abstract class CustomPotion extends Potion
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Creates a new type of potion
|
|
||||||
*
|
|
||||||
* @param id - The ID of this potion. Make it greater than 20.
|
|
||||||
* @param isBadEffect - Is this potion a good potion or a bad one?
|
|
||||||
* @param color - The color of this potion.
|
|
||||||
* @param name - The name of this potion.
|
|
||||||
*/
|
|
||||||
public CustomPotion(int id, boolean isBadEffect, int color, String name)
|
|
||||||
{
|
|
||||||
super(id, isBadEffect, color);
|
|
||||||
this.setPotionName("potion." + name);
|
|
||||||
LanguageRegistry.instance().addStringLocalization(this.getName(), name);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Potion setIconIndex(int par1, int par2)
|
|
||||||
{
|
|
||||||
super.setIconIndex(par1, par2);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* You must register all your potion effects during mod initialization!
|
|
||||||
*/
|
|
||||||
public void register()
|
|
||||||
{
|
|
||||||
Potion.potionTypes[this.getId()] = this;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,40 +0,0 @@
|
||||||
package universalelectricity.prefab.potion;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import net.minecraft.src.ItemStack;
|
|
||||||
import net.minecraft.src.Potion;
|
|
||||||
import net.minecraft.src.PotionEffect;
|
|
||||||
|
|
||||||
public class CustomPotionEffect extends PotionEffect
|
|
||||||
{
|
|
||||||
public CustomPotionEffect(int potionID, int duration, int amplifier)
|
|
||||||
{
|
|
||||||
super(potionID, duration, amplifier);
|
|
||||||
}
|
|
||||||
|
|
||||||
public CustomPotionEffect(Potion potion, int duration, int amplifier)
|
|
||||||
{
|
|
||||||
this(potion.getId(), duration, amplifier);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a potion effect with custom curable items.
|
|
||||||
*
|
|
||||||
* @param curativeItems - ItemStacks that can cure this potion effect
|
|
||||||
*/
|
|
||||||
public CustomPotionEffect(int potionID, int duration, int amplifier, List<ItemStack> curativeItems)
|
|
||||||
{
|
|
||||||
super(potionID, duration, amplifier);
|
|
||||||
|
|
||||||
if (curativeItems == null)
|
|
||||||
{
|
|
||||||
this.setCurativeItems(new ArrayList<ItemStack>());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this.setCurativeItems(curativeItems);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
package universalelectricity.prefab.repair;
|
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Applied to TileEntities/Machines that can be repaired.
|
|
||||||
*
|
|
||||||
* @author Calclavia
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public interface IRepairable
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Called when the machine is being repaired.
|
|
||||||
*
|
|
||||||
* @param itemStack - The repairing tool that the player is holding
|
|
||||||
* @param player - The player who is repairing this machine.
|
|
||||||
*/
|
|
||||||
public void onRepair(IToolRepair itemStack, EntityPlayer player);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return The maximum possible damage of this machine.
|
|
||||||
*/
|
|
||||||
public int getMaxDamage();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return How damaged is this machine?
|
|
||||||
*/
|
|
||||||
public int getDamage();
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
package universalelectricity.prefab.repair;
|
|
||||||
|
|
||||||
import net.minecraft.src.ItemStack;
|
|
||||||
|
|
||||||
public interface IToolRepair
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* A unique ID for mods to recognize what repair tool this is.
|
|
||||||
*/
|
|
||||||
public String getID();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* How effective is this repairing tool?
|
|
||||||
*
|
|
||||||
* @param itemStack The ItemStack
|
|
||||||
* @return A effectiveness value.
|
|
||||||
*/
|
|
||||||
public int getEffectiveness(ItemStack itemStack);
|
|
||||||
}
|
|
|
@ -1,146 +0,0 @@
|
||||||
package universalelectricity.prefab.tile;
|
|
||||||
|
|
||||||
import java.util.EnumSet;
|
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
|
||||||
import net.minecraft.src.INetworkManager;
|
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
|
||||||
import net.minecraft.src.TileEntity;
|
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
|
||||||
import universalelectricity.core.electricity.Electricity;
|
|
||||||
import universalelectricity.core.electricity.ElectricityConnections;
|
|
||||||
import universalelectricity.core.electricity.ElectricityNetwork;
|
|
||||||
import universalelectricity.core.implement.IConductor;
|
|
||||||
import universalelectricity.core.vector.Vector3;
|
|
||||||
import universalelectricity.prefab.network.IPacketReceiver;
|
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This tile entity pre-fabricated for all conductors.
|
|
||||||
*
|
|
||||||
* @author Calclavia
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public abstract class TileEntityConductor extends TileEntityAdvanced implements IConductor, IPacketReceiver
|
|
||||||
{
|
|
||||||
private ElectricityNetwork network;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Stores information on the blocks that this conductor is connected to
|
|
||||||
*/
|
|
||||||
public TileEntity[] connectedBlocks =
|
|
||||||
{ null, null, null, null, null, null };
|
|
||||||
|
|
||||||
public TileEntityConductor()
|
|
||||||
{
|
|
||||||
ElectricityConnections.registerConnector(this, EnumSet.range(ForgeDirection.DOWN, ForgeDirection.EAST));
|
|
||||||
this.reset();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ElectricityNetwork getNetwork()
|
|
||||||
{
|
|
||||||
return this.network;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setNetwork(ElectricityNetwork network)
|
|
||||||
{
|
|
||||||
this.network = network;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public TileEntity[] getConnectedBlocks()
|
|
||||||
{
|
|
||||||
return this.connectedBlocks;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateConnection(TileEntity tileEntity, ForgeDirection side)
|
|
||||||
{
|
|
||||||
if (tileEntity != null)
|
|
||||||
{
|
|
||||||
if (ElectricityConnections.isConnector(tileEntity))
|
|
||||||
{
|
|
||||||
this.connectedBlocks[side.ordinal()] = tileEntity;
|
|
||||||
|
|
||||||
if (tileEntity.getClass() == this.getClass())
|
|
||||||
{
|
|
||||||
Electricity.instance.mergeConnection(this.getNetwork(), ((TileEntityConductor) tileEntity).getNetwork());
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.connectedBlocks[side.ordinal()] != null)
|
|
||||||
{
|
|
||||||
if (this.connectedBlocks[side.ordinal()] instanceof IConductor)
|
|
||||||
{
|
|
||||||
Electricity.instance.splitConnection(this, (IConductor) this.getConnectedBlocks()[side.ordinal()]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.connectedBlocks[side.ordinal()] = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateConnectionWithoutSplit(TileEntity tileEntity, ForgeDirection side)
|
|
||||||
{
|
|
||||||
if (tileEntity != null)
|
|
||||||
{
|
|
||||||
if (ElectricityConnections.isConnector(tileEntity))
|
|
||||||
{
|
|
||||||
this.connectedBlocks[side.ordinal()] = tileEntity;
|
|
||||||
|
|
||||||
if (tileEntity.getClass() == this.getClass())
|
|
||||||
{
|
|
||||||
Electricity.instance.mergeConnection(this.getNetwork(), ((TileEntityConductor) tileEntity).getNetwork());
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.connectedBlocks[side.ordinal()] = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void handlePacketData(INetworkManager network, int type, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
|
|
||||||
{
|
|
||||||
if (this.worldObj.isRemote)
|
|
||||||
{
|
|
||||||
this.refreshConnectedBlocks();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void initiate()
|
|
||||||
{
|
|
||||||
this.refreshConnectedBlocks();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void reset()
|
|
||||||
{
|
|
||||||
this.network = null;
|
|
||||||
|
|
||||||
if (Electricity.instance != null)
|
|
||||||
{
|
|
||||||
Electricity.instance.registerConductor(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void refreshConnectedBlocks()
|
|
||||||
{
|
|
||||||
if (this.worldObj != null)
|
|
||||||
{
|
|
||||||
for (byte i = 0; i < 6; i++)
|
|
||||||
{
|
|
||||||
this.updateConnection(Vector3.getConnectorFromSide(this.worldObj, Vector3.get(this), ForgeDirection.getOrientation(i)), ForgeDirection.getOrientation(i));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -2,7 +2,7 @@ package assemblyline.api;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
|
|
||||||
public interface IBelt
|
public interface IBelt
|
||||||
|
@ -19,8 +19,7 @@ public interface IBelt
|
||||||
* Causes the belt to ignore the entity for a few updates help in cases where another machine
|
* Causes the belt to ignore the entity for a few updates help in cases where another machine
|
||||||
* needs to affect this particular entity without the belt interfering
|
* needs to affect this particular entity without the belt interfering
|
||||||
*
|
*
|
||||||
* @param entity
|
* @param entity - entity being ignored
|
||||||
* - entity being ignored
|
|
||||||
*/
|
*/
|
||||||
public void ignoreEntity(Entity entity);
|
public void ignoreEntity(Entity entity);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package assemblyline.api;
|
package assemblyline.api;
|
||||||
|
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import universalelectricity.core.vector.Vector3;
|
import universalelectricity.core.vector.Vector3;
|
||||||
|
|
||||||
public interface IManipulator
|
public interface IManipulator
|
|
@ -1,21 +1,23 @@
|
||||||
package assemblyline;
|
package assemblyline.client;
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.client.MinecraftForgeClient;
|
import net.minecraftforge.client.MinecraftForgeClient;
|
||||||
import assemblyline.gui.GuiSorter;
|
import assemblyline.client.gui.GuiSorter;
|
||||||
import assemblyline.machine.TileEntityManipulator;
|
import assemblyline.client.render.RenderConveyorBelt;
|
||||||
import assemblyline.machine.TileEntityRejector;
|
import assemblyline.client.render.RenderHelper;
|
||||||
import assemblyline.machine.belt.TileEntityConveyorBelt;
|
import assemblyline.client.render.RenderManipulator;
|
||||||
import assemblyline.render.RenderConveyorBelt;
|
import assemblyline.client.render.RenderSorter;
|
||||||
import assemblyline.render.RenderHelper;
|
import assemblyline.common.AssemblyLine;
|
||||||
import assemblyline.render.RenderManipulator;
|
import assemblyline.common.CommonProxy;
|
||||||
import assemblyline.render.RenderSorter;
|
import assemblyline.common.machine.TileEntityManipulator;
|
||||||
|
import assemblyline.common.machine.TileEntityRejector;
|
||||||
|
import assemblyline.common.machine.belt.TileEntityConveyorBelt;
|
||||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||||
|
|
||||||
public class ALClientProxy extends ALCommonProxy
|
public class ClientProxy extends CommonProxy
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void preInit()
|
public void preInit()
|
||||||
|
@ -27,6 +29,7 @@ public class ALClientProxy extends ALCommonProxy
|
||||||
@Override
|
@Override
|
||||||
public void init()
|
public void init()
|
||||||
{
|
{
|
||||||
|
super.init();
|
||||||
// ClientRegistry.registerTileEntity(TileEntityConveyorBelt.class,
|
// ClientRegistry.registerTileEntity(TileEntityConveyorBelt.class,
|
||||||
// "belt", new RenderConveyorBelt());
|
// "belt", new RenderConveyorBelt());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConveyorBelt.class, new RenderConveyorBelt());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConveyorBelt.class, new RenderConveyorBelt());
|
|
@ -1,14 +1,14 @@
|
||||||
package assemblyline.gui;
|
package assemblyline.client.gui;
|
||||||
|
|
||||||
import net.minecraft.src.ContainerWorkbench;
|
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||||
import net.minecraft.src.GuiContainer;
|
import net.minecraft.entity.player.InventoryPlayer;
|
||||||
import net.minecraft.src.InventoryPlayer;
|
import net.minecraft.inventory.ContainerWorkbench;
|
||||||
import net.minecraft.src.StatCollector;
|
import net.minecraft.util.StatCollector;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import assemblyline.AssemblyLine;
|
import assemblyline.common.AssemblyLine;
|
||||||
import cpw.mods.fml.common.Side;
|
import cpw.mods.fml.common.Side;
|
||||||
import cpw.mods.fml.common.asm.SideOnly;
|
import cpw.mods.fml.common.asm.SideOnly;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package assemblyline.gui;
|
package assemblyline.client.gui;
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.src.GuiButton;
|
import net.minecraft.client.gui.GuiButton;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
package assemblyline.gui;
|
package assemblyline.client.gui;
|
||||||
|
|
||||||
import net.minecraft.src.GuiButton;
|
import net.minecraft.client.gui.GuiButton;
|
||||||
import net.minecraft.src.GuiContainer;
|
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||||
import net.minecraft.src.InventoryPlayer;
|
import net.minecraft.entity.player.InventoryPlayer;
|
||||||
import net.minecraft.src.StatCollector;
|
import net.minecraft.util.StatCollector;
|
||||||
|
|
||||||
import org.lwjgl.input.Keyboard;
|
import org.lwjgl.input.Keyboard;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import assemblyline.AssemblyLine;
|
import assemblyline.common.AssemblyLine;
|
||||||
import assemblyline.machine.ContainerSorter;
|
import assemblyline.common.machine.ContainerSorter;
|
||||||
import assemblyline.machine.TileEntityRejector;
|
import assemblyline.common.machine.TileEntityRejector;
|
||||||
|
|
||||||
public class GuiSorter extends GuiContainer
|
public class GuiSorter extends GuiContainer
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
package assemblyline.model;
|
package assemblyline.client.model;
|
||||||
|
|
||||||
import net.minecraft.src.ModelBase;
|
import net.minecraft.client.model.ModelBase;
|
||||||
import net.minecraft.src.ModelRenderer;
|
import net.minecraft.client.model.ModelRenderer;
|
||||||
|
|
||||||
public class ModelConveyorBelt extends ModelBase
|
public class ModelConveyorBelt extends ModelBase
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
package assemblyline.model;
|
package assemblyline.client.model;
|
||||||
|
|
||||||
import net.minecraft.src.ModelBase;
|
import net.minecraft.client.model.ModelBase;
|
||||||
import net.minecraft.src.ModelRenderer;
|
import net.minecraft.client.model.ModelRenderer;
|
||||||
|
|
||||||
public class ModelDropBox extends ModelBase
|
public class ModelDropBox extends ModelBase
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
package assemblyline.model;
|
package assemblyline.client.model;
|
||||||
|
|
||||||
import net.minecraft.src.ModelBase;
|
import net.minecraft.client.model.ModelBase;
|
||||||
import net.minecraft.src.ModelRenderer;
|
import net.minecraft.client.model.ModelRenderer;
|
||||||
|
|
||||||
public class ModelManipulator extends ModelBase
|
public class ModelManipulator extends ModelBase
|
||||||
{
|
{
|
|
@ -4,10 +4,10 @@
|
||||||
// Keep in mind that you still need to fill in some blanks
|
// Keep in mind that you still need to fill in some blanks
|
||||||
// - ZeuX
|
// - ZeuX
|
||||||
|
|
||||||
package assemblyline.model;
|
package assemblyline.client.model;
|
||||||
|
|
||||||
import net.minecraft.src.ModelBase;
|
import net.minecraft.client.model.ModelBase;
|
||||||
import net.minecraft.src.ModelRenderer;
|
import net.minecraft.client.model.ModelRenderer;
|
||||||
|
|
||||||
public class ModelSorter extends ModelBase
|
public class ModelSorter extends ModelBase
|
||||||
{
|
{
|
|
@ -1,14 +1,17 @@
|
||||||
package assemblyline.render;
|
package assemblyline.client.render;
|
||||||
|
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||||
import net.minecraft.src.TileEntitySpecialRenderer;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import assemblyline.AssemblyLine;
|
import cpw.mods.fml.common.Side;
|
||||||
import assemblyline.machine.belt.TileEntityConveyorBelt;
|
import cpw.mods.fml.common.asm.SideOnly;
|
||||||
import assemblyline.model.ModelConveyorBelt;
|
|
||||||
|
|
||||||
|
import assemblyline.client.model.ModelConveyorBelt;
|
||||||
|
import assemblyline.common.AssemblyLine;
|
||||||
|
import assemblyline.common.machine.belt.TileEntityConveyorBelt;
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
public class RenderConveyorBelt extends TileEntitySpecialRenderer
|
public class RenderConveyorBelt extends TileEntitySpecialRenderer
|
||||||
{
|
{
|
||||||
private ModelConveyorBelt model = new ModelConveyorBelt();
|
private ModelConveyorBelt model = new ModelConveyorBelt();
|
|
@ -1,20 +1,23 @@
|
||||||
package assemblyline.render;
|
package assemblyline.client.render;
|
||||||
|
|
||||||
import net.minecraft.src.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.src.IBlockAccess;
|
import net.minecraft.client.renderer.RenderBlocks;
|
||||||
import net.minecraft.src.RenderBlocks;
|
import net.minecraft.world.IBlockAccess;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import assemblyline.AssemblyLine;
|
import assemblyline.client.model.ModelConveyorBelt;
|
||||||
import assemblyline.machine.BlockMulti.MachineType;
|
import assemblyline.client.model.ModelManipulator;
|
||||||
import assemblyline.model.ModelConveyorBelt;
|
import assemblyline.client.model.ModelSorter;
|
||||||
import assemblyline.model.ModelManipulator;
|
import assemblyline.common.AssemblyLine;
|
||||||
import assemblyline.model.ModelSorter;
|
import assemblyline.common.machine.BlockMulti.MachineType;
|
||||||
import cpw.mods.fml.client.FMLClientHandler;
|
import cpw.mods.fml.client.FMLClientHandler;
|
||||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||||
|
import cpw.mods.fml.common.Side;
|
||||||
|
import cpw.mods.fml.common.asm.SideOnly;
|
||||||
|
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
public class RenderHelper implements ISimpleBlockRenderingHandler
|
public class RenderHelper implements ISimpleBlockRenderingHandler
|
||||||
{
|
{
|
||||||
public static RenderHelper instance = new RenderHelper();
|
public static RenderHelper instance = new RenderHelper();
|
|
@ -1,13 +1,13 @@
|
||||||
package assemblyline.render;
|
package assemblyline.client.render;
|
||||||
|
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||||
import net.minecraft.src.TileEntitySpecialRenderer;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import assemblyline.AssemblyLine;
|
import assemblyline.client.model.ModelManipulator;
|
||||||
import assemblyline.machine.TileEntityManipulator;
|
import assemblyline.common.AssemblyLine;
|
||||||
import assemblyline.model.ModelManipulator;
|
import assemblyline.common.machine.TileEntityManipulator;
|
||||||
|
|
||||||
public class RenderManipulator extends TileEntitySpecialRenderer
|
public class RenderManipulator extends TileEntitySpecialRenderer
|
||||||
{
|
{
|
|
@ -1,13 +1,13 @@
|
||||||
package assemblyline.render;
|
package assemblyline.client.render;
|
||||||
|
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||||
import net.minecraft.src.TileEntitySpecialRenderer;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import assemblyline.AssemblyLine;
|
import assemblyline.client.model.ModelSorter;
|
||||||
import assemblyline.machine.TileEntityRejector;
|
import assemblyline.common.AssemblyLine;
|
||||||
import assemblyline.model.ModelSorter;
|
import assemblyline.common.machine.TileEntityRejector;
|
||||||
|
|
||||||
public class RenderSorter extends TileEntitySpecialRenderer
|
public class RenderSorter extends TileEntitySpecialRenderer
|
||||||
{
|
{
|
|
@ -1,10 +1,10 @@
|
||||||
package assemblyline;
|
package assemblyline.common;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
import net.minecraft.src.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.src.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.common.Configuration;
|
import net.minecraftforge.common.Configuration;
|
||||||
import net.minecraftforge.oredict.ShapedOreRecipe;
|
import net.minecraftforge.oredict.ShapedOreRecipe;
|
||||||
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
||||||
|
@ -12,14 +12,14 @@ import universalelectricity.core.UniversalElectricity;
|
||||||
import universalelectricity.prefab.UETab;
|
import universalelectricity.prefab.UETab;
|
||||||
import universalelectricity.prefab.UpdateNotifier;
|
import universalelectricity.prefab.UpdateNotifier;
|
||||||
import universalelectricity.prefab.network.PacketManager;
|
import universalelectricity.prefab.network.PacketManager;
|
||||||
import assemblyline.machine.BlockArchitectTable;
|
import assemblyline.common.block.BlockArchitectTable;
|
||||||
import assemblyline.machine.BlockMulti;
|
import assemblyline.common.machine.BlockMulti;
|
||||||
import assemblyline.machine.BlockMulti.MachineType;
|
import assemblyline.common.machine.ItemBlockMulti;
|
||||||
import assemblyline.machine.ItemBlockMulti;
|
import assemblyline.common.machine.TileEntityManipulator;
|
||||||
import assemblyline.machine.TileEntityManipulator;
|
import assemblyline.common.machine.TileEntityRejector;
|
||||||
import assemblyline.machine.TileEntityRejector;
|
import assemblyline.common.machine.BlockMulti.MachineType;
|
||||||
import assemblyline.machine.belt.BlockConveyorBelt;
|
import assemblyline.common.machine.belt.BlockConveyorBelt;
|
||||||
import assemblyline.machine.belt.TileEntityConveyorBelt;
|
import assemblyline.common.machine.belt.TileEntityConveyorBelt;
|
||||||
import cpw.mods.fml.common.Loader;
|
import cpw.mods.fml.common.Loader;
|
||||||
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;
|
||||||
|
@ -37,8 +37,8 @@ import cpw.mods.fml.common.registry.LanguageRegistry;
|
||||||
@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.client.ClientProxy", serverSide = "assemblyline.common.CommonProxy")
|
||||||
public static ALCommonProxy proxy;
|
public static CommonProxy proxy;
|
||||||
|
|
||||||
@Instance(AssemblyLine.CHANNEL)
|
@Instance(AssemblyLine.CHANNEL)
|
||||||
public static AssemblyLine instance;
|
public static AssemblyLine instance;
|
||||||
|
@ -75,7 +75,7 @@ public class AssemblyLine
|
||||||
GameRegistry.registerBlock(blockArchitectTable);
|
GameRegistry.registerBlock(blockArchitectTable);
|
||||||
GameRegistry.registerBlock(blockInteraction, ItemBlockMulti.class);
|
GameRegistry.registerBlock(blockInteraction, ItemBlockMulti.class);
|
||||||
|
|
||||||
UpdateNotifier.INSTANCE.checkUpdate(NAME, VERSION, "http://calclavia.com/downloads/al/modversion.txt");
|
UpdateNotifier.INSTANCE.checkUpdate(NAME, VERSION, "http://calclavia.com/downloads/al/recommendedversion.txt");
|
||||||
|
|
||||||
proxy.preInit();
|
proxy.preInit();
|
||||||
}
|
}
|
||||||
|
@ -85,11 +85,7 @@ public class AssemblyLine
|
||||||
{
|
{
|
||||||
proxy.init();
|
proxy.init();
|
||||||
|
|
||||||
//TODO Load language files and use those for block naming
|
// TODO Load language files and use those for block naming
|
||||||
|
|
||||||
GameRegistry.registerTileEntity(TileEntityConveyorBelt.class, "ConveyorBelt");
|
|
||||||
GameRegistry.registerTileEntity(TileEntityRejector.class, "Sorter");
|
|
||||||
GameRegistry.registerTileEntity(TileEntityManipulator.class, "Manipulator");
|
|
||||||
|
|
||||||
// Add Names
|
// Add Names
|
||||||
LanguageRegistry.addName(blockConveyorBelt, "Conveyor Belt");
|
LanguageRegistry.addName(blockConveyorBelt, "Conveyor Belt");
|
51
src/minecraft/assemblyline/common/CommonProxy.java
Normal file
51
src/minecraft/assemblyline/common/CommonProxy.java
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
package assemblyline.common;
|
||||||
|
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import assemblyline.common.machine.ContainerSorter;
|
||||||
|
import assemblyline.common.machine.TileEntityManipulator;
|
||||||
|
import assemblyline.common.machine.TileEntityRejector;
|
||||||
|
import assemblyline.common.machine.belt.TileEntityConveyorBelt;
|
||||||
|
import cpw.mods.fml.common.network.IGuiHandler;
|
||||||
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
|
|
||||||
|
public class CommonProxy implements IGuiHandler
|
||||||
|
{
|
||||||
|
public static final int GUI_ARCHITECHT_TABLE = 4;
|
||||||
|
|
||||||
|
public void preInit()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void init()
|
||||||
|
{
|
||||||
|
GameRegistry.registerTileEntity(TileEntityConveyorBelt.class, "ConveyorBelt");
|
||||||
|
GameRegistry.registerTileEntity(TileEntityRejector.class, "Sorter");
|
||||||
|
GameRegistry.registerTileEntity(TileEntityManipulator.class, "Manipulator");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
|
||||||
|
{
|
||||||
|
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
||||||
|
|
||||||
|
if (tileEntity != null)
|
||||||
|
{
|
||||||
|
switch (ID)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
return new ContainerSorter(player.inventory, ((TileEntityRejector) tileEntity));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,11 +1,11 @@
|
||||||
package assemblyline.ai;
|
package assemblyline.common.ai;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.AxisAlignedBB;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.src.EntityItem;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
import universalelectricity.core.vector.Vector3;
|
import universalelectricity.core.vector.Vector3;
|
||||||
|
|
||||||
public class ArmHelper
|
public class ArmHelper
|
|
@ -1,6 +1,6 @@
|
||||||
package assemblyline.ai;
|
package assemblyline.common.ai;
|
||||||
|
|
||||||
import assemblyline.machine.crafter.TileEntityCraftingArm;
|
import assemblyline.common.machine.crafter.TileEntityCraftingArm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An AI Task that is used by TileEntities with AI.
|
* An AI Task that is used by TileEntities with AI.
|
|
@ -1,6 +1,6 @@
|
||||||
package assemblyline.ai;
|
package assemblyline.common.ai;
|
||||||
|
|
||||||
import assemblyline.machine.crafter.TileEntityCraftingArm;
|
import assemblyline.common.machine.crafter.TileEntityCraftingArm;
|
||||||
|
|
||||||
public class TaskIdle extends Task
|
public class TaskIdle extends Task
|
||||||
{
|
{
|
|
@ -1,10 +1,10 @@
|
||||||
package assemblyline.ai;
|
package assemblyline.common.ai;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import cpw.mods.fml.common.FMLLog;
|
import cpw.mods.fml.common.FMLLog;
|
||||||
|
|
||||||
public class TaskManager
|
public class TaskManager
|
|
@ -1,9 +1,9 @@
|
||||||
package assemblyline.machine;
|
package assemblyline.common.block;
|
||||||
|
|
||||||
import net.minecraft.src.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.src.Material;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
import universalelectricity.prefab.UETab;
|
import universalelectricity.prefab.UETab;
|
||||||
|
|
||||||
public class BlockArchitectTable extends Block
|
public class BlockArchitectTable extends Block
|
|
@ -1,21 +1,21 @@
|
||||||
package assemblyline.machine;
|
package assemblyline.common.machine;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.AxisAlignedBB;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
import net.minecraft.src.CreativeTabs;
|
import net.minecraft.entity.EntityLiving;
|
||||||
import net.minecraft.src.EntityLiving;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.src.MathHelper;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.util.MathHelper;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
import universalelectricity.core.UniversalElectricity;
|
import universalelectricity.core.UniversalElectricity;
|
||||||
import universalelectricity.prefab.BlockMachine;
|
import universalelectricity.prefab.BlockMachine;
|
||||||
import universalelectricity.prefab.UETab;
|
import universalelectricity.prefab.UETab;
|
||||||
import universalelectricity.prefab.implement.IRedstoneReceptor;
|
import universalelectricity.prefab.implement.IRedstoneReceptor;
|
||||||
import assemblyline.AssemblyLine;
|
import assemblyline.client.render.RenderHelper;
|
||||||
import assemblyline.render.RenderHelper;
|
import assemblyline.common.AssemblyLine;
|
||||||
import cpw.mods.fml.common.network.PacketDispatcher;
|
import cpw.mods.fml.common.network.PacketDispatcher;
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,11 +1,11 @@
|
||||||
package assemblyline.machine;
|
package assemblyline.common.machine;
|
||||||
|
|
||||||
import net.minecraft.src.Container;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.player.InventoryPlayer;
|
||||||
import net.minecraft.src.InventoryPlayer;
|
import net.minecraft.inventory.Container;
|
||||||
import net.minecraft.src.Item;
|
import net.minecraft.inventory.Slot;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.src.Slot;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
public class ContainerSorter extends Container
|
public class ContainerSorter extends Container
|
||||||
{
|
{
|
|
@ -1,8 +1,8 @@
|
||||||
package assemblyline.machine;
|
package assemblyline.common.machine;
|
||||||
|
|
||||||
import net.minecraft.src.ItemBlock;
|
import net.minecraft.item.ItemBlock;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import assemblyline.machine.BlockMulti.MachineType;
|
import assemblyline.common.machine.BlockMulti.MachineType;
|
||||||
|
|
||||||
public class ItemBlockMulti extends ItemBlock
|
public class ItemBlockMulti extends ItemBlock
|
||||||
{
|
{
|
|
@ -1,30 +1,29 @@
|
||||||
package assemblyline.machine;
|
package assemblyline.common.machine;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.AxisAlignedBB;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.src.EntityItem;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.src.IInventory;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.src.INetworkManager;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.network.INetworkManager;
|
||||||
import net.minecraft.src.NBTTagCompound;
|
import net.minecraft.network.packet.Packet;
|
||||||
import net.minecraft.src.Packet;
|
import net.minecraft.network.packet.Packet250CustomPayload;
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntityChest;
|
||||||
import net.minecraft.src.TileEntityChest;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import net.minecraftforge.common.ISidedInventory;
|
import net.minecraftforge.common.ISidedInventory;
|
||||||
import universalelectricity.core.electricity.ElectricInfo;
|
|
||||||
import universalelectricity.core.implement.IConductor;
|
import universalelectricity.core.implement.IConductor;
|
||||||
import universalelectricity.core.vector.Vector3;
|
import universalelectricity.core.vector.Vector3;
|
||||||
import universalelectricity.prefab.implement.IRedstoneReceptor;
|
import universalelectricity.prefab.implement.IRedstoneReceptor;
|
||||||
import universalelectricity.prefab.network.IPacketReceiver;
|
import universalelectricity.prefab.network.IPacketReceiver;
|
||||||
import universalelectricity.prefab.network.PacketManager;
|
import universalelectricity.prefab.network.PacketManager;
|
||||||
import universalelectricity.prefab.tile.TileEntityElectricityReceiver;
|
import universalelectricity.prefab.tile.TileEntityElectricityReceiver;
|
||||||
import assemblyline.AssemblyLine;
|
|
||||||
import assemblyline.api.IManipulator;
|
import assemblyline.api.IManipulator;
|
||||||
import assemblyline.machine.BlockMulti.MachineType;
|
import assemblyline.common.AssemblyLine;
|
||||||
|
import assemblyline.common.machine.BlockMulti.MachineType;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
|
@ -1,29 +1,27 @@
|
||||||
package assemblyline.machine;
|
package assemblyline.common.machine;
|
||||||
|
|
||||||
import java.util.EnumSet;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.AxisAlignedBB;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.src.Entity;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.src.EntityItem;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.src.IInventory;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.src.INetworkManager;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.nbt.NBTTagList;
|
||||||
import net.minecraft.src.NBTTagCompound;
|
import net.minecraft.network.INetworkManager;
|
||||||
import net.minecraft.src.NBTTagList;
|
import net.minecraft.network.packet.Packet;
|
||||||
import net.minecraft.src.Packet;
|
import net.minecraft.network.packet.Packet250CustomPayload;
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import universalelectricity.core.electricity.ElectricityConnections;
|
|
||||||
import universalelectricity.core.implement.IConductor;
|
import universalelectricity.core.implement.IConductor;
|
||||||
import universalelectricity.core.vector.Vector3;
|
import universalelectricity.core.vector.Vector3;
|
||||||
import universalelectricity.prefab.network.IPacketReceiver;
|
import universalelectricity.prefab.network.IPacketReceiver;
|
||||||
import universalelectricity.prefab.network.PacketManager;
|
import universalelectricity.prefab.network.PacketManager;
|
||||||
import universalelectricity.prefab.tile.TileEntityElectricityReceiver;
|
import universalelectricity.prefab.tile.TileEntityElectricityReceiver;
|
||||||
import assemblyline.AssemblyLine;
|
import assemblyline.common.AssemblyLine;
|
||||||
import assemblyline.machine.belt.TileEntityConveyorBelt;
|
import assemblyline.common.machine.belt.TileEntityConveyorBelt;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
package assemblyline.machine;
|
package assemblyline.common.machine;
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.src.INetworkManager;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.src.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagList;
|
||||||
import net.minecraft.src.NBTTagList;
|
import net.minecraft.network.INetworkManager;
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
import net.minecraft.network.packet.Packet250CustomPayload;
|
||||||
import universalelectricity.prefab.network.IPacketReceiver;
|
import universalelectricity.prefab.network.IPacketReceiver;
|
||||||
import universalelectricity.prefab.tile.TileEntityElectricityReceiver;
|
import universalelectricity.prefab.tile.TileEntityElectricityReceiver;
|
||||||
import assemblyline.machine.belt.TileEntityConveyorBelt;
|
import assemblyline.common.machine.belt.TileEntityConveyorBelt;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
|
@ -0,0 +1,205 @@
|
||||||
|
package assemblyline.common.machine.belt;
|
||||||
|
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityLiving;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.util.MathHelper;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import universalelectricity.core.UniversalElectricity;
|
||||||
|
import universalelectricity.prefab.BlockMachine;
|
||||||
|
import universalelectricity.prefab.UETab;
|
||||||
|
import assemblyline.client.render.RenderHelper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The block for the actual conveyor belt!
|
||||||
|
*
|
||||||
|
* @author Calclavia, DarkGuardsman
|
||||||
|
*/
|
||||||
|
public class BlockConveyorBelt extends BlockMachine
|
||||||
|
{
|
||||||
|
public BlockConveyorBelt(int id)
|
||||||
|
{
|
||||||
|
super("Conveyor Belt", id, UniversalElectricity.machine);
|
||||||
|
this.setBlockBounds(0, 0, 0, 1, 0.3f, 1);
|
||||||
|
this.setCreativeTab(UETab.INSTANCE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLiving par5EntityLiving)
|
||||||
|
{
|
||||||
|
int meta = world.getBlockMetadata(x, y, z);
|
||||||
|
int angle = MathHelper.floor_double((par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
|
||||||
|
world.setBlockMetadataWithNotify(x, y, z, meta + angle);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onUseWrench(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer, int side, float hitX, float hitY, float hitZ)
|
||||||
|
{
|
||||||
|
int metadata = par1World.getBlockMetadata(x, y, z);
|
||||||
|
|
||||||
|
if (metadata >= 0 && metadata < 8)
|
||||||
|
{
|
||||||
|
if (metadata >= 3)
|
||||||
|
{
|
||||||
|
par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (metadata >= 7)
|
||||||
|
{
|
||||||
|
par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, 4);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, metadata + 1);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author AtomicStryker
|
||||||
|
*/
|
||||||
|
//@Override
|
||||||
|
public void onEntityCollidedWithBlockTest(World world, int x, int y, int z, Entity entity)
|
||||||
|
{
|
||||||
|
TileEntityConveyorBelt tileEntity = (TileEntityConveyorBelt) world.getBlockTileEntity(x, y, z);
|
||||||
|
|
||||||
|
if (tileEntity.running)
|
||||||
|
{
|
||||||
|
int metadata = tileEntity.getBeltDirection();
|
||||||
|
if (metadata == 4)
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.1D, 0.2D, 0.0D);
|
||||||
|
entity.onGround = false;
|
||||||
|
}
|
||||||
|
else if (metadata == 5)
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.0D, 0.2D, 0.1D);
|
||||||
|
entity.onGround = false;
|
||||||
|
}
|
||||||
|
else if (metadata == 6)
|
||||||
|
{
|
||||||
|
entity.setVelocity(-0.1D, 0.2D, 0.0D);
|
||||||
|
entity.onGround = false;
|
||||||
|
}
|
||||||
|
else if (metadata == 7)
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.0D, 0.2D, -0.1D);
|
||||||
|
entity.onGround = false;
|
||||||
|
}
|
||||||
|
else if (metadata == 8)
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.1D, 0.0D, 0.0D);
|
||||||
|
entity.onGround = false;
|
||||||
|
}
|
||||||
|
else if (metadata == 9)
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.0D, 0.0D, 0.1D);
|
||||||
|
entity.onGround = false;
|
||||||
|
}
|
||||||
|
else if (metadata == 10)
|
||||||
|
{
|
||||||
|
entity.setVelocity(-0.1D, 0.0D, 0.0D);
|
||||||
|
entity.onGround = false;
|
||||||
|
}
|
||||||
|
else if (metadata == 11)
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.0D, 0.0D, -0.1D);
|
||||||
|
entity.onGround = false;
|
||||||
|
}
|
||||||
|
else if (metadata == 0)
|
||||||
|
{
|
||||||
|
if (entity.posZ > (double) z + 0.55D)
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.05D, 0.0D, -0.05D);
|
||||||
|
}
|
||||||
|
else if (entity.posZ < (double) z + 0.45D)
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.05D, 0.0D, 0.05D);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.1D, 0.0D, 0.0D);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (metadata == 1)
|
||||||
|
{
|
||||||
|
if (entity.posX > (double) x + 0.55D)
|
||||||
|
{
|
||||||
|
entity.setVelocity(-0.05D, 0.0D, 0.05D);
|
||||||
|
}
|
||||||
|
else if (entity.posX < (double) x + 0.45D)
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.05D, 0.0D, 0.05D);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.0D, 0.0D, 0.1D);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (metadata == 2)
|
||||||
|
{
|
||||||
|
if (entity.posZ > (double) z + 0.55D)
|
||||||
|
{
|
||||||
|
entity.setVelocity(-0.05D, 0.0D, -0.05D);
|
||||||
|
}
|
||||||
|
else if (entity.posZ < (double) z + 0.45D)
|
||||||
|
{
|
||||||
|
entity.setVelocity(-0.05D, 0.0D, 0.05D);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
entity.setVelocity(-0.1D, 0.0D, 0.0D);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (metadata == 3)
|
||||||
|
{
|
||||||
|
if (entity.posX > (double) x + 0.55D)
|
||||||
|
{
|
||||||
|
entity.setVelocity(-0.05D, 0.0D, -0.05D);
|
||||||
|
}
|
||||||
|
else if (entity.posX < (double) x + 0.45D)
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.05D, 0.0D, -0.05D);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
entity.setVelocity(0.0D, 0.0D, -0.1D);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the TileEntity used by this block.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TileEntity createNewTileEntity(World var1, int metadata)
|
||||||
|
{
|
||||||
|
if (metadata >= 0 && metadata < 4) { return new TileEntityConveyorBelt(); }
|
||||||
|
if (metadata >= 4 && metadata < 8) { return new TileEntityCoveredBelt(); }
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getRenderType()
|
||||||
|
{
|
||||||
|
return RenderHelper.BLOCK_RENDER_ID;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isOpaqueCube()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean renderAsNormalBlock()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,27 +1,26 @@
|
||||||
package assemblyline.machine.belt;
|
package assemblyline.common.machine.belt;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.AxisAlignedBB;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.src.Entity;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.src.EntityItem;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.network.INetworkManager;
|
||||||
import net.minecraft.src.INetworkManager;
|
import net.minecraft.network.packet.Packet;
|
||||||
import net.minecraft.src.Packet;
|
import net.minecraft.network.packet.Packet250CustomPayload;
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import universalelectricity.core.electricity.ElectricInfo;
|
|
||||||
import universalelectricity.core.electricity.ElectricityConnections;
|
import universalelectricity.core.electricity.ElectricityConnections;
|
||||||
import universalelectricity.core.implement.IConductor;
|
import universalelectricity.core.implement.IConductor;
|
||||||
import universalelectricity.core.vector.Vector3;
|
import universalelectricity.core.vector.Vector3;
|
||||||
import universalelectricity.prefab.network.IPacketReceiver;
|
import universalelectricity.prefab.network.IPacketReceiver;
|
||||||
import universalelectricity.prefab.network.PacketManager;
|
import universalelectricity.prefab.network.PacketManager;
|
||||||
import universalelectricity.prefab.tile.TileEntityElectricityReceiver;
|
import universalelectricity.prefab.tile.TileEntityElectricityReceiver;
|
||||||
import assemblyline.AssemblyLine;
|
|
||||||
import assemblyline.api.IBelt;
|
import assemblyline.api.IBelt;
|
||||||
|
import assemblyline.common.AssemblyLine;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
||||||
|
@ -41,7 +40,6 @@ public class TileEntityConveyorBelt extends TileEntityElectricityReceiver implem
|
||||||
public float wheelRotation = 0;
|
public float wheelRotation = 0;
|
||||||
public boolean running = false;
|
public boolean running = false;
|
||||||
public boolean textureFlip = false;
|
public boolean textureFlip = false;
|
||||||
public boolean slantedBelt = false;
|
|
||||||
public TileEntityConveyorBelt[] adjBelts = { null, null, null, null };
|
public TileEntityConveyorBelt[] adjBelts = { null, null, null, null };
|
||||||
|
|
||||||
public int clearCount = 0;
|
public int clearCount = 0;
|
||||||
|
@ -349,7 +347,6 @@ public class TileEntityConveyorBelt extends TileEntityElectricityReceiver implem
|
||||||
@Override
|
@Override
|
||||||
public ForgeDirection getFacing()
|
public ForgeDirection getFacing()
|
||||||
{
|
{
|
||||||
|
|
||||||
return ForgeDirection.getOrientation(this.getBeltDirection());
|
return ForgeDirection.getOrientation(this.getBeltDirection());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package assemblyline.machine.belt;
|
package assemblyline.common.machine.belt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For the moment this is just a render place holder, but will be convered to prevent item pickups
|
* For the moment this is just a render place holder, but will be convered to prevent item pickups
|
|
@ -1,10 +1,10 @@
|
||||||
package assemblyline.machine.belt;
|
package assemblyline.common.machine.belt;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Rseifert
|
* @author Rseifert
|
|
@ -1,12 +1,12 @@
|
||||||
package assemblyline.machine.crafter;
|
package assemblyline.common.machine.crafter;
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
import universalelectricity.core.UniversalElectricity;
|
import universalelectricity.core.UniversalElectricity;
|
||||||
import universalelectricity.prefab.BlockMachine;
|
import universalelectricity.prefab.BlockMachine;
|
||||||
import universalelectricity.prefab.UETab;
|
import universalelectricity.prefab.UETab;
|
||||||
import assemblyline.AssemblyLine;
|
import assemblyline.common.AssemblyLine;
|
||||||
|
|
||||||
public class BlockCrafter extends BlockMachine
|
public class BlockCrafter extends BlockMachine
|
||||||
{
|
{
|
|
@ -1,11 +1,11 @@
|
||||||
package assemblyline.machine.crafter;
|
package assemblyline.common.machine.crafter;
|
||||||
|
|
||||||
import net.minecraft.src.Container;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.player.InventoryPlayer;
|
||||||
import net.minecraft.src.InventoryPlayer;
|
import net.minecraft.inventory.Container;
|
||||||
import net.minecraft.src.Item;
|
import net.minecraft.inventory.Slot;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.src.Slot;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* I am planning to make the crafter not use a GUI.
|
* I am planning to make the crafter not use a GUI.
|
|
@ -1,12 +1,12 @@
|
||||||
package assemblyline.machine.crafter;
|
package assemblyline.common.machine.crafter;
|
||||||
|
|
||||||
import net.minecraft.src.AxisAlignedBB;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.src.Entity;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.src.EntityItem;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.src.NBTTagCompound;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
import universalelectricity.core.vector.Vector3;
|
import universalelectricity.core.vector.Vector3;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -20,6 +20,7 @@ public class EntityCraftingArm extends Entity
|
||||||
/**
|
/**
|
||||||
* Used to ID the type of arm
|
* Used to ID the type of arm
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public static enum CraftingArmType
|
public static enum CraftingArmType
|
||||||
{
|
{
|
||||||
ARM, SOLDER, DRILL, BREAKER
|
ARM, SOLDER, DRILL, BREAKER
|
||||||
|
@ -91,7 +92,7 @@ public class EntityCraftingArm extends Entity
|
||||||
clawPos.y = nbt.getDouble("clawY");
|
clawPos.y = nbt.getDouble("clawY");
|
||||||
clawPos.z = nbt.getDouble("clawZ");
|
clawPos.z = nbt.getDouble("clawZ");
|
||||||
|
|
||||||
if (nbt.tagMap.containsKey("itemStackBeingHeld"))
|
if (nbt.hasKey("itemStackBeingHeld"))
|
||||||
{
|
{
|
||||||
itemStackBeingHeld = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("itemStackBeingHeld"));
|
itemStackBeingHeld = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("itemStackBeingHeld"));
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
package assemblyline.machine.crafter;
|
package assemblyline.common.machine.crafter;
|
||||||
|
|
||||||
import net.minecraft.src.Item;
|
import net.minecraft.item.Item;
|
||||||
|
|
||||||
public class ItemCrafterArm extends Item
|
public class ItemCrafterArm extends Item
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
package assemblyline.machine.crafter;
|
package assemblyline.common.machine.crafter;
|
||||||
|
|
||||||
import net.minecraft.src.EntityItem;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import assemblyline.ai.Task;
|
import assemblyline.common.ai.Task;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used by arms to collect items in a specific region.
|
* Used by arms to collect items in a specific region.
|
|
@ -1,10 +1,10 @@
|
||||||
package assemblyline.machine.crafter;
|
package assemblyline.common.machine.crafter;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.AxisAlignedBB;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.src.Entity;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import assemblyline.ai.Task;
|
import assemblyline.common.ai.Task;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used by arms to search for entities in a region
|
* Used by arms to search for entities in a region
|
|
@ -1,8 +1,8 @@
|
||||||
package assemblyline.machine.crafter;
|
package assemblyline.common.machine.crafter;
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.INetworkManager;
|
import net.minecraft.network.INetworkManager;
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
import net.minecraft.network.packet.Packet250CustomPayload;
|
||||||
import universalelectricity.prefab.tile.TileEntityAdvanced;
|
import universalelectricity.prefab.tile.TileEntityAdvanced;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
|
@ -1,15 +1,15 @@
|
||||||
package assemblyline.machine.crafter;
|
package assemblyline.common.machine.crafter;
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.src.INetworkManager;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.src.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagList;
|
||||||
import net.minecraft.src.NBTTagList;
|
import net.minecraft.network.INetworkManager;
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
import net.minecraft.network.packet.Packet250CustomPayload;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import universalelectricity.core.electricity.ElectricityConnections;
|
import universalelectricity.core.electricity.ElectricityConnections;
|
||||||
import universalelectricity.core.implement.IConductor;
|
import universalelectricity.core.implement.IConductor;
|
||||||
|
@ -17,7 +17,7 @@ import universalelectricity.core.implement.IJouleStorage;
|
||||||
import universalelectricity.core.vector.Vector3;
|
import universalelectricity.core.vector.Vector3;
|
||||||
import universalelectricity.prefab.network.IPacketReceiver;
|
import universalelectricity.prefab.network.IPacketReceiver;
|
||||||
import universalelectricity.prefab.tile.TileEntityElectricityReceiver;
|
import universalelectricity.prefab.tile.TileEntityElectricityReceiver;
|
||||||
import assemblyline.ai.TaskManager;
|
import assemblyline.common.ai.TaskManager;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
|
@ -4,6 +4,7 @@ import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.event.ForgeSubscribe;
|
import net.minecraftforge.event.ForgeSubscribe;
|
||||||
import net.minecraftforge.event.world.WorldEvent.Unload;
|
import net.minecraftforge.event.world.WorldEvent.Unload;
|
||||||
import universalelectricity.core.electricity.Electricity;
|
import universalelectricity.core.electricity.Electricity;
|
||||||
|
import universalelectricity.core.electricity.ElectricityConnections;
|
||||||
import cpw.mods.fml.common.FMLLog;
|
import cpw.mods.fml.common.FMLLog;
|
||||||
import cpw.mods.fml.common.Loader;
|
import cpw.mods.fml.common.Loader;
|
||||||
|
|
||||||
|
@ -26,31 +27,31 @@ public class UELoader
|
||||||
Electricity.instance = new Electricity();
|
Electricity.instance = new Electricity();
|
||||||
MinecraftForge.EVENT_BUS.register(this);
|
MinecraftForge.EVENT_BUS.register(this);
|
||||||
|
|
||||||
|
UniversalElectricity.IC2_RATIO = UniversalElectricity.CONFIGURATION.get("Compatiblity", "IndustrialCraft Conversion Ratio", UniversalElectricity.IC2_RATIO).getDouble(UniversalElectricity.IC2_RATIO);
|
||||||
|
UniversalElectricity.BC3_RATIO = UniversalElectricity.CONFIGURATION.get("Compatiblity", "BuildCraft Conversion Ratio", UniversalElectricity.BC3_RATIO).getDouble(UniversalElectricity.BC3_RATIO);
|
||||||
|
UniversalElectricity.TO_IC2_RATIO = 1 / UniversalElectricity.IC2_RATIO;
|
||||||
|
UniversalElectricity.TO_BC_RATIO = 1 / UniversalElectricity.BC3_RATIO;
|
||||||
|
|
||||||
if (UniversalElectricity.BC3_RATIO <= 0 || !Loader.isModLoaded("BuildCraft|Core"))
|
if (UniversalElectricity.BC3_RATIO <= 0 || !Loader.isModLoaded("BuildCraft|Core"))
|
||||||
{
|
{
|
||||||
FMLLog.fine("Disabled Buildcraft electricity conversion!");
|
System.out.println("Disabled Buildcraft electricity conversion!");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FMLLog.fine("Buildcraft conversion ratio: " + UniversalElectricity.BC3_RATIO);
|
System.out.println("Buildcraft conversion ratio: " + UniversalElectricity.BC3_RATIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UniversalElectricity.IC2_RATIO <= 0 || !Loader.isModLoaded("IC2"))
|
if (UniversalElectricity.IC2_RATIO <= 0 || !Loader.isModLoaded("IC2"))
|
||||||
{
|
{
|
||||||
FMLLog.fine("Disabled Industrialcraft electricity conversion!");
|
System.out.println("Disabled Industrialcraft electricity conversion!");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FMLLog.fine("IC2 conversion ratio: " + UniversalElectricity.IC2_RATIO);
|
System.out.println("IC2 conversion ratio: " + UniversalElectricity.IC2_RATIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
FMLLog.finest("Universal Electricity v" + UniversalElectricity.VERSION + " successfully loaded!");
|
FMLLog.finest("Universal Electricity v" + UniversalElectricity.VERSION + " successfully loaded!");
|
||||||
|
|
||||||
UniversalElectricity.IC2_RATIO = UniversalElectricity.CONFIGURATION.get("Compatiblity", "IndustrialCraft Conversion Ratio", UniversalElectricity.IC2_RATIO).getInt();
|
|
||||||
UniversalElectricity.BC3_RATIO = UniversalElectricity.CONFIGURATION.get("Compatiblity", "BuildCraft Conversion Ratio", UniversalElectricity.BC3_RATIO).getInt();
|
|
||||||
UniversalElectricity.TO_IC2_RATIO = 1 / UniversalElectricity.IC2_RATIO;
|
|
||||||
UniversalElectricity.TO_BC_RATIO = 1 / UniversalElectricity.BC3_RATIO;
|
|
||||||
|
|
||||||
isInitialized = true;
|
isInitialized = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,5 +60,6 @@ public class UELoader
|
||||||
public void onWorldUnload(Unload event)
|
public void onWorldUnload(Unload event)
|
||||||
{
|
{
|
||||||
Electricity.instance = new Electricity();
|
Electricity.instance = new Electricity();
|
||||||
|
ElectricityConnections.clearAll();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -4,8 +4,8 @@ import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.MapColor;
|
import net.minecraft.block.material.MapColor;
|
||||||
import net.minecraft.src.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraftforge.common.Configuration;
|
import net.minecraftforge.common.Configuration;
|
||||||
import net.minecraftforge.common.ForgeVersion;
|
import net.minecraftforge.common.ForgeVersion;
|
||||||
import cpw.mods.fml.common.FMLLog;
|
import cpw.mods.fml.common.FMLLog;
|
||||||
|
@ -43,11 +43,11 @@ public class UniversalElectricity
|
||||||
* Conversion ratios between Buildcraft and Industrialcraft energy.
|
* Conversion ratios between Buildcraft and Industrialcraft energy.
|
||||||
*/
|
*/
|
||||||
// EU to Watts ratio
|
// EU to Watts ratio
|
||||||
public static int IC2_RATIO = 7;
|
public static double IC2_RATIO = 10;
|
||||||
// MJ to Watts ratio.
|
// MJ to Watts ratio.
|
||||||
public static int BC3_RATIO = 85;
|
public static double BC3_RATIO = 85;
|
||||||
public static int TO_IC2_RATIO = 1 / IC2_RATIO;
|
public static double TO_IC2_RATIO = 1 / IC2_RATIO;
|
||||||
public static int TO_BC_RATIO = 1 / BC3_RATIO;
|
public static double TO_BC_RATIO = 1 / BC3_RATIO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use this material for all your machine blocks. It can be breakable by hand.
|
* Use this material for all your machine blocks. It can be breakable by hand.
|
|
@ -4,7 +4,7 @@ import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import universalelectricity.core.implement.IConductor;
|
import universalelectricity.core.implement.IConductor;
|
||||||
import universalelectricity.core.vector.Vector3;
|
import universalelectricity.core.vector.Vector3;
|
||||||
|
@ -89,7 +89,7 @@ public class Electricity
|
||||||
{
|
{
|
||||||
for (byte i = 0; i < 6; i++)
|
for (byte i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
conductor.updateConnectionWithoutSplit(Vector3.getConnectorFromSide(((TileEntity) conductor).worldObj, Vector3.get((TileEntity) conductor), ForgeDirection.getOrientation(i)), ForgeDirection.getOrientation(i));
|
conductor.updateConnectionWithoutSplit(Vector3.getConnectorFromSide(((TileEntity) conductor).worldObj, new Vector3((TileEntity) conductor), ForgeDirection.getOrientation(i)), ForgeDirection.getOrientation(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,7 +136,5 @@ public class Electricity
|
||||||
ElectricityNetwork network = ((ElectricityNetwork) it.next());
|
ElectricityNetwork network = ((ElectricityNetwork) it.next());
|
||||||
network.resetConductors();
|
network.resetConductors();
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println(electricityNetworks.size());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -3,7 +3,7 @@ package universalelectricity.core.electricity;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -28,6 +28,11 @@ public class ElectricityConnections
|
||||||
connectors.put(tileEntity, connectableDirections);
|
connectors.put(tileEntity, connectableDirections);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void unregisterConnector(TileEntity tileEntity)
|
||||||
|
{
|
||||||
|
connectors.remove(tileEntity);
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isConnector(TileEntity tileEntity)
|
public static boolean isConnector(TileEntity tileEntity)
|
||||||
{
|
{
|
||||||
return connectors.containsKey(tileEntity);
|
return connectors.containsKey(tileEntity);
|
||||||
|
@ -35,9 +40,12 @@ public class ElectricityConnections
|
||||||
|
|
||||||
public static boolean canConnect(TileEntity tileEntity, ForgeDirection side)
|
public static boolean canConnect(TileEntity tileEntity, ForgeDirection side)
|
||||||
{
|
{
|
||||||
EnumSet<ForgeDirection> enumSet = connectors.get(tileEntity);
|
if (isConnector(tileEntity))
|
||||||
|
{
|
||||||
|
EnumSet<ForgeDirection> enumSet = connectors.get(tileEntity);
|
||||||
|
|
||||||
if (enumSet != null) { return enumSet.contains(side); }
|
if (enumSet != null) { return enumSet.contains(side); }
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -49,4 +57,9 @@ public class ElectricityConnections
|
||||||
{
|
{
|
||||||
return connectors.get(tileEntity);
|
return connectors.get(tileEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void clearAll()
|
||||||
|
{
|
||||||
|
connectors.clear();
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -6,7 +6,7 @@ import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import universalelectricity.core.implement.IConductor;
|
import universalelectricity.core.implement.IConductor;
|
||||||
import cpw.mods.fml.common.FMLLog;
|
import cpw.mods.fml.common.FMLLog;
|
||||||
|
|
||||||
|
@ -25,12 +25,17 @@ public class ElectricityNetwork
|
||||||
/**
|
/**
|
||||||
* Sets this tile entity to start producing energy in this network.
|
* Sets this tile entity to start producing energy in this network.
|
||||||
*/
|
*/
|
||||||
|
public void startProducing(TileEntity tileEntity, ElectricityPack electricityPack)
|
||||||
|
{
|
||||||
|
if (tileEntity != null && electricityPack.getWatts() > 0)
|
||||||
|
{
|
||||||
|
this.producers.put(tileEntity, electricityPack);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void startProducing(TileEntity tileEntity, double amperes, double voltage)
|
public void startProducing(TileEntity tileEntity, double amperes, double voltage)
|
||||||
{
|
{
|
||||||
if (tileEntity != null && amperes > 0 && voltage > 0)
|
this.startProducing(tileEntity, new ElectricityPack(amperes, voltage));
|
||||||
{
|
|
||||||
this.producers.put(tileEntity, new ElectricityPack(amperes, voltage));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isProducing(TileEntity tileEntity)
|
public boolean isProducing(TileEntity tileEntity)
|
||||||
|
@ -49,12 +54,17 @@ public class ElectricityNetwork
|
||||||
/**
|
/**
|
||||||
* Sets this tile entity to start producing energy in this network.
|
* Sets this tile entity to start producing energy in this network.
|
||||||
*/
|
*/
|
||||||
|
public void startRequesting(TileEntity tileEntity, ElectricityPack electricityPack)
|
||||||
|
{
|
||||||
|
if (tileEntity != null && electricityPack.getWatts() > 0)
|
||||||
|
{
|
||||||
|
this.consumers.put(tileEntity, electricityPack);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void startRequesting(TileEntity tileEntity, double amperes, double voltage)
|
public void startRequesting(TileEntity tileEntity, double amperes, double voltage)
|
||||||
{
|
{
|
||||||
if (tileEntity != null && amperes > 0 && voltage > 0)
|
this.startRequesting(tileEntity, new ElectricityPack(amperes, voltage));
|
||||||
{
|
|
||||||
this.consumers.put(tileEntity, new ElectricityPack(amperes, voltage));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isRequesting(TileEntity tileEntity)
|
public boolean isRequesting(TileEntity tileEntity)
|
|
@ -0,0 +1,56 @@
|
||||||
|
package universalelectricity.core.electricity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A simple way to store electrical data.
|
||||||
|
*
|
||||||
|
* @author Calclavia
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ElectricityPack implements Cloneable
|
||||||
|
{
|
||||||
|
public double amperes;
|
||||||
|
public double voltage;
|
||||||
|
|
||||||
|
public ElectricityPack(double amperes, double voltage)
|
||||||
|
{
|
||||||
|
this.amperes = amperes;
|
||||||
|
this.voltage = voltage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ElectricityPack()
|
||||||
|
{
|
||||||
|
this(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getWatts()
|
||||||
|
{
|
||||||
|
return ElectricInfo.getWatts(amperes, voltage);
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getConductance()
|
||||||
|
{
|
||||||
|
return ElectricInfo.getConductance(amperes, voltage);
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getResistance()
|
||||||
|
{
|
||||||
|
return ElectricInfo.getResistance(amperes, voltage);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return "ElectricityPack [Amps:" + this.amperes + " Volts:" + this.voltage + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ElectricityPack clone()
|
||||||
|
{
|
||||||
|
return new ElectricityPack(this.amperes, this.voltage);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEquals(ElectricityPack electricityPack)
|
||||||
|
{
|
||||||
|
return this.amperes == electricityPack.amperes && this.voltage == electricityPack.voltage;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
package universalelectricity.core.implement;
|
package universalelectricity.core.implement;
|
||||||
|
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import universalelectricity.core.electricity.ElectricityNetwork;
|
import universalelectricity.core.electricity.ElectricityNetwork;
|
||||||
|
|
||||||
|
@ -52,6 +52,9 @@ public interface IConductor
|
||||||
*/
|
*/
|
||||||
public void reset();
|
public void reset();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantly refreshes all connected blocks
|
||||||
|
*/
|
||||||
public void refreshConnectedBlocks();
|
public void refreshConnectedBlocks();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -63,5 +66,4 @@ public interface IConductor
|
||||||
public void updateConnection(TileEntity tileEntity, ForgeDirection side);
|
public void updateConnection(TileEntity tileEntity, ForgeDirection side);
|
||||||
|
|
||||||
public void updateConnectionWithoutSplit(TileEntity connectorFromSide, ForgeDirection orientation);
|
public void updateConnectionWithoutSplit(TileEntity connectorFromSide, ForgeDirection orientation);
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
package universalelectricity.core.implement;
|
package universalelectricity.core.implement;
|
||||||
|
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
public interface IItemElectric extends IJouleStorage, IVoltage
|
public interface IItemElectric extends IJouleStorage, IVoltage
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
package universalelectricity.core.vector;
|
package universalelectricity.core.vector;
|
||||||
|
|
||||||
import net.minecraft.src.MathHelper;
|
import net.minecraft.util.MathHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Vector2 Class is used for defining objects in a 2D space. Vector2 makes it easier to handle the
|
* Vector2 Class is used for defining objects in a 2D space. Vector2 makes it easier to handle the
|
||||||
|
@ -100,6 +100,11 @@ public class Vector2 implements Cloneable
|
||||||
return new Vector2(Math.floor(this.x), Math.floor(this.y));
|
return new Vector2(Math.floor(this.x), Math.floor(this.y));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isEquals(Vector2 vector)
|
||||||
|
{
|
||||||
|
return this.x == vector.x && this.y == vector.y;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
|
@ -2,16 +2,16 @@ package universalelectricity.core.vector;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.AxisAlignedBB;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.src.ChunkCoordinates;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.src.Entity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.src.IBlockAccess;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.src.MathHelper;
|
import net.minecraft.util.ChunkCoordinates;
|
||||||
import net.minecraft.src.MovingObjectPosition;
|
import net.minecraft.util.MathHelper;
|
||||||
import net.minecraft.src.NBTTagCompound;
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.util.Vec3;
|
||||||
import net.minecraft.src.Vec3;
|
import net.minecraft.world.IBlockAccess;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import universalelectricity.core.electricity.ElectricityConnections;
|
import universalelectricity.core.electricity.ElectricityConnections;
|
||||||
|
|
||||||
|
@ -46,6 +46,41 @@ public class Vector3 extends Vector2 implements Cloneable
|
||||||
this.z = z;
|
this.z = z;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Vector3(Entity par1)
|
||||||
|
{
|
||||||
|
this.x = par1.posX;
|
||||||
|
this.y = par1.posY;
|
||||||
|
this.z = par1.posZ;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector3(TileEntity par1)
|
||||||
|
{
|
||||||
|
this.x = par1.xCoord;
|
||||||
|
this.y = par1.yCoord;
|
||||||
|
this.z = par1.zCoord;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector3(Vec3 par1)
|
||||||
|
{
|
||||||
|
this.x = par1.xCoord;
|
||||||
|
this.y = par1.yCoord;
|
||||||
|
this.z = par1.zCoord;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector3(MovingObjectPosition par1)
|
||||||
|
{
|
||||||
|
this.x = par1.blockX;
|
||||||
|
this.y = par1.blockY;
|
||||||
|
this.z = par1.blockZ;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector3(ChunkCoordinates par1)
|
||||||
|
{
|
||||||
|
this.x = par1.posX;
|
||||||
|
this.y = par1.posY;
|
||||||
|
this.z = par1.posZ;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the coordinates as integers
|
* Returns the coordinates as integers
|
||||||
*/
|
*/
|
||||||
|
@ -64,6 +99,11 @@ public class Vector3 extends Vector2 implements Cloneable
|
||||||
return (int) Math.floor(this.z);
|
return (int) Math.floor(this.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isEquals(Vector3 vector)
|
||||||
|
{
|
||||||
|
return this.x == vector.x && this.y == vector.y && this.z == vector.z;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Makes a new copy of this Vector. Prevents variable referencing problems.
|
* Makes a new copy of this Vector. Prevents variable referencing problems.
|
||||||
*/
|
*/
|
||||||
|
@ -73,33 +113,34 @@ public class Vector3 extends Vector2 implements Cloneable
|
||||||
return new Vector3(this.x, this.y, this.z);
|
return new Vector3(this.x, this.y, this.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Deprecated
|
||||||
* Vector3 Shortcut Functions
|
|
||||||
*/
|
|
||||||
|
|
||||||
public static Vector3 get(Entity par1)
|
public static Vector3 get(Entity par1)
|
||||||
{
|
{
|
||||||
return new Vector3(par1.posX, par1.posY, par1.posZ);
|
return new Vector3(par1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public static Vector3 get(TileEntity par1)
|
public static Vector3 get(TileEntity par1)
|
||||||
{
|
{
|
||||||
return new Vector3(par1.xCoord, par1.yCoord, par1.zCoord);
|
return new Vector3(par1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public static Vector3 get(Vec3 par1)
|
public static Vector3 get(Vec3 par1)
|
||||||
{
|
{
|
||||||
return new Vector3(par1.xCoord, par1.yCoord, par1.zCoord);
|
return new Vector3(par1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public static Vector3 get(MovingObjectPosition par1)
|
public static Vector3 get(MovingObjectPosition par1)
|
||||||
{
|
{
|
||||||
return new Vector3(par1.blockX, par1.blockY, par1.blockZ);
|
return new Vector3(par1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public static Vector3 get(ChunkCoordinates par1)
|
public static Vector3 get(ChunkCoordinates par1)
|
||||||
{
|
{
|
||||||
return new Vector3(par1.posX, par1.posY, par1.posZ);
|
return new Vector3(par1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getBlockID(IBlockAccess world)
|
public int getBlockID(IBlockAccess world)
|
|
@ -1,9 +1,9 @@
|
||||||
package universalelectricity.prefab;
|
package universalelectricity.prefab;
|
||||||
|
|
||||||
import net.minecraft.src.BlockContainer;
|
import net.minecraft.block.BlockContainer;
|
||||||
import net.minecraft.src.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
import universalelectricity.core.implement.IConductor;
|
import universalelectricity.core.implement.IConductor;
|
||||||
|
|
||||||
public abstract class BlockConductor extends BlockContainer
|
public abstract class BlockConductor extends BlockContainer
|
||||||
|
@ -30,8 +30,6 @@ public abstract class BlockConductor extends BlockContainer
|
||||||
((IConductor) tileEntity).refreshConnectedBlocks();
|
((IConductor) tileEntity).refreshConnectedBlocks();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
world.scheduleBlockUpdate(x, y, z, this.blockID, this.tickRate());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -50,7 +48,5 @@ public abstract class BlockConductor extends BlockContainer
|
||||||
((IConductor) tileEntity).refreshConnectedBlocks();
|
((IConductor) tileEntity).refreshConnectedBlocks();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
world.markBlockForUpdate(x, y, z);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,16 +2,16 @@ package universalelectricity.prefab;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import net.minecraft.src.BlockContainer;
|
import net.minecraft.block.BlockContainer;
|
||||||
import net.minecraft.src.CreativeTabs;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.src.EntityItem;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.src.IInventory;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.src.Material;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.src.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
import universalelectricity.core.implement.IItemElectric;
|
import universalelectricity.core.implement.IItemElectric;
|
||||||
import universalelectricity.prefab.implement.IToolConfigurator;
|
import universalelectricity.prefab.implement.IToolConfigurator;
|
||||||
|
|
|
@ -2,14 +2,14 @@ package universalelectricity.prefab;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
import net.minecraft.src.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.src.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.src.NBTTagFloat;
|
import net.minecraft.nbt.NBTTagFloat;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
import universalelectricity.core.electricity.ElectricInfo;
|
import universalelectricity.core.electricity.ElectricInfo;
|
||||||
import universalelectricity.core.electricity.ElectricInfo.ElectricUnit;
|
import universalelectricity.core.electricity.ElectricInfo.ElectricUnit;
|
||||||
import universalelectricity.core.implement.IItemElectric;
|
import universalelectricity.core.implement.IItemElectric;
|
|
@ -4,9 +4,9 @@ import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.CraftingManager;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.src.IRecipe;
|
import net.minecraft.item.crafting.CraftingManager;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.item.crafting.IRecipe;
|
||||||
import net.minecraftforge.common.Configuration;
|
import net.minecraftforge.common.Configuration;
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package universalelectricity.prefab;
|
package universalelectricity.prefab;
|
||||||
|
|
||||||
import net.minecraft.src.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.inventory.Slot;
|
||||||
import net.minecraft.src.Slot;
|
import net.minecraft.item.ItemStack;
|
||||||
import universalelectricity.core.implement.IItemElectric;
|
import universalelectricity.core.implement.IItemElectric;
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -3,7 +3,7 @@ package universalelectricity.prefab;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.DamageSource;
|
import net.minecraft.util.DamageSource;
|
||||||
import cpw.mods.fml.common.registry.LanguageRegistry;
|
import cpw.mods.fml.common.registry.LanguageRegistry;
|
||||||
|
|
||||||
public class UEDamageSource extends DamageSource
|
public class UEDamageSource extends DamageSource
|
|
@ -1,8 +1,8 @@
|
||||||
package universalelectricity.prefab;
|
package universalelectricity.prefab;
|
||||||
|
|
||||||
import net.minecraft.src.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.src.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
import net.minecraft.src.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import cpw.mods.fml.common.registry.LanguageRegistry;
|
import cpw.mods.fml.common.registry.LanguageRegistry;
|
||||||
|
|
||||||
public class UETab extends CreativeTabs
|
public class UETab extends CreativeTabs
|
|
@ -7,7 +7,7 @@ import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import cpw.mods.fml.common.FMLLog;
|
import cpw.mods.fml.common.FMLLog;
|
||||||
import cpw.mods.fml.common.IPlayerTracker;
|
import cpw.mods.fml.common.IPlayerTracker;
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
|
@ -1,6 +1,6 @@
|
||||||
package universalelectricity.prefab.implement;
|
package universalelectricity.prefab.implement;
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Code written by Buildcraft. Applied to items that acts as a block configurator such as wrenches,
|
* Code written by Buildcraft. Applied to items that acts as a block configurator such as wrenches,
|
|
@ -3,11 +3,11 @@ package universalelectricity.prefab.network;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraft.network.INetworkManager;
|
||||||
|
import net.minecraft.network.NetLoginHandler;
|
||||||
|
import net.minecraft.network.packet.NetHandler;
|
||||||
|
import net.minecraft.network.packet.Packet1Login;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.src.INetworkManager;
|
|
||||||
import net.minecraft.src.NetHandler;
|
|
||||||
import net.minecraft.src.NetLoginHandler;
|
|
||||||
import net.minecraft.src.Packet1Login;
|
|
||||||
import cpw.mods.fml.common.network.IConnectionHandler;
|
import cpw.mods.fml.common.network.IConnectionHandler;
|
||||||
import cpw.mods.fml.common.network.Player;
|
import cpw.mods.fml.common.network.Player;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package universalelectricity.prefab.network;
|
package universalelectricity.prefab.network;
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.INetworkManager;
|
import net.minecraft.network.INetworkManager;
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
import net.minecraft.network.packet.Packet250CustomPayload;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
|
@ -4,12 +4,12 @@ import java.io.ByteArrayOutputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.src.INetworkManager;
|
import net.minecraft.network.INetworkManager;
|
||||||
import net.minecraft.src.Packet;
|
import net.minecraft.network.packet.Packet;
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
import net.minecraft.network.packet.Packet250CustomPayload;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
import universalelectricity.core.vector.Vector3;
|
import universalelectricity.core.vector.Vector3;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
|
@ -1,7 +1,7 @@
|
||||||
package universalelectricity.prefab.tile;
|
package universalelectricity.prefab.tile;
|
||||||
|
|
||||||
import net.minecraft.src.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A TileEntity with some pre-added functionalities.
|
* A TileEntity with some pre-added functionalities.
|
||||||
|
@ -32,7 +32,7 @@ public abstract class TileEntityAdvanced extends TileEntity
|
||||||
/**
|
/**
|
||||||
* Called on the TileEntity's first tick.
|
* Called on the TileEntity's first tick.
|
||||||
*/
|
*/
|
||||||
protected void initiate()
|
public void initiate()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,181 @@
|
||||||
|
package universalelectricity.prefab.tile;
|
||||||
|
|
||||||
|
import java.util.EnumSet;
|
||||||
|
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.network.INetworkManager;
|
||||||
|
import net.minecraft.network.packet.Packet;
|
||||||
|
import net.minecraft.network.packet.Packet250CustomPayload;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
|
import universalelectricity.core.electricity.Electricity;
|
||||||
|
import universalelectricity.core.electricity.ElectricityConnections;
|
||||||
|
import universalelectricity.core.electricity.ElectricityNetwork;
|
||||||
|
import universalelectricity.core.implement.IConductor;
|
||||||
|
import universalelectricity.core.vector.Vector3;
|
||||||
|
import universalelectricity.prefab.network.IPacketReceiver;
|
||||||
|
import universalelectricity.prefab.network.PacketManager;
|
||||||
|
|
||||||
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This tile entity pre-fabricated for all conductors.
|
||||||
|
*
|
||||||
|
* @author Calclavia
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public abstract class TileEntityConductor extends TileEntityAdvanced implements IConductor, IPacketReceiver
|
||||||
|
{
|
||||||
|
private ElectricityNetwork network;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used client side to render.
|
||||||
|
*/
|
||||||
|
public boolean[] visuallyConnected = { false, false, false, false, false, false };
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stores information on the blocks that this conductor is connected to.
|
||||||
|
*/
|
||||||
|
public TileEntity[] connectedBlocks = { null, null, null, null, null, null };
|
||||||
|
|
||||||
|
protected String channel = "";
|
||||||
|
|
||||||
|
public TileEntityConductor()
|
||||||
|
{
|
||||||
|
ElectricityConnections.registerConnector(this, EnumSet.range(ForgeDirection.DOWN, ForgeDirection.EAST));
|
||||||
|
this.reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ElectricityNetwork getNetwork()
|
||||||
|
{
|
||||||
|
return this.network;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setNetwork(ElectricityNetwork network)
|
||||||
|
{
|
||||||
|
this.network = network;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TileEntity[] getConnectedBlocks()
|
||||||
|
{
|
||||||
|
return this.connectedBlocks;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateConnection(TileEntity tileEntity, ForgeDirection side)
|
||||||
|
{
|
||||||
|
if (!this.worldObj.isRemote)
|
||||||
|
{
|
||||||
|
if (tileEntity != null)
|
||||||
|
{
|
||||||
|
if (ElectricityConnections.canConnect(tileEntity, side.getOpposite()))
|
||||||
|
{
|
||||||
|
this.connectedBlocks[side.ordinal()] = tileEntity;
|
||||||
|
this.visuallyConnected[side.ordinal()] = true;
|
||||||
|
|
||||||
|
if (tileEntity.getClass() == this.getClass())
|
||||||
|
{
|
||||||
|
Electricity.instance.mergeConnection(this.getNetwork(), ((IConductor) tileEntity).getNetwork());
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.connectedBlocks[side.ordinal()] != null)
|
||||||
|
{
|
||||||
|
if (this.connectedBlocks[side.ordinal()] instanceof IConductor)
|
||||||
|
{
|
||||||
|
Electricity.instance.splitConnection(this, (IConductor) this.getConnectedBlocks()[side.ordinal()]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.connectedBlocks[side.ordinal()] = null;
|
||||||
|
this.visuallyConnected[side.ordinal()] = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateConnectionWithoutSplit(TileEntity tileEntity, ForgeDirection side)
|
||||||
|
{
|
||||||
|
if (!this.worldObj.isRemote)
|
||||||
|
{
|
||||||
|
if (tileEntity != null)
|
||||||
|
{
|
||||||
|
if (ElectricityConnections.canConnect(tileEntity, side.getOpposite()))
|
||||||
|
{
|
||||||
|
this.connectedBlocks[side.ordinal()] = tileEntity;
|
||||||
|
this.visuallyConnected[side.ordinal()] = true;
|
||||||
|
|
||||||
|
if (tileEntity.getClass() == this.getClass())
|
||||||
|
{
|
||||||
|
Electricity.instance.mergeConnection(this.getNetwork(), ((IConductor) tileEntity).getNetwork());
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.connectedBlocks[side.ordinal()] = null;
|
||||||
|
this.visuallyConnected[side.ordinal()] = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handlePacketData(INetworkManager network, int type, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
|
||||||
|
{
|
||||||
|
if (this.worldObj.isRemote)
|
||||||
|
{
|
||||||
|
this.visuallyConnected[0] = dataStream.readBoolean();
|
||||||
|
this.visuallyConnected[1] = dataStream.readBoolean();
|
||||||
|
this.visuallyConnected[2] = dataStream.readBoolean();
|
||||||
|
this.visuallyConnected[3] = dataStream.readBoolean();
|
||||||
|
this.visuallyConnected[4] = dataStream.readBoolean();
|
||||||
|
this.visuallyConnected[5] = dataStream.readBoolean();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initiate()
|
||||||
|
{
|
||||||
|
this.refreshConnectedBlocks();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void reset()
|
||||||
|
{
|
||||||
|
this.network = null;
|
||||||
|
|
||||||
|
if (Electricity.instance != null)
|
||||||
|
{
|
||||||
|
Electricity.instance.registerConductor(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void refreshConnectedBlocks()
|
||||||
|
{
|
||||||
|
if (this.worldObj != null)
|
||||||
|
{
|
||||||
|
if (!this.worldObj.isRemote)
|
||||||
|
{
|
||||||
|
for (byte i = 0; i < 6; i++)
|
||||||
|
{
|
||||||
|
this.updateConnection(Vector3.getConnectorFromSide(this.worldObj, new Vector3(this), ForgeDirection.getOrientation(i)), ForgeDirection.getOrientation(i));
|
||||||
|
}
|
||||||
|
|
||||||
|
this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Packet getDescriptionPacket()
|
||||||
|
{
|
||||||
|
return PacketManager.getPacket(this.channel, this, this.visuallyConnected[0], this.visuallyConnected[1], this.visuallyConnected[2], this.visuallyConnected[3], this.visuallyConnected[4], this.visuallyConnected[5]);
|
||||||
|
}
|
||||||
|
}
|
|
@ -25,7 +25,7 @@ public abstract class TileEntityElectricityReceiver extends TileEntityDisableabl
|
||||||
{
|
{
|
||||||
super.updateEntity();
|
super.updateEntity();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double getVoltage()
|
public double getVoltage()
|
||||||
{
|
{
|
|
@ -3,9 +3,9 @@ package universalelectricity.prefab.vector;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.src.AxisAlignedBB;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.src.Entity;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.world.World;
|
||||||
import universalelectricity.core.vector.Vector3;
|
import universalelectricity.core.vector.Vector3;
|
||||||
|
|
||||||
/**
|
/**
|
Loading…
Reference in a new issue