Class ProgrammerBlockEntity

java.lang.Object
net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.level.block.entity.BlockEntity>
net.minecraft.world.level.block.entity.BlockEntity
All Implemented Interfaces:
IGUIButtonSensitive, IGUITextFieldSensitive, ILuaMethodProvider, IDescSynced, IUpgradeHolder, net.minecraft.world.inventory.MenuConstructor, net.minecraft.world.MenuProvider, net.minecraft.world.Nameable, net.minecraftforge.common.capabilities.ICapabilityProvider, net.minecraftforge.common.capabilities.ICapabilityProviderImpl<net.minecraft.world.level.block.entity.BlockEntity>, net.minecraftforge.common.capabilities.ICapabilitySerializable<net.minecraft.nbt.CompoundTag>, net.minecraftforge.common.extensions.IForgeBlockEntity, net.minecraftforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>

public class ProgrammerBlockEntity extends AbstractTickingBlockEntity implements IGUITextFieldSensitive, net.minecraft.world.MenuProvider
  • Field Details

    • progWidgets

      public final List<IProgWidget> progWidgets
    • translatedX

      public double translatedX
    • translatedY

      public double translatedY
    • zoomState

      public int zoomState
    • showInfo

      public boolean showInfo
    • showFlow

      public boolean showFlow
    • recentreStartPiece

      public boolean recentreStartPiece
    • canUndo

      public boolean canUndo
    • canRedo

      public boolean canRedo
    • programOnInsert

      public boolean programOnInsert
    • availablePuzzlePieces

      public int availablePuzzlePieces
    • displayedStack

      public net.minecraft.world.item.ItemStack displayedStack
  • Constructor Details

    • ProgrammerBlockEntity

      public ProgrammerBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
  • Method Details

    • load

      public void load(net.minecraft.nbt.CompoundTag tag)
      Overrides:
      load in class AbstractPneumaticCraftBlockEntity
    • saveAdditional

      public void saveAdditional(net.minecraft.nbt.CompoundTag tag)
      Overrides:
      saveAdditional in class AbstractPneumaticCraftBlockEntity
    • mergeWidgetsFromNBT

      public List<IProgWidget> mergeWidgetsFromNBT(net.minecraft.nbt.CompoundTag tag)
    • readProgWidgetsFromNBT

      public void readProgWidgetsFromNBT(net.minecraft.nbt.CompoundTag tag)
    • writeProgWidgetsToNBT

      public net.minecraft.nbt.CompoundTag writeProgWidgetsToNBT(net.minecraft.nbt.CompoundTag tag)
    • updatePuzzleConnections

      public static void updatePuzzleConnections(List<IProgWidget> progWidgets)
    • handleGUIButtonPress

      public void handleGUIButtonPress(String tag, boolean shiftHeld, net.minecraft.server.level.ServerPlayer player)
      Specified by:
      handleGUIButtonPress in interface IGUIButtonSensitive
      Overrides:
      handleGUIButtonPress in class AbstractPneumaticCraftBlockEntity
    • getItemInProgrammingSlot

      @Nonnull public net.minecraft.world.item.ItemStack getItemInProgrammingSlot()
    • getInventoryCap

      protected net.minecraftforge.common.util.LazyOptional<net.minecraftforge.items.IItemHandler> getInventoryCap(net.minecraft.core.Direction side)
      Overrides:
      getInventoryCap in class AbstractPneumaticCraftBlockEntity
    • getPrimaryInventory

      public net.minecraftforge.items.IItemHandler getPrimaryInventory()
      Specified by:
      getPrimaryInventory in class AbstractPneumaticCraftBlockEntity
    • setText

      public void setText(int textFieldID, String text)
      Specified by:
      setText in interface IGUITextFieldSensitive
    • getText

      public String getText(int textFieldID)
      Specified by:
      getText in interface IGUITextFieldSensitive
    • tryProgramDrone

      public void tryProgramDrone(net.minecraft.world.entity.player.Player player)
    • getRequiredPuzzleCount

      public int getRequiredPuzzleCount()
      Get the number of puzzle pieces required to program the drone (or other item) in the programming slot. This can be negative, which means pieces would be returned when programming the drone.
      Returns:
      a piece count
    • getProgWidgets

      public static List<IProgWidget> getProgWidgets(net.minecraft.world.item.ItemStack iStack)
    • getAllVariables

      public Set<String> getAllVariables()
    • tickServer

      public void tickServer()
      Overrides:
      tickServer in class AbstractTickingBlockEntity
    • previewArea

      public void previewArea(IProgWidget progWidget)
    • createMenu

      @Nullable public net.minecraft.world.inventory.AbstractContainerMenu createMenu(int i, net.minecraft.world.entity.player.Inventory playerInventory, net.minecraft.world.entity.player.Player playerEntity)
      Specified by:
      createMenu in interface net.minecraft.world.inventory.MenuConstructor
    • setProgWidgets

      public void setProgWidgets(List<IProgWidget> widgets, net.minecraft.world.entity.player.Player player)
      Replace the prog widget list when an update packet is received or an import is done.
      Parameters:
      widgets - the new widget list
      player - player who just made this change, may be null (used for syncing - ignored clientside)