1.5 -> 1.6 migration: network node direction. #1816
This commit is contained in:
@@ -77,6 +77,7 @@ public class NetworkNodeManager extends WorldSavedData implements INetworkNodeMa
|
|||||||
NBTTagList list = new NBTTagList();
|
NBTTagList list = new NBTTagList();
|
||||||
|
|
||||||
for (INetworkNode node : all()) {
|
for (INetworkNode node : all()) {
|
||||||
|
try {
|
||||||
NBTTagCompound nodeTag = new NBTTagCompound();
|
NBTTagCompound nodeTag = new NBTTagCompound();
|
||||||
|
|
||||||
nodeTag.setString(NBT_NODE_ID, node.getId());
|
nodeTag.setString(NBT_NODE_ID, node.getId());
|
||||||
@@ -84,6 +85,9 @@ public class NetworkNodeManager extends WorldSavedData implements INetworkNodeMa
|
|||||||
nodeTag.setTag(NBT_NODE_DATA, node.write(new NBTTagCompound()));
|
nodeTag.setTag(NBT_NODE_DATA, node.write(new NBTTagCompound()));
|
||||||
|
|
||||||
list.appendTag(nodeTag);
|
list.appendTag(nodeTag);
|
||||||
|
} catch (Throwable t) {
|
||||||
|
t.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tag.setTag(NBT_NODES, list);
|
tag.setTag(NBT_NODES, list);
|
||||||
|
|||||||
@@ -76,9 +76,10 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IGuiStorage,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addFluidStorages(List<IStorage<FluidStack>> storages) {
|
public void addFluidStorages(List<IStorage<FluidStack>> storages) {
|
||||||
if (storage != null)
|
if (storage != null) {
|
||||||
storages.add(storage);
|
storages.add(storage);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getId() {
|
public String getId() {
|
||||||
@@ -89,7 +90,9 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IGuiStorage,
|
|||||||
public NBTTagCompound write(NBTTagCompound tag) {
|
public NBTTagCompound write(NBTTagCompound tag) {
|
||||||
super.write(tag);
|
super.write(tag);
|
||||||
|
|
||||||
|
if (storageId != null) {
|
||||||
tag.setUniqueId(NBT_ID, storageId);
|
tag.setUniqueId(NBT_ID, storageId);
|
||||||
|
}
|
||||||
|
|
||||||
return tag;
|
return tag;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,7 +71,9 @@ public class NetworkNodeStorage extends NetworkNode implements IGuiStorage, ISto
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addItemStorages(List<IStorage<ItemStack>> storages) {
|
public void addItemStorages(List<IStorage<ItemStack>> storages) {
|
||||||
if (storage != null) storages.add(storage);
|
if (storage != null) {
|
||||||
|
storages.add(storage);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -88,7 +90,9 @@ public class NetworkNodeStorage extends NetworkNode implements IGuiStorage, ISto
|
|||||||
public NBTTagCompound write(NBTTagCompound tag) {
|
public NBTTagCompound write(NBTTagCompound tag) {
|
||||||
super.write(tag);
|
super.write(tag);
|
||||||
|
|
||||||
|
if (storageId != null) {
|
||||||
tag.setUniqueId(NBT_ID, storageId);
|
tag.setUniqueId(NBT_ID, storageId);
|
||||||
|
}
|
||||||
|
|
||||||
return tag;
|
return tag;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -182,4 +182,8 @@ public class OneSixMigrationHelper implements IOneSixMigrationHelper {
|
|||||||
public static boolean isValidOneSixPattern(ItemStack stack) {
|
public static boolean isValidOneSixPattern(ItemStack stack) {
|
||||||
return stack.hasTagCompound() && stack.getTagCompound().hasKey(ItemPattern.NBT_PROCESSING);
|
return stack.hasTagCompound() && stack.getTagCompound().hasKey(ItemPattern.NBT_PROCESSING);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we remove the OneSixMigrationHelper we know where to remove other migration hooks by removing this method.
|
||||||
|
public static void removalHook() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeManager;
|
|||||||
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy;
|
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
|
||||||
|
import com.raoulvdberge.refinedstorage.apiimpl.util.OneSixMigrationHelper;
|
||||||
import com.raoulvdberge.refinedstorage.capability.CapabilityNetworkNodeProxy;
|
import com.raoulvdberge.refinedstorage.capability.CapabilityNetworkNodeProxy;
|
||||||
import com.raoulvdberge.refinedstorage.tile.config.IRedstoneConfigurable;
|
import com.raoulvdberge.refinedstorage.tile.config.IRedstoneConfigurable;
|
||||||
import com.raoulvdberge.refinedstorage.tile.config.RedstoneMode;
|
import com.raoulvdberge.refinedstorage.tile.config.RedstoneMode;
|
||||||
@@ -65,6 +66,18 @@ public abstract class TileNode<N extends NetworkNode> extends TileBase implement
|
|||||||
getNode().setActive(tag.getBoolean(NBT_ACTIVE));
|
getNode().setActive(tag.getBoolean(NBT_ACTIVE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private EnumFacing directionToMigrate;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void read(NBTTagCompound tag) {
|
||||||
|
super.read(tag);
|
||||||
|
|
||||||
|
OneSixMigrationHelper.removalHook();
|
||||||
|
if (tag.hasKey(NBT_DIRECTION)) {
|
||||||
|
directionToMigrate = EnumFacing.getFront(tag.getInteger("Direction"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public IItemHandler getDrops() {
|
public IItemHandler getDrops() {
|
||||||
@@ -92,6 +105,15 @@ public abstract class TileNode<N extends NetworkNode> extends TileBase implement
|
|||||||
manager.markForSaving();
|
manager.markForSaving();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
OneSixMigrationHelper.removalHook();
|
||||||
|
if (directionToMigrate != null) {
|
||||||
|
((NetworkNode) node).setDirection(directionToMigrate);
|
||||||
|
|
||||||
|
directionToMigrate = null;
|
||||||
|
|
||||||
|
markDirty();
|
||||||
|
}
|
||||||
|
|
||||||
return (N) node;
|
return (N) node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user