Remove capability for network nodes

This commit is contained in:
Raoul Van den Berge
2016-07-05 18:38:19 +02:00
parent e9acc23655
commit 141753ad00
4 changed files with 4 additions and 32 deletions

View File

@@ -1,10 +0,0 @@
package refinedstorage.api;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.CapabilityInject;
import refinedstorage.api.network.INetworkNode;
public final class RefinedStorageCapabilities {
@CapabilityInject(INetworkNode.class)
public static final Capability<INetworkNode> NETWORK_NODE_CAPABILITY = null;
}

View File

@@ -10,7 +10,7 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import refinedstorage.RefinedStorageBlocks; import refinedstorage.RefinedStorageBlocks;
import refinedstorage.api.RefinedStorageCapabilities; import refinedstorage.api.network.INetworkNode;
import refinedstorage.tile.TileCable; import refinedstorage.tile.TileCable;
public class BlockCable extends BlockNode { public class BlockCable extends BlockNode {
@@ -57,7 +57,7 @@ public class BlockCable extends BlockNode {
} }
public static boolean hasConnectionWith(IBlockAccess world, BlockPos pos) { public static boolean hasConnectionWith(IBlockAccess world, BlockPos pos) {
return world.getBlockState(pos).getBlock() == RefinedStorageBlocks.CONTROLLER || (world.getTileEntity(pos) != null && world.getTileEntity(pos).hasCapability(RefinedStorageCapabilities.NETWORK_NODE_CAPABILITY, null)); return world.getBlockState(pos).getBlock() == RefinedStorageBlocks.CONTROLLER || world.getTileEntity(pos) instanceof INetworkNode;
} }
@Override @Override

View File

@@ -2,11 +2,8 @@ package refinedstorage.tile;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraftforge.common.capabilities.Capability;
import refinedstorage.RefinedStorageUtils; import refinedstorage.RefinedStorageUtils;
import refinedstorage.api.RefinedStorageCapabilities;
import refinedstorage.api.network.INetworkMaster; import refinedstorage.api.network.INetworkMaster;
import refinedstorage.api.network.INetworkNode; import refinedstorage.api.network.INetworkNode;
import refinedstorage.tile.config.IRedstoneModeConfig; import refinedstorage.tile.config.IRedstoneModeConfig;
@@ -158,20 +155,6 @@ public abstract class TileNode extends TileBase implements INetworkNode, ISynchr
connected = tag.getBoolean(NBT_CONNECTED); connected = tag.getBoolean(NBT_CONNECTED);
} }
@Override
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
if (capability == RefinedStorageCapabilities.NETWORK_NODE_CAPABILITY) {
return (T) this;
}
return super.getCapability(capability, facing);
}
@Override
public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
return capability == RefinedStorageCapabilities.NETWORK_NODE_CAPABILITY || super.hasCapability(capability, facing);
}
@Override @Override
public int hashCode() { public int hashCode() {
return pos.hashCode(); return pos.hashCode();

View File

@@ -24,7 +24,6 @@ import net.minecraftforge.items.ItemHandlerHelper;
import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageBlocks; import refinedstorage.RefinedStorageBlocks;
import refinedstorage.RefinedStorageUtils; import refinedstorage.RefinedStorageUtils;
import refinedstorage.api.RefinedStorageCapabilities;
import refinedstorage.api.autocrafting.ICraftingPattern; import refinedstorage.api.autocrafting.ICraftingPattern;
import refinedstorage.api.autocrafting.ICraftingTask; import refinedstorage.api.autocrafting.ICraftingTask;
import refinedstorage.api.network.IGridHandler; import refinedstorage.api.network.IGridHandler;
@@ -399,11 +398,11 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
while ((currentPos = toCheck.poll()) != null) { while ((currentPos = toCheck.poll()) != null) {
TileEntity tile = worldObj.getTileEntity(currentPos); TileEntity tile = worldObj.getTileEntity(currentPos);
if (tile == null || !tile.hasCapability(RefinedStorageCapabilities.NETWORK_NODE_CAPABILITY, null)) { if (!(tile instanceof INetworkNode)) {
continue; continue;
} }
INetworkNode node = tile.getCapability(RefinedStorageCapabilities.NETWORK_NODE_CAPABILITY, null); INetworkNode node = (INetworkNode) tile;
newNodes.add(node); newNodes.add(node);
newNodesPos.add(node.getPosition()); newNodesPos.add(node.getPosition());