Fixed controller rebuilding network graph on energy change, fixes #322
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user