Merge branch 'development' into v9
* development: Fixed chunk boundary acceptor interaction
This commit is contained in:
commit
279cccaa9b
1 changed files with 29 additions and 7 deletions
|
@ -69,6 +69,8 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
|||
|
||||
public boolean redstoneReactive = true;
|
||||
|
||||
public boolean forceUpdate = false;
|
||||
|
||||
public ConnectionType[] connectionTypes = {ConnectionType.NORMAL, ConnectionType.NORMAL, ConnectionType.NORMAL, ConnectionType.NORMAL, ConnectionType.NORMAL, ConnectionType.NORMAL};
|
||||
public TileEntity[] cachedAcceptors = new TileEntity[6];
|
||||
|
||||
|
@ -177,12 +179,21 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
|||
}
|
||||
}
|
||||
|
||||
if(sendDesc && !world().isRemote)
|
||||
if(!world().isRemote)
|
||||
{
|
||||
if(forceUpdate)
|
||||
{
|
||||
refreshConnections();
|
||||
forceUpdate = false;
|
||||
}
|
||||
|
||||
if(sendDesc)
|
||||
{
|
||||
sendDescUpdate();
|
||||
sendDesc = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean handlesRedstone()
|
||||
{
|
||||
|
@ -276,6 +287,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
|||
cachedAcceptors[side.ordinal()] = tileEntity;
|
||||
markDirtyAcceptor(side);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -321,7 +333,15 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
|||
{
|
||||
if(canConnectMutual(side))
|
||||
{
|
||||
TileEntity tileEntity = Coord4D.get(tile()).getFromSide(side).getTileEntity(world());
|
||||
Coord4D coord = Coord4D.get(tile()).getFromSide(side);
|
||||
|
||||
if(!world().isRemote && !coord.exists(world()))
|
||||
{
|
||||
forceUpdate = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
TileEntity tileEntity = coord.getTileEntity(world());
|
||||
|
||||
if(isValidAcceptor(tileEntity, side))
|
||||
{
|
||||
|
@ -330,10 +350,12 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
|||
cachedAcceptors[side.ordinal()] = tileEntity;
|
||||
markDirtyAcceptor(side);
|
||||
}
|
||||
|
||||
connections |= 1 << side.ordinal();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if(cachedAcceptors[side.ordinal()] != null)
|
||||
{
|
||||
cachedAcceptors[side.ordinal()] = null;
|
||||
|
@ -602,11 +624,11 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
|||
redstonePowered = false;
|
||||
}
|
||||
|
||||
if(!world().isRemote)
|
||||
{
|
||||
byte possibleTransmitters = getPossibleTransmitterConnections();
|
||||
byte possibleAcceptors = getPossibleAcceptorConnections();
|
||||
|
||||
if(!world().isRemote)
|
||||
{
|
||||
if((possibleTransmitters | possibleAcceptors) != getAllCurrentConnections())
|
||||
{
|
||||
sendDesc = true;
|
||||
|
|
Loading…
Reference in a new issue