Fix containers mostly

This commit is contained in:
raoulvdberge
2019-09-11 22:54:07 +02:00
parent 736370ec67
commit 3d0b0324a9
30 changed files with 220 additions and 151 deletions

View File

@@ -15,6 +15,7 @@ import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.*;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraftforge.fml.network.NetworkHooks;
@Mod(modid = RS.ID, version = RS.VERSION, acceptedMinecraftVersions = "[1.12.2,1.13)", guiFactory = RS.GUI_FACTORY, updateJSON = RS.UPDATE_JSON, certificateFingerprint = RS.FINGERPRINT, dependencies = RS.DEPENDENCIES)
public final class RS {
@@ -59,6 +60,8 @@ public final class RS {
config = new RSConfig(null, e.getSuggestedConfigurationFile());
PROXY.preInit(e);
NetworkHooks.openGui();
}
@EventHandler

View File

@@ -0,0 +1,56 @@
package com.raoulvdberge.refinedstorage;
import com.raoulvdberge.refinedstorage.container.*;
import net.minecraft.inventory.container.ContainerType;
import net.minecraftforge.registries.ObjectHolder;
public final class RSContainers {
@ObjectHolder(RS.ID + ":constructor")
public static final ContainerType<ContainerConstructor> CONSTRUCTOR = null;
@ObjectHolder(RS.ID + ":controller")
public static final ContainerType<ContainerController> CONTROLLER = null;
@ObjectHolder(RS.ID + ":crafter")
public static final ContainerType<ContainerCrafter> CRAFTER = null;
@ObjectHolder(RS.ID + ":crafter_manager")
public static final ContainerType<ContainerCrafter> CRAFTER_MANAGER = null;
@ObjectHolder(RS.ID + ":crafting_monitor")
public static final ContainerType<ContainerCraftingMonitor> CRAFTING_MONITOR = null;
@ObjectHolder(RS.ID + ":destructor")
public static final ContainerType<ContainerDestructor> DESTRUCTOR = null;
@ObjectHolder(RS.ID + ":detector")
public static final ContainerType<ContainerDetector> DETECTOR = null;
@ObjectHolder(RS.ID + ":disk_drive")
public static final ContainerType<ContainerDiskDrive> DISK_DRIVE = null;
@ObjectHolder(RS.ID + ":disk_manipulator")
public static final ContainerType<ContainerDiskManipulator> DISK_MANIPULATOR = null;
@ObjectHolder(RS.ID + ":exporter")
public static final ContainerType<ContainerExporter> EXPORTER = null;
@ObjectHolder(RS.ID + ":external_storage")
public static final ContainerType<ContainerExternalStorage> EXTERNAL_STORAGE = null;
@ObjectHolder(RS.ID + ":filter")
public static final ContainerType<ContainerFilter> FILTER = null;
@ObjectHolder(RS.ID + ":fluid_interface")
public static final ContainerType<ContainerFluidInterface> FLUID_INTERFACE = null;
@ObjectHolder(RS.ID + ":fluid_storage")
public static final ContainerType<ContainerFluidInterface> FLUID_STORAGE = null;
@ObjectHolder(RS.ID + ":grid")
public static final ContainerType<ContainerGrid> GRID = null;
@ObjectHolder(RS.ID + ":importer")
public static final ContainerType<ContainerImporter> IMPORTER = null;
@ObjectHolder(RS.ID + ":interface")
public static final ContainerType<ContainerImporter> INTERFACE = null;
@ObjectHolder(RS.ID + ":network_transmitter")
public static final ContainerType<ContainerNetworkTransmitter> NETWORK_TRANSMITTER = null;
@ObjectHolder(RS.ID + ":reader_writer")
public static final ContainerType<ContainerReaderWriter> READER_WRITER = null;
@ObjectHolder(RS.ID + ":relay")
public static final ContainerType<ContainerRelay> RELAY = null;
@ObjectHolder(RS.ID + ":security_manager")
public static final ContainerType<ContainerSecurityManager> SECURITY_MANAGER = null;
@ObjectHolder(RS.ID + ":storage")
public static final ContainerType<ContainerStorage> STORAGE = null;
@ObjectHolder(RS.ID + ":storage_monitor")
public static final ContainerType<ContainerStorageMonitor> STORAGE_MONITOR = null;
@ObjectHolder(RS.ID + ":wireless_transmitter")
public static final ContainerType<ContainerSecurityManager> WIRELESS_TRANSMITTER = null;
}

View File

@@ -8,12 +8,12 @@ import net.minecraftforge.items.ItemStackHandler;
public class ContainerAmount extends ContainerBase {
public ContainerAmount(PlayerEntity player, ItemStack stack) {
super(null, player);
super(null, null, player, 0);
ItemStackHandler inventory = new ItemStackHandler(1);
inventory.setStackInSlot(0, ItemHandlerHelper.copyStackWithSize(stack, 1));
addSlotToContainer(new SlotDisabled(inventory, 0, 89, 48));
addSlot(new SlotDisabled(inventory, 0, 89, 48));
}
}

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
@@ -8,13 +7,14 @@ import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.container.slot.legacy.SlotLegacyDisabled;
import com.raoulvdberge.refinedstorage.container.slot.legacy.SlotLegacyFilter;
import com.raoulvdberge.refinedstorage.container.transfer.TransferManager;
import com.raoulvdberge.refinedstorage.network.MessageSlotFilterFluidUpdate;
import com.raoulvdberge.refinedstorage.tile.TileBase;
import com.raoulvdberge.refinedstorage.tile.data.TileDataWatcher;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.ContainerType;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
@@ -34,8 +34,8 @@ public abstract class ContainerBase extends Container {
private List<SlotFilterFluid> fluidSlots = new ArrayList<>();
private List<FluidStack> fluids = new ArrayList<>();
public ContainerBase(@Nullable TileBase tile, PlayerEntity player, int windowId) {
super(ContainerType.CRAFTING, windowId);
public ContainerBase(@Nullable ContainerType<?> type, @Nullable TileBase tile, PlayerEntity player, int windowId) {
super(type, windowId);
this.tile = tile;
@@ -63,9 +63,9 @@ public abstract class ContainerBase extends Container {
int y = yInventory + 4 + (3 * 18);
if (isHeldItemDisabled() && i == player.inventory.currentItem) {
addSlotToContainer(new SlotLegacyDisabled(player.inventory, id, x, y));
addSlot(new SlotLegacyDisabled(player.inventory, id, x, y));
} else {
addSlotToContainer(new Slot(player.inventory, id, x, y));
addSlot(new Slot(player.inventory, id, x, y));
}
id++;
@@ -73,7 +73,7 @@ public abstract class ContainerBase extends Container {
for (int y = 0; y < 3; y++) {
for (int x = 0; x < 9; x++) {
addSlotToContainer(new Slot(player.inventory, id, xInventory + x * 18, yInventory + y * 18));
addSlot(new Slot(player.inventory, id, xInventory + x * 18, yInventory + y * 18));
id++;
}
@@ -160,13 +160,13 @@ public abstract class ContainerBase extends Container {
}
@Override
protected Slot addSlotToContainer(Slot slot) {
protected Slot addSlot(Slot slot) {
if (slot instanceof SlotFilterFluid) {
fluids.add(null);
fluidSlots.add((SlotFilterFluid) slot);
}
return super.addSlotToContainer(slot);
return super.addSlot(slot);
}
@Override
@@ -187,7 +187,7 @@ public abstract class ContainerBase extends Container {
if (!API.instance().getComparer().isEqual(cached, actual, IComparer.COMPARE_QUANTITY | IComparer.COMPARE_NBT)) {
this.fluids.set(i, actual);
RS.INSTANCE.network.sendTo(new MessageSlotFilterFluidUpdate(slot.slotNumber, actual), (ServerPlayerEntity) this.getPlayer());
// TODO RS.INSTANCE.network.sendTo(new MessageSlotFilterFluidUpdate(slot.slotNumber, actual), (ServerPlayerEntity) this.getPlayer());
}
}
}

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileConstructor;
@@ -8,15 +9,15 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerConstructor extends ContainerBase {
public ContainerConstructor(TileConstructor constructor, PlayerEntity player) {
super(constructor, player);
public ContainerConstructor(TileConstructor constructor, PlayerEntity player, int windowId) {
super(RSContainers.CONSTRUCTOR, constructor, player, windowId);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotItemHandler(constructor.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
addSlot(new SlotItemHandler(constructor.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
}
addSlotToContainer(new SlotFilter(constructor.getNode().getItemFilters(), 0, 80, 20).setEnableHandler(() -> constructor.getNode().getType() == IType.ITEMS));
addSlotToContainer(new SlotFilterFluid(constructor.getNode().getFluidFilters(), 0, 80, 20, 0).setEnableHandler(() -> constructor.getNode().getType() == IType.FLUIDS));
addSlot(new SlotFilter(constructor.getNode().getItemFilters(), 0, 80, 20).setEnableHandler(() -> constructor.getNode().getType() == IType.ITEMS));
addSlot(new SlotFilterFluid(constructor.getNode().getFluidFilters(), 0, 80, 20, 0).setEnableHandler(() -> constructor.getNode().getType() == IType.FLUIDS));
addPlayerInventory(8, 55);

View File

@@ -1,11 +1,12 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.tile.TileController;
import net.minecraft.entity.player.PlayerEntity;
public class ContainerController extends ContainerBase {
public ContainerController(TileController controller, PlayerEntity player) {
super(controller, player);
public ContainerController(TileController controller, PlayerEntity player, int windowId) {
super(RSContainers.CONTROLLER, controller, player, windowId);
addPlayerInventory(8, 99);
}

View File

@@ -1,19 +1,20 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.tile.TileCrafter;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerCrafter extends ContainerBase {
public ContainerCrafter(TileCrafter crafter, PlayerEntity player) {
super(crafter, player);
public ContainerCrafter(TileCrafter crafter, PlayerEntity player, int windowId) {
super(RSContainers.CRAFTER, crafter, player, windowId);
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotItemHandler(crafter.getNode().getPatternItems(), i, 8 + (18 * i), 20));
addSlot(new SlotItemHandler(crafter.getNode().getPatternItems(), i, 8 + (18 * i), 20));
}
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotItemHandler(crafter.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
addSlot(new SlotItemHandler(crafter.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
}
addPlayerInventory(8, 55);

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafter;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafterManager;
@@ -13,20 +14,16 @@ import com.raoulvdberge.refinedstorage.item.ItemPattern;
import com.raoulvdberge.refinedstorage.tile.TileCrafterManager;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IContainerListener;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.IContainerListener;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
import net.minecraftforge.items.IItemHandlerModifiable;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Predicate;
public class ContainerCrafterManager extends ContainerBase {
@@ -64,11 +61,6 @@ public class ContainerCrafterManager extends ContainerBase {
public void sendWindowProperty(Container container, int varToUpdate, int newValue) {
base.sendWindowProperty(container, varToUpdate, newValue);
}
@Override
public void sendAllWindowProperties(Container container, IInventory inventory) {
base.sendAllWindowProperties(container, inventory);
}
}
private IResizableDisplay display;
@@ -87,12 +79,13 @@ public class ContainerCrafterManager extends ContainerBase {
super.addListener(listener);
}
// TODO add AT for listeners
public List<IContainerListener> getListeners() {
return listeners;
return new ArrayList<>();
}
public ContainerCrafterManager(TileCrafterManager crafterManager, PlayerEntity player, IResizableDisplay display) {
super(crafterManager, player);
public ContainerCrafterManager(TileCrafterManager crafterManager, PlayerEntity player, IResizableDisplay display, int windowId) {
super(RSContainers.CRAFTER_MANAGER, crafterManager, player, windowId);
this.display = display;
this.crafterManager = crafterManager.getNode();
@@ -104,7 +97,7 @@ public class ContainerCrafterManager extends ContainerBase {
for (Map.Entry<String, List<IItemHandlerModifiable>> entry : crafterManager.getNode().getNetwork().getCraftingManager().getNamedContainers().entrySet()) {
for (IItemHandlerModifiable handler : entry.getValue()) {
for (int i = 0; i < handler.getSlots(); ++i) {
addSlotToContainer(new SlotCrafterManager(handler, i, 0, 0, true, display, this.crafterManager));
addSlot(new SlotCrafterManager(handler, i, 0, 0, true, display, this.crafterManager));
}
}
}
@@ -124,7 +117,7 @@ public class ContainerCrafterManager extends ContainerBase {
}
this.inventorySlots.clear();
this.inventoryItemStacks.clear();
// TODO at for inventoryItemStacks this.inventoryItemStacks.clear();
this.headings.clear();
rows = 0;
@@ -191,7 +184,7 @@ public class ContainerCrafterManager extends ContainerBase {
}
}
addSlotToContainer(new SlotCrafterManager(dummy, slot, x, y, visible, display, crafterManager));
addSlot(new SlotCrafterManager(dummy, slot, x, y, visible, display, crafterManager));
if (visible) {
foundItemsInCategory = true;

View File

@@ -1,15 +1,13 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingManager;
import com.raoulvdberge.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorListener;
import com.raoulvdberge.refinedstorage.network.MessageCraftingMonitorElements;
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.ICraftingMonitor;
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor;
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.WirelessCraftingMonitor;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.Slot;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import javax.annotation.Nullable;
@@ -18,8 +16,8 @@ public class ContainerCraftingMonitor extends ContainerBase implements ICrafting
private ICraftingMonitor craftingMonitor;
private boolean addedListener;
public ContainerCraftingMonitor(ICraftingMonitor craftingMonitor, @Nullable TileCraftingMonitor craftingMonitorTile, PlayerEntity player) {
super(craftingMonitorTile, player);
public ContainerCraftingMonitor(ICraftingMonitor craftingMonitor, @Nullable TileCraftingMonitor craftingMonitorTile, PlayerEntity player, int windowId) {
super(RSContainers.CRAFTING_MONITOR, craftingMonitorTile, player, windowId);
this.craftingMonitor = craftingMonitor;
}
@@ -93,6 +91,6 @@ public class ContainerCraftingMonitor extends ContainerBase implements ICrafting
@Override
public void onChanged() {
RS.INSTANCE.network.sendTo(new MessageCraftingMonitorElements(craftingMonitor), (ServerPlayerEntity) getPlayer());
// TODO RS.INSTANCE.network.sendTo(new MessageCraftingMonitorElements(craftingMonitor), (ServerPlayerEntity) getPlayer());
}
}

View File

@@ -12,20 +12,20 @@ import net.minecraftforge.items.ItemStackHandler;
public class ContainerCraftingSettings extends ContainerBase {
public ContainerCraftingSettings(PlayerEntity player, IGridStack stack) {
super(null, player);
super(null, null, player, 0);
if (stack instanceof GridStackFluid) {
FluidInventory inventory = new FluidInventory(1);
inventory.setFluid(0, ((GridStackFluid) stack).getStack());
addSlotToContainer(new SlotFilterFluidDisabled(inventory, 0, 89, 48));
addSlot(new SlotFilterFluidDisabled(inventory, 0, 89, 48));
} else if (stack instanceof GridStackItem) {
ItemStackHandler handler = new ItemStackHandler(1);
handler.setStackInSlot(0, ItemHandlerHelper.copyStackWithSize(((GridStackItem) stack).getStack(), 1));
addSlotToContainer(new SlotDisabled(handler, 0, 89, 48));
addSlot(new SlotDisabled(handler, 0, 89, 48));
}
}
}

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileDestructor;
@@ -8,19 +9,19 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerDestructor extends ContainerBase {
public ContainerDestructor(TileDestructor destructor, PlayerEntity player) {
super(destructor, player);
public ContainerDestructor(TileDestructor destructor, PlayerEntity player, int windowId) {
super(RSContainers.DESTRUCTOR, destructor, player, windowId);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotItemHandler(destructor.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
addSlot(new SlotItemHandler(destructor.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilter(destructor.getNode().getItemFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> destructor.getNode().getType() == IType.ITEMS));
addSlot(new SlotFilter(destructor.getNode().getItemFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> destructor.getNode().getType() == IType.ITEMS));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilterFluid(destructor.getNode().getFluidFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> destructor.getNode().getType() == IType.FLUIDS));
addSlot(new SlotFilterFluid(destructor.getNode().getFluidFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> destructor.getNode().getType() == IType.FLUIDS));
}
addPlayerInventory(8, 55);

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileDetector;
@@ -7,11 +8,11 @@ import com.raoulvdberge.refinedstorage.tile.config.IType;
import net.minecraft.entity.player.PlayerEntity;
public class ContainerDetector extends ContainerBase {
public ContainerDetector(TileDetector detector, PlayerEntity player) {
super(detector, player);
public ContainerDetector(TileDetector detector, PlayerEntity player, int windowId) {
super(RSContainers.DETECTOR, detector, player, windowId);
addSlotToContainer(new SlotFilter(detector.getNode().getItemFilters(), 0, 107, 20).setEnableHandler(() -> detector.getNode().getType() == IType.ITEMS));
addSlotToContainer(new SlotFilterFluid(detector.getNode().getFluidFilters(), 0, 107, 20).setEnableHandler(() -> detector.getNode().getType() == IType.FLUIDS));
addSlot(new SlotFilter(detector.getNode().getItemFilters(), 0, 107, 20).setEnableHandler(() -> detector.getNode().getType() == IType.ITEMS));
addSlot(new SlotFilterFluid(detector.getNode().getFluidFilters(), 0, 107, 20).setEnableHandler(() -> detector.getNode().getType() == IType.FLUIDS));
addPlayerInventory(8, 55);

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileDiskDrive;
@@ -8,22 +9,22 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerDiskDrive extends ContainerBase {
public ContainerDiskDrive(TileDiskDrive diskDrive, PlayerEntity player) {
super(diskDrive, player);
public ContainerDiskDrive(TileDiskDrive diskDrive, PlayerEntity player, int windowId) {
super(RSContainers.DISK_DRIVE, diskDrive, player, windowId);
int x = 80;
int y = 54;
for (int i = 0; i < 8; ++i) {
addSlotToContainer(new SlotItemHandler(diskDrive.getNode().getDisks(), i, x + ((i % 2) * 18), y + Math.floorDiv(i, 2) * 18));
addSlot(new SlotItemHandler(diskDrive.getNode().getDisks(), i, x + ((i % 2) * 18), y + Math.floorDiv(i, 2) * 18));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilter(diskDrive.getNode().getItemFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> diskDrive.getNode().getType() == IType.ITEMS));
addSlot(new SlotFilter(diskDrive.getNode().getItemFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> diskDrive.getNode().getType() == IType.ITEMS));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilterFluid(diskDrive.getNode().getFluidFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> diskDrive.getNode().getType() == IType.FLUIDS));
addSlot(new SlotFilterFluid(diskDrive.getNode().getFluidFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> diskDrive.getNode().getType() == IType.FLUIDS));
}
addPlayerInventory(8, 141);

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator;
@@ -8,27 +9,27 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerDiskManipulator extends ContainerBase {
public ContainerDiskManipulator(TileDiskManipulator diskManipulator, PlayerEntity player) {
super(diskManipulator, player);
public ContainerDiskManipulator(TileDiskManipulator diskManipulator, PlayerEntity player, int windowId) {
super(RSContainers.DISK_MANIPULATOR, diskManipulator, player, windowId);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotItemHandler(diskManipulator.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
addSlot(new SlotItemHandler(diskManipulator.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
}
for (int i = 0; i < 3; ++i) {
addSlotToContainer(new SlotItemHandler(diskManipulator.getNode().getInputDisks(), i, 44, 57 + (i * 18)));
addSlot(new SlotItemHandler(diskManipulator.getNode().getInputDisks(), i, 44, 57 + (i * 18)));
}
for (int i = 0; i < 3; ++i) {
addSlotToContainer(new SlotItemHandler(diskManipulator.getNode().getOutputDisks(), i, 116, 57 + (i * 18)));
addSlot(new SlotItemHandler(diskManipulator.getNode().getOutputDisks(), i, 116, 57 + (i * 18)));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilter(diskManipulator.getNode().getItemFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> diskManipulator.getNode().getType() == IType.ITEMS));
addSlot(new SlotFilter(diskManipulator.getNode().getItemFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> diskManipulator.getNode().getType() == IType.ITEMS));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilterFluid(diskManipulator.getNode().getFluidFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> diskManipulator.getNode().getType() == IType.FLUIDS));
addSlot(new SlotFilterFluid(diskManipulator.getNode().getFluidFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> diskManipulator.getNode().getType() == IType.FLUIDS));
}
addPlayerInventory(8, 129);

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileExporter;
@@ -8,19 +9,19 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerExporter extends ContainerBase {
public ContainerExporter(TileExporter exporter, PlayerEntity player) {
super(exporter, player);
public ContainerExporter(TileExporter exporter, PlayerEntity player, int windowId) {
super(RSContainers.EXPORTER, exporter, player, windowId);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotItemHandler(exporter.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
addSlot(new SlotItemHandler(exporter.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilter(exporter.getNode().getItemFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> exporter.getNode().getType() == IType.ITEMS));
addSlot(new SlotFilter(exporter.getNode().getItemFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> exporter.getNode().getType() == IType.ITEMS));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilterFluid(exporter.getNode().getFluidFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> exporter.getNode().getType() == IType.FLUIDS));
addSlot(new SlotFilterFluid(exporter.getNode().getFluidFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> exporter.getNode().getType() == IType.FLUIDS));
}
addPlayerInventory(8, 55);

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileExternalStorage;
@@ -7,15 +8,15 @@ import com.raoulvdberge.refinedstorage.tile.config.IType;
import net.minecraft.entity.player.PlayerEntity;
public class ContainerExternalStorage extends ContainerBase {
public ContainerExternalStorage(TileExternalStorage externalStorage, PlayerEntity player) {
super(externalStorage, player);
public ContainerExternalStorage(TileExternalStorage externalStorage, PlayerEntity player, int windowId) {
super(RSContainers.EXTERNAL_STORAGE, externalStorage, player, windowId);
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilter(externalStorage.getNode().getItemFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> externalStorage.getNode().getType() == IType.ITEMS));
addSlot(new SlotFilter(externalStorage.getNode().getItemFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> externalStorage.getNode().getType() == IType.ITEMS));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilterFluid(externalStorage.getNode().getFluidFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> externalStorage.getNode().getType() == IType.FLUIDS));
addSlot(new SlotFilterFluid(externalStorage.getNode().getFluidFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> externalStorage.getNode().getType() == IType.FLUIDS));
}
addPlayerInventory(8, 141);

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
@@ -15,8 +16,8 @@ import net.minecraft.item.ItemStack;
public class ContainerFilter extends ContainerBase {
private ItemStack stack;
public ContainerFilter(PlayerEntity player, ItemStack stack) {
super(null, player);
public ContainerFilter(PlayerEntity player, ItemStack stack, int windowId) {
super(RSContainers.FILTER, null, player, windowId);
this.stack = stack;
@@ -29,8 +30,8 @@ public class ContainerFilter extends ContainerBase {
FluidInventory fluidFilter = new FluidInventoryFilter(stack);
for (int i = 0; i < 27; ++i) {
addSlotToContainer(new SlotFilter(filter, i, x, y).setEnableHandler(() -> ItemFilter.getType(stack) == IType.ITEMS));
addSlotToContainer(new SlotFilterFluid(fluidFilter, i, x, y).setEnableHandler(() -> ItemFilter.getType(stack) == IType.FLUIDS));
addSlot(new SlotFilter(filter, i, x, y).setEnableHandler(() -> ItemFilter.getType(stack) == IType.ITEMS));
addSlot(new SlotFilterFluid(fluidFilter, i, x, y).setEnableHandler(() -> ItemFilter.getType(stack) == IType.FLUIDS));
if ((i + 1) % 9 == 0) {
x = 8;
@@ -40,8 +41,8 @@ public class ContainerFilter extends ContainerBase {
}
}
addSlotToContainer(new SlotFilter(new ItemHandlerFilterIcon(stack), 0, 8, 117).setEnableHandler(() -> ItemFilter.getType(stack) == IType.ITEMS));
addSlotToContainer(new SlotFilterFluid(fluidIcon, 0, 8, 117).setEnableHandler(() -> ItemFilter.getType(stack) == IType.FLUIDS));
addSlot(new SlotFilter(new ItemHandlerFilterIcon(stack), 0, 8, 117).setEnableHandler(() -> ItemFilter.getType(stack) == IType.ITEMS));
addSlot(new SlotFilterFluid(fluidIcon, 0, 8, 117).setEnableHandler(() -> ItemFilter.getType(stack) == IType.FLUIDS));
addPlayerInventory(8, 149);

View File

@@ -7,12 +7,12 @@ import net.minecraftforge.fluids.FluidStack;
public class ContainerFluidAmount extends ContainerBase {
public ContainerFluidAmount(PlayerEntity player, FluidStack stack) {
super(null, player);
super(null, null, player, 0);
FluidInventory inventory = new FluidInventory(1);
inventory.setFluid(0, stack);
addSlotToContainer(new SlotFilterFluidDisabled(inventory, 0, 89, 48, 0));
addSlot(new SlotFilterFluidDisabled(inventory, 0, 89, 48, 0));
}
}

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileFluidInterface;
@@ -7,15 +8,15 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerFluidInterface extends ContainerBase {
public ContainerFluidInterface(TileFluidInterface fluidInterface, PlayerEntity player) {
super(fluidInterface, player);
public ContainerFluidInterface(TileFluidInterface fluidInterface, PlayerEntity player, int windowId) {
super(RSContainers.FLUID_INTERFACE, fluidInterface, player, windowId);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotItemHandler(fluidInterface.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
addSlot(new SlotItemHandler(fluidInterface.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
}
addSlotToContainer(new SlotItemHandler(fluidInterface.getNode().getIn(), 0, 44, 32));
addSlotToContainer(new SlotFilterFluid(fluidInterface.getNode().getOut(), 0, 116, 32, SlotFilter.FILTER_ALLOW_SIZE));
addSlot(new SlotItemHandler(fluidInterface.getNode().getIn(), 0, 44, 32));
addSlot(new SlotFilterFluid(fluidInterface.getNode().getOut(), 0, 116, 32, SlotFilter.FILTER_ALLOW_SIZE));
addPlayerInventory(8, 122);

View File

@@ -1,15 +1,16 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileFluidStorage;
import net.minecraft.entity.player.PlayerEntity;
public class ContainerFluidStorage extends ContainerBase {
public ContainerFluidStorage(TileFluidStorage fluidStorage, PlayerEntity player) {
super(fluidStorage, player);
public ContainerFluidStorage(TileFluidStorage fluidStorage, PlayerEntity player, int windowId) {
super(RSContainers.FLUID_STORAGE, fluidStorage, player, windowId);
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilterFluid(fluidStorage.getNode().getFilters(), i, 8 + (18 * i), 20));
addSlot(new SlotFilterFluid(fluidStorage.getNode().getFilters(), i, 8 + (18 * i), 20));
}
addPlayerInventory(8, 141);

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
import com.raoulvdberge.refinedstorage.api.network.grid.IGridCraftingListener;
@@ -23,10 +24,10 @@ import com.raoulvdberge.refinedstorage.tile.grid.portable.IPortableGrid;
import com.raoulvdberge.refinedstorage.tile.grid.portable.PortableGrid;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.IContainerListener;
import net.minecraft.inventory.Slot;
import net.minecraft.inventory.container.IContainerListener;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.server.SPacketSetSlot;
import net.minecraft.network.play.server.SSetSlotPacket;
import net.minecraftforge.items.SlotItemHandler;
import javax.annotation.Nullable;
@@ -40,8 +41,8 @@ public class ContainerGrid extends ContainerBase implements IGridCraftingListene
private SlotGridCraftingResult craftingResultSlot;
private SlotLegacyBase patternResultSlot;
public ContainerGrid(IGrid grid, IResizableDisplay display, @Nullable TileBase gridTile, PlayerEntity player) {
super(gridTile, player);
public ContainerGrid(IGrid grid, IResizableDisplay display, @Nullable TileBase gridTile, PlayerEntity player, int windowId) {
super(RSContainers.GRID, gridTile, player, windowId);
this.grid = grid;
this.display = display;
@@ -53,7 +54,7 @@ public class ContainerGrid extends ContainerBase implements IGridCraftingListene
public void initSlots() {
this.inventorySlots.clear();
this.inventoryItemStacks.clear();
this.inventoryItemStacks.clear(); // TODO at
this.transferManager.clearTransfers();
@@ -114,7 +115,7 @@ public class ContainerGrid extends ContainerBase implements IGridCraftingListene
}
private void addPortableGridSlots() {
addSlotToContainer(new SlotItemHandler(((IPortableGrid) grid).getDisk(), 0, 204, 6));
addSlot(new SlotItemHandler(((IPortableGrid) grid).getDisk(), 0, 204, 6));
transferManager.addBiTransfer(getPlayer().inventory, ((IPortableGrid) grid).getDisk());
}
@@ -127,7 +128,7 @@ public class ContainerGrid extends ContainerBase implements IGridCraftingListene
}
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotItemHandler(grid.getFilter(), i, 204, yStart + (18 * i)));
addSlot(new SlotItemHandler(grid.getFilter(), i, 204, yStart + (18 * i)));
}
transferManager.addBiTransfer(getPlayer().inventory, grid.getFilter());
@@ -140,7 +141,7 @@ public class ContainerGrid extends ContainerBase implements IGridCraftingListene
int y = headerAndSlots + 4;
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotGridCrafting(grid.getCraftingMatrix(), i, x, y));
addSlot(new SlotGridCrafting(grid.getCraftingMatrix(), i, x, y));
x += 18;
@@ -150,14 +151,14 @@ public class ContainerGrid extends ContainerBase implements IGridCraftingListene
}
}
addSlotToContainer(craftingResultSlot = new SlotGridCraftingResult(this, getPlayer(), grid, 0, 130 + 4, headerAndSlots + 22));
addSlot(craftingResultSlot = new SlotGridCraftingResult(getPlayer(), grid, 0, 130 + 4, headerAndSlots + 22));
}
private void addPatternSlots() {
int headerAndSlots = display.getTopHeight() + (display.getVisibleRows() * 18);
addSlotToContainer(new SlotItemHandler(((NetworkNodeGrid) grid).getPatterns(), 0, 172, headerAndSlots + 4));
addSlotToContainer(new SlotItemHandler(((NetworkNodeGrid) grid).getPatterns(), 1, 172, headerAndSlots + 40));
addSlot(new SlotItemHandler(((NetworkNodeGrid) grid).getPatterns(), 0, 172, headerAndSlots + 4));
addSlot(new SlotItemHandler(((NetworkNodeGrid) grid).getPatterns(), 1, 172, headerAndSlots + 40));
transferManager.addBiTransfer(getPlayer().inventory, ((NetworkNodeGrid) grid).getPatterns());
@@ -167,8 +168,8 @@ public class ContainerGrid extends ContainerBase implements IGridCraftingListene
int y = headerAndSlots + 4;
for (int i = 0; i < 9 * 2; ++i) {
addSlotToContainer(new SlotFilter(((NetworkNodeGrid) grid).getProcessingMatrix(), i, x, y, SlotFilter.FILTER_ALLOW_SIZE).setEnableHandler(() -> ((NetworkNodeGrid) grid).isProcessingPattern() && ((NetworkNodeGrid) grid).getType() == IType.ITEMS));
addSlotToContainer(new SlotFilterFluid(((NetworkNodeGrid) grid).getProcessingMatrixFluids(), i, x, y, SlotFilter.FILTER_ALLOW_SIZE).setEnableHandler(() -> ((NetworkNodeGrid) grid).isProcessingPattern() && ((NetworkNodeGrid) grid).getType() == IType.FLUIDS));
addSlot(new SlotFilter(((NetworkNodeGrid) grid).getProcessingMatrix(), i, x, y, SlotFilter.FILTER_ALLOW_SIZE).setEnableHandler(() -> ((NetworkNodeGrid) grid).isProcessingPattern() && ((NetworkNodeGrid) grid).getType() == IType.ITEMS));
addSlot(new SlotFilterFluid(((NetworkNodeGrid) grid).getProcessingMatrixFluids(), i, x, y, SlotFilter.FILTER_ALLOW_SIZE).setEnableHandler(() -> ((NetworkNodeGrid) grid).isProcessingPattern() && ((NetworkNodeGrid) grid).getType() == IType.FLUIDS));
x += 18;
@@ -189,7 +190,7 @@ public class ContainerGrid extends ContainerBase implements IGridCraftingListene
y = headerAndSlots + 4;
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotLegacyFilter(grid.getCraftingMatrix(), i, x, y).setEnableHandler(() -> !((NetworkNodeGrid) grid).isProcessingPattern()));
addSlot(new SlotLegacyFilter(grid.getCraftingMatrix(), i, x, y).setEnableHandler(() -> !((NetworkNodeGrid) grid).isProcessingPattern()));
x += 18;
@@ -199,7 +200,7 @@ public class ContainerGrid extends ContainerBase implements IGridCraftingListene
}
}
addSlotToContainer(patternResultSlot = (new SlotLegacyDisabled(grid.getCraftingResult(), 0, 134, headerAndSlots + 22).setEnableHandler(() -> !((NetworkNodeGrid) grid).isProcessingPattern())));
addSlot(patternResultSlot = (new SlotLegacyDisabled(grid.getCraftingResult(), 0, 134, headerAndSlots + 22).setEnableHandler(() -> !((NetworkNodeGrid) grid).isProcessingPattern())));
}
public IGrid getGrid() {
@@ -212,10 +213,10 @@ public class ContainerGrid extends ContainerBase implements IGridCraftingListene
Slot slot = inventorySlots.get(i);
if (slot instanceof SlotGridCrafting || slot == craftingResultSlot || slot == patternResultSlot) {
for (IContainerListener listener : listeners) {
for (IContainerListener listener : listeners) { // TODO AT for listeners
// @Volatile: We can't use IContainerListener#sendSlotContents since ServerPlayerEntity blocks SlotCrafting changes...
if (listener instanceof ServerPlayerEntity) {
((ServerPlayerEntity) listener).connection.sendPacket(new SPacketSetSlot(windowId, i, slot.getStack()));
((ServerPlayerEntity) listener).connection.sendPacket(new SSetSlotPacket(windowId, i, slot.getStack()));
}
}
}

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileImporter;
@@ -8,19 +9,19 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerImporter extends ContainerBase {
public ContainerImporter(TileImporter importer, PlayerEntity player) {
super(importer, player);
public ContainerImporter(TileImporter importer, PlayerEntity player, int windowId) {
super(RSContainers.IMPORTER, importer, player, windowId);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotItemHandler(importer.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
addSlot(new SlotItemHandler(importer.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilter(importer.getNode().getItemFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> importer.getNode().getType() == IType.ITEMS));
addSlot(new SlotFilter(importer.getNode().getItemFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> importer.getNode().getType() == IType.ITEMS));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilterFluid(importer.getNode().getFluidFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> importer.getNode().getType() == IType.FLUIDS));
addSlot(new SlotFilterFluid(importer.getNode().getFluidFilters(), i, 8 + (18 * i), 20).setEnableHandler(() -> importer.getNode().getType() == IType.FLUIDS));
}
addPlayerInventory(8, 55);

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.SlotOutput;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.tile.TileInterface;
@@ -7,23 +8,23 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerInterface extends ContainerBase {
public ContainerInterface(TileInterface tile, PlayerEntity player) {
super(tile, player);
public ContainerInterface(TileInterface tile, PlayerEntity player, int windowId) {
super(RSContainers.INTERFACE, tile, player, windowId);
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotItemHandler(tile.getNode().getImportItems(), i, 8 + (18 * i), 20));
addSlot(new SlotItemHandler(tile.getNode().getImportItems(), i, 8 + (18 * i), 20));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilter(tile.getNode().getExportFilterItems(), i, 8 + (18 * i), 54, SlotFilter.FILTER_ALLOW_SIZE));
addSlot(new SlotFilter(tile.getNode().getExportFilterItems(), i, 8 + (18 * i), 54, SlotFilter.FILTER_ALLOW_SIZE));
}
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotOutput(tile.getNode().getExportItems(), i, 8 + (18 * i), 100));
addSlot(new SlotOutput(tile.getNode().getExportItems(), i, 8 + (18 * i), 100));
}
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotItemHandler(tile.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
addSlot(new SlotItemHandler(tile.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
}
addPlayerInventory(8, 134);

View File

@@ -1,14 +1,15 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerNetworkTransmitter extends ContainerBase {
public ContainerNetworkTransmitter(TileNetworkTransmitter networkTransmitter, PlayerEntity player) {
super(networkTransmitter, player);
public ContainerNetworkTransmitter(TileNetworkTransmitter networkTransmitter, PlayerEntity player, int windowId) {
super(RSContainers.NETWORK_TRANSMITTER, networkTransmitter, player, windowId);
addSlotToContainer(new SlotItemHandler(networkTransmitter.getNode().getNetworkCard(), 0, 8, 20));
addSlot(new SlotItemHandler(networkTransmitter.getNode().getNetworkCard(), 0, 8, 20));
addPlayerInventory(8, 55);

View File

@@ -1,20 +1,18 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterListener;
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterManager;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiReaderWriter;
import com.raoulvdberge.refinedstorage.network.MessageReaderWriterUpdate;
import com.raoulvdberge.refinedstorage.tile.TileBase;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
public class ContainerReaderWriter extends ContainerBase implements IReaderWriterListener {
private IGuiReaderWriter readerWriter;
private boolean addedListener;
public ContainerReaderWriter(IGuiReaderWriter readerWriter, TileBase tile, PlayerEntity player) {
super(tile, player);
public ContainerReaderWriter(IGuiReaderWriter readerWriter, TileBase tile, PlayerEntity player, int windowId) {
super(RSContainers.READER_WRITER, tile, player, windowId);
this.readerWriter = readerWriter;
@@ -58,6 +56,6 @@ public class ContainerReaderWriter extends ContainerBase implements IReaderWrite
@Override
public void onChanged() {
RS.INSTANCE.network.sendTo(new MessageReaderWriterUpdate(readerWriter.getNetwork().getReaderWriterManager().getChannels()), (ServerPlayerEntity) getPlayer());
// TODO RS.INSTANCE.network.sendTo(new MessageReaderWriterUpdate(readerWriter.getNetwork().getReaderWriterManager().getChannels()), (ServerPlayerEntity) getPlayer());
}
}

View File

@@ -1,11 +1,12 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.tile.TileRelay;
import net.minecraft.entity.player.PlayerEntity;
public class ContainerRelay extends ContainerBase {
public ContainerRelay(TileRelay relay, PlayerEntity player) {
super(relay, player);
public ContainerRelay(TileRelay relay, PlayerEntity player, int windowId) {
super(RSContainers.RELAY, relay, player, windowId);
addPlayerInventory(8, 50);
}

View File

@@ -1,18 +1,19 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.tile.TileSecurityManager;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerSecurityManager extends ContainerBase {
public ContainerSecurityManager(TileSecurityManager securityManager, PlayerEntity player) {
super(securityManager, player);
public ContainerSecurityManager(TileSecurityManager securityManager, PlayerEntity player, int windowId) {
super(RSContainers.SECURITY_MANAGER, securityManager, player, windowId);
int x = 8;
int y = 20;
for (int i = 0; i < 9 * 2; ++i) {
addSlotToContainer(new SlotItemHandler(securityManager.getNode().getCardsItems(), i, x, y));
addSlot(new SlotItemHandler(securityManager.getNode().getCardsItems(), i, x, y));
if (((i + 1) % 9) == 0) {
x = 8;
@@ -22,7 +23,7 @@ public class ContainerSecurityManager extends ContainerBase {
}
}
addSlotToContainer(new SlotItemHandler(securityManager.getNode().getEditCard(), 0, 80, 70));
addSlot(new SlotItemHandler(securityManager.getNode().getEditCard(), 0, 80, 70));
addPlayerInventory(8, 152);

View File

@@ -1,15 +1,16 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.tile.TileStorage;
import net.minecraft.entity.player.PlayerEntity;
public class ContainerStorage extends ContainerBase {
public ContainerStorage(TileStorage storage, PlayerEntity player) {
super(storage, player);
public ContainerStorage(TileStorage storage, PlayerEntity player, int windowId) {
super(RSContainers.STORAGE, storage, player, windowId);
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotFilter(storage.getNode().getFilters(), i, 8 + (18 * i), 20));
addSlot(new SlotFilter(storage.getNode().getFilters(), i, 8 + (18 * i), 20));
}
addPlayerInventory(8, 141);

View File

@@ -1,14 +1,15 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.container.slot.filter.SlotFilter;
import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor;
import net.minecraft.entity.player.PlayerEntity;
public class ContainerStorageMonitor extends ContainerBase {
public ContainerStorageMonitor(TileStorageMonitor storageMonitor, PlayerEntity player) {
super(storageMonitor, player);
public ContainerStorageMonitor(TileStorageMonitor storageMonitor, PlayerEntity player, int windowId) {
super(RSContainers.STORAGE_MONITOR, storageMonitor, player, windowId);
addSlotToContainer(new SlotFilter(storageMonitor.getNode().getItemFilters(), 0, 80, 20));
addSlot(new SlotFilter(storageMonitor.getNode().getItemFilters(), 0, 80, 20));
addPlayerInventory(8, 55);

View File

@@ -1,15 +1,16 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.RSContainers;
import com.raoulvdberge.refinedstorage.tile.TileWirelessTransmitter;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.items.SlotItemHandler;
public class ContainerWirelessTransmitter extends ContainerBase {
public ContainerWirelessTransmitter(TileWirelessTransmitter wirelessTransmitter, PlayerEntity player) {
super(wirelessTransmitter, player);
public ContainerWirelessTransmitter(TileWirelessTransmitter wirelessTransmitter, PlayerEntity player, int windowId) {
super(RSContainers.WIRELESS_TRANSMITTER, wirelessTransmitter, player, windowId);
for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotItemHandler(wirelessTransmitter.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
addSlot(new SlotItemHandler(wirelessTransmitter.getNode().getUpgrades(), i, 187, 6 + (i * 18)));
}
addPlayerInventory(8, 55);