Some minor work on the filter
This commit is contained in:
parent
56ab302f0e
commit
9c3700382f
7 changed files with 68 additions and 65 deletions
|
@ -4,6 +4,7 @@ import cpw.mods.fml.relauncher.Side;
|
|||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.ITileEntityProvider;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
@ -36,7 +37,7 @@ public class BlockFluidMixture extends BlockFluidFinite implements ITileEntityPr
|
|||
{
|
||||
TileLiquidMixture tileFluid = (TileLiquidMixture) world.getBlockTileEntity(x, y, z);
|
||||
FluidStack stack = new FluidStack(ResonantInduction.MIXTURE, (int) (FluidContainerRegistry.BUCKET_VOLUME * this.getFilledPercentage(world, x, y, z)));
|
||||
tileFluid.writeFluidToNBT(stack.tag);
|
||||
tileFluid.writeFluidToNBT(stack.tag != null ? stack.tag : new NBTTagCompound());
|
||||
return stack;
|
||||
}
|
||||
|
||||
|
|
|
@ -86,6 +86,8 @@ public class TileGenerator extends TileElectrical implements IRotatable
|
|||
IMechanical mech = ((IMechanical) tile).getInstance(outputDir.getOpposite());
|
||||
long extract = energy.extractEnergy(false);
|
||||
|
||||
if (mech != null)
|
||||
{
|
||||
if (extract > 0)
|
||||
{
|
||||
final float maxAngularVelocity = energy.getEnergyCapacity() / (float) torqueRatio;
|
||||
|
@ -115,6 +117,7 @@ public class TileGenerator extends TileElectrical implements IRotatable
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumSet<ForgeDirection> getInputDirections()
|
||||
|
|
|
@ -93,8 +93,6 @@ public class LiquidPathFinder
|
|||
{
|
||||
return false;
|
||||
}
|
||||
try
|
||||
{
|
||||
this.addNode(node);
|
||||
|
||||
if (this.isValidResult(node))
|
||||
|
@ -127,11 +125,6 @@ public class LiquidPathFinder
|
|||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -37,6 +37,8 @@ public class PartGear extends PartMechanical implements IMechanical, IMultiBlock
|
|||
@Override
|
||||
public void update()
|
||||
{
|
||||
super.update();
|
||||
|
||||
if (!this.world().isRemote)
|
||||
{
|
||||
if (manualCrankTime > 0)
|
||||
|
@ -69,16 +71,18 @@ public class PartGear extends PartMechanical implements IMechanical, IMultiBlock
|
|||
}
|
||||
|
||||
getMultiBlock().update();
|
||||
|
||||
if (getMultiBlock().isPrimary())
|
||||
{
|
||||
super.update();
|
||||
}
|
||||
|
||||
public void checkClientUpdate()
|
||||
{
|
||||
if (getMultiBlock().isPrimary())
|
||||
super.checkClientUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean activate(EntityPlayer player, MovingObjectPosition hit, ItemStack item)
|
||||
{
|
||||
// System.out.println(getNetwork());
|
||||
if (BlockAdvanced.isUsableWrench(player, player.getCurrentEquippedItem(), x(), y(), z()))
|
||||
{
|
||||
if (player.isSneaking())
|
||||
|
|
|
@ -73,9 +73,19 @@ public abstract class PartMechanical extends JCuboidPart implements JNormalOcclu
|
|||
@Override
|
||||
public void update()
|
||||
{
|
||||
if (ticks == 0)
|
||||
{
|
||||
getNetwork().addConnector(this);
|
||||
}
|
||||
|
||||
ticks++;
|
||||
angle += angularVelocity / 20;
|
||||
|
||||
super.update();
|
||||
}
|
||||
|
||||
public void checkClientUpdate()
|
||||
{
|
||||
if (Math.abs(prevAngularVelocity - angularVelocity) > 0.1f)
|
||||
{
|
||||
prevAngularVelocity = angularVelocity;
|
||||
|
@ -87,8 +97,6 @@ public abstract class PartMechanical extends JCuboidPart implements JNormalOcclu
|
|||
sendRotationPacket();
|
||||
markPacketUpdate = false;
|
||||
}
|
||||
|
||||
super.update();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -69,11 +69,12 @@ public class BlockFilter extends BlockRI implements ITileEntityProvider
|
|||
*/
|
||||
if (amount <= 1)
|
||||
{
|
||||
System.out.println("filter dropped");
|
||||
for (ItemStack itemStack : ((TileLiquidMixture) tileAbove).items)
|
||||
{
|
||||
for (Resource resoure : MachineRecipes.INSTANCE.getOutput(RecipeType.MIXER, itemStack))
|
||||
{
|
||||
InventoryUtility.dropItemStack(world, checkAbove, resoure.getItemStack());
|
||||
InventoryUtility.dropItemStack(world, checkAbove.clone().add(0.5), resoure.getItemStack());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,16 +29,12 @@ public class TileMixer extends TileMechanical
|
|||
public static final long POWER = 500000;
|
||||
public static final int PROCESS_TIME = 5 * 20;
|
||||
public static final Timer<EntityItem> timer = new Timer<EntityItem>();
|
||||
private final long requiredTorque = 1000;
|
||||
private long counter = 0;
|
||||
|
||||
@Override
|
||||
public void updateEntity()
|
||||
{
|
||||
super.updateEntity();
|
||||
|
||||
counter = Math.max(counter + torque, 0);
|
||||
|
||||
if (canWork())
|
||||
{
|
||||
doWork();
|
||||
|
@ -52,7 +48,7 @@ public class TileMixer extends TileMechanical
|
|||
*/
|
||||
public boolean canWork()
|
||||
{
|
||||
return counter >= requiredTorque;
|
||||
return angularVelocity > 0;
|
||||
}
|
||||
|
||||
public void doWork()
|
||||
|
@ -70,8 +66,7 @@ public class TileMixer extends TileMechanical
|
|||
|
||||
if (checkVector.getBlockID(worldObj) == Block.waterStill.blockID)
|
||||
{
|
||||
checkVector.setBlock(worldObj, ResonantInduction.blockFluidMixture.blockID, 8);
|
||||
System.out.println("SET");
|
||||
checkVector.setBlock(worldObj, ResonantInduction.blockFluidMixture.blockID, 8, 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -86,7 +81,7 @@ public class TileMixer extends TileMechanical
|
|||
/**
|
||||
* Rotate entities around the mixer
|
||||
*/
|
||||
double speed = 1;
|
||||
double speed = angularVelocity;
|
||||
|
||||
Vector3 originalPosition = new Vector3(entity);
|
||||
Vector3 relativePosition = originalPosition.clone().subtract(new Vector3(this).add(0.5));
|
||||
|
@ -156,8 +151,6 @@ public class TileMixer extends TileMechanical
|
|||
{
|
||||
this.worldObj.playSoundEffect(this.xCoord + 0.5, this.yCoord + 0.5, this.zCoord + 0.5, Reference.PREFIX + "mixer", 0.5f, 1);
|
||||
}
|
||||
|
||||
counter -= requiredTorque;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue