From c3b16f758a60c186ea69e5e4e70cd6d699904029 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Mon, 31 Jul 2017 00:30:42 +0200 Subject: [PATCH] Respect NonNull for real --- .../network/node/NetworkNodeDummy.java | 75 +++++++++++++++++++ .../CapabilityNetworkNodeProxy.java | 3 +- 2 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDummy.java diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDummy.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDummy.java new file mode 100644 index 000000000..eec27fc6d --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDummy.java @@ -0,0 +1,75 @@ +package com.raoulvdberge.refinedstorage.apiimpl.network.node; + +import com.raoulvdberge.refinedstorage.api.network.INetwork; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +public class NetworkNodeDummy implements INetworkNode { + @Override + public int getEnergyUsage() { + return 0; + } + + @Nonnull + @Override + public ItemStack getItemStack() { + return ItemStack.EMPTY; + } + + @Override + public void onConnected(INetwork network) { + // NO OP + } + + @Override + public void onDisconnected(INetwork network) { + // NO OP + } + + @Override + public boolean canUpdate() { + return false; + } + + @Nullable + @Override + public INetwork getNetwork() { + return null; + } + + @Override + public void update() { + // NO OP + } + + @Override + public NBTTagCompound write(NBTTagCompound tag) { + return tag; + } + + @Override + public BlockPos getPos() { + return BlockPos.ORIGIN; + } + + @Override + public World getWorld() { + return null; + } + + @Override + public void markDirty() { + // NO OP + } + + @Override + public String getId() { + return "dummy"; + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/capability/CapabilityNetworkNodeProxy.java b/src/main/java/com/raoulvdberge/refinedstorage/capability/CapabilityNetworkNodeProxy.java index bdda62026..9522bedda 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/capability/CapabilityNetworkNodeProxy.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/capability/CapabilityNetworkNodeProxy.java @@ -3,6 +3,7 @@ package com.raoulvdberge.refinedstorage.capability; import com.google.common.base.Preconditions; import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; +import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeDummy; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; @@ -29,7 +30,7 @@ public class CapabilityNetworkNodeProxy { @Override @Nonnull public INetworkNode getNode() { - throw new UnsupportedOperationException("Cannot use default implementation"); + return new NetworkNodeDummy(); } });