Added TileMechanical
This commit is contained in:
parent
12fe602ced
commit
503e7a5d17
4 changed files with 63 additions and 5836 deletions
|
@ -18,10 +18,10 @@ import resonantinduction.mechanical.network.IMechanical;
|
|||
import resonantinduction.mechanical.network.IMechanicalConnector;
|
||||
import resonantinduction.mechanical.network.IMechanicalNetwork;
|
||||
import resonantinduction.mechanical.network.MechanicalNetwork;
|
||||
import resonantinduction.mechanical.network.TileMechanical;
|
||||
import universalelectricity.api.vector.Vector3;
|
||||
import calclavia.lib.network.IPacketReceiverWithID;
|
||||
import calclavia.lib.prefab.tile.IRotatable;
|
||||
import calclavia.lib.prefab.tile.TileAdvanced;
|
||||
|
||||
import com.google.common.io.ByteArrayDataInput;
|
||||
|
||||
|
@ -32,7 +32,7 @@ import cpw.mods.fml.common.network.PacketDispatcher;
|
|||
*
|
||||
* @author DarkGuardsman
|
||||
*/
|
||||
public class TileConveyorBelt extends TileAdvanced implements IMechanicalConnector, IBelt, IRotatable, IPacketReceiverWithID
|
||||
public class TileConveyorBelt extends TileMechanical implements IMechanicalConnector, IBelt, IRotatable, IPacketReceiverWithID
|
||||
{
|
||||
public enum SlantType
|
||||
{
|
||||
|
@ -49,11 +49,6 @@ public class TileConveyorBelt extends TileAdvanced implements IMechanicalConnect
|
|||
/** Acceleration of entities on the belt */
|
||||
public static final float ACCELERATION = 0.01f;
|
||||
|
||||
private IMechanicalNetwork network;
|
||||
|
||||
/** The mechanical connections this connector has made */
|
||||
protected Object[] connections = new Object[6];
|
||||
|
||||
/** Frame count for texture animation from 0 - maxFrame */
|
||||
private int animationFrame = 0;
|
||||
|
||||
|
@ -298,41 +293,6 @@ public class TileConveyorBelt extends TileAdvanced implements IMechanicalConnect
|
|||
return Math.max(this.getNetwork().getAngularVelocity(), this.getNetwork().getPrevAngularVelocity());
|
||||
}
|
||||
|
||||
@Override
|
||||
public long onReceiveEnergy(ForgeDirection from, long torque, float angularVelocity, boolean doReceive)
|
||||
{
|
||||
return this.getNetwork().onReceiveEnergy(torque, angularVelocity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getConnections()
|
||||
{
|
||||
return connections;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMechanicalNetwork getNetwork()
|
||||
{
|
||||
if (this.network == null)
|
||||
{
|
||||
this.network = new MechanicalNetwork();
|
||||
this.network.addConnector(this);
|
||||
}
|
||||
return this.network;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNetwork(IMechanicalNetwork network)
|
||||
{
|
||||
this.network = network;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean sendNetworkPacket(long torque, float angularVelocity)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getResistance()
|
||||
{
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
package resonantinduction.mechanical.network;
|
||||
|
||||
import net.minecraftforge.common.ForgeDirection;
|
||||
import calclavia.lib.prefab.tile.TileAdvanced;
|
||||
|
||||
public class TileMechanical extends TileAdvanced implements IMechanicalConnector
|
||||
{
|
||||
/** The mechanical connections this connector has made */
|
||||
protected Object[] connections = new Object[6];
|
||||
|
||||
private IMechanicalNetwork network;
|
||||
|
||||
@Override
|
||||
public long onReceiveEnergy(ForgeDirection from, long torque, float angularVelocity, boolean doReceive)
|
||||
{
|
||||
return this.getNetwork().onReceiveEnergy(torque, angularVelocity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canConnect(ForgeDirection direction)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getConnections()
|
||||
{
|
||||
return connections;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMechanicalNetwork getNetwork()
|
||||
{
|
||||
if (this.network == null)
|
||||
{
|
||||
this.network = new MechanicalNetwork();
|
||||
this.network.addConnector(this);
|
||||
}
|
||||
return this.network;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNetwork(IMechanicalNetwork network)
|
||||
{
|
||||
this.network = network;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean sendNetworkPacket(long torque, float angularVelocity)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getResistance()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
|
@ -9,9 +9,9 @@ import resonantinduction.api.recipe.MachineRecipes.RecipeType;
|
|||
import resonantinduction.api.recipe.RecipeUtils.ItemStackResource;
|
||||
import resonantinduction.api.recipe.RecipeUtils.Resource;
|
||||
import resonantinduction.core.Reference;
|
||||
import resonantinduction.mechanical.network.TileMechanical;
|
||||
import universalelectricity.api.energy.EnergyStorageHandler;
|
||||
import universalelectricity.api.vector.Vector3;
|
||||
import calclavia.lib.prefab.tile.TileElectrical;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
|
||||
|
@ -19,7 +19,7 @@ import cpw.mods.fml.relauncher.Side;
|
|||
* @author Calclavia
|
||||
*
|
||||
*/
|
||||
public class TileGrinderWheel extends TileElectrical
|
||||
public class TileGrinderWheel extends TileMechanical
|
||||
{
|
||||
public static final long POWER = 500000;
|
||||
public static final int DEFAULT_TIME = 20 * 20;
|
||||
|
@ -29,16 +29,10 @@ public class TileGrinderWheel extends TileElectrical
|
|||
|
||||
public EntityItem grindingItem = null;
|
||||
|
||||
public TileGrinderWheel()
|
||||
{
|
||||
this.energy = new EnergyStorageHandler(POWER * 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity()
|
||||
{
|
||||
super.updateEntity();
|
||||
// TODO: Add energy support.
|
||||
doWork();
|
||||
}
|
||||
|
||||
|
@ -102,8 +96,6 @@ public class TileGrinderWheel extends TileElectrical
|
|||
{
|
||||
this.worldObj.playSoundEffect(this.xCoord + 0.5, this.yCoord + 0.5, this.zCoord + 0.5, Reference.PREFIX + "grinder", 0.5f, 1);
|
||||
}
|
||||
|
||||
this.energy.extractEnergy(POWER / 20, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue