Fixed bugs, and used generics to avoid casting everywhere

This commit is contained in:
raoulvdberge
2016-12-28 05:52:54 +01:00
parent 1f0d74e6ea
commit 0fb148a060
79 changed files with 330 additions and 298 deletions

View File

@@ -1,7 +1,8 @@
package com.raoulvdberge.refinedstorage.api.network;
public interface INetworkNodeProxy {
INetworkNode getNode();
import javax.annotation.Nonnull;
INetworkNode createNode();
public interface INetworkNodeProxy<T extends INetworkNode> {
@Nonnull
T getNode();
}

View File

@@ -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());
}

View File

@@ -49,8 +49,6 @@ public class NetworkNodeListener {
RSUtils.sendNoPermissionMessage(e.getPlayer());
e.setCanceled(true);
return;
}
}
}

View File

@@ -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;
}

View File

@@ -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();
}

View File

@@ -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());

View File

@@ -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) {

View File

@@ -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;
}

View File

@@ -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()) {

View File

@@ -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()) {

View File

@@ -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);

View File

@@ -44,6 +44,8 @@ public class NetworkNodeInterface extends NetworkNode implements IComparable {
@Override
public void update() {
super.update();
if (network == null) {
return;
}

View File

@@ -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);

View File

@@ -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;
}
}

View File

@@ -62,6 +62,8 @@ public class NetworkNodeSolderer extends NetworkNode {
@Override
public void update() {
super.update();
if (network == null) {
return;
}

View File

@@ -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);
}
}

View File

@@ -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;

View File

@@ -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

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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());

View File

@@ -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);

View File

@@ -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;

View File

@@ -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);

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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() {

View File

@@ -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:

View File

@@ -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");

View File

@@ -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));

View File

