Fix rare crash if a storage block is corrupted.
This commit is contained in:
@@ -53,7 +53,7 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IGuiStorage,
|
|||||||
private int compare = IComparer.COMPARE_NBT;
|
private int compare = IComparer.COMPARE_NBT;
|
||||||
private int mode = IFilterable.BLACKLIST;
|
private int mode = IFilterable.BLACKLIST;
|
||||||
|
|
||||||
private UUID storageId;
|
private UUID storageId = UUID.randomUUID();
|
||||||
private IStorageDisk<FluidStack> storage;
|
private IStorageDisk<FluidStack> storage;
|
||||||
|
|
||||||
public NetworkNodeFluidStorage(World world, BlockPos pos) {
|
public NetworkNodeFluidStorage(World world, BlockPos pos) {
|
||||||
@@ -79,6 +79,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) {
|
||||||
|
loadStorage();
|
||||||
|
}
|
||||||
|
|
||||||
storages.add(storage);
|
storages.add(storage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ public class NetworkNodeStorage extends NetworkNode implements IGuiStorage, ISto
|
|||||||
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
||||||
private int mode = IFilterable.BLACKLIST;
|
private int mode = IFilterable.BLACKLIST;
|
||||||
|
|
||||||
private UUID storageId;
|
private UUID storageId = UUID.randomUUID();
|
||||||
private IStorageDisk<ItemStack> storage;
|
private IStorageDisk<ItemStack> storage;
|
||||||
|
|
||||||
public NetworkNodeStorage(World world, BlockPos pos) {
|
public NetworkNodeStorage(World world, BlockPos pos) {
|
||||||
@@ -74,6 +74,10 @@ 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) {
|
||||||
|
loadStorage();
|
||||||
|
}
|
||||||
|
|
||||||
storages.add(storage);
|
storages.add(storage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import net.minecraft.world.IBlockAccess;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
public class BlockFluidStorage extends BlockNode {
|
public class BlockFluidStorage extends BlockNode {
|
||||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", FluidStorageType.class);
|
public static final PropertyEnum TYPE = PropertyEnum.create("type", FluidStorageType.class);
|
||||||
@@ -90,8 +89,6 @@ public class BlockFluidStorage extends BlockNode {
|
|||||||
|
|
||||||
if (stack.hasTagCompound() && stack.getTagCompound().hasUniqueId(NetworkNodeFluidStorage.NBT_ID)) {
|
if (stack.hasTagCompound() && stack.getTagCompound().hasUniqueId(NetworkNodeFluidStorage.NBT_ID)) {
|
||||||
storage.setStorageId(stack.getTagCompound().getUniqueId(NetworkNodeFluidStorage.NBT_ID));
|
storage.setStorageId(stack.getTagCompound().getUniqueId(NetworkNodeFluidStorage.NBT_ID));
|
||||||
} else {
|
|
||||||
storage.setStorageId(UUID.randomUUID());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
storage.loadStorage();
|
storage.loadStorage();
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import net.minecraft.world.IBlockAccess;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
public class BlockStorage extends BlockNode {
|
public class BlockStorage extends BlockNode {
|
||||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", ItemStorageType.class);
|
public static final PropertyEnum TYPE = PropertyEnum.create("type", ItemStorageType.class);
|
||||||
@@ -90,8 +89,6 @@ public class BlockStorage extends BlockNode {
|
|||||||
|
|
||||||
if (stack.hasTagCompound() && stack.getTagCompound().hasUniqueId(NetworkNodeStorage.NBT_ID)) {
|
if (stack.hasTagCompound() && stack.getTagCompound().hasUniqueId(NetworkNodeStorage.NBT_ID)) {
|
||||||
storage.setStorageId(stack.getTagCompound().getUniqueId(NetworkNodeStorage.NBT_ID));
|
storage.setStorageId(stack.getTagCompound().getUniqueId(NetworkNodeStorage.NBT_ID));
|
||||||
} else {
|
|
||||||
storage.setStorageId(UUID.randomUUID());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
storage.loadStorage();
|
storage.loadStorage();
|
||||||
|
|||||||
@@ -124,6 +124,7 @@ public class BakedModelCover implements IBakedModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
public ItemCameraTransforms getItemCameraTransforms() {
|
public ItemCameraTransforms getItemCameraTransforms() {
|
||||||
return base.getItemCameraTransforms();
|
return base.getItemCameraTransforms();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user