Make it work more

This commit is contained in:
Raoul Van den Berge
2016-04-04 15:32:37 +02:00
parent 5a12c2fe60
commit 9e954a1df2
2 changed files with 17 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
package refinedstorage.tile; package refinedstorage.tile;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.block.Block;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import refinedstorage.block.BlockMachine; import refinedstorage.block.BlockMachine;
@@ -12,8 +13,10 @@ public abstract class TileMachine extends TileBase implements INetworkTile, IRed
protected RedstoneMode redstoneMode = RedstoneMode.IGNORE; protected RedstoneMode redstoneMode = RedstoneMode.IGNORE;
protected TileController controller; protected TileController controller;
private Block machineBlock;
public void onConnected(TileController controller) { public void onConnected(TileController controller) {
if (worldObj != null && worldObj.getBlockState(pos).getBlock() == blockType) { if (worldObj != null && worldObj.getBlockState(pos).getBlock() == machineBlock) {
markDirty(); markDirty();
this.connected = true; this.connected = true;
@@ -24,7 +27,7 @@ public abstract class TileMachine extends TileBase implements INetworkTile, IRed
} }
public void onDisconnected() { public void onDisconnected() {
if (worldObj != null && worldObj.getBlockState(pos).getBlock() == blockType) { if (worldObj != null && worldObj.getBlockState(pos).getBlock() == machineBlock) {
markDirty(); markDirty();
this.connected = false; this.connected = false;
@@ -40,9 +43,18 @@ public abstract class TileMachine extends TileBase implements INetworkTile, IRed
@Override @Override
public void update() { public void update() {
if (worldObj == null) {
super.update();
return;
}
if (ticks == 0) {
machineBlock = worldObj.getBlockState(pos).getBlock();
}
super.update(); super.update();
if (worldObj != null && !worldObj.isRemote && isConnected()) { if (!worldObj.isRemote && isConnected()) {
updateMachine(); updateMachine();
} }
} }
@@ -75,7 +87,7 @@ public abstract class TileMachine extends TileBase implements INetworkTile, IRed
connected = buf.readBoolean(); connected = buf.readBoolean();
if (lastConnected != connected) { if (lastConnected != connected) {
// @TODO: make this work and use correct flags? // @TODO: Am I using the correct flags?
worldObj.notifyBlockUpdate(pos, worldObj.getBlockState(pos), worldObj.getBlockState(pos), 2 | 4); worldObj.notifyBlockUpdate(pos, worldObj.getBlockState(pos), worldObj.getBlockState(pos), 2 | 4);
} }
} }

View File

@@ -13,6 +13,7 @@ import refinedstorage.util.HandUtils;
import java.util.List; import java.util.List;
// @TODO: Fix this as well
public class WirelessGrid implements IGrid { public class WirelessGrid implements IGrid {
private ItemStack stack; private ItemStack stack;
private EnumHand hand; private EnumHand hand;