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.World;
import refinedstorage.RefinedStorageBlocks;
import refinedstorage.api.RefinedStorageCapabilities;
import refinedstorage.api.network.INetworkNode;
import refinedstorage.tile.TileCable;
public class BlockCable extends BlockNode {
@@ -57,7 +57,7 @@ public class BlockCable extends BlockNode {
}
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

View File

@@ -2,11 +2,8 @@ package refinedstorage.tile;
import io.netty.buffer.ByteBuf;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.common.capabilities.Capability;
import refinedstorage.RefinedStorageUtils;
import refinedstorage.api.RefinedStorageCapabilities;
import refinedstorage.api.network.INetworkMaster;
import refinedstorage.api.network.INetworkNode;
import refinedstorage.tile.config.IRedstoneModeConfig;
@@ -158,20 +155,6 @@ public abstract class TileNode extends TileBase implements INetworkNode, ISynchr
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
public int hashCode() {
return pos.hashCode();

View File

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