Fixed turntable messing up multipart
This commit is contained in:
parent
4acf402225
commit
af4ce9b93c
4 changed files with 40 additions and 21 deletions
|
@ -14,6 +14,7 @@ import resonantinduction.core.prefab.block.BlockRIRotatable;
|
||||||
import universalelectricity.api.vector.Vector3;
|
import universalelectricity.api.vector.Vector3;
|
||||||
import calclavia.lib.prefab.block.IRotatableBlock;
|
import calclavia.lib.prefab.block.IRotatableBlock;
|
||||||
import calclavia.lib.prefab.tile.IRotatable;
|
import calclavia.lib.prefab.tile.IRotatable;
|
||||||
|
import codechicken.multipart.TileMultipart;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
@ -93,6 +94,8 @@ public class BlockTurntable extends BlockRIRotatable
|
||||||
TileEntity tileEntity = position.getTileEntity(world);
|
TileEntity tileEntity = position.getTileEntity(world);
|
||||||
Block block = Block.blocksList[position.getBlockID(world)];
|
Block block = Block.blocksList[position.getBlockID(world)];
|
||||||
|
|
||||||
|
if (!(tileEntity instanceof TileMultipart))
|
||||||
|
{
|
||||||
if (tileEntity instanceof IRotatable)
|
if (tileEntity instanceof IRotatable)
|
||||||
{
|
{
|
||||||
ForgeDirection blockRotation = ((IRotatable) tileEntity).getDirection();
|
ForgeDirection blockRotation = ((IRotatable) tileEntity).getDirection();
|
||||||
|
@ -111,6 +114,7 @@ public class BlockTurntable extends BlockRIRotatable
|
||||||
world.markBlockForUpdate(position.intX(), position.intY(), position.intZ());
|
world.markBlockForUpdate(position.intX(), position.intY(), position.intZ());
|
||||||
world.playSoundEffect(x + 0.5D, y + 0.5D, z + 0.5D, "tile.piston.in", 0.5F, world.rand.nextFloat() * 0.15F + 0.6F);
|
world.playSoundEffect(x + 0.5D, y + 0.5D, z + 0.5D, "tile.piston.in", 0.5F, world.rand.nextFloat() * 0.15F + 0.6F);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
System.out.println("Error while rotating a block near " + x + "x " + y + "y " + z + "z " + (world != null && world.provider != null ? world.provider.dimensionId + "d" : "null:world"));
|
System.out.println("Error while rotating a block near " + x + "x " + y + "y " + z + "z " + (world != null && world.provider != null ? world.provider.dimensionId + "d" : "null:world"));
|
||||||
|
|
|
@ -42,6 +42,10 @@ public class TileThermopile extends TileElectrical
|
||||||
{
|
{
|
||||||
coolingSources++;
|
coolingSources++;
|
||||||
}
|
}
|
||||||
|
else if (blockID == Block.snow.blockID)
|
||||||
|
{
|
||||||
|
coolingSources += 2;
|
||||||
|
}
|
||||||
else if (blockID == Block.ice.blockID)
|
else if (blockID == Block.ice.blockID)
|
||||||
{
|
{
|
||||||
coolingSources += 2;
|
coolingSources += 2;
|
||||||
|
|
|
@ -105,12 +105,6 @@ public abstract class PartMechanical extends JCuboidPart implements JNormalOcclu
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onMoved()
|
|
||||||
{
|
|
||||||
refresh();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNeighborChanged()
|
public void onNeighborChanged()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package resonantinduction.mechanical.network;
|
package resonantinduction.mechanical.network;
|
||||||
|
|
||||||
import resonantinduction.mechanical.gear.PartGearShaft;
|
import resonantinduction.mechanical.gear.PartGearShaft;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import universalelectricity.api.vector.Vector3;
|
import universalelectricity.api.vector.Vector3;
|
||||||
|
@ -146,4 +147,20 @@ public abstract class TileMechanical extends TileAdvanced implements IMechanical
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void readFromNBT(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
|
super.readFromNBT(nbt);
|
||||||
|
torque = nbt.getLong("torque");
|
||||||
|
angularVelocity = nbt.getFloat("angularVelocity");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeToNBT(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
|
super.writeToNBT(nbt);
|
||||||
|
nbt.setLong("torque", torque);
|
||||||
|
nbt.setFloat("angularVelocity", angularVelocity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue