Re-add the Storage Blocks

This commit is contained in:
raoulvdberge
2019-10-12 21:18:55 +02:00
parent c657efe437
commit 3d7a1f5881
124 changed files with 886 additions and 737 deletions

View File

@@ -11,6 +11,7 @@ import com.raoulvdberge.refinedstorage.render.model.baked.PatternBakedModel;
import com.raoulvdberge.refinedstorage.screen.ControllerScreen;
import com.raoulvdberge.refinedstorage.screen.DiskDriveScreen;
import com.raoulvdberge.refinedstorage.screen.FilterScreen;
import com.raoulvdberge.refinedstorage.screen.StorageBlockScreen;
import com.raoulvdberge.refinedstorage.screen.factory.GridScreenFactory;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.ScreenManager;
@@ -119,6 +120,7 @@ public class ClientSetup {
ScreenManager.registerFactory(RSContainers.CONTROLLER, ControllerScreen::new);
ScreenManager.registerFactory(RSContainers.DISK_DRIVE, DiskDriveScreen::new);
ScreenManager.registerFactory(RSContainers.GRID, new GridScreenFactory());
ScreenManager.registerFactory(RSContainers.STORAGE_BLOCK, StorageBlockScreen::new);
ClientRegistry.registerKeyBinding(RSKeyBindings.FOCUS_SEARCH_BAR);
ClientRegistry.registerKeyBinding(RSKeyBindings.CLEAR_GRID_CRAFTING_MATRIX);

View File

@@ -9,6 +9,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.network.node.CableNetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.GridNetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.diskdrive.DiskDriveNetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.storage.StorageNetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.storage.FluidStorageType;
import com.raoulvdberge.refinedstorage.apiimpl.storage.ItemStorageType;
import com.raoulvdberge.refinedstorage.apiimpl.storage.disk.factory.FluidStorageDiskFactory;
@@ -20,17 +21,16 @@ import com.raoulvdberge.refinedstorage.config.ServerConfig;
import com.raoulvdberge.refinedstorage.container.ControllerContainer;
import com.raoulvdberge.refinedstorage.container.DiskDriveContainer;
import com.raoulvdberge.refinedstorage.container.FilterContainer;
import com.raoulvdberge.refinedstorage.container.StorageContainer;
import com.raoulvdberge.refinedstorage.container.factory.GridContainerFactory;
import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerFactory;
import com.raoulvdberge.refinedstorage.item.*;
import com.raoulvdberge.refinedstorage.item.blockitem.ControllerBlockItem;
import com.raoulvdberge.refinedstorage.item.blockitem.StorageBlockItem;
import com.raoulvdberge.refinedstorage.item.group.MainItemGroup;
import com.raoulvdberge.refinedstorage.network.NetworkHandler;
import com.raoulvdberge.refinedstorage.recipe.UpgradeWithEnchantedBookRecipeSerializer;
import com.raoulvdberge.refinedstorage.tile.BaseTile;
import com.raoulvdberge.refinedstorage.tile.CableTile;
import com.raoulvdberge.refinedstorage.tile.ControllerTile;
import com.raoulvdberge.refinedstorage.tile.DiskDriveTile;
import com.raoulvdberge.refinedstorage.tile.*;
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import com.raoulvdberge.refinedstorage.tile.grid.GridTile;
import com.raoulvdberge.refinedstorage.util.BlockUtils;
@@ -98,6 +98,12 @@ public final class RS {
API.instance().getNetworkNodeRegistry().add(GridNetworkNode.PATTERN_ID, (tag, world, pos) -> readAndReturn(tag, new GridNetworkNode(world, pos, GridType.PATTERN)));
API.instance().getNetworkNodeRegistry().add(GridNetworkNode.FLUID_ID, (tag, world, pos) -> readAndReturn(tag, new GridNetworkNode(world, pos, GridType.FLUID)));
API.instance().getNetworkNodeRegistry().add(StorageNetworkNode.ONE_K_STORAGE_BLOCK_ID, (tag, world, pos) -> readAndReturn(tag, new StorageNetworkNode(world, pos, ItemStorageType.ONE_K)));
API.instance().getNetworkNodeRegistry().add(StorageNetworkNode.FOUR_K_STORAGE_BLOCK_ID, (tag, world, pos) -> readAndReturn(tag, new StorageNetworkNode(world, pos, ItemStorageType.FOUR_K)));
API.instance().getNetworkNodeRegistry().add(StorageNetworkNode.SIXTEEN_K_STORAGE_BLOCK_ID, (tag, world, pos) -> readAndReturn(tag, new StorageNetworkNode(world, pos, ItemStorageType.SIXTEEN_K)));
API.instance().getNetworkNodeRegistry().add(StorageNetworkNode.SIXTY_FOUR_K_STORAGE_BLOCK_ID, (tag, world, pos) -> readAndReturn(tag, new StorageNetworkNode(world, pos, ItemStorageType.SIXTY_FOUR_K)));
API.instance().getNetworkNodeRegistry().add(StorageNetworkNode.CREATIVE_STORAGE_BLOCK_ID, (tag, world, pos) -> readAndReturn(tag, new StorageNetworkNode(world, pos, ItemStorageType.CREATIVE)));
API.instance().getGridManager().add(GridBlockGridFactory.ID, new GridBlockGridFactory());
}
@@ -124,6 +130,12 @@ public final class RS {
e.getRegistry().register(new GridBlock(GridType.CRAFTING));
e.getRegistry().register(new GridBlock(GridType.PATTERN));
e.getRegistry().register(new GridBlock(GridType.FLUID));
e.getRegistry().register(new StorageBlock(ItemStorageType.ONE_K));
e.getRegistry().register(new StorageBlock(ItemStorageType.FOUR_K));
e.getRegistry().register(new StorageBlock(ItemStorageType.SIXTEEN_K));
e.getRegistry().register(new StorageBlock(ItemStorageType.SIXTY_FOUR_K));
e.getRegistry().register(new StorageBlock(ItemStorageType.CREATIVE));
}
@SubscribeEvent
@@ -136,6 +148,12 @@ public final class RS {
e.getRegistry().register(registerTileDataParameters(TileEntityType.Builder.create(() -> new GridTile(GridType.CRAFTING), RSBlocks.CRAFTING_GRID).build(null).setRegistryName(RS.ID, "crafting_grid")));
e.getRegistry().register(registerTileDataParameters(TileEntityType.Builder.create(() -> new GridTile(GridType.PATTERN), RSBlocks.PATTERN_GRID).build(null).setRegistryName(RS.ID, "pattern_grid")));
e.getRegistry().register(registerTileDataParameters(TileEntityType.Builder.create(() -> new GridTile(GridType.FLUID), RSBlocks.FLUID_GRID).build(null).setRegistryName(RS.ID, "fluid_grid")));
e.getRegistry().register(registerTileDataParameters(TileEntityType.Builder.create(() -> new StorageTile(ItemStorageType.ONE_K), RSBlocks.ONE_K_STORAGE_BLOCK).build(null).setRegistryName(RS.ID, "1k_storage_block")));
e.getRegistry().register(registerTileDataParameters(TileEntityType.Builder.create(() -> new StorageTile(ItemStorageType.FOUR_K), RSBlocks.FOUR_K_STORAGE_BLOCK).build(null).setRegistryName(RS.ID, "4k_storage_block")));
e.getRegistry().register(registerTileDataParameters(TileEntityType.Builder.create(() -> new StorageTile(ItemStorageType.SIXTEEN_K), RSBlocks.SIXTEEN_K_STORAGE_BLOCK).build(null).setRegistryName(RS.ID, "16k_storage_block")));
e.getRegistry().register(registerTileDataParameters(TileEntityType.Builder.create(() -> new StorageTile(ItemStorageType.SIXTY_FOUR_K), RSBlocks.SIXTY_FOUR_K_STORAGE_BLOCK).build(null).setRegistryName(RS.ID, "64k_storage_block")));
e.getRegistry().register(registerTileDataParameters(TileEntityType.Builder.create(() -> new StorageTile(ItemStorageType.CREATIVE), RSBlocks.CREATIVE_STORAGE_BLOCK).build(null).setRegistryName(RS.ID, "creative_storage_block")));
}
private <T extends TileEntity> TileEntityType<T> registerTileDataParameters(TileEntityType<T> t) {
@@ -152,6 +170,7 @@ public final class RS {
e.getRegistry().register(IForgeContainerType.create(((windowId, inv, data) -> new ControllerContainer(null, inv.player, windowId))).setRegistryName(RS.ID, "controller"));
e.getRegistry().register(IForgeContainerType.create(new PositionalTileContainerFactory<DiskDriveContainer, DiskDriveTile>((windowId, inv, tile) -> new DiskDriveContainer(tile, inv.player, windowId))).setRegistryName(RS.ID, "disk_drive"));
e.getRegistry().register(IForgeContainerType.create(new GridContainerFactory()).setRegistryName(RS.ID, "grid"));
e.getRegistry().register(IForgeContainerType.create(new PositionalTileContainerFactory<StorageContainer, StorageTile>((windowId, inv, tile) -> new StorageContainer(tile, inv.player, windowId))).setRegistryName(RS.ID, "storage_block"));
}
@SubscribeEvent
@@ -207,6 +226,12 @@ public final class RS {
e.getRegistry().register(BlockUtils.createBlockItemFor(RSBlocks.CRAFTING_GRID));
e.getRegistry().register(BlockUtils.createBlockItemFor(RSBlocks.PATTERN_GRID));
e.getRegistry().register(BlockUtils.createBlockItemFor(RSBlocks.FLUID_GRID));
e.getRegistry().register(new StorageBlockItem(RSBlocks.ONE_K_STORAGE_BLOCK));
e.getRegistry().register(new StorageBlockItem(RSBlocks.FOUR_K_STORAGE_BLOCK));
e.getRegistry().register(new StorageBlockItem(RSBlocks.SIXTEEN_K_STORAGE_BLOCK));
e.getRegistry().register(new StorageBlockItem(RSBlocks.SIXTY_FOUR_K_STORAGE_BLOCK));
e.getRegistry().register(new StorageBlockItem(RSBlocks.CREATIVE_STORAGE_BLOCK));
}
/* TODO

View File

@@ -10,7 +10,6 @@ public final class RSBlocks {
public static final BlockDetector DETECTOR = new BlockDetector();
public static final BlockDestructor DESTRUCTOR = new BlockDestructor();
public static final BlockConstructor CONSTRUCTOR = new BlockConstructor();
public static final BlockStorage STORAGE = new BlockStorage();
public static final BlockRelay RELAY = new BlockRelay();
public static final BlockInterface INTERFACE = new BlockInterface();
public static final BlockCraftingMonitor CRAFTING_MONITOR = new BlockCraftingMonitor();
@@ -51,6 +50,17 @@ public final class RSBlocks {
@ObjectHolder(RS.ID + ":fluid_grid")
public static final GridBlock FLUID_GRID = null;
@ObjectHolder(RS.ID + ":1k_storage_block")
public static final StorageBlock ONE_K_STORAGE_BLOCK = null;
@ObjectHolder(RS.ID + ":4k_storage_block")
public static final StorageBlock FOUR_K_STORAGE_BLOCK = null;
@ObjectHolder(RS.ID + ":16k_storage_block")
public static final StorageBlock SIXTEEN_K_STORAGE_BLOCK = null;
@ObjectHolder(RS.ID + ":64k_storage_block")
public static final StorageBlock SIXTY_FOUR_K_STORAGE_BLOCK = null;
@ObjectHolder(RS.ID + ":creative_storage_block")
public static final StorageBlock CREATIVE_STORAGE_BLOCK = null;
public static final BlockStorageMonitor STORAGE_MONITOR = new BlockStorageMonitor();
public static final BlockPortableGrid PORTABLE_GRID = new BlockPortableGrid();
public static final BlockCrafterManager CRAFTER_MANAGER = new BlockCrafterManager();

View File

@@ -56,6 +56,9 @@ public final class RSContainers {
@ObjectHolder(RS.ID + ":disk_drive")
public static final ContainerType<DiskDriveContainer> DISK_DRIVE = null;
@ObjectHolder(RS.ID + ":storage_block")
public static final ContainerType<StorageContainer> STORAGE_BLOCK = null;
//@ObjectHolder(RS.ID + ":storage_monitor")
public static final ContainerType<StorageMonitorContainer> STORAGE_MONITOR = null;
//@ObjectHolder(RS.ID + ":wireless_transmitter")

View File

@@ -67,8 +67,6 @@ public class RSTiles {
public static final TileEntityType<TileRelay> RELAY = null;
//@ObjectHolder(RS.ID + ":security_manager")
public static final TileEntityType<TileSecurityManager> SECURITY_MANAGER = null;
//@ObjectHolder(RS.ID + ":storage")
public static final TileEntityType<TileStorage> STORAGE = null;
//@ObjectHolder(RS.ID + ":storage_monitor")
public static final TileEntityType<TileStorageMonitor> STORAGE_MONITOR = null;
//@ObjectHolder(RS.ID + ":wireless_transmitter")
@@ -77,6 +75,17 @@ public class RSTiles {
@ObjectHolder(RS.ID + ":cable")
public static final TileEntityType<CableTile> CABLE = null;
@ObjectHolder(RS.ID + ":1k_storage_block")
public static final TileEntityType<StorageTile> ONE_K_STORAGE_BLOCK = null;
@ObjectHolder(RS.ID + ":4k_storage_block")
public static final TileEntityType<StorageTile> FOUR_K_STORAGE_BLOCK = null;
@ObjectHolder(RS.ID + ":16k_storage_block")
public static final TileEntityType<StorageTile> SIXTEEN_K_STORAGE_BLOCK = null;
@ObjectHolder(RS.ID + ":64k_storage_block")
public static final TileEntityType<StorageTile> SIXTY_FOUR_K_STORAGE_BLOCK = null;
@ObjectHolder(RS.ID + ":creative_storage_block")
public static final TileEntityType<StorageTile> CREATIVE_STORAGE_BLOCK = null;
//@ObjectHolder(RS.ID + ":portable_grid")
public static final TileEntityType<TilePortableGrid> PORTABLE_GRID = null;
}

View File

@@ -17,10 +17,10 @@ import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.listener.FluidGridS
import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.listener.ItemGridStorageCacheListener;
import com.raoulvdberge.refinedstorage.block.NodeBlock;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerFilter;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.FilterItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.validator.ItemValidatorBasic;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.item.PatternItem;
import com.raoulvdberge.refinedstorage.tile.config.IType;
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
@@ -92,12 +92,12 @@ public class GridNetworkNode extends NetworkNode implements IGridNetworkAware, I
private ICraftingRecipe currentRecipe;
private CraftingInventory matrix = new CraftingInventory(craftingContainer, 3, 3);
private CraftResultInventory result = new CraftResultInventory();
private ItemHandlerBase processingMatrix = new ItemHandlerBase(9 * 2, new ListenerNetworkNode(this));
private FluidInventory processingMatrixFluids = new FluidInventory(9 * 2, FluidAttributes.BUCKET_VOLUME * 64, new ListenerNetworkNode(this));
private BaseItemHandler processingMatrix = new BaseItemHandler(9 * 2, new NetworkNodeListener(this));
private FluidInventory processingMatrixFluids = new FluidInventory(9 * 2, FluidAttributes.BUCKET_VOLUME * 64, new NetworkNodeListener(this));
private Set<ICraftingGridListener> craftingListeners = new HashSet<>();
private ItemHandlerBase patterns = new ItemHandlerBase(2, new ListenerNetworkNode(this), new ItemValidatorBasic(RSItems.PATTERN)) {
private BaseItemHandler patterns = new BaseItemHandler(2, new NetworkNodeListener(this), new ItemValidatorBasic(RSItems.PATTERN)) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
@@ -146,7 +146,7 @@ public class GridNetworkNode extends NetworkNode implements IGridNetworkAware, I
};
private List<IFilter> filters = new ArrayList<>();
private List<IGridTab> tabs = new ArrayList<>();
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, tabs, new ListenerNetworkNode(this));
private FilterItemHandler filter = new FilterItemHandler(filters, tabs, new NetworkNodeListener(this));
private final GridType type;
@@ -310,7 +310,7 @@ public class GridNetworkNode extends NetworkNode implements IGridNetworkAware, I
return result;
}
public ItemHandlerBase getProcessingMatrix() {
public BaseItemHandler getProcessingMatrix() {
return processingMatrix;
}

View File

@@ -2,9 +2,10 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node;
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import net.minecraft.util.text.ITextComponent;
public interface IStorageScreen {
String getGuiTitle();
ITextComponent getTitle();
TileDataParameter<Integer, ?> getTypeParameter();

View File

@@ -7,9 +7,9 @@ import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager;
import com.raoulvdberge.refinedstorage.container.slot.filter.FilterSlot;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerUpgrade;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.UpgradeItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.item.UpgradeItem;
import com.raoulvdberge.refinedstorage.tile.TileConstructor;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
@@ -55,10 +55,10 @@ public class NetworkNodeConstructor extends NetworkNode implements IComparable,
private static final int BASE_SPEED = 20;
private ItemHandlerBase itemFilters = new ItemHandlerBase(1, new ListenerNetworkNode(this));
private FluidInventory fluidFilters = new FluidInventory(1, new ListenerNetworkNode(this));
private BaseItemHandler itemFilters = new BaseItemHandler(1, new NetworkNodeListener(this));
private FluidInventory fluidFilters = new FluidInventory(1, new NetworkNodeListener(this));
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ListenerNetworkNode(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING, ItemUpgrade.TYPE_STACK*/);
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, new NetworkNodeListener(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING, ItemUpgrade.TYPE_STACK*/);
private int compare = IComparer.COMPARE_NBT;
private int type = IType.ITEMS;

View File

@@ -7,9 +7,9 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternProvider
import com.raoulvdberge.refinedstorage.api.network.INetwork;
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerUpgrade;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.UpgradeItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.item.UpgradeItem;
import com.raoulvdberge.refinedstorage.util.StackUtils;
import com.raoulvdberge.refinedstorage.util.WorldUtils;
@@ -58,7 +58,7 @@ public class NetworkNodeCrafter extends NetworkNode implements ICraftingPatternC
private static final String NBT_LOCKED = "Locked";
private static final String NBT_WAS_POWERED = "WasPowered";
private ItemHandlerBase patternsInventory = new ItemHandlerBase(9, new ListenerNetworkNode(this), s -> isValidPatternInSlot(world, s)) {
private BaseItemHandler patternsInventory = new BaseItemHandler(9, new NetworkNodeListener(this), s -> isValidPatternInSlot(world, s)) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
@@ -86,7 +86,7 @@ public class NetworkNodeCrafter extends NetworkNode implements ICraftingPatternC
private List<ICraftingPattern> patterns = new ArrayList<>();
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ListenerNetworkNode(this)/* TODO, ItemUpgrade.TYPE_SPEED*/);
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, new NetworkNodeListener(this)/* TODO, ItemUpgrade.TYPE_SPEED*/);
// Used to prevent infinite recursion on getRootContainer() when there's e.g. two crafters facing each other.
private boolean visited = false;

View File

@@ -6,9 +6,9 @@ import com.raoulvdberge.refinedstorage.api.util.Action;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerUpgrade;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.UpgradeItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.tile.TileDestructor;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
import com.raoulvdberge.refinedstorage.tile.config.IType;
@@ -57,10 +57,10 @@ public class NetworkNodeDestructor extends NetworkNode implements IComparable, I
private static final int BASE_SPEED = 20;
private ItemHandlerBase itemFilters = new ItemHandlerBase(9, new ListenerNetworkNode(this));
private FluidInventory fluidFilters = new FluidInventory(9, new ListenerNetworkNode(this));
private BaseItemHandler itemFilters = new BaseItemHandler(9, new NetworkNodeListener(this));
private FluidInventory fluidFilters = new FluidInventory(9, new NetworkNodeListener(this));
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ListenerNetworkNode(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_SILK_TOUCH, ItemUpgrade.TYPE_FORTUNE_1, ItemUpgrade.TYPE_FORTUNE_2, ItemUpgrade.TYPE_FORTUNE_3*/);
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, new NetworkNodeListener(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_SILK_TOUCH, ItemUpgrade.TYPE_FORTUNE_1, ItemUpgrade.TYPE_FORTUNE_2, ItemUpgrade.TYPE_FORTUNE_3*/);
private int compare = IComparer.COMPARE_NBT;
private int mode = IWhitelistBlacklist.BLACKLIST;

View File

@@ -5,8 +5,8 @@ import com.raoulvdberge.refinedstorage.RSBlocks;
import com.raoulvdberge.refinedstorage.api.network.INetwork;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.tile.TileDetector;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
import com.raoulvdberge.refinedstorage.tile.config.IType;
@@ -37,8 +37,8 @@ public class NetworkNodeDetector extends NetworkNode implements IComparable, ITy
private static final String NBT_TYPE = "Type";
private static final String NBT_FLUID_FILTERS = "FluidFilters";
private ItemHandlerBase itemFilters = new ItemHandlerBase(1, new ListenerNetworkNode(this));
private FluidInventory fluidFilters = new FluidInventory(1, new ListenerNetworkNode(this));
private BaseItemHandler itemFilters = new BaseItemHandler(1, new NetworkNodeListener(this));
private FluidInventory fluidFilters = new FluidInventory(1, new NetworkNodeListener(this));
private int compare = IComparer.COMPARE_NBT;
private int type = IType.ITEMS;

View File

@@ -5,9 +5,9 @@ import com.raoulvdberge.refinedstorage.api.util.Action;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerUpgrade;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.UpgradeItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.item.UpgradeItem;
import com.raoulvdberge.refinedstorage.tile.TileExporter;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
@@ -39,10 +39,10 @@ public class NetworkNodeExporter extends NetworkNode implements IComparable, ITy
private static final String NBT_COVERS = "Covers";
private static final String NBT_FLUID_FILTERS = "FluidFilters";
private ItemHandlerBase itemFilters = new ItemHandlerBase(9, new ListenerNetworkNode(this));
private FluidInventory fluidFilters = new FluidInventory(9, new ListenerNetworkNode(this));
private BaseItemHandler itemFilters = new BaseItemHandler(9, new NetworkNodeListener(this));
private FluidInventory fluidFilters = new FluidInventory(9, new NetworkNodeListener(this));
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ListenerNetworkNode(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING, ItemUpgrade.TYPE_STACK*/);
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, new NetworkNodeListener(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING, ItemUpgrade.TYPE_STACK*/);
private int compare = IComparer.COMPARE_NBT;
private int type = IType.ITEMS;

View File

@@ -15,8 +15,8 @@ import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager;
import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.FluidStorageCache;
import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.ItemStorageCache;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.tile.TileExternalStorage;
import com.raoulvdberge.refinedstorage.tile.config.*;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
@@ -28,6 +28,8 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.World;
import net.minecraftforge.common.util.Constants;
import net.minecraftforge.fluids.FluidStack;
@@ -48,8 +50,8 @@ public class NetworkNodeExternalStorage extends NetworkNode implements IStorageP
private static final String NBT_COVERS = "Covers";
private static final String NBT_FLUID_FILTERS = "FluidFilters";
private ItemHandlerBase itemFilters = new ItemHandlerBase(9, new ListenerNetworkNode(this));
private FluidInventory fluidFilters = new FluidInventory(9, new ListenerNetworkNode(this));
private BaseItemHandler itemFilters = new BaseItemHandler(9, new NetworkNodeListener(this));
private FluidInventory fluidFilters = new FluidInventory(9, new NetworkNodeListener(this));
private int priority = 0;
private int compare = IComparer.COMPARE_NBT;
@@ -261,8 +263,8 @@ public class NetworkNodeExternalStorage extends NetworkNode implements IStorageP
}
@Override
public String getGuiTitle() {
return "gui.refinedstorage:external_storage";
public ITextComponent getTitle() {
return new TranslationTextComponent("gui.refinedstorage:external_storage");
}
@Override
@@ -277,7 +279,7 @@ public class NetworkNodeExternalStorage extends NetworkNode implements IStorageP
@Override
public TileDataParameter<Integer, ?> getWhitelistBlacklistParameter() {
return TileExternalStorage.MODE;
return TileExternalStorage.WHITELIST_BLACKLIST;
}
@Override

View File

@@ -6,11 +6,11 @@ import com.raoulvdberge.refinedstorage.api.util.Action;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.storage.externalstorage.StorageExternalFluid;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidHandlerProxy;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerUpgrade;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.fluid.ProxyFluidHandler;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.UpgradeItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.item.UpgradeItem;
import com.raoulvdberge.refinedstorage.tile.TileFluidInterface;
import com.raoulvdberge.refinedstorage.tile.config.IType;
@@ -53,12 +53,12 @@ public class NetworkNodeFluidInterface extends NetworkNode {
};
private FluidTank tankOut = new FluidTank(TANK_CAPACITY);
private FluidHandlerProxy tank = new FluidHandlerProxy(tankIn, tankOut);
private ProxyFluidHandler tank = new ProxyFluidHandler(tankIn, tankOut);
private ItemHandlerBase in = new ItemHandlerBase(1, new ListenerNetworkNode(this), stack -> !StackUtils.getFluid(stack, true).getValue().isEmpty());
private FluidInventory out = new FluidInventory(1, TANK_CAPACITY, new ListenerNetworkNode(this));
private BaseItemHandler in = new BaseItemHandler(1, new NetworkNodeListener(this), stack -> !StackUtils.getFluid(stack, true).getValue().isEmpty());
private FluidInventory out = new FluidInventory(1, TANK_CAPACITY, new NetworkNodeListener(this));
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ListenerNetworkNode(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK, ItemUpgrade.TYPE_CRAFTING*/);
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, new NetworkNodeListener(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK, ItemUpgrade.TYPE_CRAFTING*/);
public NetworkNodeFluidInterface(World world, BlockPos pos) {
super(world, pos);
@@ -230,11 +230,11 @@ public class NetworkNodeFluidInterface extends NetworkNode {
}
}
public ItemHandlerUpgrade getUpgrades() {
public UpgradeItemHandler getUpgrades() {
return upgrades;
}
public ItemHandlerBase getIn() {
public BaseItemHandler getIn() {
return in;
}
@@ -242,7 +242,7 @@ public class NetworkNodeFluidInterface extends NetworkNode {
return out;
}
public FluidHandlerProxy getTank() {
public ProxyFluidHandler getTank() {
return tank;
}

View File

@@ -5,9 +5,9 @@ import com.raoulvdberge.refinedstorage.api.util.Action;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerUpgrade;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.UpgradeItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.tile.DiskDriveTile;
import com.raoulvdberge.refinedstorage.tile.TileImporter;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
@@ -41,10 +41,10 @@ public class NetworkNodeImporter extends NetworkNode implements IComparable, IWh
private static final String NBT_COVERS = "Covers";
private static final String NBT_FLUID_FILTERS = "FLuidFilters";
private ItemHandlerBase itemFilters = new ItemHandlerBase(9, new ListenerNetworkNode(this));
private FluidInventory fluidFilters = new FluidInventory(9, new ListenerNetworkNode(this));
private BaseItemHandler itemFilters = new BaseItemHandler(9, new NetworkNodeListener(this));
private FluidInventory fluidFilters = new FluidInventory(9, new NetworkNodeListener(this));
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ListenerNetworkNode(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK*/);
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, new NetworkNodeListener(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK*/);
private int compare = IComparer.COMPARE_NBT;
private int mode = IWhitelistBlacklist.BLACKLIST;

View File

@@ -6,10 +6,10 @@ import com.raoulvdberge.refinedstorage.api.util.Action;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.storage.externalstorage.StorageExternalItem;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerProxy;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerUpgrade;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.ProxyItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.UpgradeItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.item.UpgradeItem;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
import com.raoulvdberge.refinedstorage.tile.config.IType;
@@ -29,14 +29,14 @@ public class NetworkNodeInterface extends NetworkNode implements IComparable {
private static final String NBT_COMPARE = "Compare";
private ItemHandlerBase importItems = new ItemHandlerBase(9, new ListenerNetworkNode(this));
private BaseItemHandler importItems = new BaseItemHandler(9, new NetworkNodeListener(this));
private ItemHandlerBase exportFilterItems = new ItemHandlerBase(9, new ListenerNetworkNode(this));
private ItemHandlerBase exportItems = new ItemHandlerBase(9, new ListenerNetworkNode(this));
private BaseItemHandler exportFilterItems = new BaseItemHandler(9, new NetworkNodeListener(this));
private BaseItemHandler exportItems = new BaseItemHandler(9, new NetworkNodeListener(this));
private IItemHandler items = new ItemHandlerProxy(importItems, exportItems);
private IItemHandler items = new ProxyItemHandler(importItems, exportItems);
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ListenerNetworkNode(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK, ItemUpgrade.TYPE_CRAFTING*/);
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, new NetworkNodeListener(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK, ItemUpgrade.TYPE_CRAFTING*/);
private int compare = IComparer.COMPARE_NBT;

View File

@@ -3,9 +3,9 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSItems;
import com.raoulvdberge.refinedstorage.api.util.Action;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.validator.ItemValidatorBasic;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.util.StackUtils;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
@@ -19,7 +19,7 @@ import javax.annotation.Nullable;
public class NetworkNodeNetworkTransmitter extends NetworkNode {
public static final ResourceLocation ID = new ResourceLocation(RS.ID, "network_transmitter");
private ItemHandlerBase networkCard = new ItemHandlerBase(1, new ListenerNetworkNode(this), new ItemValidatorBasic(RSItems.NETWORK_CARD)) {
private BaseItemHandler networkCard = new BaseItemHandler(1, new NetworkNodeListener(this), new ItemValidatorBasic(RSItems.NETWORK_CARD)) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
@@ -72,7 +72,7 @@ public class NetworkNodeNetworkTransmitter extends NetworkNode {
return RS.INSTANCE.config.networkTransmitterUsage;
}
public ItemHandlerBase getNetworkCard() {
public BaseItemHandler getNetworkCard() {
return networkCard;
}

View File

@@ -7,9 +7,9 @@ import com.raoulvdberge.refinedstorage.api.network.security.ISecurityCard;
import com.raoulvdberge.refinedstorage.api.network.security.ISecurityCardContainer;
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
import com.raoulvdberge.refinedstorage.apiimpl.network.security.SecurityCard;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.validator.ItemValidatorBasic;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.util.StackUtils;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
@@ -30,7 +30,7 @@ public class NetworkNodeSecurityManager extends NetworkNode implements ISecurity
private List<ISecurityCard> cards = new ArrayList<>();
private ISecurityCard globalCard;
private ItemHandlerBase cardsInv = new ItemHandlerBase(9 * 2, new ListenerNetworkNode(this), new ItemValidatorBasic(RSItems.SECURITY_CARD)) {
private BaseItemHandler cardsInv = new BaseItemHandler(9 * 2, new NetworkNodeListener(this), new ItemValidatorBasic(RSItems.SECURITY_CARD)) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
@@ -44,7 +44,7 @@ public class NetworkNodeSecurityManager extends NetworkNode implements ISecurity
}
}
};
private ItemHandlerBase editCard = new ItemHandlerBase(1, new ListenerNetworkNode(this), new ItemValidatorBasic(RSItems.SECURITY_CARD));
private BaseItemHandler editCard = new BaseItemHandler(1, new NetworkNodeListener(this), new ItemValidatorBasic(RSItems.SECURITY_CARD));
public NetworkNodeSecurityManager(World world, BlockPos pos) {
super(world, pos);
@@ -134,11 +134,11 @@ public class NetworkNodeSecurityManager extends NetworkNode implements ISecurity
network.getSecurityManager().invalidate();
}
public ItemHandlerBase getCardsItems() {
public BaseItemHandler getCardsItems() {
return cardsInv;
}
public ItemHandlerBase getEditCard() {
public BaseItemHandler getEditCard() {
return editCard;
}

View File

@@ -5,8 +5,8 @@ import com.raoulvdberge.refinedstorage.api.network.security.Permission;
import com.raoulvdberge.refinedstorage.api.util.Action;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
import com.raoulvdberge.refinedstorage.tile.config.RedstoneMode;
import com.raoulvdberge.refinedstorage.util.StackUtils;
@@ -31,7 +31,7 @@ public class NetworkNodeStorageMonitor extends NetworkNode implements IComparabl
private static final String NBT_COMPARE = "Compare";
private ItemHandlerBase itemFilter = new ItemHandlerBase(1, new ListenerNetworkNode(this)) {
private BaseItemHandler itemFilter = new BaseItemHandler(1, new NetworkNodeListener(this)) {
@Override
public void onContentsChanged(int slot) {
super.onContentsChanged(slot);
@@ -202,7 +202,7 @@ public class NetworkNodeStorageMonitor extends NetworkNode implements IComparabl
return stored != null ? stored.getCount() : 0;
}
public ItemHandlerBase getItemFilters() {
public BaseItemHandler getItemFilters() {
return itemFilter;
}

View File

@@ -2,9 +2,9 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.network.IWirelessTransmitter;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerUpgrade;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.UpgradeItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.item.UpgradeItem;
import com.raoulvdberge.refinedstorage.util.StackUtils;
import net.minecraft.nbt.CompoundNBT;
@@ -19,7 +19,7 @@ import javax.annotation.Nullable;
public class NetworkNodeWirelessTransmitter extends NetworkNode implements IWirelessTransmitter {
public static final ResourceLocation ID = new ResourceLocation(RS.ID, "wireless_transmitter");
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ListenerNetworkNode(this)/* TODO , ItemUpgrade.TYPE_RANGE*/);
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, new NetworkNodeListener(this)/* TODO , ItemUpgrade.TYPE_RANGE*/);
public NetworkNodeWirelessTransmitter(World world, BlockPos pos) {
super(world, pos);
@@ -66,7 +66,7 @@ public class NetworkNodeWirelessTransmitter extends NetworkNode implements IWire
return world.getDimension().getType().getId();
}
public ItemHandlerBase getUpgrades() {
public BaseItemHandler getUpgrades() {
return upgrades;
}

View File

@@ -13,8 +13,8 @@ import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.FluidStorageCache;
import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.ItemStorageCache;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.tile.DiskDriveTile;
import com.raoulvdberge.refinedstorage.tile.config.*;
import com.raoulvdberge.refinedstorage.util.AccessTypeUtils;
@@ -69,7 +69,7 @@ public class DiskDriveNetworkNode extends NetworkNode implements IStorageProvide
private int ticksSinceBlockUpdateRequested;
private boolean blockUpdateRequested;
private ItemHandlerBase disks = new ItemHandlerBase(8, new ListenerNetworkNode(this), VALIDATOR_STORAGE_DISK) {
private BaseItemHandler disks = new BaseItemHandler(8, new NetworkNodeListener(this), VALIDATOR_STORAGE_DISK) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
@@ -95,8 +95,8 @@ public class DiskDriveNetworkNode extends NetworkNode implements IStorageProvide
}
};
private ItemHandlerBase itemFilters = new ItemHandlerBase(9, new ListenerNetworkNode(this));
private FluidInventory fluidFilters = new FluidInventory(9, new ListenerNetworkNode(this));
private BaseItemHandler itemFilters = new BaseItemHandler(9, new NetworkNodeListener(this));
private FluidInventory fluidFilters = new FluidInventory(9, new NetworkNodeListener(this));
private IStorageDisk[] itemDisks = new IStorageDisk[8];
private IStorageDisk[] fluidDisks = new IStorageDisk[8];

View File

@@ -10,10 +10,10 @@ import com.raoulvdberge.refinedstorage.api.util.StackListEntry;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.diskdrive.DiskDriveNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerProxy;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerUpgrade;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.ProxyItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.UpgradeItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
import com.raoulvdberge.refinedstorage.tile.config.IType;
@@ -58,7 +58,7 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
private IStorageDisk<ItemStack>[] itemDisks = new IStorageDisk[6];
private IStorageDisk<FluidStack>[] fluidDisks = new IStorageDisk[6];
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ListenerNetworkNode(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK*/) {
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, new NetworkNodeListener(this)/* TODO, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK*/) {
@Override
public int getItemInteractCount() {
int count = super.getItemInteractCount();
@@ -71,7 +71,7 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
}
};
private ItemHandlerBase inputDisks = new ItemHandlerBase(3, new ListenerNetworkNode(this), DiskDriveNetworkNode.VALIDATOR_STORAGE_DISK) {
private BaseItemHandler inputDisks = new BaseItemHandler(3, new NetworkNodeListener(this), DiskDriveNetworkNode.VALIDATOR_STORAGE_DISK) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
@@ -92,7 +92,7 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
}
};
private ItemHandlerBase outputDisks = new ItemHandlerBase(3, new ListenerNetworkNode(this), DiskDriveNetworkNode.VALIDATOR_STORAGE_DISK) {
private BaseItemHandler outputDisks = new BaseItemHandler(3, new NetworkNodeListener(this), DiskDriveNetworkNode.VALIDATOR_STORAGE_DISK) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
@@ -113,14 +113,14 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
}
};
private ItemHandlerProxy disks = new ItemHandlerProxy(inputDisks, outputDisks);
private ProxyItemHandler disks = new ProxyItemHandler(inputDisks, outputDisks);
public NetworkNodeDiskManipulator(World world, BlockPos pos) {
super(world, pos);
}
private ItemHandlerBase itemFilters = new ItemHandlerBase(9, new ListenerNetworkNode(this));
private FluidInventory fluidFilters = new FluidInventory(9, new ListenerNetworkNode(this));
private BaseItemHandler itemFilters = new BaseItemHandler(9, new NetworkNodeListener(this));
private FluidInventory fluidFilters = new FluidInventory(9, new NetworkNodeListener(this));
@Override
public int getEnergyUsage() {
@@ -444,7 +444,7 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
return outputDisks;
}
public ItemHandlerProxy getDisks() {
public ProxyItemHandler getDisks() {
return disks;
}

View File

@@ -16,7 +16,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.FluidStorageCache;
import com.raoulvdberge.refinedstorage.block.BlockFluidStorage;
import com.raoulvdberge.refinedstorage.block.enums.FluidStorageType;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.tile.TileFluidStorage;
import com.raoulvdberge.refinedstorage.tile.config.IAccessType;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
@@ -29,6 +29,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.World;
import net.minecraft.world.server.ServerWorld;
import net.minecraftforge.fluids.FluidStack;
@@ -45,7 +47,7 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IStorageScre
private static final String NBT_FILTERS = "Filters";
public static final String NBT_ID = "Id";
private FluidInventory filters = new FluidInventory(9, new ListenerNetworkNode(this));
private FluidInventory filters = new FluidInventory(9, new NetworkNodeListener(this));
private FluidStorageType type;
@@ -215,8 +217,8 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IStorageScre
}
@Override
public String getGuiTitle() {
return "block.refinedstorage:fluid_storage." + getType().getId() + ".name";
public ITextComponent getTitle() {
return new TranslationTextComponent("block.refinedstorage:fluid_storage." + getType().getId() + ".name");
}
@Override
@@ -236,7 +238,7 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IStorageScre
@Override
public TileDataParameter<Integer, ?> getWhitelistBlacklistParameter() {
return TileFluidStorage.MODE;
return TileFluidStorage.WHITELIST_BLACKLIST;
}
@Override

View File

@@ -16,10 +16,10 @@ import javax.annotation.Nullable;
import java.util.Collection;
public class StorageDiskItemStorageWrapper implements IStorageDisk<ItemStack> {
private NetworkNodeStorage storage;
private StorageNetworkNode storage;
private IStorageDisk<ItemStack> parent;
public StorageDiskItemStorageWrapper(NetworkNodeStorage storage, IStorageDisk<ItemStack> parent) {
public StorageDiskItemStorageWrapper(StorageNetworkNode storage, IStorageDisk<ItemStack> parent) {
this.storage = storage;
this.parent = parent;
this.setSettings(null, storage);

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.apiimpl.network.node.storage;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSBlocks;
import com.raoulvdberge.refinedstorage.api.network.INetwork;
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
import com.raoulvdberge.refinedstorage.api.storage.IStorage;
@@ -12,12 +11,11 @@ import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.IStorageScreen;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.storage.ItemStorageType;
import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.ItemStorageCache;
import com.raoulvdberge.refinedstorage.block.BlockStorage;
import com.raoulvdberge.refinedstorage.block.enums.ItemStorageType;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
import com.raoulvdberge.refinedstorage.tile.TileStorage;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.NetworkNodeListener;
import com.raoulvdberge.refinedstorage.tile.StorageTile;
import com.raoulvdberge.refinedstorage.tile.config.IAccessType;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
import com.raoulvdberge.refinedstorage.tile.config.IPrioritizable;
@@ -25,11 +23,13 @@ import com.raoulvdberge.refinedstorage.tile.config.IWhitelistBlacklist;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import com.raoulvdberge.refinedstorage.util.AccessTypeUtils;
import com.raoulvdberge.refinedstorage.util.StackUtils;
import net.minecraft.block.BlockState;
import com.raoulvdberge.refinedstorage.util.StorageBlockUtils;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.World;
import net.minecraft.world.server.ServerWorld;
import net.minecraftforge.fluids.FluidStack;
@@ -37,17 +37,21 @@ import net.minecraftforge.fluids.FluidStack;
import java.util.List;
import java.util.UUID;
public class NetworkNodeStorage extends NetworkNode implements IStorageScreen, IStorageProvider, IComparable, IWhitelistBlacklist, IPrioritizable, IAccessType, IStorageDiskContainerContext {
public static final ResourceLocation ID = new ResourceLocation(RS.ID, "storage");
public class StorageNetworkNode extends NetworkNode implements IStorageScreen, IStorageProvider, IComparable, IWhitelistBlacklist, IPrioritizable, IAccessType, IStorageDiskContainerContext {
public static final ResourceLocation ONE_K_STORAGE_BLOCK_ID = new ResourceLocation(RS.ID, "1k_storage_block");
public static final ResourceLocation FOUR_K_STORAGE_BLOCK_ID = new ResourceLocation(RS.ID, "4k_storage_block");
public static final ResourceLocation SIXTEEN_K_STORAGE_BLOCK_ID = new ResourceLocation(RS.ID, "16k_storage_block");
public static final ResourceLocation SIXTY_FOUR_K_STORAGE_BLOCK_ID = new ResourceLocation(RS.ID, "64k_storage_block");
public static final ResourceLocation CREATIVE_STORAGE_BLOCK_ID = new ResourceLocation(RS.ID, "creative_storage_block");
private static final String NBT_PRIORITY = "Priority";
private static final String NBT_COMPARE = "Compare";
private static final String NBT_MODE = "Mode";
public static final String NBT_ID = "Id";
private ItemHandlerBase filters = new ItemHandlerBase(9, new ListenerNetworkNode(this));
private BaseItemHandler filters = new BaseItemHandler(9, new NetworkNodeListener(this));
private ItemStorageType type;
private final ItemStorageType type;
private AccessType accessType = AccessType.INSERT_EXTRACT;
private int priority = 0;
@@ -57,13 +61,15 @@ public class NetworkNodeStorage extends NetworkNode implements IStorageScreen, I
private UUID storageId = UUID.randomUUID();
private IStorageDisk<ItemStack> storage;
public NetworkNodeStorage(World world, BlockPos pos) {
public StorageNetworkNode(World world, BlockPos pos, ItemStorageType type) {
super(world, pos);
this.type = type;
}
@Override
public int getEnergyUsage() {
return RS.INSTANCE.config.storageUsage;
return 0;
}
@Override
@@ -89,7 +95,7 @@ public class NetworkNodeStorage extends NetworkNode implements IStorageScreen, I
@Override
public ResourceLocation getId() {
return ID;
return StorageBlockUtils.getNetworkNodeId(type);
}
@Override
@@ -116,7 +122,7 @@ public class NetworkNodeStorage extends NetworkNode implements IStorageScreen, I
IStorageDisk disk = API.instance().getStorageDiskManager((ServerWorld) world).get(storageId);
if (disk == null) {
API.instance().getStorageDiskManager((ServerWorld) world).set(storageId, disk = API.instance().createDefaultItemDisk((ServerWorld) world, getType().getCapacity()));
API.instance().getStorageDiskManager((ServerWorld) world).set(storageId, disk = API.instance().createDefaultItemDisk((ServerWorld) world, type.getCapacity()));
API.instance().getStorageDiskManager((ServerWorld) world).markForSaving();
}
@@ -173,18 +179,6 @@ public class NetworkNodeStorage extends NetworkNode implements IStorageScreen, I
accessType = AccessTypeUtils.readAccessType(tag);
}
public ItemStorageType getType() {
if (type == null && world != null) {
BlockState state = world.getBlockState(pos);
if (state.getBlock() == RSBlocks.STORAGE) {
type = (ItemStorageType) state.get(BlockStorage.TYPE);
}
}
return type == null ? ItemStorageType.TYPE_1K : type;
}
@Override
public int getCompare() {
return compare;
@@ -209,13 +203,13 @@ public class NetworkNodeStorage extends NetworkNode implements IStorageScreen, I
markDirty();
}
public ItemHandlerBase getFilters() {
public BaseItemHandler getFilters() {
return filters;
}
@Override
public String getGuiTitle() {
return "block.refinedstorage:storage." + getType().getId() + ".name";
public ITextComponent getTitle() {
return new TranslationTextComponent("block.refinedstorage." + type.getName() + "_storage_block");
}
@Override
@@ -225,37 +219,37 @@ public class NetworkNodeStorage extends NetworkNode implements IStorageScreen, I
@Override
public TileDataParameter<Integer, ?> getRedstoneModeParameter() {
return TileStorage.REDSTONE_MODE;
return StorageTile.REDSTONE_MODE;
}
@Override
public TileDataParameter<Integer, ?> getCompareParameter() {
return TileStorage.COMPARE;
return StorageTile.COMPARE;
}
@Override
public TileDataParameter<Integer, ?> getWhitelistBlacklistParameter() {
return TileStorage.MODE;
return StorageTile.WHITELIST_BLACKLIST;
}
@Override
public TileDataParameter<Integer, ?> getPriorityParameter() {
return TileStorage.PRIORITY;
return StorageTile.PRIORITY;
}
@Override
public TileDataParameter<AccessType, ?> getAccessTypeParameter() {
return TileStorage.ACCESS_TYPE;
return StorageTile.ACCESS_TYPE;
}
@Override
public long getStored() {
return TileStorage.STORED.getValue();
return StorageTile.STORED.getValue();
}
@Override
public long getCapacity() {
return getType().getCapacity();
return type.getCapacity();
}
@Override

View File

@@ -16,6 +16,7 @@ public abstract class BaseBlock extends Block {
}
@Override
@SuppressWarnings("deprecation")
public BlockState rotate(BlockState state, Rotation rot) {
BlockDirection dir = getDirection();
if (dir != BlockDirection.NONE) {

View File

@@ -100,6 +100,7 @@ public abstract class BlockBase extends Block {
}
@Override
@SuppressWarnings("deprecation")
public void onReplaced(BlockState state, World worldIn, BlockPos pos, BlockState newState, boolean isMoving) {
if (state.getBlock() != newState.getBlock()) {
worldIn.updateComparatorOutputLevel(pos, this);

View File

@@ -1,87 +0,0 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.block.enums.ItemStorageType;
import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder;
import com.raoulvdberge.refinedstorage.tile.TileStorage;
import net.minecraft.state.EnumProperty;
public class BlockStorage extends BlockNode {
public static final EnumProperty TYPE = EnumProperty.create("type", ItemStorageType.class);
public BlockStorage() {
super(BlockInfoBuilder.forId("storage").tileEntity(TileStorage::new).hardness(5.8F).create());
}
/*
@Override
@OnlyIn(Dist.CLIENT)
public void registerModels(IModelRegistration modelRegistration) {
modelRegistration.setModel(this, ItemStorageType.TYPE_1K.getId(), new ModelResourceLocation(info.getId(), "type=1k"));
modelRegistration.setModel(this, ItemStorageType.TYPE_4K.getId(), new ModelResourceLocation(info.getId(), "type=4k"));
modelRegistration.setModel(this, ItemStorageType.TYPE_16K.getId(), new ModelResourceLocation(info.getId(), "type=16k"));
modelRegistration.setModel(this, ItemStorageType.TYPE_64K.getId(), new ModelResourceLocation(info.getId(), "type=64k"));
modelRegistration.setModel(this, ItemStorageType.TYPE_CREATIVE.getId(), new ModelResourceLocation(info.getId(), "type=creative"));
}
@Override
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> items) {
for (int i = 0; i <= 4; ++i) {
items.add(new ItemStack(this, 1, i));
}
}
@Override
protected BlockStateContainer createBlockState() {
return createBlockStateBuilder()
.add(TYPE)
.build();
}
@Override
public BlockState getStateFromMeta(int meta) {
return getDefaultState().withProperty(TYPE, ItemStorageType.getById(meta));
}
@Override
public int getMetaFromState(BlockState state) {
return ((ItemStorageType) state.getValue(TYPE)).getId();
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, BlockState state, PlayerEntity player, EnumHand hand, Direction side, float hitX, float hitY, float hitZ) {
return openNetworkGui(RSGui.STORAGE, player, world, pos, side);
}
@Override
public Item createItem() {
return new ItemBlockStorage(this);
}
@Override
public void onBlockPlacedBy(World world, BlockPos pos, BlockState state, EntityLivingBase player, ItemStack stack) {
if (!world.isRemote) {
NetworkNodeStorage storage = ((TileStorage) world.getTileEntity(pos)).getNode();
if (stack.hasTagCompound() && stack.getTagCompound().hasUniqueId(NetworkNodeStorage.NBT_ID)) {
storage.setStorageId(stack.getTagCompound().getUniqueId(NetworkNodeStorage.NBT_ID));
}
storage.loadStorage();
}
// Call this after loading the storage, so the network discovery can use the loaded storage.
super.onBlockPlacedBy(world, pos, state, player, stack);
}
@Override
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, BlockState state, int fortune) {
TileStorage storage = (TileStorage) world.getTileEntity(pos);
ItemStack stack = new ItemStack(this, 1, getMetaFromState(state));
stack.setTagCompound(new CompoundNBT());
stack.getTagCompound().setUniqueId(NetworkNodeStorage.NBT_ID, storage.getNode().getStorageId());
drops.add(stack);
}*/
}

View File

@@ -60,25 +60,11 @@ public class GridBlock extends NodeBlock {
@Override
@SuppressWarnings("deprecation")
public boolean onBlockActivated(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) {
if (!worldIn.isRemote) {
return NetworkUtils.attemptModify(worldIn, pos, hit.getFace(), player, () -> API.instance().getGridManager().openGrid(GridBlockGridFactory.ID, (ServerPlayerEntity) player, pos));
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) {
if (!world.isRemote) {
return NetworkUtils.attemptModify(world, pos, hit.getFace(), player, () -> API.instance().getGridManager().openGrid(GridBlockGridFactory.ID, (ServerPlayerEntity) player, pos));
}
return true;
}
/*
@Override
@OnlyIn(Dist.CLIENT)
public void registerModels(IModelRegistration modelRegistration) {
modelRegistration.setModel(this, GridType.PATTERN.getId(), new ModelResourceLocation(info.getId(), "connected=false,direction=north,type=pattern"));
modelRegistration.setModel(this, GridType.FLUID.getId(), new ModelResourceLocation(info.getId(), "connected=false,direction=north,type=fluid"));
modelRegistration.addBakedModelOverride(info.getId(), base -> new BakedModelFullbright(
base,
RS.ID + ":blocks/grid/cutouts/pattern_front_connected",
RS.ID + ":blocks/grid/cutouts/fluid_front_connected"
));
}*/
}

View File

@@ -49,6 +49,7 @@ public abstract class NodeBlock extends BaseBlock {
}
@Override
@SuppressWarnings("deprecation")
public void onReplaced(BlockState state, World worldIn, BlockPos pos, BlockState newState, boolean isMoving) {
if (state.getBlock() != newState.getBlock()) {
TileEntity tile = worldIn.getTileEntity(pos);

View File

@@ -0,0 +1,105 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.storage.StorageNetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.storage.ItemStorageType;
import com.raoulvdberge.refinedstorage.container.StorageContainer;
import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerProvider;
import com.raoulvdberge.refinedstorage.tile.StorageTile;
import com.raoulvdberge.refinedstorage.util.BlockUtils;
import com.raoulvdberge.refinedstorage.util.NetworkUtils;
import net.minecraft.block.BlockState;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.InventoryHelper;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Hand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.World;
import net.minecraftforge.fml.network.NetworkHooks;
import javax.annotation.Nullable;
public class StorageBlock extends NodeBlock {
private final ItemStorageType type;
public StorageBlock(ItemStorageType type) {
super(BlockUtils.DEFAULT_ROCK_PROPERTIES);
this.type = type;
this.setRegistryName(RS.ID, type.getName() + "_storage_block");
}
public ItemStorageType getType() {
return type;
}
@Override
public void onBlockPlacedBy(World world, BlockPos pos, BlockState state, @Nullable LivingEntity entity, ItemStack stack) {
if (!world.isRemote) {
StorageNetworkNode storage = ((StorageTile) world.getTileEntity(pos)).getNode();
if (stack.hasTag() && stack.getTag().hasUniqueId(StorageNetworkNode.NBT_ID)) {
storage.setStorageId(stack.getTag().getUniqueId(StorageNetworkNode.NBT_ID));
}
storage.loadStorage();
}
// Call this after loading the storage, so the network discovery can use the loaded storage.
super.onBlockPlacedBy(world, pos, state, entity, stack);
}
// TODO Improve this dropping mechanism
@Override
public void onReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean isMoving) {
if (state.getBlock() != newState.getBlock()) {
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof StorageTile) {
@SuppressWarnings("deprecation")
ItemStack drop = new ItemStack(Item.getItemFromBlock(this));
drop.setTag(new CompoundNBT());
drop.getTag().putUniqueId(StorageNetworkNode.NBT_ID, ((StorageTile) tile).getNode().getStorageId());
InventoryHelper.dropItems(world, pos, NonNullList.from(ItemStack.EMPTY, drop));
}
super.onReplaced(state, world, pos, newState, isMoving);
}
}
@Override
public boolean hasTileEntity(BlockState state) {
return true;
}
@Nullable
@Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return new StorageTile(type);
}
@Override
@SuppressWarnings("deprecation")
public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) {
if (!world.isRemote) {
return NetworkUtils.attemptModify(world, pos, hit.getFace(), player, () -> NetworkHooks.openGui((ServerPlayerEntity) player, new PositionalTileContainerProvider<StorageTile>(
((StorageTile) world.getTileEntity(pos)).getNode().getTitle(),
(tile, windowId, inventory, p) -> new StorageContainer(tile, player, windowId),
pos
), pos));
}
return true;
}
}

View File

@@ -1,49 +0,0 @@
package com.raoulvdberge.refinedstorage.block.enums;
import net.minecraft.util.IStringSerializable;
public enum ItemStorageType implements IStringSerializable {
TYPE_1K(0, 1_000, "1k"),
TYPE_4K(1, 4_000, "4k"),
TYPE_16K(2, 16_000, "16k"),
TYPE_64K(3, 64_000, "64k"),
TYPE_CREATIVE(4, -1, "creative");
private int id;
private int capacity;
private String name;
ItemStorageType(int id, int capacity, String name) {
this.id = id;
this.capacity = capacity;
this.name = name;
}
@Override
public String getName() {
return name;
}
public int getId() {
return id;
}
public int getCapacity() {
return capacity;
}
@Override
public String toString() {
return name;
}
public static ItemStorageType getById(int id) {
for (ItemStorageType type : ItemStorageType.values()) {
if (type.getId() == id) {
return type;
}
}
return TYPE_CREATIVE;
}
}

View File

@@ -5,7 +5,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafter;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafterManager;
import com.raoulvdberge.refinedstorage.container.slot.CrafterManagerSlot;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.screen.IScreenInfoProvider;
import com.raoulvdberge.refinedstorage.screen.grid.filtering.GridFilterParser;
import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack;
@@ -134,7 +134,7 @@ public class CrafterManagerContainer extends BaseContainer {
if (newContainerData == null) { // We're only resizing, get the previous inventory...
dummy = dummyInventories.get(category.getKey());
} else {
dummyInventories.put(category.getKey(), dummy = new ItemHandlerBase(category.getValue()) {
dummyInventories.put(category.getKey(), dummy = new BaseItemHandler(category.getValue()) {
@Override
public int getSlotLimit(int slot) {
return 1;

View File

@@ -6,8 +6,8 @@ import com.raoulvdberge.refinedstorage.container.slot.filter.FluidFilterSlot;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventoryFilter;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventoryFilterIcon;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerFilterIcon;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerFilterItems;
import com.raoulvdberge.refinedstorage.inventory.item.FilterIconItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.FilterItemsItemHandler;
import com.raoulvdberge.refinedstorage.item.FilterItem;
import com.raoulvdberge.refinedstorage.tile.config.IType;
import net.minecraft.entity.player.PlayerEntity;
@@ -24,7 +24,7 @@ public class FilterContainer extends BaseContainer {
int y = 20;
int x = 8;
ItemHandlerFilterItems filter = new ItemHandlerFilterItems(stack);
FilterItemsItemHandler filter = new FilterItemsItemHandler(stack);
FluidInventory fluidFilter = new FluidInventoryFilter(stack);
for (int i = 0; i < 27; ++i) {
@@ -39,7 +39,7 @@ public class FilterContainer extends BaseContainer {
}
}
addSlot(new FilterSlot(new ItemHandlerFilterIcon(stack), 0, 8, 117).setEnableHandler(() -> FilterItem.getType(stack) == IType.ITEMS));
addSlot(new FilterSlot(new FilterIconItemHandler(stack), 0, 8, 117).setEnableHandler(() -> FilterItem.getType(stack) == IType.ITEMS));
addSlot(new FluidFilterSlot(new FluidInventoryFilterIcon(stack), 0, 8, 117).setEnableHandler(() -> FilterItem.getType(stack) == IType.FLUIDS));
addPlayerInventory(8, 149);

View File

@@ -1,12 +1,13 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.FilterSlot;
import com.raoulvdberge.refinedstorage.tile.TileStorage;
import com.raoulvdberge.refinedstorage.tile.StorageTile;
import net.minecraft.entity.player.PlayerEntity;
public class StorageContainer extends BaseContainer {
public StorageContainer(TileStorage storage, PlayerEntity player, int windowId) {
super(/*RSContainers.STORAGE*/null, storage, player, windowId);
public StorageContainer(StorageTile storage, PlayerEntity player, int windowId) {
super(RSContainers.STORAGE_BLOCK, storage, player, windowId);
for (int i = 0; i < 9; ++i) {
addSlot(new FilterSlot(storage.getNode().getFilters(), i, 8 + (18 * i), 20));

View File

@@ -6,11 +6,11 @@ import net.minecraftforge.fluids.capability.templates.FluidTank;
import javax.annotation.Nonnull;
public class FluidHandlerProxy implements IFluidHandler {
public class ProxyFluidHandler implements IFluidHandler {
private FluidTank insertHandler;
private FluidTank extractHandler;
public FluidHandlerProxy(FluidTank insertHandler, FluidTank extractHandler) {
public ProxyFluidHandler(FluidTank insertHandler, FluidTank extractHandler) {
this.insertHandler = insertHandler;
this.extractHandler = extractHandler;
}

View File

@@ -9,7 +9,7 @@ import javax.annotation.Nullable;
import java.util.function.Consumer;
import java.util.function.Predicate;
public class ItemHandlerBase extends ItemStackHandler {
public class BaseItemHandler extends ItemStackHandler {
@Nullable
private Consumer<Integer> listener;
@@ -19,14 +19,14 @@ public class ItemHandlerBase extends ItemStackHandler {
private boolean reading;
public ItemHandlerBase(int size, @Nullable Consumer<Integer> listener, Predicate<ItemStack>... validators) {
public BaseItemHandler(int size, @Nullable Consumer<Integer> listener, Predicate<ItemStack>... validators) {
super(size);
this.listener = listener;
this.validators = validators;
}
public ItemHandlerBase(int size, Predicate<ItemStack>... validators) {
public BaseItemHandler(int size, Predicate<ItemStack>... validators) {
this(size, null, validators);
}

View File

@@ -4,10 +4,10 @@ import com.raoulvdberge.refinedstorage.item.FilterItem;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.ItemStackHandler;
public class ItemHandlerFilterIcon extends ItemStackHandler {
public class FilterIconItemHandler extends ItemStackHandler {
private ItemStack stack;
public ItemHandlerFilterIcon(ItemStack stack) {
public FilterIconItemHandler(ItemStack stack) {
super(1);
this.stack = stack;

View File

@@ -21,11 +21,11 @@ import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
public class ItemHandlerFilter extends ItemHandlerBase {
public class FilterItemHandler extends BaseItemHandler {
private List<IFilter> filters;
private List<IGridTab> tabs;
public ItemHandlerFilter(List<IFilter> filters, List<IGridTab> tabs, @Nullable Consumer<Integer> listener) {
public FilterItemHandler(List<IFilter> filters, List<IGridTab> tabs, @Nullable Consumer<Integer> listener) {
super(4, listener, new ItemValidatorBasic(RSItems.FILTER));
this.filters = filters;
@@ -59,7 +59,7 @@ public class ItemHandlerFilter extends ItemHandlerBase {
List<IFilter> filters = new ArrayList<>();
ItemHandlerFilterItems items = new ItemHandlerFilterItems(filter);
FilterItemsItemHandler items = new FilterItemsItemHandler(filter);
for (ItemStack stack : items.getFilteredItems()) {
if (stack.getItem() == RSItems.FILTER) {

View File

@@ -6,10 +6,10 @@ import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.NonNullList;
import net.minecraftforge.items.ItemStackHandler;
public class ItemHandlerFilterItems extends ItemStackHandler {
public class FilterItemsItemHandler extends ItemStackHandler {
private ItemStack stack;
public ItemHandlerFilterItems(ItemStack stack) {
public FilterItemsItemHandler(ItemStack stack) {
super(27);
this.stack = stack;

View File

@@ -5,11 +5,11 @@ import net.minecraftforge.items.IItemHandler;
import javax.annotation.Nonnull;
public class ItemHandlerProxy implements IItemHandler {
public class ProxyItemHandler implements IItemHandler {
private IItemHandler insertHandler;
private IItemHandler extractHandler;
public ItemHandlerProxy(IItemHandler insertHandler, IItemHandler extractHandler) {
public ProxyItemHandler(IItemHandler insertHandler, IItemHandler extractHandler) {
this.insertHandler = insertHandler;
this.extractHandler = extractHandler;
}

View File

@@ -8,8 +8,8 @@ import net.minecraft.item.ItemStack;
import javax.annotation.Nullable;
import java.util.function.Consumer;
public class ItemHandlerUpgrade extends ItemHandlerBase {
public ItemHandlerUpgrade(int size, @Nullable Consumer<Integer> listener, UpgradeItem.Type... supportedUpgrades) {
public class UpgradeItemHandler extends BaseItemHandler {
public UpgradeItemHandler(int size, @Nullable Consumer<Integer> listener, UpgradeItem.Type... supportedUpgrades) {
super(size, listener, new ItemValidatorBasic[supportedUpgrades.length]);
for (int i = 0; i < supportedUpgrades.length; ++i) {

View File

@@ -4,10 +4,10 @@ import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
import java.util.function.Consumer;
public class ListenerNetworkNode implements Consumer<Integer> {
public class NetworkNodeListener implements Consumer<Integer> {
private INetworkNode node;
public ListenerNetworkNode(INetworkNode node) {
public NetworkNodeListener(INetworkNode node) {
this.node = node;
}

View File

@@ -4,10 +4,10 @@ import net.minecraft.tileentity.TileEntity;
import java.util.function.Consumer;
public class ListenerTile implements Consumer<Integer> {
public class TileListener implements Consumer<Integer> {
private TileEntity tile;
public ListenerTile(TileEntity tile) {
public TileListener(TileEntity tile) {
this.tile = tile;
}

View File

@@ -6,7 +6,7 @@ import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.api.util.IFilter;
import com.raoulvdberge.refinedstorage.container.FilterContainer;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventoryFilter;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerFilterItems;
import com.raoulvdberge.refinedstorage.inventory.item.FilterItemsItemHandler;
import com.raoulvdberge.refinedstorage.tile.config.IType;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.util.ITooltipFlag;
@@ -85,7 +85,7 @@ public class FilterItem extends Item {
tooltip.add(new TranslationTextComponent("gui.refinedstorage.filter.mod_filter").setStyle(new Style().setColor(TextFormatting.BLUE)));
}
ItemHandlerFilterItems items = new ItemHandlerFilterItems(stack);
FilterItemsItemHandler items = new FilterItemsItemHandler(stack);
RenderUtils.addCombinedItemsToTooltip(tooltip, false, items.getFilteredItems());

View File

@@ -1,94 +0,0 @@
package com.raoulvdberge.refinedstorage.item.blockitem;
import com.raoulvdberge.refinedstorage.block.BlockStorage;
public class ItemBlockStorage extends ItemBlockBase {
public ItemBlockStorage(BlockStorage storage) {
super(storage);
}
/* TODO
@Override
public void addInformation(ItemStack stack, @Nullable World world, List<String> tooltip, ITooltipFlag flag) {
super.addInformation(stack, world, tooltip, flag);
if (isValid(stack)) {
UUID id = getId(stack);
API.instance().getStorageDiskSync().sendRequest(id);
IStorageDiskSyncData data = API.instance().getStorageDiskSync().getData(id);
if (data != null) {
if (data.getCapacity() == -1) {
tooltip.add(I18n.format("misc.refinedstorage.storage.stored", API.instance().getQuantityFormatter().format(data.getStored())));
} else {
tooltip.add(I18n.format("misc.refinedstorage.storage.stored_capacity", API.instance().getQuantityFormatter().format(data.getStored()), API.instance().getQuantityFormatter().format(data.getCapacity())));
}
}
if (flag.isAdvanced()) {
tooltip.add(id.toString());
}
}
}
@Override
public ActionResult<ItemStack> onItemRightClick(World world, PlayerEntity player, EnumHand hand) {
ItemStack storageStack = player.getHeldItem(hand);
if (!world.isRemote && player.isSneaking() && storageStack.getMetadata() != ItemStorageDisk.TYPE_CREATIVE) {
UUID diskId = null;
IStorageDisk disk = null;
if (isValid(storageStack)) {
diskId = getId(storageStack);
disk = API.instance().getStorageDiskManager(world).get(diskId);
}
// Newly created storages won't have a tag yet, so allow invalid disks as well.
if (disk == null || disk.getStored() == 0) {
ItemStack storagePart = new ItemStack(RSItems.STORAGE_PART, storageStack.getCount(), storageStack.getMetadata());
if (!player.inventory.addItemStackToInventory(storagePart.copy())) {
InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), storagePart);
}
ItemStack processor = new ItemStack(RSItems.PROCESSOR, storageStack.getCount(), ItemProcessor.TYPE_BASIC);
if (!player.inventory.addItemStackToInventory(processor.copy())) {
InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), processor);
}
if (disk != null) {
API.instance().getStorageDiskManager(world).remove(diskId);
API.instance().getStorageDiskManager(world).markForSaving();
}
return new ActionResult<>(EnumActionResult.SUCCESS, new ItemStack(RSBlocks.MACHINE_CASING));
}
}
return new ActionResult<>(EnumActionResult.PASS, storageStack);
}
@Override
public int getEntityLifespan(ItemStack stack, World world) {
return Integer.MAX_VALUE;
}
private UUID getId(ItemStack disk) {
return disk.getTagCompound().getUniqueId(NetworkNodeStorage.NBT_ID);
}
private boolean isValid(ItemStack disk) {
return disk.hasTagCompound() && disk.getTagCompound().hasUniqueId(NetworkNodeStorage.NBT_ID);
}
@Override
public void onUpdate(ItemStack stack, World world, Entity entity, int itemSlot, boolean isSelected) {
super.onUpdate(stack, world, entity, itemSlot, isSelected);
if (!world.isRemote) {
OneSixMigrationHelper.migrateItemStorageBlockItem(world, stack);
}
}*/
}

View File

@@ -0,0 +1,115 @@
package com.raoulvdberge.refinedstorage.item.blockitem;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSBlocks;
import com.raoulvdberge.refinedstorage.RSItems;
import com.raoulvdberge.refinedstorage.api.storage.disk.IStorageDisk;
import com.raoulvdberge.refinedstorage.api.storage.disk.StorageDiskSyncData;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.storage.StorageNetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.storage.ItemStorageType;
import com.raoulvdberge.refinedstorage.block.StorageBlock;
import com.raoulvdberge.refinedstorage.item.StoragePartItem;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.InventoryHelper;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.ActionResultType;
import net.minecraft.util.Hand;
import net.minecraft.util.text.*;
import net.minecraft.world.World;
import net.minecraft.world.server.ServerWorld;
import javax.annotation.Nullable;
import java.util.List;
import java.util.UUID;
public class StorageBlockItem extends BaseBlockItem {
private final ItemStorageType type;
public StorageBlockItem(StorageBlock block) {
super(block, new Item.Properties().group(RS.MAIN_GROUP));
this.type = block.getType();
this.setRegistryName(block.getRegistryName());
}
@Override
public void addInformation(ItemStack stack, @Nullable World world, List<ITextComponent> tooltip, ITooltipFlag flag) {
super.addInformation(stack, world, tooltip, flag);
if (isValid(stack)) {
UUID id = getId(stack);
API.instance().getStorageDiskSync().sendRequest(id);
StorageDiskSyncData data = API.instance().getStorageDiskSync().getData(id);
if (data != null) {
if (data.getCapacity() == -1) {
tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored", API.instance().getQuantityFormatter().format(data.getStored())).setStyle(new Style().setColor(TextFormatting.GRAY)));
} else {
tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored_capacity", API.instance().getQuantityFormatter().format(data.getStored()), API.instance().getQuantityFormatter().format(data.getCapacity())).setStyle(new Style().setColor(TextFormatting.GRAY)));
}
}
if (flag.isAdvanced()) {
tooltip.add(new StringTextComponent(id.toString()).setStyle(new Style().setColor(TextFormatting.GRAY)));
}
}
}
@Override
public ActionResult<ItemStack> onItemRightClick(World world, PlayerEntity player, Hand hand) {
ItemStack storageStack = player.getHeldItem(hand);
if (!world.isRemote && player.isSneaking() && type != ItemStorageType.CREATIVE) {
UUID diskId = null;
IStorageDisk disk = null;
if (isValid(storageStack)) {
diskId = getId(storageStack);
disk = API.instance().getStorageDiskManager((ServerWorld) world).get(diskId);
}
// Newly created storages won't have a tag yet, so allow invalid disks as well.
if (disk == null || disk.getStored() == 0) {
ItemStack storagePart = new ItemStack(StoragePartItem.getByType(type));
if (!player.inventory.addItemStackToInventory(storagePart.copy())) {
InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), storagePart);
}
ItemStack processor = new ItemStack(RSItems.BASIC_PROCESSOR);
if (!player.inventory.addItemStackToInventory(processor.copy())) {
InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), processor);
}
if (disk != null) {
API.instance().getStorageDiskManager((ServerWorld) world).remove(diskId);
API.instance().getStorageDiskManager((ServerWorld) world).markForSaving();
}
return new ActionResult<>(ActionResultType.SUCCESS, new ItemStack(RSBlocks.MACHINE_CASING));
}
}
return new ActionResult<>(ActionResultType.PASS, storageStack);
}
@Override
public int getEntityLifespan(ItemStack stack, World world) {
return Integer.MAX_VALUE;
}
private UUID getId(ItemStack disk) {
return disk.getTag().getUniqueId(StorageNetworkNode.NBT_ID);
}
private boolean isValid(ItemStack disk) {
return disk.hasTag() && disk.getTag().hasUniqueId(StorageNetworkNode.NBT_ID);
}
}

View File

@@ -68,6 +68,7 @@ public class DiskDriveBakedModel extends DelegateBakedModel {
private LoadingCache<CacheKey, List<BakedQuad>> cache = CacheBuilder.newBuilder().build(new CacheLoader<CacheKey, List<BakedQuad>>() {
@Override
@SuppressWarnings("deprecation")
public List<BakedQuad> load(CacheKey key) {
Direction facing = key.state.get(RSBlocks.DISK_DRIVE.getDirection().getProperty());

View File

@@ -67,6 +67,7 @@ public class TRSRBakedModel implements IBakedModel {
@Nonnull
@Override
@SuppressWarnings("deprecation")
public List<BakedQuad> getQuads(BlockState state, Direction side, Random rand) {
// transform quads obtained from parent
@@ -108,12 +109,14 @@ public class TRSRBakedModel implements IBakedModel {
@Nonnull
@Override
@SuppressWarnings("deprecation")
public TextureAtlasSprite getParticleTexture() {
return original.getParticleTexture();
}
@Nonnull
@Override
@SuppressWarnings("deprecation")
public ItemCameraTransforms getItemCameraTransforms() {
return original.getItemCameraTransforms();
}

View File

@@ -4,7 +4,7 @@ import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.ControllerContainer;
import com.raoulvdberge.refinedstorage.screen.widget.ScrollbarWidget;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.tile.ClientNode;
import com.raoulvdberge.refinedstorage.tile.ControllerTile;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
@@ -33,7 +33,7 @@ public class ControllerScreen extends BaseScreen<ControllerContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, ControllerTile.REDSTONE_MODE));
addSideButton(new RedstoneModeSideButton(this, ControllerTile.REDSTONE_MODE));
}
@Override

View File

@@ -3,10 +3,10 @@ package com.raoulvdberge.refinedstorage.screen;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ConstructorContainer;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonCompare;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonConstuctorDrop;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonType;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CompareSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.ConstructorDropSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.TypeSideButton;
import com.raoulvdberge.refinedstorage.tile.TileConstructor;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory;
@@ -18,12 +18,12 @@ public class GuiConstructor extends BaseScreen<ConstructorContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileConstructor.REDSTONE_MODE));
addSideButton(new RedstoneModeSideButton(this, TileConstructor.REDSTONE_MODE));
addSideButton(new SideButtonType(this, TileConstructor.TYPE));
addSideButton(new TypeSideButton(this, TileConstructor.TYPE));
addSideButton(new SideButtonCompare(this, TileConstructor.COMPARE, IComparer.COMPARE_NBT));
addSideButton(new SideButtonConstuctorDrop(this));
addSideButton(new CompareSideButton(this, TileConstructor.COMPARE, IComparer.COMPARE_NBT));
addSideButton(new ConstructorDropSideButton(this));
}
@Override

View File

@@ -8,9 +8,9 @@ import com.raoulvdberge.refinedstorage.container.CrafterManagerContainer;
import com.raoulvdberge.refinedstorage.container.slot.CrafterManagerSlot;
import com.raoulvdberge.refinedstorage.screen.widget.ScrollbarWidget;
import com.raoulvdberge.refinedstorage.screen.widget.SearchWidget;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonCrafterManagerSearchBoxMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonGridSize;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CrafterManagerSearchBoxModeSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.GridSizeSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.tile.TileCrafterManager;
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
@@ -97,9 +97,9 @@ public class GuiCrafterManager extends BaseScreen<CrafterManagerContainer> imple
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileCrafterManager.REDSTONE_MODE));
addSideButton(new SideButtonCrafterManagerSearchBoxMode(this));
addSideButton(new SideButtonGridSize(this, () -> crafterManager.getSize(), size -> TileDataManager.setParameter(TileCrafterManager.SIZE, size)));
addSideButton(new RedstoneModeSideButton(this, TileCrafterManager.REDSTONE_MODE));
addSideButton(new CrafterManagerSearchBoxModeSideButton(this));
addSideButton(new GridSizeSideButton(this, () -> crafterManager.getSize(), size -> TileDataManager.setParameter(TileCrafterManager.SIZE, size)));
this.scrollbar = new ScrollbarWidget(this, 174, getTopHeight(), 12, (getVisibleRows() * 18) - 2);
this.scrollbar.addListener((oldOffset, newOffset) -> {

View File

@@ -15,7 +15,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.render.ElementDrawers;
import com.raoulvdberge.refinedstorage.container.CraftingMonitorContainer;
import com.raoulvdberge.refinedstorage.screen.widget.ScrollbarWidget;
import com.raoulvdberge.refinedstorage.screen.widget.TabListWidget;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.ICraftingMonitor;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.gui.FontRenderer;
@@ -157,7 +157,7 @@ public class GuiCraftingMonitor extends BaseScreen<CraftingMonitorContainer> {
this.scrollbar = new ScrollbarWidget(this, 235, 20, 12, 149);
if (craftingMonitor.getRedstoneModeParameter() != null) {
addSideButton(new SideButtonRedstoneMode(this, craftingMonitor.getRedstoneModeParameter()));
addSideButton(new RedstoneModeSideButton(this, craftingMonitor.getRedstoneModeParameter()));
}
String cancel = I18n.format("gui.cancel");

View File

@@ -15,15 +15,15 @@ public class GuiDestructor extends BaseScreen<DestructorContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileDestructor.REDSTONE_MODE));
addSideButton(new RedstoneModeSideButton(this, TileDestructor.REDSTONE_MODE));
addSideButton(new SideButtonType(this, TileDestructor.TYPE));
addSideButton(new TypeSideButton(this, TileDestructor.TYPE));
addSideButton(new SideButtonMode(this, TileDestructor.MODE));
addSideButton(new WhitelistBlacklistSideButton(this, TileDestructor.WHITELIST_BLACKLIST));
addSideButton(new SideButtonCompare(this, TileDestructor.COMPARE, IComparer.COMPARE_NBT));
addSideButton(new CompareSideButton(this, TileDestructor.COMPARE, IComparer.COMPARE_NBT));
addSideButton(new SideButtonDestructorPickup(this));
addSideButton(new DestructorPickupSideButton(this));
}
@Override

View File

@@ -3,9 +3,9 @@ package com.raoulvdberge.refinedstorage.screen;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.DetectorContainer;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonCompare;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonDetectorMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonType;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CompareSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.DetectorModeSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.TypeSideButton;
import com.raoulvdberge.refinedstorage.tile.TileDetector;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.resources.I18n;
@@ -20,11 +20,11 @@ public class GuiDetector extends BaseScreen<DetectorContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonType(this, TileDetector.TYPE));
addSideButton(new TypeSideButton(this, TileDetector.TYPE));
addSideButton(new SideButtonDetectorMode(this));
addSideButton(new DetectorModeSideButton(this));
addSideButton(new SideButtonCompare(this, TileDetector.COMPARE, IComparer.COMPARE_NBT));
addSideButton(new CompareSideButton(this, TileDetector.COMPARE, IComparer.COMPARE_NBT));
amount = new TextFieldWidget(font, x + 41 + 1, y + 23 + 1, 50, font.FONT_HEIGHT, "");
amount.setText(String.valueOf(TileDetector.AMOUNT.getValue()));

View File

@@ -15,11 +15,11 @@ public class GuiDiskManipulator extends BaseScreen<DiskManipulatorContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileDiskManipulator.REDSTONE_MODE));
addSideButton(new SideButtonIOMode(this));
addSideButton(new SideButtonType(this, TileDiskManipulator.TYPE));
addSideButton(new SideButtonMode(this, TileDiskManipulator.MODE));
addSideButton(new SideButtonCompare(this, TileDiskManipulator.COMPARE, IComparer.COMPARE_NBT));
addSideButton(new RedstoneModeSideButton(this, TileDiskManipulator.REDSTONE_MODE));
addSideButton(new IoModeSideButton(this));
addSideButton(new TypeSideButton(this, TileDiskManipulator.TYPE));
addSideButton(new WhitelistBlacklistSideButton(this, TileDiskManipulator.WHITELIST_BLACKLIST));
addSideButton(new CompareSideButton(this, TileDiskManipulator.COMPARE, IComparer.COMPARE_NBT));
}
@Override

View File

@@ -3,9 +3,9 @@ package com.raoulvdberge.refinedstorage.screen;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ExporterContainer;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonCompare;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonType;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CompareSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.TypeSideButton;
import com.raoulvdberge.refinedstorage.tile.TileExporter;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory;
@@ -17,11 +17,11 @@ public class GuiExporter extends BaseScreen<ExporterContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileExporter.REDSTONE_MODE));
addSideButton(new RedstoneModeSideButton(this, TileExporter.REDSTONE_MODE));
addSideButton(new SideButtonType(this, TileExporter.TYPE));
addSideButton(new TypeSideButton(this, TileExporter.TYPE));
addSideButton(new SideButtonCompare(this, TileExporter.COMPARE, IComparer.COMPARE_NBT));
addSideButton(new CompareSideButton(this, TileExporter.COMPARE, IComparer.COMPARE_NBT));
}
@Override

View File

@@ -5,7 +5,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeFluidInterface;
import com.raoulvdberge.refinedstorage.container.FluidInterfaceContainer;
import com.raoulvdberge.refinedstorage.render.FluidRenderer;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.tile.TileFluidInterface;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.resources.I18n;
@@ -21,7 +21,7 @@ public class GuiFluidInterface extends BaseScreen<FluidInterfaceContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileFluidInterface.REDSTONE_MODE));
addSideButton(new RedstoneModeSideButton(this, TileFluidInterface.REDSTONE_MODE));
}
@Override

View File

@@ -3,10 +3,10 @@ package com.raoulvdberge.refinedstorage.screen;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ImporterContainer;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonCompare;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonType;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CompareSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.TypeSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.WhitelistBlacklistSideButton;
import com.raoulvdberge.refinedstorage.tile.TileImporter;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory;
@@ -18,13 +18,13 @@ public class GuiImporter extends BaseScreen<ImporterContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileImporter.REDSTONE_MODE));
addSideButton(new RedstoneModeSideButton(this, TileImporter.REDSTONE_MODE));
addSideButton(new SideButtonType(this, TileImporter.TYPE));
addSideButton(new TypeSideButton(this, TileImporter.TYPE));
addSideButton(new SideButtonMode(this, TileImporter.MODE));
addSideButton(new WhitelistBlacklistSideButton(this, TileImporter.WHITELIST_BLACKLIST));
addSideButton(new SideButtonCompare(this, TileImporter.COMPARE, IComparer.COMPARE_NBT));
addSideButton(new CompareSideButton(this, TileImporter.COMPARE, IComparer.COMPARE_NBT));
}
@Override

View File

@@ -3,8 +3,8 @@ package com.raoulvdberge.refinedstorage.screen;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.InterfaceContainer;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonCompare;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CompareSideButton;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.tile.TileInterface;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory;
@@ -16,9 +16,9 @@ public class GuiInterface extends BaseScreen<InterfaceContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileInterface.REDSTONE_MODE));
addSideButton(new RedstoneModeSideButton(this, TileInterface.REDSTONE_MODE));
addSideButton(new SideButtonCompare(this, TileInterface.COMPARE, IComparer.COMPARE_NBT));
addSideButton(new CompareSideButton(this, TileInterface.COMPARE, IComparer.COMPARE_NBT));
}
@Override

View File

@@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.screen;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.NetworkTransmitterContainer;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory;
@@ -18,7 +18,7 @@ public class GuiNetworkTransmitter extends BaseScreen<NetworkTransmitterContaine
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileNetworkTransmitter.REDSTONE_MODE));
addSideButton(new RedstoneModeSideButton(this, TileNetworkTransmitter.REDSTONE_MODE));
}
@Override

View File

@@ -5,7 +5,7 @@ import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiReaderWriter;
import com.raoulvdberge.refinedstorage.container.ReaderWriterContainer;
import com.raoulvdberge.refinedstorage.screen.widget.ScrollbarWidget;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.Minecraft;
@@ -46,7 +46,7 @@ public class GuiReaderWriter extends BaseScreen<ReaderWriterContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, readerWriter.getRedstoneModeParameter()));
addSideButton(new RedstoneModeSideButton(this, readerWriter.getRedstoneModeParameter()));
add = addButton(x + 128, y + 15, 20, 20, "+", true, true, btn -> {
});

View File

@@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.screen;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.RelayContainer;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.tile.TileRelay;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory;
@@ -14,7 +14,7 @@ public class GuiRelay extends BaseScreen<RelayContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileRelay.REDSTONE_MODE));
addSideButton(new RedstoneModeSideButton(this, TileRelay.REDSTONE_MODE));
}
@Override

View File

@@ -3,7 +3,7 @@ package com.raoulvdberge.refinedstorage.screen;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
import com.raoulvdberge.refinedstorage.container.SecurityManagerContainer;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.tile.TileSecurityManager;
import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.resources.I18n;
@@ -23,7 +23,7 @@ public class GuiSecurityManager extends BaseScreen<SecurityManagerContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileSecurityManager.REDSTONE_MODE));
addSideButton(new RedstoneModeSideButton(this, TileSecurityManager.REDSTONE_MODE));
int padding = 15;

View File

@@ -3,7 +3,7 @@ package com.raoulvdberge.refinedstorage.screen;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.StorageMonitorContainer;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonCompare;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CompareSideButton;
import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory;
@@ -15,7 +15,7 @@ public class GuiStorageMonitor extends BaseScreen<StorageMonitorContainer> {
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonCompare(this, TileStorageMonitor.COMPARE, IComparer.COMPARE_NBT));
addSideButton(new CompareSideButton(this, TileStorageMonitor.COMPARE, IComparer.COMPARE_NBT));
}
@Override

View File

@@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.screen;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.WirelessTransmitterContainer;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
import com.raoulvdberge.refinedstorage.tile.TileWirelessTransmitter;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory;
@@ -14,7 +14,7 @@ public class GuiWirelessTransmitter extends BaseScreen<WirelessTransmitterContai
@Override
public void onPostInit(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileWirelessTransmitter.REDSTONE_MODE));
addSideButton(new RedstoneModeSideButton(this, TileWirelessTransmitter.REDSTONE_MODE));
}
@Override

View File

@@ -0,0 +1,25 @@
package com.raoulvdberge.refinedstorage.screen;
import com.raoulvdberge.refinedstorage.container.StorageContainer;
import com.raoulvdberge.refinedstorage.tile.StorageTile;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.util.text.ITextComponent;
public class StorageBlockScreen extends StorageScreen<StorageContainer> {
public StorageBlockScreen(StorageContainer container, PlayerInventory inventory, ITextComponent title) {
super(
container,
inventory,
title,
"gui/storage.png",
null,
StorageTile.REDSTONE_MODE,
StorageTile.COMPARE,
StorageTile.WHITELIST_BLACKLIST,
StorageTile.PRIORITY,
StorageTile.ACCESS_TYPE,
StorageTile.STORED::getValue,
() -> (long) ((StorageTile) container.getTile()).getItemStorageType().getCapacity()
);
}
}

View File

@@ -27,7 +27,7 @@ public class StorageScreen<T extends Container> extends BaseScreen<T> {
private TileDataParameter<Integer, ?> typeParameter;
private TileDataParameter<Integer, ?> redstoneModeParameter;
private TileDataParameter<Integer, ?> compareParameter;
private TileDataParameter<Integer, ?> filterParameter;
private TileDataParameter<Integer, ?> whitelistBlacklistParameter;
private TileDataParameter<Integer, ?> priorityParameter;
private TileDataParameter<AccessType, ?> accessTypeParameter;
private Supplier<Long> storedSupplier;
@@ -42,7 +42,7 @@ public class StorageScreen<T extends Container> extends BaseScreen<T> {
@Nullable TileDataParameter<Integer, ?> typeParameter,
@Nullable TileDataParameter<Integer, ?> redstoneModeParameter,
@Nullable TileDataParameter<Integer, ?> compareParameter,
@Nullable TileDataParameter<Integer, ?> filterParameter,
@Nullable TileDataParameter<Integer, ?> whitelistBlacklistParameter,
TileDataParameter<Integer, ?> priorityParameter,
@Nullable TileDataParameter<AccessType, ?> accessTypeParameter,
Supplier<Long> storedSupplier, Supplier<Long> capacitySupplier) {
@@ -52,7 +52,7 @@ public class StorageScreen<T extends Container> extends BaseScreen<T> {
this.typeParameter = typeParameter;
this.redstoneModeParameter = redstoneModeParameter;
this.compareParameter = compareParameter;
this.filterParameter = filterParameter;
this.whitelistBlacklistParameter = whitelistBlacklistParameter;
this.priorityParameter = priorityParameter;
this.accessTypeParameter = accessTypeParameter;
this.storedSupplier = storedSupplier;
@@ -62,23 +62,23 @@ public class StorageScreen<T extends Container> extends BaseScreen<T> {
@Override
public void onPostInit(int x, int y) {
if (redstoneModeParameter != null) {
addSideButton(new SideButtonRedstoneMode(this, redstoneModeParameter));
addSideButton(new RedstoneModeSideButton(this, redstoneModeParameter));
}
if (typeParameter != null) {
addSideButton(new SideButtonType(this, typeParameter));
addSideButton(new TypeSideButton(this, typeParameter));
}
if (filterParameter != null) {
addSideButton(new SideButtonMode(this, filterParameter));
if (whitelistBlacklistParameter != null) {
addSideButton(new WhitelistBlacklistSideButton(this, whitelistBlacklistParameter));
}
if (compareParameter != null) {
addSideButton(new SideButtonCompare(this, compareParameter, IComparer.COMPARE_NBT));
addSideButton(new CompareSideButton(this, compareParameter, IComparer.COMPARE_NBT));
}
if (accessTypeParameter != null) {
addSideButton(new SideButtonAccessType(this, accessTypeParameter));
addSideButton(new AccessTypeSideButton(this, accessTypeParameter));
}
int buttonWidth = 10 + font.getStringWidth(I18n.format("misc.refinedstorage.priority"));

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.screen;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButtonCrafterMode;
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CrafterModeSideButton;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameterClientListener;
public class TileDataParameterClientListenerCrafter implements TileDataParameterClientListener<Boolean> {
@@ -8,7 +8,7 @@ public class TileDataParameterClientListenerCrafter implements TileDataParameter
public void onChanged(boolean initial, Boolean hasRoot) {
if (!hasRoot) {
BaseScreen.executeLater(GuiCrafter.class, gui -> {
gui.addSideButton(new SideButtonCrafterMode(gui));
gui.addSideButton(new CrafterModeSideButton(gui));
});
}
}

View File

@@ -95,7 +95,7 @@ public class GridScreen extends BaseScreen<GridContainer> implements IScreenInfo
this.scrollbar = new ScrollbarWidget(this, 174, getTopHeight(), 12, (getVisibleRows() * 18) - 2);
if (grid instanceof GridNetworkNode || grid instanceof TilePortableGrid) {
addSideButton(new SideButtonRedstoneMode(this, grid instanceof GridNetworkNode ? GridTile.REDSTONE_MODE : TilePortableGrid.REDSTONE_MODE));
addSideButton(new RedstoneModeSideButton(this, grid instanceof GridNetworkNode ? GridTile.REDSTONE_MODE : TilePortableGrid.REDSTONE_MODE));
}
int sx = x + 80 + 1;
@@ -115,13 +115,13 @@ public class GridScreen extends BaseScreen<GridContainer> implements IScreenInfo
addButton(searchField);
if (grid.getGridType() != GridType.FLUID && grid.getViewType() != -1) {
addSideButton(new SideButtonGridViewType(this, grid));
addSideButton(new GridViewTypeSideButton(this, grid));
}
addSideButton(new SideButtonGridSortingDirection(this, grid));
addSideButton(new SideButtonGridSortingType(this, grid));
addSideButton(new SideButtonGridSearchBoxMode(this));
addSideButton(new SideButtonGridSize(this, () -> grid.getSize(), size -> grid.onSizeChanged(size)));
addSideButton(new GridSortingDirectionSideButton(this, grid));
addSideButton(new GridSortingTypeSideButton(this, grid));
addSideButton(new GridSearchBoxModeSideButton(this));
addSideButton(new GridSizeSideButton(this, () -> grid.getSize(), size -> grid.onSizeChanged(size)));
if (grid.getGridType() == GridType.PATTERN) {
processingPattern = addCheckBox(x + 7, y + getTopHeight() + (getVisibleRows() * 18) + 60, I18n.format("misc.refinedstorage.processing"), GridTile.PROCESSING_PATTERN.getValue(), btn -> {
@@ -144,7 +144,7 @@ public class GridScreen extends BaseScreen<GridContainer> implements IScreenInfo
});
}
addSideButton(new SideButtonType(this, GridTile.PROCESSING_TYPE));
addSideButton(new TypeSideButton(this, GridTile.PROCESSING_TYPE));
}
updateScrollbar();

View File

@@ -14,6 +14,7 @@ public class IdGridSorter implements IGridSorter {
}
@Override
@SuppressWarnings("deprecation")
public int compare(IGridStack left, IGridStack right, SortingDirection sortingDirection) {
int leftId = 0;
int rightId = 0;

View File

@@ -8,11 +8,11 @@ import com.raoulvdberge.refinedstorage.util.AccessTypeUtils;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonAccessType extends SideButton {
public class AccessTypeSideButton extends SideButton {
private TileDataParameter<AccessType, ?> parameter;
public SideButtonAccessType(BaseScreen gui, TileDataParameter<AccessType, ?> parameter) {
super(gui);
public AccessTypeSideButton(BaseScreen screen, TileDataParameter<AccessType, ?> parameter) {
super(screen);
this.parameter = parameter;
}
@@ -24,7 +24,7 @@ public class SideButtonAccessType extends SideButton {
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:access_type") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:access_type." + parameter.getValue().getId());
return I18n.format("sidebutton.refinedstorage.access_type") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.access_type." + parameter.getValue().getId());
}
@Override

View File

@@ -7,12 +7,12 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonCompare extends SideButton {
public class CompareSideButton extends SideButton {
private TileDataParameter<Integer, ?> parameter;
private int mask;
public SideButtonCompare(BaseScreen gui, TileDataParameter<Integer, ?> parameter, int mask) {
super(gui);
public CompareSideButton(BaseScreen screen, TileDataParameter<Integer, ?> parameter, int mask) {
super(screen);
this.parameter = parameter;
this.mask = mask;
@@ -20,7 +20,7 @@ public class SideButtonCompare extends SideButton {
@Override
public String getTooltip() {
String tooltip = I18n.format("sidebutton.refinedstorage:compare." + mask) + "\n" + TextFormatting.GRAY;
String tooltip = I18n.format("sidebutton.refinedstorage.compare." + mask) + "\n" + TextFormatting.GRAY;
if ((parameter.getValue() & mask) == mask) {
tooltip += I18n.format("gui.yes");

View File

@@ -6,9 +6,9 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonConstuctorDrop extends SideButton {
public SideButtonConstuctorDrop(BaseScreen gui) {
super(gui);
public class ConstructorDropSideButton extends SideButton {
public ConstructorDropSideButton(BaseScreen screen) {
super(screen);
}
@Override
@@ -18,7 +18,7 @@ public class SideButtonConstuctorDrop extends SideButton {
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:constructor.drop") + "\n" + TextFormatting.GRAY + I18n.format(TileConstructor.DROP.getValue() ? "gui.yes" : "gui.no");
return I18n.format("sidebutton.refinedstorage.constructor.drop") + "\n" + TextFormatting.GRAY + I18n.format(TileConstructor.DROP.getValue() ? "gui.yes" : "gui.no");
}
@Override

View File

@@ -7,14 +7,14 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonCrafterManagerSearchBoxMode extends SideButton {
public SideButtonCrafterManagerSearchBoxMode(GuiCrafterManager gui) {
super(gui);
public class CrafterManagerSearchBoxModeSideButton extends SideButton {
public CrafterManagerSearchBoxModeSideButton(GuiCrafterManager screen) {
super(screen);
}
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:grid.search_box_mode") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:grid.search_box_mode." + ((GuiCrafterManager) screen).getCrafterManager().getSearchBoxMode());
return I18n.format("sidebutton.refinedstorage.grid.search_box_mode") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.grid.search_box_mode." + ((GuiCrafterManager) screen).getCrafterManager().getSearchBoxMode());
}
@Override
@@ -34,7 +34,7 @@ public class SideButtonCrafterManagerSearchBoxMode extends SideButton {
//TODO if (IntegrationJEI.isLoaded()) {
// mode = IGrid.SEARCH_BOX_MODE_JEI_SYNCHRONIZED;
//} else {
mode = IGrid.SEARCH_BOX_MODE_NORMAL;
mode = IGrid.SEARCH_BOX_MODE_NORMAL;
//}
} else if (mode == IGrid.SEARCH_BOX_MODE_JEI_SYNCHRONIZED) {
mode = IGrid.SEARCH_BOX_MODE_JEI_SYNCHRONIZED_AUTOSELECTED;

View File

@@ -6,14 +6,14 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonCrafterMode extends SideButton {
public SideButtonCrafterMode(BaseScreen gui) {
super(gui);
public class CrafterModeSideButton extends SideButton {
public CrafterModeSideButton(BaseScreen screen) {
super(screen);
}
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:crafter_mode") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:crafter_mode." + TileCrafter.MODE.getValue());
return I18n.format("sidebutton.refinedstorage.crafter_mode") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.crafter_mode." + TileCrafter.MODE.getValue());
}
@Override

View File

@@ -6,9 +6,9 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonDestructorPickup extends SideButton {
public SideButtonDestructorPickup(BaseScreen gui) {
super(gui);
public class DestructorPickupSideButton extends SideButton {
public DestructorPickupSideButton(BaseScreen screen) {
super(screen);
}
@Override
@@ -18,7 +18,7 @@ public class SideButtonDestructorPickup extends SideButton {
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:destructor.pickup") + "\n" + TextFormatting.GRAY + I18n.format(TileDestructor.PICKUP.getValue() ? "gui.yes" : "gui.no");
return I18n.format("sidebutton.refinedstorage.destructor.pickup") + "\n" + TextFormatting.GRAY + I18n.format(TileDestructor.PICKUP.getValue() ? "gui.yes" : "gui.no");
}
@Override

View File

@@ -7,14 +7,14 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonDetectorMode extends SideButton {
public SideButtonDetectorMode(BaseScreen gui) {
super(gui);
public class DetectorModeSideButton extends SideButton {
public DetectorModeSideButton(BaseScreen screen) {
super(screen);
}
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:detector.mode") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:detector.mode." + TileDetector.MODE.getValue());
return I18n.format("sidebutton.refinedstorage.detector.mode") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.detector.mode." + TileDetector.MODE.getValue());
}
@Override

View File

@@ -16,7 +16,7 @@ public class FilterTypeSideButton extends SideButton {
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:type") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:type." + screen.getType());
return I18n.format("sidebutton.refinedstorage.type") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.type." + screen.getType());
}
@Override

View File

@@ -5,14 +5,14 @@ import com.raoulvdberge.refinedstorage.screen.grid.GridScreen;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonGridSearchBoxMode extends SideButton {
public SideButtonGridSearchBoxMode(GridScreen gui) {
super(gui);
public class GridSearchBoxModeSideButton extends SideButton {
public GridSearchBoxModeSideButton(GridScreen screen) {
super(screen);
}
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:grid.search_box_mode") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:grid.search_box_mode." + ((GridScreen) screen).getGrid().getSearchBoxMode());
return I18n.format("sidebutton.refinedstorage.grid.search_box_mode") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.grid.search_box_mode." + ((GridScreen) screen).getGrid().getSearchBoxMode());
}
@Override

View File

@@ -8,24 +8,24 @@ import net.minecraft.util.text.TextFormatting;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class SideButtonGridSize extends SideButton {
private Supplier<Integer> size;
private Consumer<Integer> handler;
public class GridSizeSideButton extends SideButton {
private Supplier<Integer> sizeSupplier;
private Consumer<Integer> listener;
public SideButtonGridSize(BaseScreen gui, Supplier<Integer> size, Consumer<Integer> handler) {
super(gui);
this.size = size;
this.handler = handler;
public GridSizeSideButton(BaseScreen screen, Supplier<Integer> sizeSupplier, Consumer<Integer> listener) {
super(screen);
this.sizeSupplier = sizeSupplier;
this.listener = listener;
}
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:grid.size") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:grid.size." + this.size.get());
return I18n.format("sidebutton.refinedstorage.grid.size") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.grid.size." + this.sizeSupplier.get());
}
@Override
protected void renderButtonIcon(int x, int y) {
int size = this.size.get();
int size = this.sizeSupplier.get();
int tx = 0;
@@ -44,7 +44,7 @@ public class SideButtonGridSize extends SideButton {
@Override
public void onPress() {
int size = this.size.get();
int size = this.sizeSupplier.get();
if (size == IGrid.SIZE_STRETCH) {
size = IGrid.SIZE_SMALL;
@@ -56,6 +56,6 @@ public class SideButtonGridSize extends SideButton {
size = IGrid.SIZE_STRETCH;
}
this.handler.accept(size);
this.listener.accept(size);
}
}

View File

@@ -5,18 +5,18 @@ import com.raoulvdberge.refinedstorage.screen.BaseScreen;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonGridSortingDirection extends SideButton {
public class GridSortingDirectionSideButton extends SideButton {
private IGrid grid;
public SideButtonGridSortingDirection(BaseScreen gui, IGrid grid) {
super(gui);
public GridSortingDirectionSideButton(BaseScreen screen, IGrid grid) {
super(screen);
this.grid = grid;
}
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:grid.sorting.direction") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:grid.sorting.direction." + grid.getSortingDirection());
return I18n.format("sidebutton.refinedstorage.grid.sorting.direction") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.grid.sorting.direction." + grid.getSortingDirection());
}
@Override

View File

@@ -7,18 +7,18 @@ import com.raoulvdberge.refinedstorage.screen.BaseScreen;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonGridSortingType extends SideButton {
public class GridSortingTypeSideButton extends SideButton {
private IGrid grid;
public SideButtonGridSortingType(BaseScreen gui, IGrid grid) {
super(gui);
public GridSortingTypeSideButton(BaseScreen screen, IGrid grid) {
super(screen);
this.grid = grid;
}
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:grid.sorting.type") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:grid.sorting.type." + grid.getSortingType());
return I18n.format("sidebutton.refinedstorage.grid.sorting.type") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.grid.sorting.type." + grid.getSortingType());
}
@Override

View File

@@ -5,18 +5,18 @@ import com.raoulvdberge.refinedstorage.screen.BaseScreen;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonGridViewType extends SideButton {
public class GridViewTypeSideButton extends SideButton {
private IGrid grid;
public SideButtonGridViewType(BaseScreen gui, IGrid grid) {
super(gui);
public GridViewTypeSideButton(BaseScreen screen, IGrid grid) {
super(screen);
this.grid = grid;
}
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:grid.view_type") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:grid.view_type." + grid.getViewType());
return I18n.format("sidebutton.refinedstorage.grid.view_type") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.grid.view_type." + grid.getViewType());
}
@Override

View File

@@ -7,14 +7,14 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonIOMode extends SideButton {
public SideButtonIOMode(BaseScreen gui) {
super(gui);
public class IoModeSideButton extends SideButton {
public IoModeSideButton(BaseScreen screen) {
super(screen);
}
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:iomode") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:iomode." + (TileDiskManipulator.IO_MODE.getValue() == NetworkNodeDiskManipulator.IO_MODE_INSERT ? "insert" : "extract"));
return I18n.format("sidebutton.refinedstorage.iomode") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.iomode." + (TileDiskManipulator.IO_MODE.getValue() == NetworkNodeDiskManipulator.IO_MODE_INSERT ? "insert" : "extract"));
}
@Override

View File

@@ -6,18 +6,18 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonRedstoneMode extends SideButton {
public class RedstoneModeSideButton extends SideButton {
private TileDataParameter<Integer, ?> parameter;
public SideButtonRedstoneMode(BaseScreen gui, TileDataParameter<Integer, ?> parameter) {
super(gui);
public RedstoneModeSideButton(BaseScreen screen, TileDataParameter<Integer, ?> parameter) {
super(screen);
this.parameter = parameter;
}
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:redstone_mode") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:redstone_mode." + parameter.getValue());
return I18n.format("sidebutton.refinedstorage.redstone_mode") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.redstone_mode." + parameter.getValue());
}
@Override

View File

@@ -7,18 +7,18 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonType extends SideButton {
public class TypeSideButton extends SideButton {
private TileDataParameter<Integer, ?> type;
public SideButtonType(BaseScreen gui, TileDataParameter<Integer, ?> type) {
super(gui);
public TypeSideButton(BaseScreen screen, TileDataParameter<Integer, ?> type) {
super(screen);
this.type = type;
}
@Override
public String getTooltip() {
return I18n.format("sidebutton.refinedstorage:type") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage:type." + type.getValue());
return I18n.format("sidebutton.refinedstorage.type") + "\n" + TextFormatting.GRAY + I18n.format("sidebutton.refinedstorage.type." + type.getValue());
}
@Override

View File

@@ -7,11 +7,11 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
public class SideButtonMode extends SideButton {
public class WhitelistBlacklistSideButton extends SideButton {
private TileDataParameter<Integer, ?> parameter;
public SideButtonMode(BaseScreen gui, TileDataParameter<Integer, ?> parameter) {
super(gui);
public WhitelistBlacklistSideButton(BaseScreen screen, TileDataParameter<Integer, ?> parameter) {
super(screen);
this.parameter = parameter;
}

View File

@@ -623,6 +623,7 @@ public class ControllerTile extends BaseTile implements ITickableTileEntity, INe
public ItemStack getItemStack() {
BlockState state = world.getBlockState(pos);
@SuppressWarnings("deprecation")
Item item = Item.getItemFromBlock(state.getBlock());
return new ItemStack(item, 1);

View File

@@ -1,39 +1,48 @@
package com.raoulvdberge.refinedstorage.tile;
import com.raoulvdberge.refinedstorage.RSTiles;
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.storage.NetworkNodeStorage;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.storage.StorageNetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.storage.ItemStorageType;
import com.raoulvdberge.refinedstorage.tile.config.IAccessType;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
import com.raoulvdberge.refinedstorage.tile.config.IPrioritizable;
import com.raoulvdberge.refinedstorage.tile.config.IWhitelistBlacklist;
import com.raoulvdberge.refinedstorage.tile.data.RSSerializers;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import com.raoulvdberge.refinedstorage.util.StorageBlockUtils;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import javax.annotation.Nonnull;
public class TileStorage extends NetworkNodeTile<NetworkNodeStorage> {
public static final TileDataParameter<Integer, TileStorage> PRIORITY = IPrioritizable.createParameter();
public static final TileDataParameter<Integer, TileStorage> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer, TileStorage> MODE = IWhitelistBlacklist.createParameter();
public static final TileDataParameter<AccessType, TileStorage> ACCESS_TYPE = IAccessType.createParameter();
public static final TileDataParameter<Long, TileStorage> STORED = new TileDataParameter<>(RSSerializers.LONG_SERIALIZER, 0L, t -> t.getNode().getStorage() != null ? (long) t.getNode().getStorage().getStored() : 0);
public class StorageTile extends NetworkNodeTile<StorageNetworkNode> {
public static final TileDataParameter<Integer, StorageTile> PRIORITY = IPrioritizable.createParameter();
public static final TileDataParameter<Integer, StorageTile> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer, StorageTile> WHITELIST_BLACKLIST = IWhitelistBlacklist.createParameter();
public static final TileDataParameter<AccessType, StorageTile> ACCESS_TYPE = IAccessType.createParameter();
public static final TileDataParameter<Long, StorageTile> STORED = new TileDataParameter<>(RSSerializers.LONG_SERIALIZER, 0L, t -> t.getNode().getStorage() != null ? (long) t.getNode().getStorage().getStored() : 0);
public TileStorage() {
super(RSTiles.STORAGE);
private final ItemStorageType type;
public StorageTile(ItemStorageType type) {
super(StorageBlockUtils.getTileEntityType(type));
this.type = type;
dataManager.addWatchedParameter(PRIORITY);
dataManager.addWatchedParameter(COMPARE);
dataManager.addWatchedParameter(MODE);
dataManager.addWatchedParameter(WHITELIST_BLACKLIST);
dataManager.addWatchedParameter(STORED);
dataManager.addWatchedParameter(ACCESS_TYPE);
}
public ItemStorageType getItemStorageType() {
return type;
}
@Override
@Nonnull
public NetworkNodeStorage createNode(World world, BlockPos pos) {
return new NetworkNodeStorage(world, pos);
public StorageNetworkNode createNode(World world, BlockPos pos) {
return new StorageNetworkNode(world, pos, type);
}
}

View File

@@ -14,7 +14,7 @@ import javax.annotation.Nonnull;
public class TileDestructor extends NetworkNodeTile<NetworkNodeDestructor> {
public static final TileDataParameter<Integer, TileDestructor> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer, TileDestructor> MODE = IWhitelistBlacklist.createParameter();
public static final TileDataParameter<Integer, TileDestructor> WHITELIST_BLACKLIST = IWhitelistBlacklist.createParameter();
public static final TileDataParameter<Integer, TileDestructor> TYPE = IType.createParameter();
public static final TileDataParameter<Boolean, TileDestructor> PICKUP = new TileDataParameter<>(DataSerializers.BOOLEAN, false, t -> t.getNode().isPickupItem(), (t, v) -> {
t.getNode().setPickupItem(v);
@@ -25,7 +25,7 @@ public class TileDestructor extends NetworkNodeTile<NetworkNodeDestructor> {
super(RSTiles.DESTRUCTOR);
dataManager.addWatchedParameter(COMPARE);
dataManager.addWatchedParameter(MODE);
dataManager.addWatchedParameter(WHITELIST_BLACKLIST);
dataManager.addWatchedParameter(TYPE);
dataManager.addWatchedParameter(PICKUP);
}

View File

@@ -15,7 +15,7 @@ import javax.annotation.Nonnull;
public class TileDiskManipulator extends NetworkNodeTile<NetworkNodeDiskManipulator> {
public static final TileDataParameter<Integer, TileDiskManipulator> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer, TileDiskManipulator> MODE = IWhitelistBlacklist.createParameter();
public static final TileDataParameter<Integer, TileDiskManipulator> WHITELIST_BLACKLIST = IWhitelistBlacklist.createParameter();
public static final TileDataParameter<Integer, TileDiskManipulator> TYPE = IType.createParameter();
public static final TileDataParameter<Integer, TileDiskManipulator> IO_MODE = new TileDataParameter<>(DataSerializers.VARINT, NetworkNodeDiskManipulator.IO_MODE_INSERT, t -> t.getNode().getIoMode(), (t, v) -> {
t.getNode().setIoMode(v);
@@ -28,7 +28,7 @@ public class TileDiskManipulator extends NetworkNodeTile<NetworkNodeDiskManipula
super(RSTiles.DISK_MANIPULATOR);
dataManager.addWatchedParameter(COMPARE);
dataManager.addWatchedParameter(MODE);
dataManager.addWatchedParameter(WHITELIST_BLACKLIST);
dataManager.addWatchedParameter(TYPE);
dataManager.addWatchedParameter(IO_MODE);

View File

@@ -17,7 +17,7 @@ import javax.annotation.Nonnull;
public class TileExternalStorage extends NetworkNodeTile<NetworkNodeExternalStorage> {
public static final TileDataParameter<Integer, TileExternalStorage> PRIORITY = IPrioritizable.createParameter();
public static final TileDataParameter<Integer, TileExternalStorage> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer, TileExternalStorage> MODE = IWhitelistBlacklist.createParameter();
public static final TileDataParameter<Integer, TileExternalStorage> WHITELIST_BLACKLIST = IWhitelistBlacklist.createParameter();
public static final TileDataParameter<Integer, TileExternalStorage> TYPE = IType.createParameter();
public static final TileDataParameter<AccessType, TileExternalStorage> ACCESS_TYPE = IAccessType.createParameter();
public static final TileDataParameter<Long, TileExternalStorage> STORED = new TileDataParameter<>(RSSerializers.LONG_SERIALIZER, 0L, t -> {
@@ -52,7 +52,7 @@ public class TileExternalStorage extends NetworkNodeTile<NetworkNodeExternalStor
dataManager.addWatchedParameter(PRIORITY);
dataManager.addWatchedParameter(COMPARE);
dataManager.addWatchedParameter(MODE);
dataManager.addWatchedParameter(WHITELIST_BLACKLIST);
dataManager.addWatchedParameter(STORED);
dataManager.addWatchedParameter(CAPACITY);
dataManager.addWatchedParameter(TYPE);

View File

@@ -17,7 +17,7 @@ import javax.annotation.Nonnull;
public class TileFluidStorage extends NetworkNodeTile<NetworkNodeFluidStorage> {
public static final TileDataParameter<Integer, TileFluidStorage> PRIORITY = IPrioritizable.createParameter();
public static final TileDataParameter<Integer, TileFluidStorage> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer, TileFluidStorage> MODE = IWhitelistBlacklist.createParameter();
public static final TileDataParameter<Integer, TileFluidStorage> WHITELIST_BLACKLIST = IWhitelistBlacklist.createParameter();
public static final TileDataParameter<AccessType, TileFluidStorage> ACCESS_TYPE = IAccessType.createParameter();
public static final TileDataParameter<Long, TileFluidStorage> STORED = new TileDataParameter<>(RSSerializers.LONG_SERIALIZER, 0L, t -> t.getNode().getStorage() != null ? (long) t.getNode().getStorage().getStored() : 0);
@@ -26,7 +26,7 @@ public class TileFluidStorage extends NetworkNodeTile<NetworkNodeFluidStorage> {
dataManager.addWatchedParameter(PRIORITY);
dataManager.addWatchedParameter(COMPARE);
dataManager.addWatchedParameter(MODE);
dataManager.addWatchedParameter(WHITELIST_BLACKLIST);
dataManager.addWatchedParameter(STORED);
dataManager.addWatchedParameter(ACCESS_TYPE);
}

View File

@@ -13,14 +13,14 @@ import javax.annotation.Nonnull;
public class TileImporter extends NetworkNodeTile<NetworkNodeImporter> {
public static final TileDataParameter<Integer, TileImporter> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer, TileImporter> MODE = IWhitelistBlacklist.createParameter();
public static final TileDataParameter<Integer, TileImporter> WHITELIST_BLACKLIST = IWhitelistBlacklist.createParameter();
public static final TileDataParameter<Integer, TileImporter> TYPE = IType.createParameter();
public TileImporter() {
super(RSTiles.IMPORTER);
dataManager.addWatchedParameter(COMPARE);
dataManager.addWatchedParameter(MODE);
dataManager.addWatchedParameter(WHITELIST_BLACKLIST);
dataManager.addWatchedParameter(TYPE);
}

View File

@@ -8,7 +8,7 @@ import com.raoulvdberge.refinedstorage.api.storage.cache.IStorageCache;
import com.raoulvdberge.refinedstorage.api.storage.cache.IStorageCacheListener;
import com.raoulvdberge.refinedstorage.api.util.IFilter;
import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.listener.FluidGridStorageCacheListener;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerFilter;
import com.raoulvdberge.refinedstorage.inventory.item.FilterItemHandler;
import com.raoulvdberge.refinedstorage.screen.BaseScreen;
import com.raoulvdberge.refinedstorage.screen.grid.GridScreen;
import com.raoulvdberge.refinedstorage.util.StackUtils;
@@ -47,7 +47,7 @@ public class WirelessFluidGrid implements IGridNetworkAware {
private List<IFilter> filters = new ArrayList<>();
private List<IGridTab> tabs = new ArrayList<>();
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, tabs, null) {
private FilterItemHandler filter = new FilterItemHandler(filters, tabs, null) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);

View File

@@ -8,7 +8,7 @@ import com.raoulvdberge.refinedstorage.api.storage.cache.IStorageCache;
import com.raoulvdberge.refinedstorage.api.storage.cache.IStorageCacheListener;
import com.raoulvdberge.refinedstorage.api.util.IFilter;
import com.raoulvdberge.refinedstorage.apiimpl.storage.cache.listener.ItemGridStorageCacheListener;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerFilter;
import com.raoulvdberge.refinedstorage.inventory.item.FilterItemHandler;
import com.raoulvdberge.refinedstorage.screen.BaseScreen;
import com.raoulvdberge.refinedstorage.screen.grid.GridScreen;
import com.raoulvdberge.refinedstorage.util.StackUtils;
@@ -47,7 +47,7 @@ public class WirelessGrid implements IGridNetworkAware {
private List<IFilter> filters = new ArrayList<>();
private List<IGridTab> tabs = new ArrayList<>();
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, tabs, null) {
private FilterItemHandler filter = new FilterItemHandler(filters, tabs, null) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);

View File

@@ -3,7 +3,7 @@ package com.raoulvdberge.refinedstorage.tile.grid.portable;
import com.raoulvdberge.refinedstorage.api.storage.cache.IStorageCache;
import com.raoulvdberge.refinedstorage.api.storage.disk.IStorageDisk;
import com.raoulvdberge.refinedstorage.api.storage.tracker.IStorageTracker;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.items.IItemHandlerModifiable;
@@ -47,7 +47,7 @@ public interface IPortableGrid {
int getEnergy();
ItemHandlerBase getDisk();
BaseItemHandler getDisk();
IItemHandlerModifiable getFilter();

View File

@@ -27,8 +27,8 @@ import com.raoulvdberge.refinedstorage.apiimpl.storage.disk.PortableFluidStorage
import com.raoulvdberge.refinedstorage.apiimpl.storage.disk.PortableItemStorageDisk;
import com.raoulvdberge.refinedstorage.apiimpl.storage.tracker.FluidStorageTracker;
import com.raoulvdberge.refinedstorage.apiimpl.storage.tracker.ItemStorageTracker;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerFilter;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.FilterItemHandler;
import com.raoulvdberge.refinedstorage.screen.BaseScreen;
import com.raoulvdberge.refinedstorage.screen.grid.GridScreen;
import com.raoulvdberge.refinedstorage.util.StackUtils;
@@ -79,7 +79,7 @@ public class PortableGrid implements IGrid, IPortableGrid, IStorageDiskContainer
private List<IFilter> filters = new ArrayList<>();
private List<IGridTab> tabs = new ArrayList<>();
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, tabs, null) {
private FilterItemHandler filter = new FilterItemHandler(filters, tabs, null) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
@@ -91,7 +91,7 @@ public class PortableGrid implements IGrid, IPortableGrid, IStorageDiskContainer
StackUtils.writeItems(this, 0, stack.getTag());
}
};
private ItemHandlerBase disk = new ItemHandlerBase(1, DiskDriveNetworkNode.VALIDATOR_STORAGE_DISK) {
private BaseItemHandler disk = new BaseItemHandler(1, DiskDriveNetworkNode.VALIDATOR_STORAGE_DISK) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
@@ -203,7 +203,7 @@ public class PortableGrid implements IGrid, IPortableGrid, IStorageDiskContainer
}
@Override
public ItemHandlerBase getDisk() {
public BaseItemHandler getDisk() {
return disk;
}

View File

@@ -34,9 +34,9 @@ import com.raoulvdberge.refinedstorage.apiimpl.storage.tracker.ItemStorageTracke
import com.raoulvdberge.refinedstorage.block.BlockPortableGrid;
import com.raoulvdberge.refinedstorage.block.enums.PortableGridDiskState;
import com.raoulvdberge.refinedstorage.block.enums.PortableGridType;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerFilter;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerTile;
import com.raoulvdberge.refinedstorage.inventory.item.BaseItemHandler;
import com.raoulvdberge.refinedstorage.inventory.item.FilterItemHandler;
import com.raoulvdberge.refinedstorage.inventory.listener.TileListener;
import com.raoulvdberge.refinedstorage.screen.BaseScreen;
import com.raoulvdberge.refinedstorage.screen.grid.GridScreen;
import com.raoulvdberge.refinedstorage.tile.BaseTile;
@@ -138,8 +138,8 @@ public class TilePortableGrid extends BaseTile implements IGrid, IPortableGrid,
private List<IFilter> filters = new ArrayList<>();
private List<IGridTab> tabs = new ArrayList<>();
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, tabs, new ListenerTile(this));
private ItemHandlerBase disk = new ItemHandlerBase(1, new ListenerTile(this), DiskDriveNetworkNode.VALIDATOR_STORAGE_DISK) {
private FilterItemHandler filter = new FilterItemHandler(filters, tabs, new TileListener(this));
private BaseItemHandler disk = new BaseItemHandler(1, new TileListener(this), DiskDriveNetworkNode.VALIDATOR_STORAGE_DISK) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
@@ -609,7 +609,7 @@ public class TilePortableGrid extends BaseTile implements IGrid, IPortableGrid,
}
@Override
public ItemHandlerBase getDisk() {
public BaseItemHandler getDisk() {
return disk;
}

Some files were not shown because too many files have changed in this diff Show More