@@ -343,9 +343,7 @@ public class ProxyCommon {
|
|||||||
TileBase tileInstance = tile.newInstance();
|
TileBase tileInstance = tile.newInstance();
|
||||||
|
|
||||||
if (tileInstance instanceof TileNode) {
|
if (tileInstance instanceof TileNode) {
|
||||||
String nodeId = ((TileNode) tileInstance).createNode(null, null).getId();
|
API.instance().getNetworkNodeRegistry().add(((TileNode) tileInstance).getNodeId(), (tag, world, pos) -> {
|
||||||
|
|
||||||
API.instance().getNetworkNodeRegistry().add(nodeId, (tag, world, pos) -> {
|
|
||||||
NetworkNode node = ((TileNode) tileInstance).createNode(world, pos);
|
NetworkNode node = ((TileNode) tileInstance).createNode(world, pos);
|
||||||
|
|
||||||
node.read(tag);
|
node.read(tag);
|
||||||
|
|||||||
@@ -12,4 +12,9 @@ public class TileCable extends TileNode<NetworkNodeCable> {
|
|||||||
public NetworkNodeCable createNode(World world, BlockPos pos) {
|
public NetworkNodeCable createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeCable(world, pos);
|
return new NetworkNodeCable(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeCable.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,4 +39,9 @@ public class TileConstructor extends TileNode<NetworkNodeConstructor> {
|
|||||||
public NetworkNodeConstructor createNode(World world, BlockPos pos) {
|
public NetworkNodeConstructor createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeConstructor(world, pos);
|
return new NetworkNodeConstructor(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeConstructor.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,4 +12,9 @@ public class TileCrafter extends TileNode<NetworkNodeCrafter> {
|
|||||||
public NetworkNodeCrafter createNode(World world, BlockPos pos) {
|
public NetworkNodeCrafter createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeCrafter(world, pos);
|
return new NetworkNodeCrafter(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeCrafter.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,4 +42,9 @@ public class TileDestructor extends TileNode<NetworkNodeDestructor> {
|
|||||||
public NetworkNodeDestructor createNode(World world, BlockPos pos) {
|
public NetworkNodeDestructor createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeDestructor(world, pos);
|
return new NetworkNodeDestructor(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeDestructor.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,4 +88,9 @@ public class TileDetector extends TileNode<NetworkNodeDetector> {
|
|||||||
public NetworkNodeDetector createNode(World world, BlockPos pos) {
|
public NetworkNodeDetector createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeDetector(world, pos);
|
return new NetworkNodeDetector(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeDetector.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -176,4 +176,9 @@ public class TileDiskDrive extends TileNode<NetworkNodeDiskDrive> {
|
|||||||
public NetworkNodeDiskDrive createNode(World world, BlockPos pos) {
|
public NetworkNodeDiskDrive createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeDiskDrive(world, pos);
|
return new NetworkNodeDiskDrive(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeDiskDrive.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,4 +86,9 @@ public class TileDiskManipulator extends TileNode<NetworkNodeDiskManipulator> {
|
|||||||
public NetworkNodeDiskManipulator createNode(World world, BlockPos pos) {
|
public NetworkNodeDiskManipulator createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeDiskManipulator(world, pos);
|
return new NetworkNodeDiskManipulator(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeDiskManipulator.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,4 +83,9 @@ public class TileExporter extends TileNode<NetworkNodeExporter> {
|
|||||||
public NetworkNodeExporter createNode(World world, BlockPos pos) {
|
public NetworkNodeExporter createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeExporter(world, pos);
|
return new NetworkNodeExporter(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeExporter.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,4 +69,9 @@ public class TileExternalStorage extends TileNode<NetworkNodeExternalStorage> {
|
|||||||
public NetworkNodeExternalStorage createNode(World world, BlockPos pos) {
|
public NetworkNodeExternalStorage createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeExternalStorage(world, pos);
|
return new NetworkNodeExternalStorage(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeExternalStorage.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,4 +57,9 @@ public class TileFluidInterface extends TileNode<NetworkNodeFluidInterface> {
|
|||||||
public NetworkNodeFluidInterface createNode(World world, BlockPos pos) {
|
public NetworkNodeFluidInterface createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeFluidInterface(world, pos);
|
return new NetworkNodeFluidInterface(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeFluidInterface.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,5 +38,10 @@ public class TileFluidStorage extends TileNode<NetworkNodeFluidStorage> {
|
|||||||
public NetworkNodeFluidStorage createNode(World world, BlockPos pos) {
|
public NetworkNodeFluidStorage createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeFluidStorage(world, pos);
|
return new NetworkNodeFluidStorage(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeFluidStorage.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,4 +26,9 @@ public class TileImporter extends TileNode<NetworkNodeImporter> {
|
|||||||
public NetworkNodeImporter createNode(World world, BlockPos pos) {
|
public NetworkNodeImporter createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeImporter(world, pos);
|
return new NetworkNodeImporter(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeImporter.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,4 +38,9 @@ public class TileInterface extends TileNode<NetworkNodeInterface> {
|
|||||||
public NetworkNodeInterface createNode(World world, BlockPos pos) {
|
public NetworkNodeInterface createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeInterface(world, pos);
|
return new NetworkNodeInterface(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeInterface.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,4 +12,9 @@ public class TileNetworkReceiver extends TileNode<NetworkNodeNetworkReceiver> {
|
|||||||
public NetworkNodeNetworkReceiver createNode(World world, BlockPos pos) {
|
public NetworkNodeNetworkReceiver createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeNetworkReceiver(world, pos);
|
return new NetworkNodeNetworkReceiver(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeNetworkReceiver.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,6 +49,11 @@ public class TileNetworkTransmitter extends TileNode<NetworkNodeNetworkTransmitt
|
|||||||
return new NetworkNodeNetworkTransmitter(world, pos);
|
return new NetworkNodeNetworkTransmitter(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeNetworkTransmitter.ID;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) {
|
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) {
|
||||||
return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY || super.hasCapability(capability, facing);
|
return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY || super.hasCapability(capability, facing);
|
||||||
|
|||||||
@@ -102,8 +102,8 @@ public abstract class TileNode<N extends NetworkNode> extends TileBase implement
|
|||||||
INetworkNodeManager manager = API.instance().getNetworkNodeManager(world);
|
INetworkNodeManager manager = API.instance().getNetworkNodeManager(world);
|
||||||
|
|
||||||
NetworkNode node = (NetworkNode) manager.getNode(pos);
|
NetworkNode node = (NetworkNode) manager.getNode(pos);
|
||||||
|
|
||||||
if (node == null) {
|
if (node == null || !node.getId().equals(getNodeId())) {
|
||||||
manager.setNode(pos, node = createNode(world, pos));
|
manager.setNode(pos, node = createNode(world, pos));
|
||||||
manager.markForSaving();
|
manager.markForSaving();
|
||||||
}
|
}
|
||||||
@@ -112,16 +112,7 @@ public abstract class TileNode<N extends NetworkNode> extends TileBase implement
|
|||||||
doLegacyCheck(node);
|
doLegacyCheck(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
N castedNode;
|
return (N) node;
|
||||||
|
|
||||||
try {
|
|
||||||
castedNode = (N) node;
|
|
||||||
} catch (ClassCastException e) {
|
|
||||||
manager.setNode(pos, castedNode = createNode(world, pos));
|
|
||||||
manager.markForSaving();
|
|
||||||
}
|
|
||||||
|
|
||||||
return castedNode;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void doLegacyCheck(NetworkNode node) {
|
private void doLegacyCheck(NetworkNode node) {
|
||||||
@@ -149,6 +140,8 @@ public abstract class TileNode<N extends NetworkNode> extends TileBase implement
|
|||||||
|
|
||||||
public abstract N createNode(World world, BlockPos pos);
|
public abstract N createNode(World world, BlockPos pos);
|
||||||
|
|
||||||
|
public abstract String getNodeId();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing side) {
|
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing side) {
|
||||||
if (capability == CapabilityNetworkNodeProxy.NETWORK_NODE_PROXY_CAPABILITY) {
|
if (capability == CapabilityNetworkNodeProxy.NETWORK_NODE_PROXY_CAPABILITY) {
|
||||||
|
|||||||
@@ -139,4 +139,9 @@ public class TileReader extends TileNode<NetworkNodeReader> {
|
|||||||
public NetworkNodeReader createNode(World world, BlockPos pos) {
|
public NetworkNodeReader createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeReader(world, pos);
|
return new NetworkNodeReader(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeReader.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,4 +12,9 @@ public class TileRelay extends TileNode<NetworkNodeRelay> {
|
|||||||
public NetworkNodeRelay createNode(World world, BlockPos pos) {
|
public NetworkNodeRelay createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeRelay(world, pos);
|
return new NetworkNodeRelay(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeRelay.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,4 +12,9 @@ public class TileSecurityManager extends TileNode<NetworkNodeSecurityManager> {
|
|||||||
public NetworkNodeSecurityManager createNode(World world, BlockPos pos) {
|
public NetworkNodeSecurityManager createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeSecurityManager(world, pos);
|
return new NetworkNodeSecurityManager(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeSecurityManager.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,4 +95,9 @@ public class TileSolderer extends TileNode<NetworkNodeSolderer> {
|
|||||||
public NetworkNodeSolderer createNode(World world, BlockPos pos) {
|
public NetworkNodeSolderer createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeSolderer(world, pos);
|
return new NetworkNodeSolderer(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeSolderer.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,4 +38,9 @@ public class TileStorage extends TileNode<NetworkNodeStorage> {
|
|||||||
public NetworkNodeStorage createNode(World world, BlockPos pos) {
|
public NetworkNodeStorage createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeStorage(world, pos);
|
return new NetworkNodeStorage(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeStorage.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,11 @@ public class TileStorageMonitor extends TileNode<NetworkNodeStorageMonitor> {
|
|||||||
return new NetworkNodeStorageMonitor(world, pos);
|
return new NetworkNodeStorageMonitor(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeStorageMonitor.ID;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NBTTagCompound writeUpdate(NBTTagCompound tag) {
|
public NBTTagCompound writeUpdate(NBTTagCompound tag) {
|
||||||
super.writeUpdate(tag);
|
super.writeUpdate(tag);
|
||||||
|
|||||||
@@ -26,4 +26,9 @@ public class TileWirelessTransmitter extends TileNode<NetworkNodeWirelessTransmi
|
|||||||
public NetworkNodeWirelessTransmitter createNode(World world, BlockPos pos) {
|
public NetworkNodeWirelessTransmitter createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeWirelessTransmitter(world, pos);
|
return new NetworkNodeWirelessTransmitter(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeWirelessTransmitter.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,4 +113,9 @@ public class TileWriter extends TileNode<NetworkNodeWriter> {
|
|||||||
public NetworkNodeWriter createNode(World world, BlockPos pos) {
|
public NetworkNodeWriter createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeWriter(world, pos);
|
return new NetworkNodeWriter(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeWriter.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,4 +41,9 @@ public class TileCraftingMonitor extends TileNode<NetworkNodeCraftingMonitor> {
|
|||||||
public NetworkNodeCraftingMonitor createNode(World world, BlockPos pos) {
|
public NetworkNodeCraftingMonitor createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeCraftingMonitor(world, pos);
|
return new NetworkNodeCraftingMonitor(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeCraftingMonitor.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,4 +146,9 @@ public class TileGrid extends TileNode<NetworkNodeGrid> {
|
|||||||
public NetworkNodeGrid createNode(World world, BlockPos pos) {
|
public NetworkNodeGrid createNode(World world, BlockPos pos) {
|
||||||
return new NetworkNodeGrid(world, pos);
|
return new NetworkNodeGrid(world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNodeId() {
|
||||||
|
return NetworkNodeGrid.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user