@@ -343,9 +343,7 @@ public class ProxyCommon {
|
||||
TileBase tileInstance = tile.newInstance();
|
||||
|
||||
if (tileInstance instanceof TileNode) {
|
||||
String nodeId = ((TileNode) tileInstance).createNode(null, null).getId();
|
||||
|
||||
API.instance().getNetworkNodeRegistry().add(nodeId, (tag, world, pos) -> {
|
||||
API.instance().getNetworkNodeRegistry().add(((TileNode) tileInstance).getNodeId(), (tag, world, pos) -> {
|
||||
NetworkNode node = ((TileNode) tileInstance).createNode(world, pos);
|
||||
|
||||
node.read(tag);
|
||||
|
||||
@@ -12,4 +12,9 @@ public class TileCable extends TileNode<NetworkNodeCable> {
|
||||
public NetworkNodeCable createNode(World world, BlockPos 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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNodeId() {
|
||||
return NetworkNodeNetworkTransmitter.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) {
|
||||
return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY || super.hasCapability(capability, facing);
|
||||
|
||||
@@ -103,7 +103,7 @@ public abstract class TileNode<N extends NetworkNode> extends TileBase implement
|
||||
|
||||
NetworkNode node = (NetworkNode) manager.getNode(pos);
|
||||
|
||||
if (node == null) {
|
||||
if (node == null || !node.getId().equals(getNodeId())) {
|
||||
manager.setNode(pos, node = createNode(world, pos));
|
||||
manager.markForSaving();
|
||||
}
|
||||
@@ -112,16 +112,7 @@ public abstract class TileNode<N extends NetworkNode> extends TileBase implement
|
||||
doLegacyCheck(node);
|
||||
}
|
||||
|
||||
N castedNode;
|
||||
|
||||
try {
|
||||
castedNode = (N) node;
|
||||
} catch (ClassCastException e) {
|
||||
manager.setNode(pos, castedNode = createNode(world, pos));
|
||||
manager.markForSaving();
|
||||
}
|
||||
|
||||
return castedNode;
|
||||
return (N) 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 String getNodeId();
|
||||
|
||||
@Override
|
||||
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing side) {
|
||||
if (capability == CapabilityNetworkNodeProxy.NETWORK_NODE_PROXY_CAPABILITY) {
|
||||
|
||||
@@ -139,4 +139,9 @@ public class TileReader extends TileNode<NetworkNodeReader> {
|
||||
public NetworkNodeReader createNode(World world, BlockPos 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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNodeId() {
|
||||
return NetworkNodeStorageMonitor.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NBTTagCompound writeUpdate(NBTTagCompound tag) {
|
||||
super.writeUpdate(tag);
|
||||
|
||||
@@ -26,4 +26,9 @@ public class TileWirelessTransmitter extends TileNode<NetworkNodeWirelessTransmi
|
||||
public NetworkNodeWirelessTransmitter createNode(World world, BlockPos 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) {
|
||||
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) {
|
||||
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) {
|
||||
return new NetworkNodeGrid(world, pos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNodeId() {
|
||||
return NetworkNodeGrid.ID;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user