Fixed bugs, and used generics to avoid casting everywhere
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -49,8 +49,6 @@ public class NetworkNodeListener {
|
||||
RSUtils.sendNoPermissionMessage(e.getPlayer());
|
||||
|
||||
e.setCanceled(true);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -44,6 +44,8 @@ public class NetworkNodeInterface extends NetworkNode implements IComparable {
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
super.update();
|
||||
|
||||
if (network == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,6 +62,8 @@ public class NetworkNodeSolderer extends NetworkNode {
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
super.update();
|
||||
|
||||
if (network == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user