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)
|
- Interface now supports Crafting Upgrade (raoulvdberge)
|
||||||
- When shift clicking a recipe in the Crafting Grid, the player inventory is now leveraged as well (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 machines breaking on long distances (raoulvdberge)
|
||||||
|
- Fixed controller rebuilding network graph on energy change (raoulvdberge)
|
||||||
|
|
||||||
### 0.9.4
|
### 0.9.4
|
||||||
- Little fixes in German translation (ThexXTURBOXx)
|
- Little fixes in German translation (ThexXTURBOXx)
|
||||||
|
|||||||
@@ -5,8 +5,11 @@ import net.minecraft.util.EnumFacing;
|
|||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.DimensionManager;
|
import net.minecraftforge.common.DimensionManager;
|
||||||
|
import refinedstorage.api.autocrafting.ICraftingPatternContainer;
|
||||||
import refinedstorage.api.network.INetworkNode;
|
import refinedstorage.api.network.INetworkNode;
|
||||||
import refinedstorage.api.network.INetworkNodeGraph;
|
import refinedstorage.api.network.INetworkNodeGraph;
|
||||||
|
import refinedstorage.api.storage.fluid.IFluidStorageProvider;
|
||||||
|
import refinedstorage.api.storage.item.IItemStorageProvider;
|
||||||
import refinedstorage.tile.TileController;
|
import refinedstorage.tile.TileController;
|
||||||
import refinedstorage.tile.TileNetworkTransmitter;
|
import refinedstorage.tile.TileNetworkTransmitter;
|
||||||
|
|
||||||
@@ -140,6 +143,20 @@ public class NetworkNodeGraph implements INetworkNodeGraph {
|
|||||||
public void replace(INetworkNode node) {
|
public void replace(INetworkNode node) {
|
||||||
nodes.remove(node);
|
nodes.remove(node);
|
||||||
nodes.add(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
|
@Override
|
||||||
|
|||||||
@@ -136,16 +136,6 @@ public class BlockController extends BlockBase {
|
|||||||
return drops;
|
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
|
@Override
|
||||||
public Item createItem() {
|
public Item createItem() {
|
||||||
return new ItemBlockController();
|
return new ItemBlockController();
|
||||||
|
|||||||
@@ -191,7 +191,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
private ControllerEnergyTesla energyTesla;
|
private ControllerEnergyTesla energyTesla;
|
||||||
|
|
||||||
private int lastEnergyDisplay;
|
private int lastEnergyDisplay;
|
||||||
private int lastEnergyComparator;
|
|
||||||
|
|
||||||
private boolean couldRun;
|
private boolean couldRun;
|
||||||
|
|
||||||
@@ -330,12 +329,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
|
|
||||||
updateBlock();
|
updateBlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getEnergyScaledForComparator() != lastEnergyComparator) {
|
|
||||||
lastEnergyComparator = getEnergyScaledForComparator();
|
|
||||||
|
|
||||||
worldObj.updateComparatorOutputLevel(pos, RefinedStorageBlocks.CONTROLLER);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
super.update();
|
super.update();
|
||||||
@@ -810,10 +803,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
return getEnergyScaled(energy.getEnergyStored(), energy.getMaxEnergyStored(), 7);
|
return getEnergyScaled(energy.getEnergyStored(), energy.getMaxEnergyStored(), 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getEnergyScaledForComparator() {
|
|
||||||
return getEnergyScaled(energy.getEnergyStored(), energy.getMaxEnergyStored(), 15);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMaxEnergyStored(EnumFacing from) {
|
public int getMaxEnergyStored(EnumFacing from) {
|
||||||
return energy.getMaxEnergyStored();
|
return energy.getMaxEnergyStored();
|
||||||
|
|||||||
Reference in New Issue
Block a user