Fix ME Level Emitter buttons config and ME IO Port not respecting its redstone mode (#345)
This commit is contained in:
@@ -19,6 +19,7 @@
|
|||||||
package appeng.block.storage;
|
package appeng.block.storage;
|
||||||
|
|
||||||
|
|
||||||
|
import appeng.api.config.Upgrades;
|
||||||
import appeng.api.util.AEPartLocation;
|
import appeng.api.util.AEPartLocation;
|
||||||
import appeng.block.AEBaseTileBlock;
|
import appeng.block.AEBaseTileBlock;
|
||||||
import appeng.core.sync.GuiBridge;
|
import appeng.core.sync.GuiBridge;
|
||||||
@@ -67,7 +68,9 @@ public class BlockIOPort extends AEBaseTileBlock {
|
|||||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos) {
|
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos) {
|
||||||
final TileIOPort te = this.getTileEntity(world, pos);
|
final TileIOPort te = this.getTileEntity(world, pos);
|
||||||
if (te != null) {
|
if (te != null) {
|
||||||
te.updateRedstoneState();
|
if (te.getInstalledUpgrades(Upgrades.REDSTONE) != 0) {
|
||||||
|
te.updateRedstoneState();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -268,7 +268,7 @@ public final class AEConfig extends Configuration implements IConfigurableObject
|
|||||||
|
|
||||||
this.craftByStacks[btnNum] = Math.abs(cmb.getInt(this.craftByStacks[btnNum]));
|
this.craftByStacks[btnNum] = Math.abs(cmb.getInt(this.craftByStacks[btnNum]));
|
||||||
this.priorityByStacks[btnNum] = Math.abs(pmb.getInt(this.priorityByStacks[btnNum]));
|
this.priorityByStacks[btnNum] = Math.abs(pmb.getInt(this.priorityByStacks[btnNum]));
|
||||||
this.levelByStacks[btnNum] = Math.abs(pmb.getInt(this.levelByStacks[btnNum]));
|
this.levelByStacks[btnNum] = Math.abs(lmb.getInt(this.levelByStacks[btnNum]));
|
||||||
|
|
||||||
cmb.setComment("Controls buttons on Crafting Screen : Capped at " + buttonCap);
|
cmb.setComment("Controls buttons on Crafting Screen : Capped at " + buttonCap);
|
||||||
pmb.setComment("Controls buttons on Priority Screen : Capped at " + buttonCap);
|
pmb.setComment("Controls buttons on Priority Screen : Capped at " + buttonCap);
|
||||||
|
|||||||
@@ -183,6 +183,11 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
|
|||||||
if (this.lastRedstoneState != currentState) {
|
if (this.lastRedstoneState != currentState) {
|
||||||
this.lastRedstoneState = currentState;
|
this.lastRedstoneState = currentState;
|
||||||
this.updateTask();
|
this.updateTask();
|
||||||
|
if (currentState == YesNo.YES) {
|
||||||
|
if (this.manager.getSetting(Settings.REDSTONE_CONTROLLED) == RedstoneMode.SIGNAL_PULSE) {
|
||||||
|
this.doWork();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,12 +203,21 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
|
|||||||
if (this.getInstalledUpgrades(Upgrades.REDSTONE) == 0) {
|
if (this.getInstalledUpgrades(Upgrades.REDSTONE) == 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final RedstoneMode rs = (RedstoneMode) this.manager.getSetting(Settings.REDSTONE_CONTROLLED);
|
final RedstoneMode rs = (RedstoneMode) this.manager.getSetting(Settings.REDSTONE_CONTROLLED);
|
||||||
if (rs == RedstoneMode.HIGH_SIGNAL) {
|
switch (rs) {
|
||||||
return this.getRedstoneState();
|
case IGNORE:
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case HIGH_SIGNAL:
|
||||||
|
return this.getRedstoneState();
|
||||||
|
|
||||||
|
case LOW_SIGNAL:
|
||||||
|
return !this.getRedstoneState();
|
||||||
|
|
||||||
|
case SIGNAL_PULSE:
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
return !this.getRedstoneState();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -268,7 +282,10 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
|
|||||||
if (!this.getProxy().isActive()) {
|
if (!this.getProxy().isActive()) {
|
||||||
return TickRateModulation.IDLE;
|
return TickRateModulation.IDLE;
|
||||||
}
|
}
|
||||||
|
return this.doWork();
|
||||||
|
}
|
||||||
|
|
||||||
|
private TickRateModulation doWork() {
|
||||||
TickRateModulation ret = TickRateModulation.SLEEP;
|
TickRateModulation ret = TickRateModulation.SLEEP;
|
||||||
long itemsToMove = 256;
|
long itemsToMove = 256;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user