@@ -45,7 +45,7 @@ public class MessageGridCraftingClear extends MessageHandlerPlayerToServer<Messa
TileEntity tile = player.getEntityWorld().getTileEntity(new BlockPos(message.x, message.y, message.z));
if (tile instanceof TileGrid) {
NetworkNodeGrid grid = (NetworkNodeGrid) ((TileGrid) tile).getNode();
NetworkNodeGrid grid = ((TileGrid) tile).getNode();
if (grid.getNetwork() != null) {
if (grid.getType() == EnumGridType.CRAFTING && grid.getNetwork().getSecurityManager().hasPermission(Permission.INSERT, player)) {

View File

@@ -42,8 +42,8 @@ public class MessageGridPatternCreate extends MessageHandlerPlayerToServer<Messa
public void handle(MessageGridPatternCreate message, EntityPlayerMP player) {
TileEntity tile = player.getEntityWorld().getTileEntity(new BlockPos(message.x, message.y, message.z));
if (tile instanceof TileGrid && ((NetworkNodeGrid) ((TileGrid) tile).getNode()).getType() == EnumGridType.PATTERN) {
((NetworkNodeGrid) ((TileGrid) tile).getNode()).onCreatePattern();
if (tile instanceof TileGrid && ((TileGrid) tile).getNode().getType() == EnumGridType.PATTERN) {
((TileGrid) tile).getNode().onCreatePattern();
} else if (tile instanceof TileProcessingPatternEncoder) {
((TileProcessingPatternEncoder) tile).onCreatePattern();
}

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.network;
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeSecurityManager;
import com.raoulvdberge.refinedstorage.tile.TileSecurityManager;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayerMP;
@@ -61,7 +60,7 @@ public class MessageSecurityManagerUpdate extends MessageHandlerPlayerToServer<M
TileEntity tile = player.getEntityWorld().getTileEntity(new BlockPos(message.x, message.y, message.z));
if (tile instanceof TileSecurityManager) {
((NetworkNodeSecurityManager) ((TileSecurityManager) tile).getNode()).updatePermission(message.permission, message.state);
((TileSecurityManager) tile).getNode().updatePermission(message.permission, message.state);
}
}

View File

@@ -10,6 +10,8 @@ import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.CapabilityInject;
import net.minecraftforge.common.capabilities.CapabilityManager;
import javax.annotation.Nonnull;
public class CapabilityNetworkNodeProxy {
@CapabilityInject(INetworkNodeProxy.class)
public static Capability<INetworkNodeProxy> 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");

View File

@@ -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<NetworkNodeCable> {
@Override
public INetworkNode createNode() {
@Nonnull
public NetworkNodeCable createNode() {
return new NetworkNodeCable(this);
}
}

View File

@@ -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<NetworkNodeConstructor> {
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer> TYPE = IType.createParameter();
public static final TileDataParameter<Boolean> DROP = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer<Boolean, TileConstructor>() {
@Override
public Boolean getValue(TileConstructor tile) {
return ((NetworkNodeConstructor) tile.getNode()).isDrop();
return tile.getNode().isDrop();
}
}, new ITileDataConsumer<Boolean, TileConstructor>() {
@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);
}
}

View File

@@ -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<TileController> {
public static final TileDataParameter<Integer> REDSTONE_MODE = RedstoneMode.createParameter();
public static final TileDataParameter<Integer> ENERGY_USAGE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileController>() {
@@ -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;
}
}

View File

@@ -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<NetworkNodeCrafter> {
public static final TileDataParameter<Boolean> TRIGGERED_AUTOCRAFTING = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer<Boolean, TileCrafter>() {
@Override
public Boolean getValue(TileCrafter tile) {
return ((NetworkNodeCrafter) tile.getNode()).isTriggeredAutocrafting();
return tile.getNode().isTriggeredAutocrafting();
}
}, new ITileDataConsumer<Boolean, TileCrafter>() {
@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);
}
}

View File

@@ -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<NetworkNodeDestructor> {
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
public static final TileDataParameter<Integer> TYPE = IType.createParameter();
public static final TileDataParameter<Boolean> PICKUP = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer<Boolean, TileDestructor>() {
@Override
public Boolean getValue(TileDestructor tile) {
return ((NetworkNodeDestructor) tile.getNode()).isPickupItem();
return tile.getNode().isPickupItem();
}
}, new ITileDataConsumer<Boolean, TileDestructor>() {
@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);
}
}

View File

@@ -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<NetworkNodeDetector> {
private static final String NBT_POWERED = "Powered";
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
@@ -24,13 +25,13 @@ public class TileDetector extends TileNode {
public static final TileDataParameter<Integer> MODE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileDetector>() {
@Override
public Integer getValue(TileDetector tile) {
return ((NetworkNodeDetector) tile.getNode()).getMode();
return tile.getNode().getMode();
}
}, new ITileDataConsumer<Integer, TileDetector>() {
@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<Integer> AMOUNT = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileDetector>() {
@Override
public Integer getValue(TileDetector tile) {
return ((NetworkNodeDetector) tile.getNode()).getAmount();
return tile.getNode().getAmount();
}
}, new ITileDataConsumer<Integer, TileDetector>() {
@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);
}
}

View File

@@ -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<NetworkNodeDiskDrive> {
public static final TileDataParameter<Integer> PRIORITY = IPrioritizable.createParameter();
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer> 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> T getCapability(Capability<T> 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);
}
}

View File

@@ -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<NetworkNodeDiskManipulator> {
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
public static final TileDataParameter<Integer> TYPE = IType.createParameter();
@@ -24,12 +24,12 @@ public class TileDiskManipulator extends TileNode {
public static final TileDataParameter<Integer> IO_MODE = new TileDataParameter<>(DataSerializers.VARINT, NetworkNodeDiskManipulator.IO_MODE_INSERT, new ITileDataProducer<Integer, TileDiskManipulator>() {
@Override
public Integer getValue(TileDiskManipulator tile) {
return ((NetworkNodeDiskManipulator) tile.getNode()).getIoMode();
return tile.getNode().getIoMode();
}
}, new ITileDataConsumer<Integer, TileDiskManipulator>() {
@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> T getCapability(Capability<T> 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);
}
}

View File

@@ -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<NetworkNodeExporter> {
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer> TYPE = IType.createParameter();
public static final TileDataParameter<Boolean> REGULATOR = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer<Boolean, TileExporter>() {
@Override
public Boolean getValue(TileExporter tile) {
return ((NetworkNodeExporter) tile.getNode()).isRegulator();
return tile.getNode().isRegulator();
}
}, new ITileDataConsumer<Boolean, TileExporter>() {
@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<Boolean> CRAFT_ONLY = new TileDataParameter<Boolean>(DataSerializers.BOOLEAN, false, new ITileDataProducer<Boolean, TileExporter>() {
@Override
public Boolean getValue(TileExporter tile) {
return ((NetworkNodeExporter) tile.getNode()).isCraftOnly();
return tile.getNode().isCraftOnly();
}
}, new ITileDataConsumer<Boolean, TileExporter>() {
@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);
}
}

View File

@@ -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<NetworkNodeExternalStorage> {
public static final TileDataParameter<Integer> PRIORITY = IPrioritizable.createParameter();
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer> 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);
}
}

View File

@@ -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<NetworkNodeFluidInterface> {
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<FluidStack> TANK_IN = new TileDataParameter<>(RSSerializers.FLUID_STACK_SERIALIZER, null, new ITileDataProducer<FluidStack, TileFluidInterface>() {
@Override
public FluidStack getValue(TileFluidInterface tile) {
return ((NetworkNodeFluidInterface) tile.getNode()).getTankIn().getFluid();
return tile.getNode().getTankIn().getFluid();
}
});
public static final TileDataParameter<FluidStack> TANK_OUT = new TileDataParameter<>(RSSerializers.FLUID_STACK_SERIALIZER, null, new ITileDataProducer<FluidStack, TileFluidInterface>() {
@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> T getCapability(Capability<T> 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);
}
}

View File

@@ -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<NetworkNodeFluidStorage> {
public static final TileDataParameter<Integer> PRIORITY = IPrioritizable.createParameter();
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Boolean> VOID_EXCESS = IExcessVoidable.createParameter();
@@ -18,7 +19,7 @@ public class TileFluidStorage extends TileNode {
public static final TileDataParameter<Integer> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileFluidStorage>() {
@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);
}
}

View File

@@ -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<NetworkNodeImporter> {
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
public static final TileDataParameter<Integer> TYPE = IType.createParameter();
@@ -19,7 +20,8 @@ public class TileImporter extends TileNode {
}
@Override
public INetworkNode createNode() {
@Nonnull
public NetworkNodeImporter createNode() {
return new NetworkNodeImporter(this);
}
}

View File

@@ -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<NetworkNodeInterface> {
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public TileInterface() {
@@ -20,7 +21,7 @@ public class TileInterface extends TileNode {
@Override
public <T> T getCapability(Capability<T> 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);
}
}

View File

@@ -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<NetworkNodeNetworkReceiver> {
@Override
public INetworkNode createNode() {
@Nonnull
public NetworkNodeNetworkReceiver createNode() {
return new NetworkNodeNetworkReceiver(this);
}
}

View File

@@ -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<NetworkNodeNetworkTransmitter> {
public static final TileDataParameter<Integer> DISTANCE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileNetworkTransmitter>() {
@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<Integer> RECEIVER_DIMENSION = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileNetworkTransmitter>() {
@Override
public Integer getValue(TileNetworkTransmitter tile) {
return ((NetworkNodeNetworkTransmitter) tile.getNode()).getReceiverDimension();
return tile.getNode().getReceiverDimension();
}
});
public static final TileDataParameter<Boolean> RECEIVER_DIMENSION_SUPPORTED = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer<Boolean, TileNetworkTransmitter>() {
@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);
}
}

View File

@@ -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<T extends NetworkNode> extends TileBase implements INetworkNodeProxy<T>, INetworkNodeHolder, IRedstoneConfigurable {
public static final TileDataParameter<Integer> 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) {

View File

@@ -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<NetworkNodeReader> {
static <T extends TileEntity & IReaderWriter> TileDataParameter<String> createChannelParameter() {
return new TileDataParameter<>(DataSerializers.STRING, "", new ITileDataProducer<String, T>() {
@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);
}
}

View File

@@ -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<NetworkNodeRelay> {
@Override
public INetworkNode createNode() {
@Nonnull
public NetworkNodeRelay createNode() {
return new NetworkNodeRelay(this);
}
}

View File

@@ -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<NetworkNodeSecurityManager> {
@Override
public INetworkNode createNode() {
@Nonnull
public NetworkNodeSecurityManager createNode() {
return new NetworkNodeSecurityManager(this);
}
}

View File

@@ -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<NetworkNodeSolderer> {
public static final TileDataParameter<Integer> DURATION = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileSolderer>() {
@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<Integer> PROGRESS = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileSolderer>() {
@Override
public Integer getValue(TileSolderer tile) {
return ((NetworkNodeSolderer) tile.getNode()).getProgress();
return tile.getNode().getProgress();
}
});
public static final TileDataParameter<Boolean> WORKING = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer<Boolean, TileSolderer>() {
@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> T getCapability(Capability<T> 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);
}
}

View File

@@ -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<NetworkNodeStorage> {
public static final TileDataParameter<Integer> PRIORITY = IPrioritizable.createParameter();
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
@@ -17,7 +19,7 @@ public class TileStorage extends TileNode {
public static final TileDataParameter<Integer> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileStorage>() {
@Override
public Integer getValue(TileStorage tile) {
return StorageItemNBT.getStoredFromNBT(((NetworkNodeStorage) tile.getNode()).getStorageTag());
return StorageItemNBT.getStoredFromNBT(tile.getNode().getStorageTag());
}
});
public static final TileDataParameter<Boolean> 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);
}
}

View File

@@ -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<NetworkNodeWirelessTransmitter> {
public static final TileDataParameter<Integer> RANGE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileWirelessTransmitter>() {
@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);
}
}

View File

@@ -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<NetworkNodeWriter> {
public static final TileDataParameter<String> 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);
}
}

View File

@@ -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<NetworkNodeCraftingMonitor> {
@Override
public INetworkNode createNode() {
@Nonnull
public NetworkNodeCraftingMonitor createNode() {
return new NetworkNodeCraftingMonitor(this);
}
}

View File

@@ -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<NetworkNodeGrid> {
public static final TileDataParameter<Integer> VIEW_TYPE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
@Override
public Integer getValue(TileGrid tile) {
return ((NetworkNodeGrid) tile.getNode()).getViewType();
return tile.getNode().getViewType();
}
}, new ITileDataConsumer<Integer, TileGrid>() {
@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<Integer> SORTING_DIRECTION = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
@Override
public Integer getValue(TileGrid tile) {
return ((NetworkNodeGrid) tile.getNode()).getSortingDirection();
return tile.getNode().getSortingDirection();
}
}, new ITileDataConsumer<Integer, TileGrid>() {
@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<Integer> SORTING_TYPE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
@Override
public Integer getValue(TileGrid tile) {
return ((NetworkNodeGrid) tile.getNode()).getSortingType();
return tile.getNode().getSortingType();
}
}, new ITileDataConsumer<Integer, TileGrid>() {
@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<Integer> SEARCH_BOX_MODE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
@Override
public Integer getValue(TileGrid tile) {
return ((NetworkNodeGrid) tile.getNode()).getSearchBoxMode();
return tile.getNode().getSearchBoxMode();
}
}, new ITileDataConsumer<Integer, TileGrid>() {
@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<Integer> TAB_SELECTED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
@Override
public Integer getValue(TileGrid tile) {
return ((NetworkNodeGrid) tile.getNode()).getTabSelected();
return tile.getNode().getTabSelected();
}
}, new ITileDataConsumer<Integer, TileGrid>() {
@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<Boolean> OREDICT_PATTERN = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer<Boolean, TileGrid>() {
@Override
public Boolean getValue(TileGrid tile) {
return ((NetworkNodeGrid) tile.getNode()).isOredictPattern();
return tile.getNode().isOredictPattern();
}
}, new ITileDataConsumer<Boolean, TileGrid>() {
@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);
}
}