Patches so that pumps and pipes can be moved by frames properly, other buildcraft tiles not tested
This commit is contained in:
parent
7fbe8623ac
commit
9755eadfb0
8 changed files with 23 additions and 7 deletions
|
@ -290,6 +290,7 @@ public class TileArchitect extends TileBuildCraft implements IInventory {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void invalidate() {
|
public void invalidate() {
|
||||||
|
super.invalidate();
|
||||||
destroy();
|
destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -507,6 +507,7 @@ public class TileBuilder extends TileBuildCraft implements IBuilderInventory, IP
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void invalidate() {
|
public void invalidate() {
|
||||||
|
super.invalidate();
|
||||||
destroy();
|
destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -290,6 +290,7 @@ public class TileFiller extends TileBuildCraft implements ISpecialInventory, IPo
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void invalidate() {
|
public void invalidate() {
|
||||||
|
super.invalidate();
|
||||||
destroy();
|
destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -334,6 +334,7 @@ public class TileMarker extends TileBuildCraft implements IAreaProvider {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void invalidate() {
|
public void invalidate() {
|
||||||
|
super.invalidate();
|
||||||
destroy();
|
destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ public abstract class TileBuildCraft extends TileEntity implements ISynchronized
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateEntity() {
|
public void updateEntity() {
|
||||||
if (!init) {
|
if (!init && !isInvalid()) {
|
||||||
initialize();
|
initialize();
|
||||||
init = true;
|
init = true;
|
||||||
}
|
}
|
||||||
|
@ -59,6 +59,13 @@ public abstract class TileBuildCraft extends TileEntity implements ISynchronized
|
||||||
receptor.getPowerProvider().update(receptor);
|
receptor.getPowerProvider().update(receptor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void invalidate()
|
||||||
|
{
|
||||||
|
init = false;
|
||||||
|
super.invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
Utils.handleBufferedDescription(this);
|
Utils.handleBufferedDescription(this);
|
||||||
|
|
|
@ -344,6 +344,7 @@ public class TilePump extends TileMachine implements IMachine, IPowerReceptor {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void invalidate() {
|
public void invalidate() {
|
||||||
|
super.invalidate();
|
||||||
destroy();
|
destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -352,6 +353,9 @@ public class TilePump extends TileMachine implements IMachine, IPowerReceptor {
|
||||||
if (tube != null) {
|
if (tube != null) {
|
||||||
APIProxy.removeEntity(tube);
|
APIProxy.removeEntity(tube);
|
||||||
tube = null;
|
tube = null;
|
||||||
|
tubeY = Double.NaN;
|
||||||
|
aimY = 0;
|
||||||
|
blocksToPump.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -518,12 +518,12 @@ public class BlockGenericPipe extends BlockContainer implements IBlockPipe, ITex
|
||||||
|
|
||||||
public static Pipe getPipe(IBlockAccess blockAccess, int i, int j, int k) {
|
public static Pipe getPipe(IBlockAccess blockAccess, int i, int j, int k) {
|
||||||
|
|
||||||
TileGenericPipe tile = (TileGenericPipe) blockAccess.getBlockTileEntity(i, j, k);
|
TileEntity tile = blockAccess.getBlockTileEntity(i, j, k);
|
||||||
|
|
||||||
if (tile != null && !tile.isInvalid())
|
|
||||||
return tile.pipe;
|
|
||||||
|
|
||||||
return null;
|
if(!(tile instanceof TileGenericPipe) || tile.isInvalid())
|
||||||
|
return null;
|
||||||
|
|
||||||
|
return ((TileGenericPipe)tile).pipe;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isFullyDefined(Pipe pipe) {
|
public static boolean isFullyDefined(Pipe pipe) {
|
||||||
|
|
|
@ -103,7 +103,7 @@ public class TileGenericPipe extends TileEntity implements IPowerReceptor, ILiqu
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void invalidate() {
|
public void invalidate() {
|
||||||
|
initialized = false;
|
||||||
super.invalidate();
|
super.invalidate();
|
||||||
|
|
||||||
// if (BlockGenericPipe.isValid(pipe))
|
// if (BlockGenericPipe.isValid(pipe))
|
||||||
|
@ -112,6 +112,7 @@ public class TileGenericPipe extends TileEntity implements IPowerReceptor, ILiqu
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void validate() {
|
public void validate() {
|
||||||
|
super.validate();
|
||||||
bindPipe();
|
bindPipe();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue