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
|
* @param player the player that is attempting the insert
|
||||||
*/
|
*/
|
||||||
void onInsertHeldContainer(EntityPlayerMP player);
|
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);
|
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.
|
* 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.inventory.setItemStack(RSUtils.transformNullToEmpty(onInsert(player, player.inventory.getItemStack())));
|
||||||
player.updateHeldItem();
|
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
|
@Override
|
||||||
public void onCraftingPreviewRequested(EntityPlayerMP player, int hash, int quantity, boolean noPreview) {
|
public void onCraftingPreviewRequested(EntityPlayerMP player, int hash, int quantity, boolean noPreview) {
|
||||||
if (!network.getSecurityManager().hasPermission(Permission.AUTOCRAFTING, player)) {
|
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_QUANTITY = 0;
|
||||||
public static final int SORTING_TYPE_NAME = 1;
|
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 = 0;
|
||||||
public static final int SEARCH_BOX_MODE_NORMAL_AUTOSELECTED = 1;
|
public static final int SEARCH_BOX_MODE_NORMAL_AUTOSELECTED = 1;
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.raoulvdberge.refinedstorage.container;
|
package com.raoulvdberge.refinedstorage.container;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.RSItems;
|
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.IFluidGridHandler;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||||
@@ -182,18 +181,21 @@ public class ContainerGrid extends ContainerBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (grid.getNetwork() != null) {
|
if (grid.getType() == GridType.FLUID) {
|
||||||
IItemGridHandler itemHandler = grid.getNetwork().getItemGridHandler();
|
IFluidGridHandler fluidHandler = grid.getFluidHandler();
|
||||||
IFluidGridHandler fluidHandler = grid.getNetwork().getFluidGridHandler();
|
|
||||||
|
|
||||||
if (grid.getType() != GridType.FLUID && itemHandler != null) {
|
if (fluidHandler != null) {
|
||||||
slot.putStack(RSUtils.transformNullToEmpty(itemHandler.onInsert((EntityPlayerMP) player, stack)));
|
slot.putStack(fluidHandler.onShiftClick((EntityPlayerMP) player, stack));
|
||||||
} else if (grid.getType() == GridType.FLUID && fluidHandler != null) {
|
|
||||||
slot.putStack(RSUtils.transformNullToEmpty(fluidHandler.onInsert((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) {
|
if (container instanceof ContainerGrid) {
|
||||||
IGrid grid = ((ContainerGrid) container).getGrid();
|
IGrid grid = ((ContainerGrid) container).getGrid();
|
||||||
|
|
||||||
if (grid.getNetwork() != null) {
|
if (grid.getItemHandler() != null) {
|
||||||
grid.getNetwork().getItemGridHandler().onCraftingPreviewRequested(player, message.hash, message.quantity, message.noPreview);
|
grid.getItemHandler().onCraftingPreviewRequested(player, message.hash, message.quantity, message.noPreview);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ public class MessageGridCraftingStart extends MessageHandlerPlayerToServer<Messa
|
|||||||
if (container instanceof ContainerGrid) {
|
if (container instanceof ContainerGrid) {
|
||||||
IGrid grid = ((ContainerGrid) container).getGrid();
|
IGrid grid = ((ContainerGrid) container).getGrid();
|
||||||
|
|
||||||
if (grid.getNetwork() != null) {
|
if (grid.getItemHandler() != null) {
|
||||||
grid.getNetwork().getItemGridHandler().onCraftingRequested(player, message.stack, message.quantity);
|
grid.getItemHandler().onCraftingRequested(player, message.stack, message.quantity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ public class MessageGridFluidInsertHeld extends MessageHandlerPlayerToServer<Mes
|
|||||||
if (container instanceof ContainerGrid) {
|
if (container instanceof ContainerGrid) {
|
||||||
IGrid grid = ((ContainerGrid) container).getGrid();
|
IGrid grid = ((ContainerGrid) container).getGrid();
|
||||||
|
|
||||||
if (grid.getNetwork() != null) {
|
if (grid.getFluidHandler() != null) {
|
||||||
grid.getNetwork().getFluidGridHandler().onInsertHeldContainer(player);
|
grid.getFluidHandler().onInsertHeldContainer(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ public class MessageGridFluidPull extends MessageHandlerPlayerToServer<MessageGr
|
|||||||
if (container instanceof ContainerGrid) {
|
if (container instanceof ContainerGrid) {
|
||||||
IGrid grid = ((ContainerGrid) container).getGrid();
|
IGrid grid = ((ContainerGrid) container).getGrid();
|
||||||
|
|
||||||
if (grid.getNetwork() != null) {
|
if (grid.getFluidHandler() != null) {
|
||||||
grid.getNetwork().getFluidGridHandler().onExtract(player, message.hash, message.shift);
|
grid.getFluidHandler().onExtract(player, message.hash, message.shift);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,8 +34,8 @@ public class MessageGridItemInsertHeld extends MessageHandlerPlayerToServer<Mess
|
|||||||
if (container instanceof ContainerGrid) {
|
if (container instanceof ContainerGrid) {
|
||||||
IGrid grid = ((ContainerGrid) container).getGrid();
|
IGrid grid = ((ContainerGrid) container).getGrid();
|
||||||
|
|
||||||
if (grid.getNetwork() != null) {
|
if (grid.getItemHandler() != null) {
|
||||||
grid.getNetwork().getItemGridHandler().onInsertHeldItem(player, message.single);
|
grid.getItemHandler().onInsertHeldItem(player, message.single);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ public class MessageGridItemPull extends MessageHandlerPlayerToServer<MessageGri
|
|||||||
if (container instanceof ContainerGrid) {
|
if (container instanceof ContainerGrid) {
|
||||||
IGrid grid = ((ContainerGrid) container).getGrid();
|
IGrid grid = ((ContainerGrid) container).getGrid();
|
||||||
|
|
||||||
if (grid.getNetwork() != null) {
|
if (grid.getItemHandler() != null) {
|
||||||
grid.getNetwork().getItemGridHandler().onExtract(player, message.hash, message.flags);
|
grid.getItemHandler().onExtract(player, message.hash, message.flags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.raoulvdberge.refinedstorage.tile.grid;
|
package com.raoulvdberge.refinedstorage.tile.grid;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
|
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.block.GridType;
|
||||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||||
@@ -20,6 +22,16 @@ public interface IGrid {
|
|||||||
@Nullable
|
@Nullable
|
||||||
INetworkMaster getNetwork();
|
INetworkMaster getNetwork();
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
default IItemGridHandler getItemHandler() {
|
||||||
|
return getNetwork() != null ? getNetwork().getItemGridHandler() : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
default IFluidGridHandler getFluidHandler() {
|
||||||
|
return getNetwork() != null ? getNetwork().getFluidGridHandler() : null;
|
||||||
|
}
|
||||||
|
|
||||||
String getGuiTitle();
|
String getGuiTitle();
|
||||||
|
|
||||||
int getViewType();
|
int getViewType();
|
||||||
|
|||||||
Reference in New Issue
Block a user