Class GhostMultiblockControllerBE

java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.level.block.entity.BlockEntity
com.portingdeadmods.portingdeadlibs.api.blockentities.ContainerBlockEntity
com.portingdeadmods.portingdeadlibs.api.ghost.GhostMultiblockControllerBE
All Implemented Interfaces:
net.minecraft.world.inventory.MenuConstructor, net.minecraft.world.MenuProvider, net.neoforged.neoforge.attachment.IAttachmentHolder, net.neoforged.neoforge.client.extensions.IMenuProviderExtension, net.neoforged.neoforge.common.extensions.IBlockEntityExtension

public abstract class GhostMultiblockControllerBE extends ContainerBlockEntity implements net.minecraft.world.MenuProvider
  • Field Details

    • partPositions

      public final Set<net.minecraft.core.BlockPos> partPositions
    • exposedHandlers

      public final Map<net.minecraft.core.BlockPos,List<net.minecraft.resources.ResourceLocation>> exposedHandlers
    • partMenus

      public final Map<net.minecraft.core.BlockPos,GhostPartMenuFactory> partMenus
  • Constructor Details

    • GhostMultiblockControllerBE

      public GhostMultiblockControllerBE(net.minecraft.world.level.block.entity.BlockEntityType<?> blockEntityType, net.minecraft.core.BlockPos blockPos, net.minecraft.world.level.block.state.BlockState blockState)
  • Method Details

    • setPartConfiguration

      public void setPartConfiguration(Set<net.minecraft.core.BlockPos> partPositions, Map<net.minecraft.core.BlockPos,List<net.minecraft.resources.ResourceLocation>> handlerExposure, Map<net.minecraft.core.BlockPos,GhostPartMenuFactory> menuFactories)
    • getPartPositions

      public Set<net.minecraft.core.BlockPos> getPartPositions()
    • getExposedHandlers

      public Map<net.minecraft.core.BlockPos,List<net.minecraft.resources.ResourceLocation>> getExposedHandlers()
    • exposesHandler

      public boolean exposesHandler(net.minecraft.resources.ResourceLocation handlerKey, net.minecraft.core.BlockPos partPos)
    • exposesHandler

      public <T> boolean exposesHandler(net.neoforged.neoforge.capabilities.BlockCapability<T,@Nullable net.minecraft.core.Direction> handler, net.minecraft.core.BlockPos partPos)
    • prepareMenu

      public void prepareMenu(@Nullable @Nullable net.minecraft.core.BlockPos partPos)
    • saveData

      protected void saveData(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries)
      Overrides:
      saveData in class ContainerBlockEntity
    • loadData

      protected void loadData(net.minecraft.nbt.CompoundTag tag, net.minecraft.core.HolderLookup.Provider registries)
      Overrides:
      loadData in class ContainerBlockEntity
    • getDisplayName

      public abstract net.minecraft.network.chat.Component getDisplayName()
      Specified by:
      getDisplayName in interface net.minecraft.world.MenuProvider
    • createMenu

      @Nullable public final @Nullable net.minecraft.world.inventory.AbstractContainerMenu createMenu(int containerId, net.minecraft.world.entity.player.Inventory inventory, net.minecraft.world.entity.player.Player player)
      Specified by:
      createMenu in interface net.minecraft.world.inventory.MenuConstructor
    • createControllerMenu

      protected abstract PDLAbstractContainerMenu<?> createControllerMenu(int containerId, net.minecraft.world.entity.player.Inventory inventory, net.minecraft.world.entity.player.Player player)