Class ItemMenuHost<T extends net.minecraft.world.item.Item>
java.lang.Object
appeng.api.implementations.menuobjects.ItemMenuHost<T>
- All Implemented Interfaces:
IUpgradeableObject
public class ItemMenuHost<T extends net.minecraft.world.item.Item>
extends Object
implements IUpgradeableObject
Base interface for an adapter that connects an item stack in a player inventory with a menu that is opened by it.
-
Constructor Summary
ConstructorsConstructorDescriptionItemMenuHost(T item, net.minecraft.world.entity.player.Player player, appeng.menu.locator.ItemMenuHostLocator locator) -
Method Summary
Modifier and TypeMethodDescriptionvoidCan only be used with a host that implementsIEnergySourceonly call once per broadcastChanges()protected booleanEnsures that the item this menu was opened from has not changed.getItem()net.minecraft.world.item.ItemStack@Nullable appeng.menu.locator.ItemMenuHostLocatornet.minecraft.world.entity.player.Player@Nullable Integerprotected doubleGet power drain per tick.final IUpgradeInventoryGets the inventory that contains the upgrade cards for this upgradable object.booleanfinal booleanbooleanonBroadcastChanges(net.minecraft.world.inventory.AbstractContainerMenu menu) Gives the item hosting the GUI a chance to do periodic actions when the menu is being ticked.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface appeng.api.upgrades.IUpgradeableObject
getInstalledUpgrades, isUpgradedWith
-
Constructor Details
-
Method Details
-
getPlayer
public net.minecraft.world.entity.player.Player getPlayer()- Returns:
- The player holding the item.
-
getPlayerInventorySlot
- Returns:
- The index of the item hosting the menu in the
playersinventory. Null if the item is not directly accessible via the inventory.
-
getLocator
@Nullable public @Nullable appeng.menu.locator.ItemMenuHostLocator getLocator() -
getItem
-
getItemStack
public net.minecraft.world.item.ItemStack getItemStack()- Returns:
- The item stack hosting the menu. This can change.
-
isClientSide
public boolean isClientSide()- Returns:
- True if this host is on the client-side.
-
onBroadcastChanges
public boolean onBroadcastChanges(net.minecraft.world.inventory.AbstractContainerMenu menu) Gives the item hosting the GUI a chance to do periodic actions when the menu is being ticked.- Returns:
- False to close the menu.
-
ensureItemStillInSlot
protected boolean ensureItemStillInSlot()Ensures that the item this menu was opened from has not changed. -
drainPower
public void drainPower()Can only be used with a host that implementsIEnergySourceonly call once per broadcastChanges() -
getPowerDrainPerTick
protected double getPowerDrainPerTick()Get power drain per tick. -
isOutOfPower
public final boolean isOutOfPower() -
getUpgrades
Description copied from interface:IUpgradeableObjectGets the inventory that contains the upgrade cards for this upgradable object.- Specified by:
getUpgradesin interfaceIUpgradeableObject
-