diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeProxy.java b/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeProxy.java index 8b3235e93..8a33dd975 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeProxy.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeProxy.java @@ -1,7 +1,8 @@ package com.raoulvdberge.refinedstorage.api.network; -public interface INetworkNodeProxy { - INetworkNode getNode(); +import javax.annotation.Nonnull; - INetworkNode createNode(); +public interface INetworkNodeProxy { + @Nonnull + T getNode(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeGraph.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeGraph.java index fafa40489..4c7d09abd 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeGraph.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeGraph.java @@ -51,7 +51,7 @@ public class NetworkNodeGraph implements INetworkNodeGraph { INetworkNodeProxy otherNodeProxy = NETWORK_NODE_PROXY_CAPABILITY.cast(tile.getCapability(NETWORK_NODE_PROXY_CAPABILITY, side)); INetworkNode otherNode = otherNodeProxy.getNode(); - if (otherNode != null && newNodes.add(otherNode)) { + if (newNodes.add(otherNode)) { toCheck.add(new NodeToCheck(otherNode, world, pos, side, tile)); } } @@ -163,6 +163,7 @@ public class NetworkNodeGraph implements INetworkNodeGraph { if (checkSide != side) { // Avoid going backward INetworkNodeProxy nodeOnSideProxy = NETWORK_NODE_PROXY_CAPABILITY.cast(tile.getCapability(NETWORK_NODE_PROXY_CAPABILITY, checkSide)); INetworkNode nodeOnSide = nodeOnSideProxy.getNode(); + if (nodeOnSide == node) { operator.apply(world, pos.offset(checkSide), checkSide.getOpposite()); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeListener.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeListener.java index b3909f6d7..c07a1a4af 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeListener.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeListener.java @@ -49,8 +49,6 @@ public class NetworkNodeListener { RSUtils.sendNoPermissionMessage(e.getPlayer()); e.setCanceled(true); - - return; } } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNode.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNode.java index fa5f74fd1..c37693708 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNode.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNode.java @@ -20,13 +20,14 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; public abstract class NetworkNode implements INetworkNode, INetworkNeighborhoodAware, IWrenchable { - protected boolean rebuildOnUpdateChange; - private RedstoneMode redstoneMode = RedstoneMode.IGNORE; @Nullable protected INetworkMaster network; - private boolean couldUpdate; - protected int ticks; protected INetworkNodeHolder holder; + protected int ticks; + + private RedstoneMode redstoneMode = RedstoneMode.IGNORE; + + private boolean couldUpdate; private boolean active; @@ -40,6 +41,8 @@ public abstract class NetworkNode implements INetworkNode, INetworkNeighborhoodA public void setRedstoneMode(RedstoneMode redstoneMode) { this.redstoneMode = redstoneMode; + + markDirty(); } @Override @@ -109,7 +112,7 @@ public abstract class NetworkNode implements INetworkNode, INetworkNeighborhoodA if (network != null) { onConnectedStateChange(network, couldUpdate); - if (rebuildOnUpdateChange) { + if (shouldRebuildGraphOnChange()) { network.getNodeGraph().rebuild(); } } @@ -169,6 +172,10 @@ public abstract class NetworkNode implements INetworkNode, INetworkNeighborhoodA return null; } + public boolean shouldRebuildGraphOnChange() { + return false; + } + public boolean hasConnectivityState() { return false; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java index 134dd5b9d..2fa94f4a1 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java @@ -40,7 +40,7 @@ public class NetworkNodeCrafter extends NetworkNode implements ICraftingPatternC protected void onContentsChanged(int slot) { super.onContentsChanged(slot); - if (network != null && !holder.world().isRemote) { + if (!holder.world().isRemote) { rebuildPatterns(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDestructor.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDestructor.java index cfddcee78..aafe49b40 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDestructor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDestructor.java @@ -71,6 +71,8 @@ public class NetworkNodeDestructor extends NetworkNode implements IComparable, I @Override public void update() { + super.update(); + if (network != null && ticks % upgrades.getSpeed(BASE_SPEED, 4) == 0) { BlockPos front = holder.pos().offset(holder.getDirection()); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDetector.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDetector.java index 6383551f4..5d431b3e1 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDetector.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDetector.java @@ -57,6 +57,8 @@ public class NetworkNodeDetector extends NetworkNode implements IComparable, ITy @Override public void update() { + super.update(); + if (powered != wasPowered) { wasPowered = powered; @@ -128,6 +130,10 @@ public class NetworkNodeDetector extends NetworkNode implements IComparable, ITy return powered; } + public void setPowered(boolean powered) { + this.powered = powered; + } + private boolean isPowered(Integer size) { if (size != null) { switch (mode) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDiskManipulator.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDiskManipulator.java index 724c4018a..4af4b571d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDiskManipulator.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDiskManipulator.java @@ -208,6 +208,8 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab @Override public void update() { + super.update(); + if (network == null || ticks % upgrades.getSpeed() != 0) { return; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeExporter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeExporter.java index 508fb1920..6f6488416 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeExporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeExporter.java @@ -54,9 +54,11 @@ public class NetworkNodeExporter extends NetworkNode implements IComparable, ITy @Override public void update() { + super.update(); + if (network != null && ticks % upgrades.getSpeed() == 0) { if (type == IType.ITEMS) { - IItemHandler handler = RSUtils.getItemHandler(holder.world().getTileEntity(holder.pos().offset(holder.getDirection())), holder.getDirection().getOpposite()); + IItemHandler handler = RSUtils.getItemHandler(getFacingTile(), holder.getDirection().getOpposite()); if (handler != null) { for (int i = 0; i < itemFilters.getSlots(); ++i) { @@ -130,7 +132,7 @@ public class NetworkNodeExporter extends NetworkNode implements IComparable, ITy } } } else if (type == IType.FLUIDS) { - IFluidHandler handler = RSUtils.getFluidHandler(holder.world().getTileEntity(holder.pos().offset(holder.getDirection())), holder.getDirection().getOpposite()); + IFluidHandler handler = RSUtils.getFluidHandler(getFacingTile(), holder.getDirection().getOpposite()); if (handler != null) { for (FluidStack stack : fluidFilters.getFluids()) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidInterface.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidInterface.java index 059ed5f95..ea57418d3 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidInterface.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidInterface.java @@ -72,6 +72,8 @@ public class NetworkNodeFluidInterface extends NetworkNode implements IComparabl @Override public void update() { + super.update(); + ItemStack container = in.getStackInSlot(0); if (!container.isEmpty()) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeImporter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeImporter.java index 9a0746355..ccae1e73e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeImporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeImporter.java @@ -51,12 +51,14 @@ public class NetworkNodeImporter extends NetworkNode implements IComparable, IFi @Override public void update() { + super.update(); + if (network == null) { return; } if (type == IType.ITEMS) { - TileEntity tile = holder.world().getTileEntity(holder.pos().offset(holder.getDirection())); + TileEntity tile = getFacingTile(); IItemHandler handler = RSUtils.getItemHandler(tile, holder.getDirection().getOpposite()); if (handler == null || tile instanceof TileDiskDrive) { @@ -85,7 +87,7 @@ public class NetworkNodeImporter extends NetworkNode implements IComparable, IFi } } } else if (type == IType.FLUIDS && ticks % upgrades.getSpeed() == 0) { - IFluidHandler handler = RSUtils.getFluidHandler(holder.world().getTileEntity(holder.pos().offset(holder.getDirection())), holder.getDirection().getOpposite()); + IFluidHandler handler = RSUtils.getFluidHandler(getFacingTile(), holder.getDirection().getOpposite()); if (handler != null) { FluidStack stack = handler.drain(Fluid.BUCKET_VOLUME, false); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeInterface.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeInterface.java index c1a0ab287..1cb71083c 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeInterface.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeInterface.java @@ -44,6 +44,8 @@ public class NetworkNodeInterface extends NetworkNode implements IComparable { @Override public void update() { + super.update(); + if (network == null) { return; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeNetworkTransmitter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeNetworkTransmitter.java index fc6b804b2..5d9036a90 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeNetworkTransmitter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeNetworkTransmitter.java @@ -59,12 +59,6 @@ public class NetworkNodeNetworkTransmitter extends NetworkNode { public NetworkNodeNetworkTransmitter(INetworkNodeHolder holder) { super(holder); - - rebuildOnUpdateChange = true; - } - - public boolean canTransmit() { - return canUpdate() && receiver != null && isDimensionSupported(); } @Override @@ -136,11 +130,20 @@ public class NetworkNodeNetworkTransmitter extends NetworkNode { return isSameDimension() || upgrades.hasUpgrade(ItemUpgrade.TYPE_INTERDIMENSIONAL); } + private boolean canTransmit() { + return canUpdate() && receiver != null && isDimensionSupported(); + } + @Override public boolean hasConnectivityState() { return true; } + @Override + public boolean shouldRebuildGraphOnChange() { + return true; + } + @Override public void walkNeighborhood(Operator operator) { super.walkNeighborhood(operator); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeRelay.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeRelay.java index e2e9cd285..e962ad5ec 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeRelay.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeRelay.java @@ -14,8 +14,6 @@ public class NetworkNodeRelay extends NetworkNode { super(holder); setRedstoneMode(RedstoneMode.LOW); - - rebuildOnUpdateChange = true; } @Override @@ -37,4 +35,9 @@ public class NetworkNodeRelay extends NetworkNode { public boolean hasConnectivityState() { return true; } + + @Override + public boolean shouldRebuildGraphOnChange() { + return true; + } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeSolderer.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeSolderer.java index a1863476d..05d119887 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeSolderer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeSolderer.java @@ -62,6 +62,8 @@ public class NetworkNodeSolderer extends NetworkNode { @Override public void update() { + super.update(); + if (network == null) { return; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java index b6e512f4e..ea9097ff2 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java @@ -170,11 +170,7 @@ public abstract class BlockBase extends Block { INetworkNode node = nodeProxy.getNode(); if (node.getNetwork() != null) { - if (!(entity instanceof EntityPlayer)) { - return false; - } - - return node.getNetwork().getSecurityManager().hasPermission(Permission.BUILD, (EntityPlayer) entity); + return entity instanceof EntityPlayer && node.getNetwork().getSecurityManager().hasPermission(Permission.BUILD, (EntityPlayer) entity); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockCraftingMonitor.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockCraftingMonitor.java index 0541aa20b..d18ac8e88 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockCraftingMonitor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockCraftingMonitor.java @@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.block; import com.raoulvdberge.refinedstorage.RSGui; import com.raoulvdberge.refinedstorage.api.network.security.Permission; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCraftingMonitor; import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; @@ -25,7 +24,7 @@ public class BlockCraftingMonitor extends BlockNode { @Override public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) { if (!world.isRemote && tryOpenNetworkGui(RSGui.CRAFTING_MONITOR, player, world, pos, side, Permission.MODIFY, Permission.AUTOCRAFTING)) { - ((NetworkNodeCraftingMonitor) ((TileCraftingMonitor) world.getTileEntity(pos)).getNode()).onOpened(player); + ((TileCraftingMonitor) world.getTileEntity(pos)).getNode().onOpened(player); } return true; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockDetector.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockDetector.java index 078ada55d..4443c7d34 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockDetector.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockDetector.java @@ -34,7 +34,7 @@ public class BlockDetector extends BlockNode { @Override public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) { return super.getActualState(state, world, pos) - .withProperty(POWERED, ((TileDetector) world.getTileEntity(pos)).isPowered()); + .withProperty(POWERED, ((TileDetector) world.getTileEntity(pos)).getNode().isPowered()); } @Override @@ -51,7 +51,7 @@ public class BlockDetector extends BlockNode { @Override @SuppressWarnings("deprecation") public int getWeakPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) { - return ((TileDetector) world.getTileEntity(pos)).isPowered() ? 15 : 0; + return ((TileDetector) world.getTileEntity(pos)).getNode().isPowered() ? 15 : 0; } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockDiskDrive.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockDiskDrive.java index 822f17905..41dc3feb0 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockDiskDrive.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockDiskDrive.java @@ -1,7 +1,6 @@ package com.raoulvdberge.refinedstorage.block; import com.raoulvdberge.refinedstorage.RSGui; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeDiskDrive; import com.raoulvdberge.refinedstorage.render.PropertyObject; import com.raoulvdberge.refinedstorage.tile.TileDiskDrive; import net.minecraft.block.state.BlockStateContainer; @@ -48,7 +47,7 @@ public class BlockDiskDrive extends BlockNode { @Override public void breakBlock(World world, BlockPos pos, IBlockState state) { - ((NetworkNodeDiskDrive) ((TileDiskDrive) world.getTileEntity(pos)).getNode()).onBreak(); + ((TileDiskDrive) world.getTileEntity(pos)).getNode().onBreak(); super.breakBlock(world, pos, state); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockDiskManipulator.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockDiskManipulator.java index 206a66c6d..e36ed5137 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockDiskManipulator.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockDiskManipulator.java @@ -1,7 +1,6 @@ package com.raoulvdberge.refinedstorage.block; import com.raoulvdberge.refinedstorage.RSGui; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeDiskManipulator; import com.raoulvdberge.refinedstorage.render.PropertyObject; import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator; import net.minecraft.block.state.BlockStateContainer; @@ -48,7 +47,7 @@ public class BlockDiskManipulator extends BlockNode { @Override public void breakBlock(World world, BlockPos pos, IBlockState state) { - ((NetworkNodeDiskManipulator) ((TileDiskManipulator) world.getTileEntity(pos)).getNode()).onBreak(); + ((TileDiskManipulator) world.getTileEntity(pos)).getNode().onBreak(); super.breakBlock(world, pos, state); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockExternalStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockExternalStorage.java index 5b2b6de5b..17386336c 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockExternalStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockExternalStorage.java @@ -86,7 +86,7 @@ public class BlockExternalStorage extends BlockCable { super.neighborChanged(state, world, pos, block, fromPos); if (!world.isRemote) { - NetworkNodeExternalStorage externalStorage = (NetworkNodeExternalStorage) ((TileExternalStorage) world.getTileEntity(pos)).getNode(); + NetworkNodeExternalStorage externalStorage = ((TileExternalStorage) world.getTileEntity(pos)).getNode(); if (externalStorage.getNetwork() != null) { externalStorage.updateStorage(externalStorage.getNetwork()); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockFluidStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockFluidStorage.java index 47ea014d0..09075a278 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockFluidStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockFluidStorage.java @@ -77,13 +77,13 @@ public class BlockFluidStorage extends BlockNode { super.onBlockPlacedBy(world, pos, state, player, stack); if (!world.isRemote && stack.hasTagCompound() && stack.getTagCompound().hasKey(NetworkNodeFluidStorage.NBT_STORAGE)) { - ((NetworkNodeFluidStorage) ((TileFluidStorage) world.getTileEntity(pos)).getNode()).setStorageTag(stack.getTagCompound().getCompoundTag(NetworkNodeFluidStorage.NBT_STORAGE)); + ((TileFluidStorage) world.getTileEntity(pos)).getNode().setStorageTag(stack.getTagCompound().getCompoundTag(NetworkNodeFluidStorage.NBT_STORAGE)); } } @Override public void breakBlock(World world, BlockPos pos, IBlockState state) { - ((NetworkNodeFluidStorage) ((TileFluidStorage) world.getTileEntity(pos)).getNode()).onBreak(); + ((TileFluidStorage) world.getTileEntity(pos)).getNode().onBreak(); super.breakBlock(world, pos, state); } @@ -96,7 +96,7 @@ public class BlockFluidStorage extends BlockNode { ItemStack stack = new ItemStack(RSBlocks.FLUID_STORAGE, 1, getMetaFromState(state)); stack.setTagCompound(new NBTTagCompound()); - stack.getTagCompound().setTag(NetworkNodeFluidStorage.NBT_STORAGE, ((NetworkNodeFluidStorage) ((TileFluidStorage) world.getTileEntity(pos)).getNode()).getStorageTag()); + stack.getTagCompound().setTag(NetworkNodeFluidStorage.NBT_STORAGE, ((TileFluidStorage) world.getTileEntity(pos)).getNode().getStorageTag()); drops.add(stack); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockGrid.java index 7eb85441e..2f76c671b 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockGrid.java @@ -57,7 +57,7 @@ public class BlockGrid extends BlockNode { @Override public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) { if (!world.isRemote && tryOpenNetworkGui(RSGui.GRID, player, world, pos, side)) { - ((NetworkNodeGrid) ((TileGrid) world.getTileEntity(pos)).getNode()).onOpened(player); + ((TileGrid) world.getTileEntity(pos)).getNode().onOpened(player); } return true; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockNode.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockNode.java index c42693cca..5ce73aad0 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockNode.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockNode.java @@ -52,7 +52,7 @@ public abstract class BlockNode extends BlockBase { @Override public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) { if (hasConnectivityState()) { - return super.getActualState(state, world, pos).withProperty(CONNECTED, ((NetworkNode) ((TileNode) world.getTileEntity(pos)).getNode()).isActive()); + return super.getActualState(state, world, pos).withProperty(CONNECTED, ((TileNode) world.getTileEntity(pos)).getNode().isActive()); } return super.getActualState(state, world, pos); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockReader.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockReader.java index 57af222fc..ad6cafa12 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockReader.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockReader.java @@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.block; import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSGui; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeReader; import com.raoulvdberge.refinedstorage.tile.TileReader; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; @@ -33,7 +32,7 @@ public class BlockReader extends BlockCable { } if (!world.isRemote && tryOpenNetworkGui(RSGui.READER_WRITER, player, world, pos, side)) { - ((NetworkNodeReader) ((TileReader) world.getTileEntity(pos)).getNode()).onOpened(player); + ((TileReader) world.getTileEntity(pos)).getNode().onOpened(player); } return true; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockSecurityManager.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockSecurityManager.java index bb63ed0ac..70445c13b 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockSecurityManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockSecurityManager.java @@ -30,14 +30,14 @@ public class BlockSecurityManager extends BlockNode { super.onBlockPlacedBy(world, pos, state, placer, stack); if (!world.isRemote && placer instanceof EntityPlayer) { - ((NetworkNodeSecurityManager) ((TileSecurityManager) world.getTileEntity(pos)).getNode()).setOwner(((EntityPlayer) placer).getGameProfile().getId()); + ((TileSecurityManager) world.getTileEntity(pos)).getNode().setOwner(((EntityPlayer) placer).getGameProfile().getId()); } } @Override public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) { if (!world.isRemote) { - if (player.getGameProfile().getId().equals(((NetworkNodeSecurityManager) ((TileSecurityManager) world.getTileEntity(pos)).getNode()).getOwner())) { + if (player.getGameProfile().getId().equals(((TileSecurityManager) world.getTileEntity(pos)).getNode().getOwner())) { player.openGui(RS.INSTANCE, RSGui.SECURITY_MANAGER, world, pos.getX(), pos.getY(), pos.getZ()); } else { tryOpenNetworkGui(RSGui.SECURITY_MANAGER, player, world, pos, side, Permission.MODIFY, Permission.SECURITY); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockStorage.java index 70902fb19..cdd7899eb 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockStorage.java @@ -77,13 +77,13 @@ public class BlockStorage extends BlockNode { super.onBlockPlacedBy(world, pos, state, player, stack); if (!world.isRemote && stack.hasTagCompound() && stack.getTagCompound().hasKey(NetworkNodeStorage.NBT_STORAGE)) { - ((NetworkNodeStorage) ((TileStorage) world.getTileEntity(pos)).getNode()).setStorageTag(stack.getTagCompound().getCompoundTag(NetworkNodeStorage.NBT_STORAGE)); + ((TileStorage) world.getTileEntity(pos)).getNode().setStorageTag(stack.getTagCompound().getCompoundTag(NetworkNodeStorage.NBT_STORAGE)); } } @Override public void breakBlock(World world, BlockPos pos, IBlockState state) { - ((NetworkNodeStorage) ((TileStorage) world.getTileEntity(pos)).getNode()).onBreak(); + ((TileStorage) world.getTileEntity(pos)).getNode().onBreak(); super.breakBlock(world, pos, state); } @@ -96,7 +96,7 @@ public class BlockStorage extends BlockNode { ItemStack stack = new ItemStack(RSBlocks.STORAGE, 1, getMetaFromState(state)); stack.setTagCompound(new NBTTagCompound()); - stack.getTagCompound().setTag(NetworkNodeStorage.NBT_STORAGE, ((NetworkNodeStorage) ((TileStorage) world.getTileEntity(pos)).getNode()).getStorageTag()); + stack.getTagCompound().setTag(NetworkNodeStorage.NBT_STORAGE, ((TileStorage) world.getTileEntity(pos)).getNode().getStorageTag()); drops.add(stack); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWriter.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWriter.java index fb7a6ab6c..ad0185840 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWriter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWriter.java @@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.block; import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSGui; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IWriter; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeWriter; import com.raoulvdberge.refinedstorage.tile.TileWriter; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; @@ -34,7 +33,7 @@ public class BlockWriter extends BlockCable { } if (!world.isRemote && tryOpenNetworkGui(RSGui.READER_WRITER, player, world, pos, side)) { - ((NetworkNodeWriter) ((TileWriter) world.getTileEntity(pos)).getNode()).onOpened(player); + ((TileWriter) world.getTileEntity(pos)).getNode().onOpened(player); } return true; @@ -48,7 +47,7 @@ public class BlockWriter extends BlockCable { @Override @SuppressWarnings("deprecation") public int getWeakPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) { - IWriter writer = (IWriter) ((TileWriter) world.getTileEntity(pos)).getNode(); + IWriter writer = ((TileWriter) world.getTileEntity(pos)).getNode(); return side == writer.getDirection().getOpposite() ? writer.getRedstoneStrength() : 0; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerConstructor.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerConstructor.java index c4f04625b..b5aeaea8d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerConstructor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerConstructor.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeConstructor; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType; import com.raoulvdberge.refinedstorage.tile.TileConstructor; import net.minecraft.entity.player.EntityPlayer; @@ -13,10 +12,10 @@ public class ContainerConstructor extends ContainerBase { super(constructor, player); for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeConstructor) constructor.getNode()).getUpgrades(), i, 187, 6 + (i * 18))); + addSlotToContainer(new SlotItemHandler(constructor.getNode().getUpgrades(), i, 187, 6 + (i * 18))); } - addSlotToContainer(new SlotFilterType((NetworkNodeConstructor) constructor.getNode(), 0, 80, 20)); + addSlotToContainer(new SlotFilterType(constructor.getNode(), 0, 80, 20)); addPlayerInventory(8, 55); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafter.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafter.java index f72569b5a..144f3aa44 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafter.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafter; import com.raoulvdberge.refinedstorage.tile.TileCrafter; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Slot; @@ -12,11 +11,11 @@ public class ContainerCrafter extends ContainerBase { super(crafter, player); for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeCrafter) crafter.getNode()).getPatternItems(), i, 8 + (18 * i), 20)); + addSlotToContainer(new SlotItemHandler(crafter.getNode().getPatternItems(), i, 8 + (18 * i), 20)); } for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeCrafter) crafter.getNode()).getUpgrades(), i, 187, 6 + (i * 18))); + addSlotToContainer(new SlotItemHandler(crafter.getNode().getUpgrades(), i, 187, 6 + (i * 18))); } addPlayerInventory(8, 55); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDestructor.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDestructor.java index 06fd47fa5..4fd4459fe 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDestructor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDestructor.java @@ -13,11 +13,11 @@ public class ContainerDestructor extends ContainerBase { super(destructor, player); for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeDestructor) destructor.getNode()).getUpgrades(), i, 187, 6 + (i * 18))); + addSlotToContainer(new SlotItemHandler(destructor.getNode().getUpgrades(), i, 187, 6 + (i * 18))); } for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotFilterType((NetworkNodeDestructor) destructor.getNode(), i, 8 + (18 * i), 20)); + addSlotToContainer(new SlotFilterType(destructor.getNode(), i, 8 + (18 * i), 20)); } addPlayerInventory(8, 55); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDetector.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDetector.java index 0bd6c1bea..aeded199b 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDetector.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDetector.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeDetector; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType; import com.raoulvdberge.refinedstorage.tile.TileDetector; import net.minecraft.entity.player.EntityPlayer; @@ -11,7 +10,7 @@ public class ContainerDetector extends ContainerBase { public ContainerDetector(TileDetector detector, EntityPlayer player) { super(detector, player); - addSlotToContainer(new SlotFilterType((NetworkNodeDetector) detector.getNode(), 0, 107, 20)); + addSlotToContainer(new SlotFilterType(detector.getNode(), 0, 107, 20)); addPlayerInventory(8, 55); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDiskDrive.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDiskDrive.java index 21d3e1143..085165b10 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDiskDrive.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDiskDrive.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeDiskDrive; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType; import com.raoulvdberge.refinedstorage.tile.TileDiskDrive; import net.minecraft.entity.player.EntityPlayer; @@ -16,11 +15,11 @@ public class ContainerDiskDrive extends ContainerBase { int y = 54; for (int i = 0; i < 8; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeDiskDrive) drive.getNode()).getDisks(), i, x + ((i % 2) * 18), y + Math.floorDiv(i, 2) * 18)); + addSlotToContainer(new SlotItemHandler(drive.getNode().getDisks(), i, x + ((i % 2) * 18), y + Math.floorDiv(i, 2) * 18)); } for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotFilterType((NetworkNodeDiskDrive) drive.getNode(), i, 8 + (18 * i), 20)); + addSlotToContainer(new SlotFilterType(drive.getNode(), i, 8 + (18 * i), 20)); } addPlayerInventory(8, 141); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDiskManipulator.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDiskManipulator.java index 8084b0d0f..b4f01a9d6 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDiskManipulator.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerDiskManipulator.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeDiskManipulator; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType; import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator; import net.minecraft.entity.player.EntityPlayer; @@ -13,19 +12,19 @@ public class ContainerDiskManipulator extends ContainerBase { super(manipulator, player); for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeDiskManipulator) manipulator.getNode()).getUpgrades(), i, 187, 6 + (i * 18))); + addSlotToContainer(new SlotItemHandler(manipulator.getNode().getUpgrades(), i, 187, 6 + (i * 18))); } for (int i = 0; i < 3; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeDiskManipulator) manipulator.getNode()).getInputDisks(), i, 44, 57 + (i * 18))); + addSlotToContainer(new SlotItemHandler(manipulator.getNode().getInputDisks(), i, 44, 57 + (i * 18))); } for (int i = 0; i < 3; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeDiskManipulator) manipulator.getNode()).getOutputDisks(), i, 116, 57 + (i * 18))); + addSlotToContainer(new SlotItemHandler(manipulator.getNode().getOutputDisks(), i, 116, 57 + (i * 18))); } for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotFilterType((NetworkNodeDiskManipulator) manipulator.getNode(), i, 8 + (18 * i), 20)); + addSlotToContainer(new SlotFilterType(manipulator.getNode(), i, 8 + (18 * i), 20)); } addPlayerInventory(8, 129); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerExporter.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerExporter.java index 2553b16ff..24a4157dd 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerExporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerExporter.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeExporter; import com.raoulvdberge.refinedstorage.container.slot.SlotFilter; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType; import com.raoulvdberge.refinedstorage.tile.TileExporter; @@ -25,11 +24,11 @@ public class ContainerExporter extends ContainerBase { this.inventoryItemStacks.clear(); for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeExporter) exporter.getNode()).getUpgrades(), i, 187, 6 + (i * 18))); + addSlotToContainer(new SlotItemHandler(exporter.getNode().getUpgrades(), i, 187, 6 + (i * 18))); } for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotFilterType((NetworkNodeExporter) exporter.getNode(), i, 8 + (18 * i), 20, ((NetworkNodeExporter) exporter.getNode()).isRegulator() ? SlotFilter.FILTER_ALLOW_SIZE : 0)); + addSlotToContainer(new SlotFilterType(exporter.getNode(), i, 8 + (18 * i), 20, exporter.getNode().isRegulator() ? SlotFilter.FILTER_ALLOW_SIZE : 0)); } addPlayerInventory(8, 55); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerExternalStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerExternalStorage.java index 388e7f447..178775487 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerExternalStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerExternalStorage.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.externalstorage.NetworkNodeExternalStorage; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType; import com.raoulvdberge.refinedstorage.tile.TileExternalStorage; import net.minecraft.entity.player.EntityPlayer; @@ -8,11 +7,11 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class ContainerExternalStorage extends ContainerBase { - public ContainerExternalStorage(TileExternalStorage tile, EntityPlayer player) { - super(tile, player); + public ContainerExternalStorage(TileExternalStorage externalStorage, EntityPlayer player) { + super(externalStorage, player); for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotFilterType((NetworkNodeExternalStorage) tile.getNode(), i, 8 + (18 * i), 20)); + addSlotToContainer(new SlotFilterType(externalStorage.getNode(), i, 8 + (18 * i), 20)); } addPlayerInventory(8, 141); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerFluidInterface.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerFluidInterface.java index 7f099abd4..bbdcc13c2 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerFluidInterface.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerFluidInterface.java @@ -13,11 +13,11 @@ public class ContainerFluidInterface extends ContainerBase { super(fluidInterface, player); for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeFluidInterface) fluidInterface.getNode()).getUpgrades(), i, 187, 6 + (i * 18))); + addSlotToContainer(new SlotItemHandler(fluidInterface.getNode().getUpgrades(), i, 187, 6 + (i * 18))); } - addSlotToContainer(new SlotItemHandler(((NetworkNodeFluidInterface) fluidInterface.getNode()).getIn(), 0, 44, 32)); - addSlotToContainer(new SlotFilterFluid(!fluidInterface.getWorld().isRemote, ((NetworkNodeFluidInterface) fluidInterface.getNode()).getOut(), 0, 116, 32)); + addSlotToContainer(new SlotItemHandler(fluidInterface.getNode().getIn(), 0, 44, 32)); + addSlotToContainer(new SlotFilterFluid(!fluidInterface.getWorld().isRemote, fluidInterface.getNode().getOut(), 0, 116, 32)); addPlayerInventory(8, 122); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerFluidStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerFluidStorage.java index 013654ac5..fd90d2914 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerFluidStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerFluidStorage.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeFluidStorage; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterFluid; import com.raoulvdberge.refinedstorage.tile.TileFluidStorage; import net.minecraft.entity.player.EntityPlayer; @@ -8,11 +7,11 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class ContainerFluidStorage extends ContainerBase { - public ContainerFluidStorage(TileFluidStorage tile, EntityPlayer player) { - super(tile, player); + public ContainerFluidStorage(TileFluidStorage fluidStorage, EntityPlayer player) { + super(fluidStorage, player); for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotFilterFluid(!tile.getWorld().isRemote, ((NetworkNodeFluidStorage) tile.getNode()).getFilters(), i, 8 + (18 * i), 20)); + addSlotToContainer(new SlotFilterFluid(!fluidStorage.getWorld().isRemote, fluidStorage.getNode().getFilters(), i, 8 + (18 * i), 20)); } addPlayerInventory(8, 141); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerImporter.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerImporter.java index d871b785d..82bd7dcd6 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerImporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerImporter.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeImporter; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType; import com.raoulvdberge.refinedstorage.tile.TileImporter; import net.minecraft.entity.player.EntityPlayer; @@ -13,11 +12,11 @@ public class ContainerImporter extends ContainerBase { super(importer, player); for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeImporter) importer.getNode()).getUpgrades(), i, 187, 6 + (i * 18))); + addSlotToContainer(new SlotItemHandler(importer.getNode().getUpgrades(), i, 187, 6 + (i * 18))); } for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotFilterType((NetworkNodeImporter) importer.getNode(), i, 8 + (18 * i), 20)); + addSlotToContainer(new SlotFilterType(importer.getNode(), i, 8 + (18 * i), 20)); } addPlayerInventory(8, 55); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerInterface.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerInterface.java index f3070d709..ab7f4cbf3 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerInterface.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerInterface.java @@ -14,19 +14,19 @@ public class ContainerInterface extends ContainerBase { super(tile, player); for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeInterface) tile.getNode()).getImportItems(), i, 8 + (18 * i), 20)); + addSlotToContainer(new SlotItemHandler(tile.getNode().getImportItems(), i, 8 + (18 * i), 20)); } for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotFilter(((NetworkNodeInterface) tile.getNode()).getExportSpecimenItems(), i, 8 + (18 * i), 54, SlotFilter.FILTER_ALLOW_SIZE)); + addSlotToContainer(new SlotFilter(tile.getNode().getExportSpecimenItems(), i, 8 + (18 * i), 54, SlotFilter.FILTER_ALLOW_SIZE)); } for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotOutput(((NetworkNodeInterface) tile.getNode()).getExportItems(), i, 8 + (18 * i), 100)); + addSlotToContainer(new SlotOutput(tile.getNode().getExportItems(), i, 8 + (18 * i), 100)); } for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeInterface) tile.getNode()).getUpgrades(), i, 187, 6 + (i * 18))); + addSlotToContainer(new SlotItemHandler(tile.getNode().getUpgrades(), i, 187, 6 + (i * 18))); } addPlayerInventory(8, 134); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerNetworkTransmitter.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerNetworkTransmitter.java index 9cc219e4d..5d5e4d193 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerNetworkTransmitter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerNetworkTransmitter.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeNetworkTransmitter; import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Slot; @@ -11,9 +10,9 @@ public class ContainerNetworkTransmitter extends ContainerBase { public ContainerNetworkTransmitter(TileNetworkTransmitter networkTransmitter, EntityPlayer player) { super(networkTransmitter, player); - addSlotToContainer(new SlotItemHandler(((NetworkNodeNetworkTransmitter) networkTransmitter.getNode()).getNetworkCard(), 0, 8, 20)); + addSlotToContainer(new SlotItemHandler(networkTransmitter.getNode().getNetworkCard(), 0, 8, 20)); - addSlotToContainer(new SlotItemHandler(((NetworkNodeNetworkTransmitter) networkTransmitter.getNode()).getUpgrades(), 0, 187, 6)); + addSlotToContainer(new SlotItemHandler(networkTransmitter.getNode().getUpgrades(), 0, 187, 6)); addPlayerInventory(8, 55); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerSecurityManager.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerSecurityManager.java index 62308b3eb..479b5879e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerSecurityManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerSecurityManager.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeSecurityManager; import com.raoulvdberge.refinedstorage.tile.TileSecurityManager; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Slot; @@ -8,14 +7,14 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.items.SlotItemHandler; public class ContainerSecurityManager extends ContainerBase { - public ContainerSecurityManager(TileSecurityManager tile, EntityPlayer player) { - super(tile, player); + public ContainerSecurityManager(TileSecurityManager securityManager, EntityPlayer player) { + super(securityManager, player); int x = 8; int y = 20; for (int i = 0; i < 9 * 2; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeSecurityManager) tile.getNode()).getCardsItems(), i, x, y)); + addSlotToContainer(new SlotItemHandler(securityManager.getNode().getCardsItems(), i, x, y)); if (((i + 1) % 9) == 0) { x = 8; @@ -25,7 +24,7 @@ public class ContainerSecurityManager extends ContainerBase { } } - addSlotToContainer(new SlotItemHandler(((NetworkNodeSecurityManager) tile.getNode()).getEditCard(), 0, 80, 70)); + addSlotToContainer(new SlotItemHandler(securityManager.getNode().getEditCard(), 0, 80, 70)); addPlayerInventory(8, 152); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerSolderer.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerSolderer.java index 199412fdc..96b77bfa6 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerSolderer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerSolderer.java @@ -17,15 +17,15 @@ public class ContainerSolderer extends ContainerBase { int y = 20; for (int i = 0; i < 3; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeSolderer) solderer.getNode()).getItems(), i, x, y)); + addSlotToContainer(new SlotItemHandler(solderer.getNode().getItems(), i, x, y)); y += 18; } - addSlotToContainer(new SlotOutput(((NetworkNodeSolderer) solderer.getNode()).getResult(), 0, 127, 38)); + addSlotToContainer(new SlotOutput(solderer.getNode().getResult(), 0, 127, 38)); for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeSolderer) solderer.getNode()).getUpgrades(), i, 187, 6 + (i * 18))); + addSlotToContainer(new SlotItemHandler(solderer.getNode().getUpgrades(), i, 187, 6 + (i * 18))); } addPlayerInventory(8, 89); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerStorage.java index 34fe5c329..37f61b645 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerStorage.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.container; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeStorage; import com.raoulvdberge.refinedstorage.container.slot.SlotFilter; import com.raoulvdberge.refinedstorage.tile.TileStorage; import net.minecraft.entity.player.EntityPlayer; @@ -8,11 +7,11 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class ContainerStorage extends ContainerBase { - public ContainerStorage(TileStorage tile, EntityPlayer player) { - super(tile, player); + public ContainerStorage(TileStorage storage, EntityPlayer player) { + super(storage, player); for (int i = 0; i < 9; ++i) { - addSlotToContainer(new SlotFilter(((NetworkNodeStorage) tile.getNode()).getFilters(), i, 8 + (18 * i), 20)); + addSlotToContainer(new SlotFilter(storage.getNode().getFilters(), i, 8 + (18 * i), 20)); } addPlayerInventory(8, 141); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerWirelessTransmitter.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerWirelessTransmitter.java index 6070ee88c..dc8fec732 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerWirelessTransmitter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerWirelessTransmitter.java @@ -12,7 +12,7 @@ public class ContainerWirelessTransmitter extends ContainerBase { super(wirelessTransmitter, player); for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotItemHandler(((NetworkNodeWirelessTransmitter) wirelessTransmitter.getNode()).getUpgrades(), i, 187, 6 + (i * 18))); + addSlotToContainer(new SlotItemHandler(wirelessTransmitter.getNode().getUpgrades(), i, 187, 6 + (i * 18))); } addPlayerInventory(8, 55); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/slot/SlotFilterType.java b/src/main/java/com/raoulvdberge/refinedstorage/container/slot/SlotFilterType.java index bfc5c353b..2ccde4d77 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/slot/SlotFilterType.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/slot/SlotFilterType.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.container.slot; +import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.tile.config.IType; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -38,7 +39,7 @@ public class SlotFilterType extends SlotFilter { @Override @Nonnull public ItemStack getStack() { - return (type.getType() == IType.ITEMS || !((TileEntity) type).getWorld().isRemote) ? super.getStack() : ItemStack.EMPTY; + return (type.getType() == IType.ITEMS || !((INetworkNode) type).getHolder().world().isRemote) ? super.getStack() : ItemStack.EMPTY; } public ItemStack getRealStack() { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiHandler.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiHandler.java index 1e3991ff4..3524f5f40 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiHandler.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiHandler.java @@ -3,11 +3,6 @@ package com.raoulvdberge.refinedstorage.gui; import com.raoulvdberge.refinedstorage.RSGui; import com.raoulvdberge.refinedstorage.apiimpl.network.item.NetworkItemWirelessFluidGrid; import com.raoulvdberge.refinedstorage.apiimpl.network.item.NetworkItemWirelessGrid; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCraftingMonitor; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeFluidStorage; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeStorage; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.externalstorage.NetworkNodeExternalStorage; import com.raoulvdberge.refinedstorage.container.*; import com.raoulvdberge.refinedstorage.gui.grid.GridDisplayDummy; import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; @@ -33,7 +28,7 @@ public class GuiHandler implements IGuiHandler { case RSGui.CONTROLLER: return new ContainerController((TileController) tile, player); case RSGui.GRID: - return new ContainerGrid((NetworkNodeGrid) ((TileGrid) tile).getNode(), new GridDisplayDummy(), (TileGrid) tile, player); + return new ContainerGrid(((TileGrid) tile).getNode(), new GridDisplayDummy(), (TileGrid) tile, player); case RSGui.DISK_DRIVE: return new ContainerDiskDrive((TileDiskDrive) tile, player); case RSGui.IMPORTER: @@ -57,7 +52,7 @@ public class GuiHandler implements IGuiHandler { case RSGui.INTERFACE: return new ContainerInterface((TileInterface) tile, player); case RSGui.CRAFTING_MONITOR: - return new ContainerCraftingMonitor((NetworkNodeCraftingMonitor) ((TileCraftingMonitor) tile).getNode(), player); + return new ContainerCraftingMonitor(((TileCraftingMonitor) tile).getNode(), player); case RSGui.WIRELESS_TRANSMITTER: return new ContainerWirelessTransmitter((TileWirelessTransmitter) tile, player); case RSGui.CRAFTER: @@ -102,14 +97,14 @@ public class GuiHandler implements IGuiHandler { case RSGui.CONTROLLER: return new GuiController((ContainerController) getContainer(ID, player, tile), (TileController) tile); case RSGui.GRID: - IGrid grid = (NetworkNodeGrid) ((TileGrid) tile).getNode(); + IGrid grid = ((TileGrid) tile).getNode(); GuiGrid gui = new GuiGrid(null, grid); gui.inventorySlots = new ContainerGrid(grid, gui, null, player); return gui; case RSGui.WIRELESS_GRID: return getWirelessGridGui(player, x, y, z); case RSGui.DISK_DRIVE: - return new GuiStorage((ContainerDiskDrive) getContainer(ID, player, tile), (IStorageGui) tile, "gui/disk_drive.png"); + return new GuiStorage((ContainerDiskDrive) getContainer(ID, player, tile), ((TileDiskDrive) tile).getNode(), "gui/disk_drive.png"); case RSGui.IMPORTER: return new GuiImporter((ContainerImporter) getContainer(ID, player, tile)); case RSGui.EXPORTER: @@ -123,15 +118,15 @@ public class GuiHandler implements IGuiHandler { case RSGui.CONSTRUCTOR: return new GuiConstructor((ContainerConstructor) getContainer(ID, player, tile)); case RSGui.STORAGE: - return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), (NetworkNodeStorage) ((TileStorage) tile).getNode()); + return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), ((TileStorage) tile).getNode()); case RSGui.EXTERNAL_STORAGE: - return new GuiStorage((ContainerExternalStorage) getContainer(ID, player, tile), (NetworkNodeExternalStorage) ((TileExternalStorage) tile).getNode()); + return new GuiStorage((ContainerExternalStorage) getContainer(ID, player, tile), ((TileExternalStorage) tile).getNode()); case RSGui.RELAY: return new GuiRelay((ContainerRelay) getContainer(ID, player, tile)); case RSGui.INTERFACE: return new GuiInterface((ContainerInterface) getContainer(ID, player, tile)); case RSGui.CRAFTING_MONITOR: - return new GuiCraftingMonitor((ContainerCraftingMonitor) getContainer(ID, player, tile), (NetworkNodeCraftingMonitor) ((TileCraftingMonitor) tile).getNode()); + return new GuiCraftingMonitor((ContainerCraftingMonitor) getContainer(ID, player, tile), ((TileCraftingMonitor) tile).getNode()); case RSGui.WIRELESS_TRANSMITTER: return new GuiWirelessTransmitter((ContainerWirelessTransmitter) getContainer(ID, player, tile)); case RSGui.CRAFTER: @@ -145,7 +140,7 @@ public class GuiHandler implements IGuiHandler { case RSGui.FLUID_INTERFACE: return new GuiFluidInterface((ContainerFluidInterface) getContainer(ID, player, tile)); case RSGui.FLUID_STORAGE: - return new GuiStorage((ContainerFluidStorage) getContainer(ID, player, tile), (NetworkNodeFluidStorage) ((TileFluidStorage) tile).getNode()); + return new GuiStorage((ContainerFluidStorage) getContainer(ID, player, tile), ((TileFluidStorage) tile).getNode()); case RSGui.DISK_MANIPULATOR: return new GuiDiskManipulator((ContainerDiskManipulator) getContainer(ID, player, tile)); case RSGui.WIRELESS_CRAFTING_MONITOR: diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiNetworkTransmitter.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiNetworkTransmitter.java index b867e7635..46ecabc5b 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiNetworkTransmitter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiNetworkTransmitter.java @@ -36,7 +36,7 @@ public class GuiNetworkTransmitter extends GuiBase { String distance; - if (((NetworkNodeNetworkTransmitter) networkTransmitter.getNode()).getNetworkCard().getStackInSlot(0).isEmpty()) { + if (networkTransmitter.getNode().getNetworkCard().getStackInSlot(0).isEmpty()) { distance = t("gui.refinedstorage:network_transmitter.missing_card"); } else if (!TileNetworkTransmitter.RECEIVER_DIMENSION_SUPPORTED.getValue()) { distance = t("gui.refinedstorage:network_transmitter.missing_upgrade"); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiSecurityManager.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiSecurityManager.java index daf5b9076..1ef9db4fa 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiSecurityManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiSecurityManager.java @@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.gui; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.network.security.Permission; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeSecurityManager; import com.raoulvdberge.refinedstorage.container.ContainerSecurityManager; import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.item.ItemSecurityCard; @@ -41,7 +40,7 @@ public class GuiSecurityManager extends GuiBase { @Override public void update(int x, int y) { - ItemStack card = ((NetworkNodeSecurityManager) securityManager.getNode()).getEditCard().getStackInSlot(0); + ItemStack card = securityManager.getNode().getEditCard().getStackInSlot(0); for (Permission permission : Permission.values()) { permissions[permission.getId()].setIsChecked(!card.isEmpty() && ItemSecurityCard.hasPermission(card, permission)); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageGridCraftingClear.java b/src/main/java/com/raoulvdberge/refinedstorage/network/MessageGridCraftingClear.java index 675a2b5a2..cfdd8d9a1 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageGridCraftingClear.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/network/MessageGridCraftingClear.java @@ -45,7 +45,7 @@ public class MessageGridCraftingClear extends MessageHandlerPlayerToServer NETWORK_NODE_PROXY_CAPABILITY = null; @@ -25,14 +27,10 @@ public class CapabilityNetworkNodeProxy { } }, () -> new INetworkNodeProxy() { @Override + @Nonnull public INetworkNode getNode() { return null; } - - @Override - public INetworkNode createNode() { - return null; - } }); Preconditions.checkNotNull(NETWORK_NODE_PROXY_CAPABILITY, "Capability not registered"); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCable.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCable.java index d28483564..d06eebad5 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCable.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCable.java @@ -1,11 +1,13 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCable; -public class TileCable extends TileNode { +import javax.annotation.Nonnull; + +public class TileCable extends TileNode { @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeCable createNode() { return new NetworkNodeCable(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileConstructor.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileConstructor.java index 9d3d8327a..df8865d8d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileConstructor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileConstructor.java @@ -9,19 +9,20 @@ import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import net.minecraft.network.datasync.DataSerializers; -public class TileConstructor extends TileNode { +import javax.annotation.Nonnull; + +public class TileConstructor extends TileNode { public static final TileDataParameter COMPARE = IComparable.createParameter(); public static final TileDataParameter TYPE = IType.createParameter(); public static final TileDataParameter DROP = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer() { @Override public Boolean getValue(TileConstructor tile) { - return ((NetworkNodeConstructor) tile.getNode()).isDrop(); + return tile.getNode().isDrop(); } }, new ITileDataConsumer() { @Override public void setValue(TileConstructor tile, Boolean value) { - ((NetworkNodeConstructor) tile.getNode()).setDrop(value); - + tile.getNode().setDrop(value); tile.getNode().markDirty(); } }); @@ -33,7 +34,8 @@ public class TileConstructor extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeConstructor createNode() { return new NetworkNodeConstructor(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java index 7f24e546f..36196b6f5 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java @@ -68,7 +68,7 @@ import javax.annotation.Nullable; import java.util.*; import java.util.stream.Collectors; -public class TileController extends TileBase implements INetworkMaster, IRedstoneConfigurable, INetworkNode, INetworkNodeProxy { +public class TileController extends TileBase implements INetworkMaster, IRedstoneConfigurable, INetworkNode, INetworkNodeProxy { public static final TileDataParameter REDSTONE_MODE = RedstoneMode.createParameter(); public static final TileDataParameter ENERGY_USAGE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @@ -797,12 +797,8 @@ public class TileController extends TileBase implements INetworkMaster, IRedston } @Override - public INetworkNode getNode() { - return this; - } - - @Override - public INetworkNode createNode() { + @Nonnull + public TileController getNode() { return this; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCrafter.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCrafter.java index cb3fe4bf6..9be598b3a 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCrafter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCrafter.java @@ -1,23 +1,23 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafter; import com.raoulvdberge.refinedstorage.tile.data.ITileDataConsumer; import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import net.minecraft.network.datasync.DataSerializers; -public class TileCrafter extends TileNode { +import javax.annotation.Nonnull; + +public class TileCrafter extends TileNode { public static final TileDataParameter TRIGGERED_AUTOCRAFTING = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer() { @Override public Boolean getValue(TileCrafter tile) { - return ((NetworkNodeCrafter) tile.getNode()).isTriggeredAutocrafting(); + return tile.getNode().isTriggeredAutocrafting(); } }, new ITileDataConsumer() { @Override public void setValue(TileCrafter tile, Boolean value) { - ((NetworkNodeCrafter) tile.getNode()).setTriggeredAutocrafting(value); - + tile.getNode().setTriggeredAutocrafting(value); tile.getNode().markDirty(); } }); @@ -27,7 +27,8 @@ public class TileCrafter extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeCrafter createNode() { return new NetworkNodeCrafter(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDestructor.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDestructor.java index b04365b7d..f75650e79 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDestructor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDestructor.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeDestructor; import com.raoulvdberge.refinedstorage.tile.config.IComparable; import com.raoulvdberge.refinedstorage.tile.config.IFilterable; @@ -10,20 +9,21 @@ import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import net.minecraft.network.datasync.DataSerializers; -public class TileDestructor extends TileNode { +import javax.annotation.Nonnull; + +public class TileDestructor extends TileNode { public static final TileDataParameter COMPARE = IComparable.createParameter(); public static final TileDataParameter MODE = IFilterable.createParameter(); public static final TileDataParameter TYPE = IType.createParameter(); public static final TileDataParameter PICKUP = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer() { @Override public Boolean getValue(TileDestructor tile) { - return ((NetworkNodeDestructor) tile.getNode()).isPickupItem(); + return tile.getNode().isPickupItem(); } }, new ITileDataConsumer() { @Override public void setValue(TileDestructor tile, Boolean value) { - ((NetworkNodeDestructor) tile.getNode()).setPickupItem(value); - + tile.getNode().setPickupItem(value); tile.getNode().markDirty(); } }); @@ -36,7 +36,8 @@ public class TileDestructor extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeDestructor createNode() { return new NetworkNodeDestructor(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDetector.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDetector.java index 0167114a8..f1df0785e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDetector.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDetector.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeDetector; import com.raoulvdberge.refinedstorage.gui.GuiDetector; import com.raoulvdberge.refinedstorage.tile.config.IComparable; @@ -15,7 +14,9 @@ import net.minecraft.network.datasync.DataSerializers; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.relauncher.Side; -public class TileDetector extends TileNode { +import javax.annotation.Nonnull; + +public class TileDetector extends TileNode { private static final String NBT_POWERED = "Powered"; public static final TileDataParameter COMPARE = IComparable.createParameter(); @@ -24,13 +25,13 @@ public class TileDetector extends TileNode { public static final TileDataParameter MODE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileDetector tile) { - return ((NetworkNodeDetector) tile.getNode()).getMode(); + return tile.getNode().getMode(); } }, new ITileDataConsumer() { @Override public void setValue(TileDetector tile, Integer value) { if (value == NetworkNodeDetector.MODE_UNDER || value == NetworkNodeDetector.MODE_EQUAL || value == NetworkNodeDetector.MODE_ABOVE || value == NetworkNodeDetector.MODE_AUTOCRAFTING) { - ((NetworkNodeDetector) tile.getNode()).setMode(value); + tile.getNode().setMode(value); tile.getNode().markDirty(); } } @@ -39,12 +40,12 @@ public class TileDetector extends TileNode { public static final TileDataParameter AMOUNT = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileDetector tile) { - return ((NetworkNodeDetector) tile.getNode()).getAmount(); + return tile.getNode().getAmount(); } }, new ITileDataConsumer() { @Override public void setValue(TileDetector tile, Integer value) { - ((NetworkNodeDetector) tile.getNode()).setAmount(value); + tile.getNode().setAmount(value); tile.getNode().markDirty(); } }, parameter -> { @@ -57,8 +58,6 @@ public class TileDetector extends TileNode { } }); - private boolean powered; - public TileDetector() { dataManager.addWatchedParameter(COMPARE); dataManager.addWatchedParameter(TYPE); @@ -69,7 +68,7 @@ public class TileDetector extends TileNode { @Override public void readUpdate(NBTTagCompound tag) { - powered = tag.getBoolean(NBT_POWERED); + getNode().setPowered(tag.getBoolean(NBT_POWERED)); super.readUpdate(tag); } @@ -78,17 +77,14 @@ public class TileDetector extends TileNode { public NBTTagCompound writeUpdate(NBTTagCompound tag) { super.writeUpdate(tag); - tag.setBoolean(NBT_POWERED, powered); + tag.setBoolean(NBT_POWERED, getNode().isPowered()); return tag; } - public boolean isPowered() { - return world.isRemote ? powered : ((NetworkNodeDetector) getNode()).isPowered(); - } - @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeDetector createNode() { return new NetworkNodeDetector(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDiskDrive.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDiskDrive.java index 313699c4c..ad25bab3e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDiskDrive.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDiskDrive.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.api.storage.AccessType; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeDiskDrive; import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageFluidNBT; @@ -12,9 +11,10 @@ import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.items.CapabilityItemHandler; +import javax.annotation.Nonnull; import javax.annotation.Nullable; -public class TileDiskDrive extends TileNode { +public class TileDiskDrive extends TileNode { public static final TileDataParameter PRIORITY = IPrioritizable.createParameter(); public static final TileDataParameter COMPARE = IComparable.createParameter(); public static final TileDataParameter MODE = IFilterable.createParameter(); @@ -47,7 +47,7 @@ public class TileDiskDrive extends TileNode { public NBTTagCompound writeUpdate(NBTTagCompound tag) { super.writeUpdate(tag); - writeDiskState(tag, 8, getNode().getNetwork() != null, ((NetworkNodeDiskDrive) getNode()).getItemStorages(), ((NetworkNodeDiskDrive) getNode()).getFluidStorages()); + writeDiskState(tag, 8, getNode().getNetwork() != null, getNode().getItemStorages(), getNode().getFluidStorages()); return tag; } @@ -112,14 +112,15 @@ public class TileDiskDrive extends TileNode { @Override public T getCapability(Capability capability, @Nullable EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { - return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(((NetworkNodeDiskDrive) getNode()).getDisks()); + return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(getNode().getDisks()); } return super.getCapability(capability, facing); } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeDiskDrive createNode() { return new NetworkNodeDiskDrive(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDiskManipulator.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDiskManipulator.java index 9179d76e6..5e2f706f5 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDiskManipulator.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileDiskManipulator.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeDiskManipulator; import com.raoulvdberge.refinedstorage.tile.config.IComparable; import com.raoulvdberge.refinedstorage.tile.config.IFilterable; @@ -14,9 +13,10 @@ import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.items.CapabilityItemHandler; +import javax.annotation.Nonnull; import javax.annotation.Nullable; -public class TileDiskManipulator extends TileNode { +public class TileDiskManipulator extends TileNode { public static final TileDataParameter COMPARE = IComparable.createParameter(); public static final TileDataParameter MODE = IFilterable.createParameter(); public static final TileDataParameter TYPE = IType.createParameter(); @@ -24,12 +24,12 @@ public class TileDiskManipulator extends TileNode { public static final TileDataParameter IO_MODE = new TileDataParameter<>(DataSerializers.VARINT, NetworkNodeDiskManipulator.IO_MODE_INSERT, new ITileDataProducer() { @Override public Integer getValue(TileDiskManipulator tile) { - return ((NetworkNodeDiskManipulator) tile.getNode()).getIoMode(); + return tile.getNode().getIoMode(); } }, new ITileDataConsumer() { @Override public void setValue(TileDiskManipulator tile, Integer value) { - ((NetworkNodeDiskManipulator) tile.getNode()).setIoMode(value); + tile.getNode().setIoMode(value); tile.getNode().markDirty(); } }); @@ -49,7 +49,7 @@ public class TileDiskManipulator extends TileNode { public NBTTagCompound writeUpdate(NBTTagCompound tag) { super.writeUpdate(tag); - TileDiskDrive.writeDiskState(tag, 6, getNode().getNetwork() != null, ((NetworkNodeDiskManipulator) getNode()).getItemStorages(), ((NetworkNodeDiskManipulator) getNode()).getFluidStorages()); + TileDiskDrive.writeDiskState(tag, 6, getNode().getNetwork() != null, getNode().getItemStorages(), getNode().getFluidStorages()); return tag; } @@ -68,7 +68,7 @@ public class TileDiskManipulator extends TileNode { @Override public T getCapability(Capability capability, @Nullable EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { - return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(facing == EnumFacing.DOWN ? ((NetworkNodeDiskManipulator) getNode()).getOutputDisks() : ((NetworkNodeDiskManipulator) getNode()).getInputDisks()); + return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(facing == EnumFacing.DOWN ? getNode().getOutputDisks() : getNode().getInputDisks()); } return super.getCapability(capability, facing); @@ -80,7 +80,8 @@ public class TileDiskManipulator extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeDiskManipulator createNode() { return new NetworkNodeDiskManipulator(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileExporter.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileExporter.java index 1dc6226de..0667dfc3e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileExporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileExporter.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeExporter; import com.raoulvdberge.refinedstorage.container.ContainerExporter; import com.raoulvdberge.refinedstorage.gui.GuiExporter; @@ -14,18 +13,20 @@ import net.minecraft.client.Minecraft; import net.minecraft.item.ItemStack; import net.minecraft.network.datasync.DataSerializers; -public class TileExporter extends TileNode { +import javax.annotation.Nonnull; + +public class TileExporter extends TileNode { public static final TileDataParameter COMPARE = IComparable.createParameter(); public static final TileDataParameter TYPE = IType.createParameter(); public static final TileDataParameter REGULATOR = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer() { @Override public Boolean getValue(TileExporter tile) { - return ((NetworkNodeExporter) tile.getNode()).isRegulator(); + return tile.getNode().isRegulator(); } }, new ITileDataConsumer() { @Override public void setValue(TileExporter tile, Boolean value) { - NetworkNodeExporter exporter = (NetworkNodeExporter) tile.getNode(); + NetworkNodeExporter exporter = tile.getNode(); for (int i = 0; i < exporter.getItemFilters().getSlots() + exporter.getFluidFilters().getSlots(); ++i) { ItemStack slot = i >= exporter.getItemFilters().getSlots() ? exporter.getFluidFilters().getStackInSlot(i - exporter.getItemFilters().getSlots()) : exporter.getItemFilters().getStackInSlot(i); @@ -58,12 +59,12 @@ public class TileExporter extends TileNode { public static final TileDataParameter CRAFT_ONLY = new TileDataParameter(DataSerializers.BOOLEAN, false, new ITileDataProducer() { @Override public Boolean getValue(TileExporter tile) { - return ((NetworkNodeExporter) tile.getNode()).isCraftOnly(); + return tile.getNode().isCraftOnly(); } }, new ITileDataConsumer() { @Override public void setValue(TileExporter tile, Boolean value) { - ((NetworkNodeExporter) tile.getNode()).setCraftOnly(value); + tile.getNode().setCraftOnly(value); tile.getNode().markDirty(); } }); @@ -76,7 +77,8 @@ public class TileExporter extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeExporter createNode() { return new NetworkNodeExporter(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileExternalStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileExternalStorage.java index 4dfa1b7f6..ce06ac945 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileExternalStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileExternalStorage.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.api.storage.AccessType; import com.raoulvdberge.refinedstorage.apiimpl.network.node.externalstorage.NetworkNodeExternalStorage; import com.raoulvdberge.refinedstorage.apiimpl.network.node.externalstorage.StorageFluidExternal; @@ -10,7 +9,9 @@ import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import net.minecraft.network.datasync.DataSerializers; -public class TileExternalStorage extends TileNode { +import javax.annotation.Nonnull; + +public class TileExternalStorage extends TileNode { public static final TileDataParameter PRIORITY = IPrioritizable.createParameter(); public static final TileDataParameter COMPARE = IComparable.createParameter(); public static final TileDataParameter MODE = IFilterable.createParameter(); @@ -22,11 +23,11 @@ public class TileExternalStorage extends TileNode { public Integer getValue(TileExternalStorage tile) { int stored = 0; - for (StorageItemExternal storage : ((NetworkNodeExternalStorage) tile.getNode()).getItemStorages()) { + for (StorageItemExternal storage : tile.getNode().getItemStorages()) { stored += storage.getStored(); } - for (StorageFluidExternal storage : ((NetworkNodeExternalStorage) tile.getNode()).getFluidStorages()) { + for (StorageFluidExternal storage : tile.getNode().getFluidStorages()) { stored += storage.getStored(); } @@ -39,11 +40,11 @@ public class TileExternalStorage extends TileNode { public Integer getValue(TileExternalStorage tile) { int capacity = 0; - for (StorageItemExternal storage : ((NetworkNodeExternalStorage) tile.getNode()).getItemStorages()) { + for (StorageItemExternal storage : tile.getNode().getItemStorages()) { capacity += storage.getCapacity(); } - for (StorageFluidExternal storage : ((NetworkNodeExternalStorage) tile.getNode()).getFluidStorages()) { + for (StorageFluidExternal storage : tile.getNode().getFluidStorages()) { capacity += storage.getCapacity(); } @@ -62,7 +63,8 @@ public class TileExternalStorage extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeExternalStorage createNode() { return new NetworkNodeExternalStorage(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileFluidInterface.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileFluidInterface.java index ac83efd72..30e982744 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileFluidInterface.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileFluidInterface.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeFluidInterface; import com.raoulvdberge.refinedstorage.tile.config.IComparable; import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; @@ -11,22 +10,23 @@ import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; +import javax.annotation.Nonnull; import javax.annotation.Nullable; -public class TileFluidInterface extends TileNode { +public class TileFluidInterface extends TileNode { public static final TileDataParameter COMPARE = IComparable.createParameter(); public static final TileDataParameter TANK_IN = new TileDataParameter<>(RSSerializers.FLUID_STACK_SERIALIZER, null, new ITileDataProducer() { @Override public FluidStack getValue(TileFluidInterface tile) { - return ((NetworkNodeFluidInterface) tile.getNode()).getTankIn().getFluid(); + return tile.getNode().getTankIn().getFluid(); } }); public static final TileDataParameter TANK_OUT = new TileDataParameter<>(RSSerializers.FLUID_STACK_SERIALIZER, null, new ITileDataProducer() { @Override public FluidStack getValue(TileFluidInterface tile) { - return ((NetworkNodeFluidInterface) tile.getNode()).getTankOut().getFluid(); + return tile.getNode().getTankOut().getFluid(); } }); @@ -44,14 +44,15 @@ public class TileFluidInterface extends TileNode { @Override public T getCapability(Capability capability, @Nullable EnumFacing facing) { if (capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) { - return CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY.cast(facing == EnumFacing.DOWN ? ((NetworkNodeFluidInterface) getNode()).getTankOut() : ((NetworkNodeFluidInterface) getNode()).getTankIn()); + return CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY.cast(facing == EnumFacing.DOWN ? getNode().getTankOut() : getNode().getTankIn()); } return super.getCapability(capability, facing); } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeFluidInterface createNode() { return new NetworkNodeFluidInterface(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileFluidStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileFluidStorage.java index 53b5c8f80..bb3e564e7 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileFluidStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileFluidStorage.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.api.storage.AccessType; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeFluidStorage; import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageFluidNBT; @@ -9,7 +8,9 @@ import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import net.minecraft.network.datasync.DataSerializers; -public class TileFluidStorage extends TileNode { +import javax.annotation.Nonnull; + +public class TileFluidStorage extends TileNode { public static final TileDataParameter PRIORITY = IPrioritizable.createParameter(); public static final TileDataParameter COMPARE = IComparable.createParameter(); public static final TileDataParameter VOID_EXCESS = IExcessVoidable.createParameter(); @@ -18,7 +19,7 @@ public class TileFluidStorage extends TileNode { public static final TileDataParameter STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileFluidStorage tile) { - return StorageFluidNBT.getStoredFromNBT(((NetworkNodeFluidStorage) tile.getNode()).getStorageTag()); + return StorageFluidNBT.getStoredFromNBT(tile.getNode().getStorageTag()); } }); @@ -32,7 +33,8 @@ public class TileFluidStorage extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeFluidStorage createNode() { return new NetworkNodeFluidStorage(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileImporter.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileImporter.java index 38280028e..fb289e392 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileImporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileImporter.java @@ -1,13 +1,14 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeImporter; import com.raoulvdberge.refinedstorage.tile.config.IComparable; import com.raoulvdberge.refinedstorage.tile.config.IFilterable; import com.raoulvdberge.refinedstorage.tile.config.IType; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; -public class TileImporter extends TileNode { +import javax.annotation.Nonnull; + +public class TileImporter extends TileNode { public static final TileDataParameter COMPARE = IComparable.createParameter(); public static final TileDataParameter MODE = IFilterable.createParameter(); public static final TileDataParameter TYPE = IType.createParameter(); @@ -19,7 +20,8 @@ public class TileImporter extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeImporter createNode() { return new NetworkNodeImporter(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileInterface.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileInterface.java index c063f1c1c..9272266ca 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileInterface.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileInterface.java @@ -8,9 +8,10 @@ import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.items.CapabilityItemHandler; +import javax.annotation.Nonnull; import javax.annotation.Nullable; -public class TileInterface extends TileNode { +public class TileInterface extends TileNode { public static final TileDataParameter COMPARE = IComparable.createParameter(); public TileInterface() { @@ -20,7 +21,7 @@ public class TileInterface extends TileNode { @Override public T getCapability(Capability capability, @Nullable EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { - return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(((NetworkNodeInterface) getNode()).getItems()); + return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(getNode().getItems()); } return super.getCapability(capability, facing); @@ -32,7 +33,8 @@ public class TileInterface extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeInterface createNode() { return new NetworkNodeInterface(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNetworkReceiver.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNetworkReceiver.java index 4212b9ada..2845b8574 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNetworkReceiver.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNetworkReceiver.java @@ -1,11 +1,13 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeNetworkReceiver; -public class TileNetworkReceiver extends TileNode { +import javax.annotation.Nonnull; + +public class TileNetworkReceiver extends TileNode { @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeNetworkReceiver createNode() { return new NetworkNodeNetworkReceiver(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNetworkTransmitter.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNetworkTransmitter.java index 3db73e368..7639f2dbf 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNetworkTransmitter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNetworkTransmitter.java @@ -6,11 +6,13 @@ import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import net.minecraft.network.datasync.DataSerializers; -public class TileNetworkTransmitter extends TileNode { +import javax.annotation.Nonnull; + +public class TileNetworkTransmitter extends TileNode { public static final TileDataParameter DISTANCE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileNetworkTransmitter tile) { - NetworkNodeNetworkTransmitter transmitter = (NetworkNodeNetworkTransmitter) tile.getNode(); + NetworkNodeNetworkTransmitter transmitter = tile.getNode(); return (transmitter.getReceiver() != null && transmitter.isSameDimension()) ? transmitter.getDistance() : -1; } @@ -19,14 +21,14 @@ public class TileNetworkTransmitter extends TileNode { public static final TileDataParameter RECEIVER_DIMENSION = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileNetworkTransmitter tile) { - return ((NetworkNodeNetworkTransmitter) tile.getNode()).getReceiverDimension(); + return tile.getNode().getReceiverDimension(); } }); public static final TileDataParameter RECEIVER_DIMENSION_SUPPORTED = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer() { @Override public Boolean getValue(TileNetworkTransmitter tile) { - return ((NetworkNodeNetworkTransmitter) tile.getNode()).isDimensionSupported(); + return tile.getNode().isDimensionSupported(); } }); @@ -37,7 +39,8 @@ public class TileNetworkTransmitter extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeNetworkTransmitter createNode() { return new NetworkNodeNetworkTransmitter(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNode.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNode.java index 04c73c56a..015336214 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNode.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNode.java @@ -17,9 +17,10 @@ import net.minecraft.world.World; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.items.IItemHandler; +import javax.annotation.Nonnull; import javax.annotation.Nullable; -public abstract class TileNode extends TileBase implements INetworkNodeProxy, INetworkNodeHolder, IRedstoneConfigurable { +public abstract class TileNode extends TileBase implements INetworkNodeProxy, INetworkNodeHolder, IRedstoneConfigurable { public static final TileDataParameter REDSTONE_MODE = RedstoneMode.createParameter(); private NBTTagCompound legacyTagToRead; @@ -34,6 +35,7 @@ public abstract class TileNode extends TileBase implements INetworkNodeProxy, IN if (!getWorld().isRemote) { if (legacyTagToRead != null) { getNode().read(legacyTagToRead); + getNode().markDirty(); legacyTagToRead = null; } @@ -80,12 +82,12 @@ public abstract class TileNode extends TileBase implements INetworkNodeProxy, IN @Override public RedstoneMode getRedstoneMode() { - return ((NetworkNode) getNode()).getRedstoneMode(); + return getNode().getRedstoneMode(); } @Override public void setRedstoneMode(RedstoneMode mode) { - ((NetworkNode) getNode()).setRedstoneMode(mode); + getNode().setRedstoneMode(mode); } @Override @@ -107,17 +109,19 @@ public abstract class TileNode extends TileBase implements INetworkNodeProxy, IN } public void readUpdate(NBTTagCompound tag) { - ((NetworkNode) getNode()).setActive(tag.getBoolean(NBT_ACTIVE)); + getNode().setActive(tag.getBoolean(NBT_ACTIVE)); super.readUpdate(tag); } public IItemHandler getDrops() { - return ((NetworkNode) getNode()).getDrops(); + return getNode().getDrops(); } @Override - public INetworkNode getNode() { + @Nonnull + @SuppressWarnings("unchecked") + public T getNode() { INetworkNodeProvider provider = API.instance().getNetworkNodeProvider(getWorld().provider.getDimension()); INetworkNode node = provider.getNode(pos); @@ -126,9 +130,11 @@ public abstract class TileNode extends TileBase implements INetworkNodeProxy, IN provider.setNode(pos, node = createNode()); } - return node; + return (T) node; } + public abstract T createNode(); + @Override public boolean hasCapability(Capability capability, @Nullable EnumFacing side) { if (capability == CapabilityNetworkNodeProxy.NETWORK_NODE_PROXY_CAPABILITY) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileReader.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileReader.java index e4cbf66cc..cd22de111 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileReader.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileReader.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReader; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterChannel; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterHandler; @@ -15,9 +14,10 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; +import javax.annotation.Nonnull; import javax.annotation.Nullable; -public class TileReader extends TileNode { +public class TileReader extends TileNode { static TileDataParameter createChannelParameter() { return new TileDataParameter<>(DataSerializers.STRING, "", new ITileDataProducer() { @Override @@ -50,7 +50,7 @@ public class TileReader extends TileNode { return true; } - IReader reader = (IReader) getNode(); + IReader reader = getNode(); if (facing != getDirection() || reader.getNetwork() == null) { return false; @@ -76,7 +76,7 @@ public class TileReader extends TileNode { T foundCapability = super.getCapability(capability, facing); if (foundCapability == null) { - IReader reader = (IReader) getNode(); + IReader reader = getNode(); if (facing != getDirection() || reader.getNetwork() == null) { return null; @@ -101,7 +101,8 @@ public class TileReader extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeReader createNode() { return new NetworkNodeReader(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileRelay.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileRelay.java index 566d6ea3b..45dbfce1c 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileRelay.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileRelay.java @@ -1,11 +1,13 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeRelay; -public class TileRelay extends TileNode { +import javax.annotation.Nonnull; + +public class TileRelay extends TileNode { @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeRelay createNode() { return new NetworkNodeRelay(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileSecurityManager.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileSecurityManager.java index 5bf8efc8e..d73e0b7e9 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileSecurityManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileSecurityManager.java @@ -1,11 +1,13 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeSecurityManager; -public class TileSecurityManager extends TileNode { +import javax.annotation.Nonnull; + +public class TileSecurityManager extends TileNode { @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeSecurityManager createNode() { return new NetworkNodeSecurityManager(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileSolderer.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileSolderer.java index d584e2ec0..07bebe8bd 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileSolderer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileSolderer.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeSolderer; import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; @@ -9,29 +8,28 @@ import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.items.CapabilityItemHandler; +import javax.annotation.Nonnull; import javax.annotation.Nullable; -public class TileSolderer extends TileNode { +public class TileSolderer extends TileNode { public static final TileDataParameter DURATION = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileSolderer tile) { - NetworkNodeSolderer solderer = (NetworkNodeSolderer) tile.getNode(); - - return solderer.getRecipe() != null ? solderer.getRecipe().getDuration() : 0; + return tile.getNode().getRecipe() != null ? tile.getNode().getRecipe().getDuration() : 0; } }); public static final TileDataParameter PROGRESS = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileSolderer tile) { - return ((NetworkNodeSolderer) tile.getNode()).getProgress(); + return tile.getNode().getProgress(); } }); public static final TileDataParameter WORKING = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer() { @Override public Boolean getValue(TileSolderer tile) { - return ((NetworkNodeSolderer) tile.getNode()).isWorking(); + return tile.getNode().isWorking(); } }); @@ -44,7 +42,7 @@ public class TileSolderer extends TileNode { @Override public T getCapability(Capability capability, @Nullable EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { - return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(facing == EnumFacing.DOWN ? ((NetworkNodeSolderer) getNode()).getResult() : ((NetworkNodeSolderer) getNode()).getItems()); + return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(facing == EnumFacing.DOWN ? getNode().getResult() : getNode().getItems()); } return super.getCapability(capability, facing); @@ -56,7 +54,8 @@ public class TileSolderer extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeSolderer createNode() { return new NetworkNodeSolderer(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileStorage.java index 6f00ff151..cddbbc53d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileStorage.java @@ -9,7 +9,9 @@ import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import net.minecraft.network.datasync.DataSerializers; -public class TileStorage extends TileNode { +import javax.annotation.Nonnull; + +public class TileStorage extends TileNode { public static final TileDataParameter PRIORITY = IPrioritizable.createParameter(); public static final TileDataParameter COMPARE = IComparable.createParameter(); public static final TileDataParameter MODE = IFilterable.createParameter(); @@ -17,7 +19,7 @@ public class TileStorage extends TileNode { public static final TileDataParameter STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileStorage tile) { - return StorageItemNBT.getStoredFromNBT(((NetworkNodeStorage) tile.getNode()).getStorageTag()); + return StorageItemNBT.getStoredFromNBT(tile.getNode().getStorageTag()); } }); public static final TileDataParameter VOID_EXCESS = IExcessVoidable.createParameter(); @@ -32,7 +34,8 @@ public class TileStorage extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeStorage createNode() { return new NetworkNodeStorage(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileWirelessTransmitter.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileWirelessTransmitter.java index 396878769..31da69670 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileWirelessTransmitter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileWirelessTransmitter.java @@ -6,11 +6,13 @@ import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import net.minecraft.network.datasync.DataSerializers; -public class TileWirelessTransmitter extends TileNode { +import javax.annotation.Nonnull; + +public class TileWirelessTransmitter extends TileNode { public static final TileDataParameter RANGE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileWirelessTransmitter tile) { - return ((NetworkNodeWirelessTransmitter) tile.getNode()).getRange(); + return tile.getNode().getRange(); } }); @@ -19,7 +21,8 @@ public class TileWirelessTransmitter extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeWirelessTransmitter createNode() { return new NetworkNodeWirelessTransmitter(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileWriter.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileWriter.java index 6ca712678..a8c5338bd 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileWriter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileWriter.java @@ -9,9 +9,10 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; +import javax.annotation.Nonnull; import javax.annotation.Nullable; -public class TileWriter extends TileNode { +public class TileWriter extends TileNode { public static final TileDataParameter CHANNEL = TileReader.createChannelParameter(); public TileWriter() { @@ -24,7 +25,7 @@ public class TileWriter extends TileNode { return true; } - IWriter writer = (NetworkNodeWriter) getNode(); + IWriter writer = getNode(); if (facing != getDirection() || writer.getNetwork() == null) { return false; @@ -50,7 +51,7 @@ public class TileWriter extends TileNode { T foundCapability = super.getCapability(capability, facing); if (foundCapability == null) { - IWriter writer = (NetworkNodeWriter) getNode(); + IWriter writer = getNode(); if (facing != getDirection() || writer.getNetwork() == null) { return null; @@ -75,7 +76,8 @@ public class TileWriter extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeWriter createNode() { return new NetworkNodeWriter(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/craftingmonitor/TileCraftingMonitor.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/craftingmonitor/TileCraftingMonitor.java index 1fadc6830..2fad2f30f 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/craftingmonitor/TileCraftingMonitor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/craftingmonitor/TileCraftingMonitor.java @@ -4,9 +4,12 @@ import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCraftingMonitor; import com.raoulvdberge.refinedstorage.tile.TileNode; -public class TileCraftingMonitor extends TileNode { +import javax.annotation.Nonnull; + +public class TileCraftingMonitor extends TileNode { @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeCraftingMonitor createNode() { return new NetworkNodeCraftingMonitor(this); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/TileGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/TileGrid.java index 01c7a59d1..f0f5b8574 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/TileGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/TileGrid.java @@ -10,20 +10,20 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import net.minecraft.client.Minecraft; import net.minecraft.network.datasync.DataSerializers; -public class TileGrid extends TileNode { +import javax.annotation.Nonnull; + +public class TileGrid extends TileNode { public static final TileDataParameter VIEW_TYPE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileGrid tile) { - return ((NetworkNodeGrid) tile.getNode()).getViewType(); + return tile.getNode().getViewType(); } }, new ITileDataConsumer() { @Override public void setValue(TileGrid tile, Integer value) { if (NetworkNodeGrid.isValidViewType(value)) { - NetworkNodeGrid grid = (NetworkNodeGrid) tile.getNode(); - - grid.setViewType(value); - grid.markDirty(); + tile.getNode().setViewType(value); + tile.getNode().markDirty(); } } }, parameter -> GuiGrid.markForSorting()); @@ -31,16 +31,14 @@ public class TileGrid extends TileNode { public static final TileDataParameter SORTING_DIRECTION = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileGrid tile) { - return ((NetworkNodeGrid) tile.getNode()).getSortingDirection(); + return tile.getNode().getSortingDirection(); } }, new ITileDataConsumer() { @Override public void setValue(TileGrid tile, Integer value) { if (NetworkNodeGrid.isValidSortingDirection(value)) { - NetworkNodeGrid grid = (NetworkNodeGrid) tile.getNode(); - - grid.setSortingDirection(value); - grid.markDirty(); + tile.getNode().setSortingDirection(value); + tile.getNode().markDirty(); } } }, parameter -> GuiGrid.markForSorting()); @@ -48,16 +46,14 @@ public class TileGrid extends TileNode { public static final TileDataParameter SORTING_TYPE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileGrid tile) { - return ((NetworkNodeGrid) tile.getNode()).getSortingType(); + return tile.getNode().getSortingType(); } }, new ITileDataConsumer() { @Override public void setValue(TileGrid tile, Integer value) { if (NetworkNodeGrid.isValidSortingType(value)) { - NetworkNodeGrid grid = (NetworkNodeGrid) tile.getNode(); - - grid.setSortingType(value); - grid.markDirty(); + tile.getNode().setSortingType(value); + tile.getNode().markDirty(); } } }, parameter -> GuiGrid.markForSorting()); @@ -65,16 +61,14 @@ public class TileGrid extends TileNode { public static final TileDataParameter SEARCH_BOX_MODE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileGrid tile) { - return ((NetworkNodeGrid) tile.getNode()).getSearchBoxMode(); + return tile.getNode().getSearchBoxMode(); } }, new ITileDataConsumer() { @Override public void setValue(TileGrid tile, Integer value) { if (NetworkNodeGrid.isValidSearchBoxMode(value)) { - NetworkNodeGrid grid = (NetworkNodeGrid) tile.getNode(); - - grid.setSearchBoxMode(value); - grid.markDirty(); + tile.getNode().setSearchBoxMode(value); + tile.getNode().markDirty(); } } }, parameter -> { @@ -86,15 +80,13 @@ public class TileGrid extends TileNode { public static final TileDataParameter TAB_SELECTED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer() { @Override public Integer getValue(TileGrid tile) { - return ((NetworkNodeGrid) tile.getNode()).getTabSelected(); + return tile.getNode().getTabSelected(); } }, new ITileDataConsumer() { @Override public void setValue(TileGrid tile, Integer value) { - NetworkNodeGrid grid = (NetworkNodeGrid) tile.getNode(); - - grid.setTabSelected(value == grid.getTabSelected() ? -1 : value); - grid.markDirty(); + tile.getNode().setTabSelected(value == tile.getNode().getTabSelected() ? -1 : value); + tile.getNode().markDirty(); } }, parameter -> { if (Minecraft.getMinecraft().currentScreen instanceof GuiGrid) { @@ -105,15 +97,13 @@ public class TileGrid extends TileNode { public static final TileDataParameter OREDICT_PATTERN = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer() { @Override public Boolean getValue(TileGrid tile) { - return ((NetworkNodeGrid) tile.getNode()).isOredictPattern(); + return tile.getNode().isOredictPattern(); } }, new ITileDataConsumer() { @Override public void setValue(TileGrid tile, Boolean value) { - NetworkNodeGrid grid = (NetworkNodeGrid) tile.getNode(); - - grid.setOredictPattern(value); - grid.markDirty(); + tile.getNode().setOredictPattern(value); + tile.getNode().markDirty(); } }, parameter -> { if (Minecraft.getMinecraft().currentScreen instanceof GuiGrid) { @@ -131,7 +121,8 @@ public class TileGrid extends TileNode { } @Override - public INetworkNode createNode() { + @Nonnull + public NetworkNodeGrid createNode() { return new NetworkNodeGrid(this); } }