Remove network dependency of IGrids
This commit is contained in:
@@ -35,4 +35,13 @@ public interface IFluidGridHandler {
|
||||
* @param player the player that is attempting the insert
|
||||
*/
|
||||
void onInsertHeldContainer(EntityPlayerMP player);
|
||||
|
||||
/**
|
||||
* Called when the player shift clicks a container into the grid.
|
||||
*
|
||||
* @param player the player
|
||||
* @param container the container
|
||||
* @return the remainder container
|
||||
*/
|
||||
ItemStack onShiftClick(EntityPlayerMP player, ItemStack container);
|
||||
}
|
||||
|
||||
@@ -41,6 +41,15 @@ public interface IItemGridHandler {
|
||||
*/
|
||||
void onInsertHeldItem(EntityPlayerMP player, boolean single);
|
||||
|
||||
/**
|
||||
* Called when the player shift clicks an item into the grid.
|
||||
*
|
||||
* @param player the player
|
||||
* @param stack the stack
|
||||
* @return the remainder stack
|
||||
*/
|
||||
ItemStack onShiftClick(EntityPlayerMP player, ItemStack stack);
|
||||
|
||||
/**
|
||||
* Called when a player requests the crafting preview window to be opened.
|
||||
*
|
||||
|
||||
@@ -92,4 +92,9 @@ public class FluidGridHandler implements IFluidGridHandler {
|
||||
player.inventory.setItemStack(RSUtils.transformNullToEmpty(onInsert(player, player.inventory.getItemStack())));
|
||||
player.updateHeldItem();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack onShiftClick(EntityPlayerMP player, ItemStack container) {
|
||||
return RSUtils.transformNullToEmpty(onInsert(player, container));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,6 +149,11 @@ public class ItemGridHandler implements IItemGridHandler {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack onShiftClick(EntityPlayerMP player, ItemStack stack) {
|
||||
return RSUtils.transformNullToEmpty(onInsert(player, stack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCraftingPreviewRequested(EntityPlayerMP player, int hash, int quantity, boolean noPreview) {
|
||||
if (!network.getSecurityManager().hasPermission(Permission.AUTOCRAFTING, player)) {
|
||||
|
||||
@@ -52,7 +52,7 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
|
||||
public static final int SORTING_TYPE_QUANTITY = 0;
|
||||
public static final int SORTING_TYPE_NAME = 1;
|
||||
public static final int SORTING_TYPE_ID= 2;
|
||||
public static final int SORTING_TYPE_ID = 2;
|
||||
|
||||
public static final int SEARCH_BOX_MODE_NORMAL = 0;
|
||||
public static final int SEARCH_BOX_MODE_NORMAL_AUTOSELECTED = 1;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.raoulvdberge.refinedstorage.container;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.RSUtils;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
@@ -44,7 +43,7 @@ public class ContainerGrid extends ContainerBase {
|
||||
this.inventoryItemStacks.clear();
|
||||
|
||||
int headerAndSlots = getTabDelta() + display.getHeader() + (display.getVisibleRows() * 18);
|
||||
|
||||
|
||||
if (grid.getType() != GridType.FLUID) {
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
addSlotToContainer(new SlotItemHandler(grid.getFilter(), i, 204, 6 + (18 * i) + getTabDelta()));
|
||||
@@ -182,18 +181,21 @@ public class ContainerGrid extends ContainerBase {
|
||||
}
|
||||
}
|
||||
|
||||
if (grid.getNetwork() != null) {
|
||||
IItemGridHandler itemHandler = grid.getNetwork().getItemGridHandler();
|
||||
IFluidGridHandler fluidHandler = grid.getNetwork().getFluidGridHandler();
|
||||
if (grid.getType() == GridType.FLUID) {
|
||||
IFluidGridHandler fluidHandler = grid.getFluidHandler();
|
||||
|
||||
if (grid.getType() != GridType.FLUID && itemHandler != null) {
|
||||
slot.putStack(RSUtils.transformNullToEmpty(itemHandler.onInsert((EntityPlayerMP) player, stack)));
|
||||
} else if (grid.getType() == GridType.FLUID && fluidHandler != null) {
|
||||
slot.putStack(RSUtils.transformNullToEmpty(fluidHandler.onInsert((EntityPlayerMP) player, stack)));
|
||||
if (fluidHandler != null) {
|
||||
slot.putStack(fluidHandler.onShiftClick((EntityPlayerMP) player, stack));
|
||||
}
|
||||
} else {
|
||||
IItemGridHandler itemHandler = grid.getItemHandler();
|
||||
|
||||
detectAndSendChanges();
|
||||
if (itemHandler != null) {
|
||||
slot.putStack(itemHandler.onShiftClick((EntityPlayerMP) player, stack));
|
||||
}
|
||||
}
|
||||
|
||||
detectAndSendChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,8 +42,8 @@ public class MessageGridCraftingPreview extends MessageHandlerPlayerToServer<Mes
|
||||
if (container instanceof ContainerGrid) {
|
||||
IGrid grid = ((ContainerGrid) container).getGrid();
|
||||
|
||||
if (grid.getNetwork() != null) {
|
||||
grid.getNetwork().getItemGridHandler().onCraftingPreviewRequested(player, message.hash, message.quantity, message.noPreview);
|
||||
if (grid.getItemHandler() != null) {
|
||||
grid.getItemHandler().onCraftingPreviewRequested(player, message.hash, message.quantity, message.noPreview);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,8 +40,8 @@ public class MessageGridCraftingStart extends MessageHandlerPlayerToServer<Messa
|
||||
if (container instanceof ContainerGrid) {
|
||||
IGrid grid = ((ContainerGrid) container).getGrid();
|
||||
|
||||
if (grid.getNetwork() != null) {
|
||||
grid.getNetwork().getItemGridHandler().onCraftingRequested(player, message.stack, message.quantity);
|
||||
if (grid.getItemHandler() != null) {
|
||||
grid.getItemHandler().onCraftingRequested(player, message.stack, message.quantity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,8 +26,8 @@ public class MessageGridFluidInsertHeld extends MessageHandlerPlayerToServer<Mes
|
||||
if (container instanceof ContainerGrid) {
|
||||
IGrid grid = ((ContainerGrid) container).getGrid();
|
||||
|
||||
if (grid.getNetwork() != null) {
|
||||
grid.getNetwork().getFluidGridHandler().onInsertHeldContainer(player);
|
||||
if (grid.getFluidHandler() != null) {
|
||||
grid.getFluidHandler().onInsertHeldContainer(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,8 +38,8 @@ public class MessageGridFluidPull extends MessageHandlerPlayerToServer<MessageGr
|
||||
if (container instanceof ContainerGrid) {
|
||||
IGrid grid = ((ContainerGrid) container).getGrid();
|
||||
|
||||
if (grid.getNetwork() != null) {
|
||||
grid.getNetwork().getFluidGridHandler().onExtract(player, message.hash, message.shift);
|
||||
if (grid.getFluidHandler() != null) {
|
||||
grid.getFluidHandler().onExtract(player, message.hash, message.shift);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,8 +34,8 @@ public class MessageGridItemInsertHeld extends MessageHandlerPlayerToServer<Mess
|
||||
if (container instanceof ContainerGrid) {
|
||||
IGrid grid = ((ContainerGrid) container).getGrid();
|
||||
|
||||
if (grid.getNetwork() != null) {
|
||||
grid.getNetwork().getItemGridHandler().onInsertHeldItem(player, message.single);
|
||||
if (grid.getItemHandler() != null) {
|
||||
grid.getItemHandler().onInsertHeldItem(player, message.single);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,8 +38,8 @@ public class MessageGridItemPull extends MessageHandlerPlayerToServer<MessageGri
|
||||
if (container instanceof ContainerGrid) {
|
||||
IGrid grid = ((ContainerGrid) container).getGrid();
|
||||
|
||||
if (grid.getNetwork() != null) {
|
||||
grid.getNetwork().getItemGridHandler().onExtract(player, message.hash, message.flags);
|
||||
if (grid.getItemHandler() != null) {
|
||||
grid.getItemHandler().onExtract(player, message.hash, message.flags);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.tile.grid;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
@@ -20,6 +22,16 @@ public interface IGrid {
|
||||
@Nullable
|
||||
INetworkMaster getNetwork();
|
||||
|
||||
@Nullable
|
||||
default IItemGridHandler getItemHandler() {
|
||||
return getNetwork() != null ? getNetwork().getItemGridHandler() : null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
default IFluidGridHandler getFluidHandler() {
|
||||
return getNetwork() != null ? getNetwork().getFluidGridHandler() : null;
|
||||
}
|
||||
|
||||
String getGuiTitle();
|
||||
|
||||
int getViewType();
|
||||
|
||||
Reference in New Issue
Block a user