add some default IItemValidator implementations
This commit is contained in:
@@ -1,7 +1,29 @@
|
|||||||
package refinedstorage.inventory;
|
package refinedstorage.inventory;
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import refinedstorage.RefinedStorageItems;
|
||||||
|
import refinedstorage.apiimpl.storage.fluid.FluidStorageNBT;
|
||||||
|
import refinedstorage.apiimpl.storage.item.ItemStorageNBT;
|
||||||
|
|
||||||
public interface IItemValidator {
|
public interface IItemValidator {
|
||||||
|
IItemValidator itemStorageDisk = new ItemValidatorBasic(RefinedStorageItems.STORAGE_DISK) {
|
||||||
|
@Override
|
||||||
|
public boolean isValid(ItemStack disk) {
|
||||||
|
return super.isValid(disk) && ItemStorageNBT.isValid(disk);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
IItemValidator fluidStorageDisk = new ItemValidatorBasic(RefinedStorageItems.FLUID_STORAGE_DISK) {
|
||||||
|
@Override
|
||||||
|
public boolean isValid(ItemStack disk) {
|
||||||
|
return super.isValid(disk) && FluidStorageNBT.isValid(disk);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
IItemValidator storageDisk = new IItemValidator() {
|
||||||
|
@Override
|
||||||
|
public boolean isValid(ItemStack stack) {
|
||||||
|
return itemStorageDisk.isValid(stack) || fluidStorageDisk.isValid(stack);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
boolean isValid(ItemStack stack);
|
boolean isValid(ItemStack stack);
|
||||||
}
|
}
|
||||||
|
@@ -23,9 +23,9 @@ import refinedstorage.apiimpl.storage.fluid.FluidUtils;
|
|||||||
import refinedstorage.apiimpl.storage.item.ItemStorageNBT;
|
import refinedstorage.apiimpl.storage.item.ItemStorageNBT;
|
||||||
import refinedstorage.block.EnumFluidStorageType;
|
import refinedstorage.block.EnumFluidStorageType;
|
||||||
import refinedstorage.block.EnumItemStorageType;
|
import refinedstorage.block.EnumItemStorageType;
|
||||||
|
import refinedstorage.inventory.IItemValidator;
|
||||||
import refinedstorage.inventory.ItemHandlerBasic;
|
import refinedstorage.inventory.ItemHandlerBasic;
|
||||||
import refinedstorage.inventory.ItemHandlerFluid;
|
import refinedstorage.inventory.ItemHandlerFluid;
|
||||||
import refinedstorage.inventory.ItemValidatorBasic;
|
|
||||||
import refinedstorage.tile.config.IComparable;
|
import refinedstorage.tile.config.IComparable;
|
||||||
import refinedstorage.tile.config.IFilterable;
|
import refinedstorage.tile.config.IFilterable;
|
||||||
import refinedstorage.tile.config.IPrioritizable;
|
import refinedstorage.tile.config.IPrioritizable;
|
||||||
@@ -86,17 +86,7 @@ public class TileDiskDrive extends TileNode implements IItemStorageProvider, IFl
|
|||||||
private static final String NBT_STORED = "Stored";
|
private static final String NBT_STORED = "Stored";
|
||||||
private static final String NBT_TYPE = "Type";
|
private static final String NBT_TYPE = "Type";
|
||||||
|
|
||||||
private ItemHandlerBasic disks = new ItemHandlerBasic(8, this, new ItemValidatorBasic(RefinedStorageItems.STORAGE_DISK) {
|
private ItemHandlerBasic disks = new ItemHandlerBasic(8, this, IItemValidator.storageDisk) {
|
||||||
@Override
|
|
||||||
public boolean isValid(ItemStack disk) {
|
|
||||||
return super.isValid(disk) && ItemStorageNBT.isValid(disk);
|
|
||||||
}
|
|
||||||
}, new ItemValidatorBasic(RefinedStorageItems.FLUID_STORAGE_DISK) {
|
|
||||||
@Override
|
|
||||||
public boolean isValid(ItemStack disk) {
|
|
||||||
return super.isValid(disk) && FluidStorageNBT.isValid(disk);
|
|
||||||
}
|
|
||||||
}) {
|
|
||||||
@Override
|
@Override
|
||||||
protected void onContentsChanged(int slot) {
|
protected void onContentsChanged(int slot) {
|
||||||
super.onContentsChanged(slot);
|
super.onContentsChanged(slot);
|
||||||
|
@@ -11,16 +11,15 @@ import net.minecraftforge.fml.relauncher.Side;
|
|||||||
import net.minecraftforge.items.CapabilityItemHandler;
|
import net.minecraftforge.items.CapabilityItemHandler;
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
import net.minecraftforge.items.ItemHandlerHelper;
|
import net.minecraftforge.items.ItemHandlerHelper;
|
||||||
import refinedstorage.RefinedStorageItems;
|
|
||||||
import refinedstorage.apiimpl.storage.NBTStorage;
|
import refinedstorage.apiimpl.storage.NBTStorage;
|
||||||
import refinedstorage.apiimpl.storage.fluid.FluidStorageNBT;
|
import refinedstorage.apiimpl.storage.fluid.FluidStorageNBT;
|
||||||
import refinedstorage.apiimpl.storage.fluid.FluidUtils;
|
import refinedstorage.apiimpl.storage.fluid.FluidUtils;
|
||||||
import refinedstorage.apiimpl.storage.item.ItemStorageNBT;
|
import refinedstorage.apiimpl.storage.item.ItemStorageNBT;
|
||||||
import refinedstorage.block.EnumFluidStorageType;
|
import refinedstorage.block.EnumFluidStorageType;
|
||||||
import refinedstorage.block.EnumItemStorageType;
|
import refinedstorage.block.EnumItemStorageType;
|
||||||
|
import refinedstorage.inventory.IItemValidator;
|
||||||
import refinedstorage.inventory.ItemHandlerBasic;
|
import refinedstorage.inventory.ItemHandlerBasic;
|
||||||
import refinedstorage.inventory.ItemHandlerFluid;
|
import refinedstorage.inventory.ItemHandlerFluid;
|
||||||
import refinedstorage.inventory.ItemValidatorBasic;
|
|
||||||
import refinedstorage.tile.config.IComparable;
|
import refinedstorage.tile.config.IComparable;
|
||||||
import refinedstorage.tile.config.IFilterable;
|
import refinedstorage.tile.config.IFilterable;
|
||||||
import refinedstorage.tile.config.IType;
|
import refinedstorage.tile.config.IType;
|
||||||
@@ -69,17 +68,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
|
|||||||
fluidStorages = new FluidStorage[6];
|
fluidStorages = new FluidStorage[6];
|
||||||
}
|
}
|
||||||
|
|
||||||
private ItemHandlerBasic disks = new ItemHandlerBasic(12, this, new ItemValidatorBasic(RefinedStorageItems.STORAGE_DISK) {
|
private ItemHandlerBasic disks = new ItemHandlerBasic(12, this, IItemValidator.storageDisk) {
|
||||||
@Override
|
|
||||||
public boolean isValid(ItemStack disk) {
|
|
||||||
return super.isValid(disk) && ItemStorageNBT.isValid(disk);
|
|
||||||
}
|
|
||||||
}, new ItemValidatorBasic(RefinedStorageItems.FLUID_STORAGE_DISK) {
|
|
||||||
@Override
|
|
||||||
public boolean isValid(ItemStack disk) {
|
|
||||||
return super.isValid(disk) && FluidStorageNBT.isValid(disk);
|
|
||||||
}
|
|
||||||
}) {
|
|
||||||
@Override
|
@Override
|
||||||
protected void onContentsChanged(int slot) {
|
protected void onContentsChanged(int slot) {
|
||||||
super.onContentsChanged(slot);
|
super.onContentsChanged(slot);
|
||||||
|
Reference in New Issue
Block a user