mirror of
https://github.com/GTNewHorizons/NotEnoughItems.git
synced 2026-11-13 00:47:35 +00:00
54 lines
2.3 KiB
Java
54 lines
2.3 KiB
Java
package codechicken.nei.api;
|
|
|
|
import codechicken.nei.VisiblityData;
|
|
import net.minecraft.client.gui.inventory.GuiContainer;
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* If this is implemented on a gui, it will be automatically registered
|
|
*/
|
|
public interface INEIGuiHandler {
|
|
|
|
public VisiblityData modifyVisiblity(GuiContainer gui, VisiblityData currentVisibility);
|
|
|
|
/**
|
|
* NEI will give the specified item to the InventoryRange returned if the player's inventory is full. Should not
|
|
* return null, just an empty list
|
|
*/
|
|
public Iterable<Integer> getItemSpawnSlots(GuiContainer gui, ItemStack item);
|
|
|
|
/**
|
|
* @return A list of TaggedInventoryAreas that will be used with the savestates.
|
|
*/
|
|
public List<TaggedInventoryArea> getInventoryAreas(GuiContainer gui);
|
|
|
|
/**
|
|
* Handles clicks while an itemstack has been dragged from the item panel. Use this to set configurable slots and
|
|
* the like. Changes made to the stackSize of the dragged stack will be kept
|
|
*
|
|
* @param gui The current gui instance
|
|
* @param mousex The x position of the mouse
|
|
* @param mousey The y position of the mouse
|
|
* @param draggedStack The stack being dragged from the item panel
|
|
* @param button The button presed
|
|
* @return True if the drag n drop was handled. False to resume processing through other routes. The held stack will
|
|
* be deleted if draggedStack.stackSize == 0
|
|
*/
|
|
public boolean handleDragNDrop(GuiContainer gui, int mousex, int mousey, ItemStack draggedStack, int button);
|
|
|
|
/**
|
|
* Used to prevent the item panel from drawing on top of other gui elements. This function will also be called with
|
|
* a 1x1 size rectangle on the mouse position for determining if the given coordinate should override item panel
|
|
* functions such as scrolling
|
|
*
|
|
* @param x The x coordinate of the rectangle bounding the slot
|
|
* @param y The y coordinate of the rectangle bounding the slot
|
|
* @param w The w coordinate of the rectangle bounding the slot
|
|
* @param h The h coordinate of the rectangle bounding the slot
|
|
* @return true if the item panel slot within the specified rectangle should not be rendered.
|
|
*/
|
|
public boolean hideItemPanelSlot(GuiContainer gui, int x, int y, int w, int h);
|
|
}
|