Don't construct crafting monitor elements if noone is watching
This commit is contained in:
@@ -538,11 +538,15 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendCraftingMonitorUpdate() {
|
public void sendCraftingMonitorUpdate() {
|
||||||
List<ICraftingMonitorElement> elements = getElements();
|
List<EntityPlayerMP> watchers = worldObj.getMinecraftServer().getPlayerList().getPlayerList().stream()
|
||||||
|
|
||||||
worldObj.getMinecraftServer().getPlayerList().getPlayerList().stream()
|
|
||||||
.filter(player -> player.openContainer instanceof ContainerCraftingMonitor && pos.equals(((ContainerCraftingMonitor) player.openContainer).getCraftingMonitor().getNetworkPosition()))
|
.filter(player -> player.openContainer instanceof ContainerCraftingMonitor && pos.equals(((ContainerCraftingMonitor) player.openContainer).getCraftingMonitor().getNetworkPosition()))
|
||||||
.forEach(player -> RS.INSTANCE.network.sendTo(new MessageCraftingMonitorElements(elements), player));
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
if (!watchers.isEmpty()) {
|
||||||
|
List<ICraftingMonitorElement> elements = getElements();
|
||||||
|
|
||||||
|
watchers.forEach(player -> RS.INSTANCE.network.sendTo(new MessageCraftingMonitorElements(elements), player));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user