Fixed controller rebuilding network graph on energy change, fixes #322

This commit is contained in:
Raoul Van den Berge
2016-09-10 13:50:47 +02:00
parent 809baddd88
commit 4f68f1047a
4 changed files with 18 additions and 21 deletions

View File

@@ -9,6 +9,7 @@
- Interface now supports Crafting Upgrade (raoulvdberge)
- When shift clicking a recipe in the Crafting Grid, the player inventory is now leveraged as well (raoulvdberge)
- Fixed machines breaking on long distances (raoulvdberge)
- Fixed controller rebuilding network graph on energy change (raoulvdberge)
### 0.9.4
- Little fixes in German translation (ThexXTURBOXx)

View File

@@ -5,8 +5,11 @@ import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.common.DimensionManager;
import refinedstorage.api.autocrafting.ICraftingPatternContainer;
import refinedstorage.api.network.INetworkNode;
import refinedstorage.api.network.INetworkNodeGraph;
import refinedstorage.api.storage.fluid.IFluidStorageProvider;
import refinedstorage.api.storage.item.IItemStorageProvider;
import refinedstorage.tile.TileController;
import refinedstorage.tile.TileNetworkTransmitter;
@@ -140,6 +143,20 @@ public class NetworkNodeGraph implements INetworkNodeGraph {
public void replace(INetworkNode node) {
nodes.remove(node);
nodes.add(node);
if (node instanceof ICraftingPatternContainer) {
controller.rebuildPatterns();
}
if (node instanceof IItemStorageProvider) {
controller.getItemStorage().rebuild();
}
if (node instanceof IFluidStorageProvider) {
controller.getFluidStorage().rebuild();
}
controller.getDataManager().sendParameterToWatchers(TileController.NODES);
}
@Override

View File

@@ -136,16 +136,6 @@ public class BlockController extends BlockBase {
return drops;
}
@Override
public boolean hasComparatorInputOverride(IBlockState state) {
return true;
}
@Override
public int getComparatorInputOverride(IBlockState state, World world, BlockPos pos) {
return ((TileController) world.getTileEntity(pos)).getEnergyScaledForComparator();
}
@Override
public Item createItem() {
return new ItemBlockController();

View File

@@ -191,7 +191,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
private ControllerEnergyTesla energyTesla;
private int lastEnergyDisplay;
private int lastEnergyComparator;
private boolean couldRun;
@@ -330,12 +329,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
updateBlock();
}
if (getEnergyScaledForComparator() != lastEnergyComparator) {
lastEnergyComparator = getEnergyScaledForComparator();
worldObj.updateComparatorOutputLevel(pos, RefinedStorageBlocks.CONTROLLER);
}
}
super.update();
@@ -810,10 +803,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
return getEnergyScaled(energy.getEnergyStored(), energy.getMaxEnergyStored(), 7);
}
public int getEnergyScaledForComparator() {
return getEnergyScaled(energy.getEnergyStored(), energy.getMaxEnergyStored(), 15);
}
@Override
public int getMaxEnergyStored(EnumFacing from) {
return energy.getMaxEnergyStored();