Fix notifyTileChanges() loading chunks.
This commit is contained in:
parent
c7d3b77112
commit
1fe0484cd1
3 changed files with 39 additions and 6 deletions
|
@ -644,7 +644,7 @@ public class PartLogisticalTransporter extends PartTransmitter<InventoryNetwork>
|
||||||
{
|
{
|
||||||
TransporterUtils.incrementColor(this);
|
TransporterUtils.incrementColor(this);
|
||||||
refreshConnections();
|
refreshConnections();
|
||||||
tile().notifyTileChange();
|
notifyTileChange();
|
||||||
PathfinderCache.onChanged(Coord4D.get(tile()));
|
PathfinderCache.onChanged(Coord4D.get(tile()));
|
||||||
Mekanism.packetHandler.sendToReceivers(new TileEntityMessage(Coord4D.get(tile()), getNetworkedData(new ArrayList())), new Range4D(Coord4D.get(tile())));
|
Mekanism.packetHandler.sendToReceivers(new TileEntityMessage(Coord4D.get(tile()), getNetworkedData(new ArrayList())), new Range4D(Coord4D.get(tile())));
|
||||||
player.addChatMessage(new ChatComponentText(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " " + MekanismUtils.localize("tooltip.configurator.toggleColor") + ": " + (color != null ? color.getName() : EnumColor.BLACK + MekanismUtils.localize("gui.none"))));
|
player.addChatMessage(new ChatComponentText(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " " + MekanismUtils.localize("tooltip.configurator.toggleColor") + ": " + (color != null ? color.getName() : EnumColor.BLACK + MekanismUtils.localize("gui.none"))));
|
||||||
|
|
|
@ -536,7 +536,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
||||||
onRedstoneJoin();
|
onRedstoneJoin();
|
||||||
}
|
}
|
||||||
|
|
||||||
tile().notifyTileChange();
|
notifyTileChange();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -576,7 +576,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
||||||
|
|
||||||
redstonePowered = redstoneReactive && MekanismUtils.isGettingPowered(world(), Coord4D.get(tile()));
|
redstonePowered = redstoneReactive && MekanismUtils.isGettingPowered(world(), Coord4D.get(tile()));
|
||||||
refreshConnections();
|
refreshConnections();
|
||||||
tile().notifyTileChange();
|
notifyTileChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -706,7 +706,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
||||||
{
|
{
|
||||||
redstoneReactive ^= true;
|
redstoneReactive ^= true;
|
||||||
refreshConnections();
|
refreshConnections();
|
||||||
tile().notifyTileChange();
|
notifyTileChange();
|
||||||
|
|
||||||
player.addChatMessage(new ChatComponentText(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " Redstone sensitivity turned " + EnumColor.INDIGO + (redstoneReactive ? "on." : "off.")));
|
player.addChatMessage(new ChatComponentText(EnumColor.DARK_BLUE + "[Mekanism]" + EnumColor.GREY + " Redstone sensitivity turned " + EnumColor.INDIGO + (redstoneReactive ? "on." : "off.")));
|
||||||
}
|
}
|
||||||
|
@ -753,4 +753,9 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void notifyTileChange()
|
||||||
|
{
|
||||||
|
MekanismUtils.notifyLoadedNeighborsOfTileChange(world(), Coord4D.get(tile()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -694,6 +694,34 @@ public final class MekanismUtils
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void notifyLoadedNeighborsOfTileChange(World world, Coord4D coord)
|
||||||
|
{
|
||||||
|
for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS)
|
||||||
|
{
|
||||||
|
Coord4D offset = coord.getFromSide(dir);
|
||||||
|
|
||||||
|
if(offset.exists(world))
|
||||||
|
{
|
||||||
|
Block block1 = offset.getBlock(world);
|
||||||
|
block1.onNeighborChange(world, offset.xCoord, offset.yCoord, offset.zCoord, coord.xCoord, coord.yCoord, coord.zCoord);
|
||||||
|
if(block1.isNormalCube(world, offset.xCoord, offset.yCoord, offset.zCoord))
|
||||||
|
{
|
||||||
|
offset = offset.getFromSide(dir);
|
||||||
|
if(offset.exists(world))
|
||||||
|
{
|
||||||
|
block1 = offset.getBlock(world);
|
||||||
|
|
||||||
|
if(block1.getWeakChanges(world, offset.xCoord, offset.yCoord, offset.zCoord))
|
||||||
|
{
|
||||||
|
block1.onNeighborChange(world, offset.xCoord, offset.yCoord, offset.zCoord, coord.xCoord, coord.yCoord, coord.zCoord);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Places a fake bounding block at the defined location.
|
* Places a fake bounding block at the defined location.
|
||||||
* @param world - world to place block in
|
* @param world - world to place block in
|
||||||
|
|
Loading…
Reference in a new issue