Class BlockEntityType<T extends BlockEntity>

java.lang.Object
net.minecraft.block.entity.BlockEntityType<T>

public class BlockEntityType<T extends BlockEntity> extends Object
Represents a type of block entities. There is one instance of block entity for each placed block entity; this class represents the type of the placed block entities, like chests or furnaces.

Block entity types are pre-defined and registered in

invalid @link
Registry#BLOCK_ENTITY_TYPE
. To create a block entity type, the builder should be used.

Blocks that have corresponding block entities must implement BlockEntityProvider and list it in the builder of the block entity type. Multiple blocks or block states can be associated with a single block entity type.

See Also:
Mappings:
Namespace Name
official ctk
intermediary net/minecraft/class_2591
named net/minecraft/block/entity/BlockEntityType
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      official K Lctk;K:Lorg/slf4j/Logger;
      intermediary field_11893 Lnet/minecraft/class_2591;field_11893:Lorg/slf4j/Logger;
      named LOGGER Lnet/minecraft/block/entity/BlockEntityType;LOGGER:Lorg/slf4j/Logger;
    • FURNACE

      public static final BlockEntityType<FurnaceBlockEntity> FURNACE
      Mappings:
      Namespace Name Mixin selector
      official a Lctk;a:Lctk;
      intermediary field_11903 Lnet/minecraft/class_2591;field_11903:Lnet/minecraft/class_2591;
      named FURNACE Lnet/minecraft/block/entity/BlockEntityType;FURNACE:Lnet/minecraft/block/entity/BlockEntityType;
    • CHEST

      public static final BlockEntityType<ChestBlockEntity> CHEST
      Mappings:
      Namespace Name Mixin selector
      official b Lctk;b:Lctk;
      intermediary field_11914 Lnet/minecraft/class_2591;field_11914:Lnet/minecraft/class_2591;
      named CHEST Lnet/minecraft/block/entity/BlockEntityType;CHEST:Lnet/minecraft/block/entity/BlockEntityType;
    • TRAPPED_CHEST

      public static final BlockEntityType<TrappedChestBlockEntity> TRAPPED_CHEST
      Mappings:
      Namespace Name Mixin selector
      official c Lctk;c:Lctk;
      intermediary field_11891 Lnet/minecraft/class_2591;field_11891:Lnet/minecraft/class_2591;
      named TRAPPED_CHEST Lnet/minecraft/block/entity/BlockEntityType;TRAPPED_CHEST:Lnet/minecraft/block/entity/BlockEntityType;
    • ENDER_CHEST

      public static final BlockEntityType<EnderChestBlockEntity> ENDER_CHEST
      Mappings:
      Namespace Name Mixin selector
      official d Lctk;d:Lctk;
      intermediary field_11901 Lnet/minecraft/class_2591;field_11901:Lnet/minecraft/class_2591;
      named ENDER_CHEST Lnet/minecraft/block/entity/BlockEntityType;ENDER_CHEST:Lnet/minecraft/block/entity/BlockEntityType;
    • JUKEBOX

      public static final BlockEntityType<JukeboxBlockEntity> JUKEBOX
      Mappings:
      Namespace Name Mixin selector
      official e Lctk;e:Lctk;
      intermediary field_11907 Lnet/minecraft/class_2591;field_11907:Lnet/minecraft/class_2591;
      named JUKEBOX Lnet/minecraft/block/entity/BlockEntityType;JUKEBOX:Lnet/minecraft/block/entity/BlockEntityType;
    • DISPENSER

      public static final BlockEntityType<DispenserBlockEntity> DISPENSER
      Mappings:
      Namespace Name Mixin selector
      official f Lctk;f:Lctk;
      intermediary field_11887 Lnet/minecraft/class_2591;field_11887:Lnet/minecraft/class_2591;
      named DISPENSER Lnet/minecraft/block/entity/BlockEntityType;DISPENSER:Lnet/minecraft/block/entity/BlockEntityType;
    • DROPPER

      public static final BlockEntityType<DropperBlockEntity> DROPPER
      Mappings:
      Namespace Name Mixin selector
      official g Lctk;g:Lctk;
      intermediary field_11899 Lnet/minecraft/class_2591;field_11899:Lnet/minecraft/class_2591;
      named DROPPER Lnet/minecraft/block/entity/BlockEntityType;DROPPER:Lnet/minecraft/block/entity/BlockEntityType;
    • SIGN

      public static final BlockEntityType<SignBlockEntity> SIGN
      Mappings:
      Namespace Name Mixin selector
      official h Lctk;h:Lctk;
      intermediary field_11911 Lnet/minecraft/class_2591;field_11911:Lnet/minecraft/class_2591;
      named SIGN Lnet/minecraft/block/entity/BlockEntityType;SIGN:Lnet/minecraft/block/entity/BlockEntityType;
    • MOB_SPAWNER

      public static final BlockEntityType<MobSpawnerBlockEntity> MOB_SPAWNER
      Mappings:
      Namespace Name Mixin selector
      official i Lctk;i:Lctk;
      intermediary field_11889 Lnet/minecraft/class_2591;field_11889:Lnet/minecraft/class_2591;
      named MOB_SPAWNER Lnet/minecraft/block/entity/BlockEntityType;MOB_SPAWNER:Lnet/minecraft/block/entity/BlockEntityType;
    • PISTON

      public static final BlockEntityType<PistonBlockEntity> PISTON
      Mappings:
      Namespace Name Mixin selector
      official j Lctk;j:Lctk;
      intermediary field_11897 Lnet/minecraft/class_2591;field_11897:Lnet/minecraft/class_2591;
      named PISTON Lnet/minecraft/block/entity/BlockEntityType;PISTON:Lnet/minecraft/block/entity/BlockEntityType;
    • BREWING_STAND

      public static final BlockEntityType<BrewingStandBlockEntity> BREWING_STAND
      Mappings:
      Namespace Name Mixin selector
      official k Lctk;k:Lctk;
      intermediary field_11894 Lnet/minecraft/class_2591;field_11894:Lnet/minecraft/class_2591;
      named BREWING_STAND Lnet/minecraft/block/entity/BlockEntityType;BREWING_STAND:Lnet/minecraft/block/entity/BlockEntityType;
    • ENCHANTING_TABLE

      public static final BlockEntityType<EnchantingTableBlockEntity> ENCHANTING_TABLE
      Mappings:
      Namespace Name Mixin selector
      official l Lctk;l:Lctk;
      intermediary field_11912 Lnet/minecraft/class_2591;field_11912:Lnet/minecraft/class_2591;
      named ENCHANTING_TABLE Lnet/minecraft/block/entity/BlockEntityType;ENCHANTING_TABLE:Lnet/minecraft/block/entity/BlockEntityType;
    • END_PORTAL

      public static final BlockEntityType<EndPortalBlockEntity> END_PORTAL
      Mappings:
      Namespace Name Mixin selector
      official m Lctk;m:Lctk;
      intermediary field_11898 Lnet/minecraft/class_2591;field_11898:Lnet/minecraft/class_2591;
      named END_PORTAL Lnet/minecraft/block/entity/BlockEntityType;END_PORTAL:Lnet/minecraft/block/entity/BlockEntityType;
    • BEACON

      public static final BlockEntityType<BeaconBlockEntity> BEACON
      Mappings:
      Namespace Name Mixin selector
      official n Lctk;n:Lctk;
      intermediary field_11890 Lnet/minecraft/class_2591;field_11890:Lnet/minecraft/class_2591;
      named BEACON Lnet/minecraft/block/entity/BlockEntityType;BEACON:Lnet/minecraft/block/entity/BlockEntityType;
    • SKULL

      public static final BlockEntityType<SkullBlockEntity> SKULL
      Mappings:
      Namespace Name Mixin selector
      official o Lctk;o:Lctk;
      intermediary field_11913 Lnet/minecraft/class_2591;field_11913:Lnet/minecraft/class_2591;
      named SKULL Lnet/minecraft/block/entity/BlockEntityType;SKULL:Lnet/minecraft/block/entity/BlockEntityType;
    • DAYLIGHT_DETECTOR

      public static final BlockEntityType<DaylightDetectorBlockEntity> DAYLIGHT_DETECTOR
      Mappings:
      Namespace Name Mixin selector
      official p Lctk;p:Lctk;
      intermediary field_11900 Lnet/minecraft/class_2591;field_11900:Lnet/minecraft/class_2591;
      named DAYLIGHT_DETECTOR Lnet/minecraft/block/entity/BlockEntityType;DAYLIGHT_DETECTOR:Lnet/minecraft/block/entity/BlockEntityType;
    • HOPPER

      public static final BlockEntityType<HopperBlockEntity> HOPPER
      Mappings:
      Namespace Name Mixin selector
      official q Lctk;q:Lctk;
      intermediary field_11888 Lnet/minecraft/class_2591;field_11888:Lnet/minecraft/class_2591;
      named HOPPER Lnet/minecraft/block/entity/BlockEntityType;HOPPER:Lnet/minecraft/block/entity/BlockEntityType;
    • COMPARATOR

      public static final BlockEntityType<ComparatorBlockEntity> COMPARATOR
      Mappings:
      Namespace Name Mixin selector
      official r Lctk;r:Lctk;
      intermediary field_11908 Lnet/minecraft/class_2591;field_11908:Lnet/minecraft/class_2591;
      named COMPARATOR Lnet/minecraft/block/entity/BlockEntityType;COMPARATOR:Lnet/minecraft/block/entity/BlockEntityType;
    • STRUCTURE_BLOCK

      public static final BlockEntityType<StructureBlockBlockEntity> STRUCTURE_BLOCK
      Mappings:
      Namespace Name Mixin selector
      official t Lctk;t:Lctk;
      intermediary field_11895 Lnet/minecraft/class_2591;field_11895:Lnet/minecraft/class_2591;
      named STRUCTURE_BLOCK Lnet/minecraft/block/entity/BlockEntityType;STRUCTURE_BLOCK:Lnet/minecraft/block/entity/BlockEntityType;
    • END_GATEWAY

      public static final BlockEntityType<EndGatewayBlockEntity> END_GATEWAY
      Mappings:
      Namespace Name Mixin selector
      official u Lctk;u:Lctk;
      intermediary field_11906 Lnet/minecraft/class_2591;field_11906:Lnet/minecraft/class_2591;
      named END_GATEWAY Lnet/minecraft/block/entity/BlockEntityType;END_GATEWAY:Lnet/minecraft/block/entity/BlockEntityType;
    • COMMAND_BLOCK

      public static final BlockEntityType<CommandBlockBlockEntity> COMMAND_BLOCK
      Mappings:
      Namespace Name Mixin selector
      official v Lctk;v:Lctk;
      intermediary field_11904 Lnet/minecraft/class_2591;field_11904:Lnet/minecraft/class_2591;
      named COMMAND_BLOCK Lnet/minecraft/block/entity/BlockEntityType;COMMAND_BLOCK:Lnet/minecraft/block/entity/BlockEntityType;
    • SHULKER_BOX

      public static final BlockEntityType<ShulkerBoxBlockEntity> SHULKER_BOX
      Mappings:
      Namespace Name Mixin selector
      official w Lctk;w:Lctk;
      intermediary field_11896 Lnet/minecraft/class_2591;field_11896:Lnet/minecraft/class_2591;
      named SHULKER_BOX Lnet/minecraft/block/entity/BlockEntityType;SHULKER_BOX:Lnet/minecraft/block/entity/BlockEntityType;
    • BED

      public static final BlockEntityType<BedBlockEntity> BED
      Mappings:
      Namespace Name Mixin selector
      official x Lctk;x:Lctk;
      intermediary field_11910 Lnet/minecraft/class_2591;field_11910:Lnet/minecraft/class_2591;
      named BED Lnet/minecraft/block/entity/BlockEntityType;BED:Lnet/minecraft/block/entity/BlockEntityType;
    • CONDUIT

      public static final BlockEntityType<ConduitBlockEntity> CONDUIT
      Mappings:
      Namespace Name Mixin selector
      official y Lctk;y:Lctk;
      intermediary field_11902 Lnet/minecraft/class_2591;field_11902:Lnet/minecraft/class_2591;
      named CONDUIT Lnet/minecraft/block/entity/BlockEntityType;CONDUIT:Lnet/minecraft/block/entity/BlockEntityType;
    • BARREL

      public static final BlockEntityType<BarrelBlockEntity> BARREL
      Mappings:
      Namespace Name Mixin selector
      official z Lctk;z:Lctk;
      intermediary field_16411 Lnet/minecraft/class_2591;field_16411:Lnet/minecraft/class_2591;
      named BARREL Lnet/minecraft/block/entity/BlockEntityType;BARREL:Lnet/minecraft/block/entity/BlockEntityType;
    • SMOKER

      public static final BlockEntityType<SmokerBlockEntity> SMOKER
      Mappings:
      Namespace Name Mixin selector
      official A Lctk;A:Lctk;
      intermediary field_16414 Lnet/minecraft/class_2591;field_16414:Lnet/minecraft/class_2591;
      named SMOKER Lnet/minecraft/block/entity/BlockEntityType;SMOKER:Lnet/minecraft/block/entity/BlockEntityType;
    • BLAST_FURNACE

      public static final BlockEntityType<BlastFurnaceBlockEntity> BLAST_FURNACE
      Mappings:
      Namespace Name Mixin selector
      official B Lctk;B:Lctk;
      intermediary field_16415 Lnet/minecraft/class_2591;field_16415:Lnet/minecraft/class_2591;
      named BLAST_FURNACE Lnet/minecraft/block/entity/BlockEntityType;BLAST_FURNACE:Lnet/minecraft/block/entity/BlockEntityType;
    • LECTERN

      public static final BlockEntityType<LecternBlockEntity> LECTERN
      Mappings:
      Namespace Name Mixin selector
      official C Lctk;C:Lctk;
      intermediary field_16412 Lnet/minecraft/class_2591;field_16412:Lnet/minecraft/class_2591;
      named LECTERN Lnet/minecraft/block/entity/BlockEntityType;LECTERN:Lnet/minecraft/block/entity/BlockEntityType;
    • BELL

      public static final BlockEntityType<BellBlockEntity> BELL
      Mappings:
      Namespace Name Mixin selector
      official D Lctk;D:Lctk;
      intermediary field_16413 Lnet/minecraft/class_2591;field_16413:Lnet/minecraft/class_2591;
      named BELL Lnet/minecraft/block/entity/BlockEntityType;BELL:Lnet/minecraft/block/entity/BlockEntityType;
    • JIGSAW

      public static final BlockEntityType<JigsawBlockEntity> JIGSAW
      Mappings:
      Namespace Name Mixin selector
      official E Lctk;E:Lctk;
      intermediary field_16549 Lnet/minecraft/class_2591;field_16549:Lnet/minecraft/class_2591;
      named JIGSAW Lnet/minecraft/block/entity/BlockEntityType;JIGSAW:Lnet/minecraft/block/entity/BlockEntityType;
    • CAMPFIRE

      public static final BlockEntityType<CampfireBlockEntity> CAMPFIRE
      Mappings:
      Namespace Name Mixin selector
      official F Lctk;F:Lctk;
      intermediary field_17380 Lnet/minecraft/class_2591;field_17380:Lnet/minecraft/class_2591;
      named CAMPFIRE Lnet/minecraft/block/entity/BlockEntityType;CAMPFIRE:Lnet/minecraft/block/entity/BlockEntityType;
    • BEEHIVE

      public static final BlockEntityType<BeehiveBlockEntity> BEEHIVE
      Mappings:
      Namespace Name Mixin selector
      official G Lctk;G:Lctk;
      intermediary field_20431 Lnet/minecraft/class_2591;field_20431:Lnet/minecraft/class_2591;
      named BEEHIVE Lnet/minecraft/block/entity/BlockEntityType;BEEHIVE:Lnet/minecraft/block/entity/BlockEntityType;
    • SCULK_SENSOR

      public static final BlockEntityType<SculkSensorBlockEntity> SCULK_SENSOR
      Mappings:
      Namespace Name Mixin selector
      official H Lctk;H:Lctk;
      intermediary field_28117 Lnet/minecraft/class_2591;field_28117:Lnet/minecraft/class_2591;
      named SCULK_SENSOR Lnet/minecraft/block/entity/BlockEntityType;SCULK_SENSOR:Lnet/minecraft/block/entity/BlockEntityType;
    • SCULK_CATALYST

      public static final BlockEntityType<SculkCatalystBlockEntity> SCULK_CATALYST
      Mappings:
      Namespace Name Mixin selector
      official I Lctk;I:Lctk;
      intermediary field_37647 Lnet/minecraft/class_2591;field_37647:Lnet/minecraft/class_2591;
      named SCULK_CATALYST Lnet/minecraft/block/entity/BlockEntityType;SCULK_CATALYST:Lnet/minecraft/block/entity/BlockEntityType;
    • SCULK_SHRIEKER

      public static final BlockEntityType<SculkShriekerBlockEntity> SCULK_SHRIEKER
      Mappings:
      Namespace Name Mixin selector
      official J Lctk;J:Lctk;
      intermediary field_37648 Lnet/minecraft/class_2591;field_37648:Lnet/minecraft/class_2591;
      named SCULK_SHRIEKER Lnet/minecraft/block/entity/BlockEntityType;SCULK_SHRIEKER:Lnet/minecraft/block/entity/BlockEntityType;
    • factory

      private final BlockEntityType.BlockEntityFactory<? extends T extends BlockEntity> factory
      Mappings:
      Namespace Name Mixin selector
      official L Lctk;L:Lctk$a;
      intermediary field_11892 Lnet/minecraft/class_2591;field_11892:Lnet/minecraft/class_2591$class_5559;
      named factory Lnet/minecraft/block/entity/BlockEntityType;factory:Lnet/minecraft/block/entity/BlockEntityType$BlockEntityFactory;
    • blocks

      private final Set<Block> blocks
      Mappings:
      Namespace Name Mixin selector
      official M Lctk;M:Ljava/util/Set;
      intermediary field_19315 Lnet/minecraft/class_2591;field_19315:Ljava/util/Set;
      named blocks Lnet/minecraft/block/entity/BlockEntityType;blocks:Ljava/util/Set;
    • type

      private final com.mojang.datafixers.types.Type<?> type
      Mappings:
      Namespace Name Mixin selector
      official N Lctk;N:Lcom/mojang/datafixers/types/Type;
      intermediary field_11909 Lnet/minecraft/class_2591;field_11909:Lcom/mojang/datafixers/types/Type;
      named type Lnet/minecraft/block/entity/BlockEntityType;type:Lcom/mojang/datafixers/types/Type;
  • Constructor Details

    • BlockEntityType

      public BlockEntityType(BlockEntityType.BlockEntityFactory<? extends T> factory, Set<Block> blocks, com.mojang.datafixers.types.Type<?> type)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lctk;<init>(Lctk$a;Ljava/util/Set;Lcom/mojang/datafixers/types/Type;)V
      intermediary <init> Lnet/minecraft/class_2591;<init>(Lnet/minecraft/class_2591$class_5559;Ljava/util/Set;Lcom/mojang/datafixers/types/Type;)V
      named <init> Lnet/minecraft/block/entity/BlockEntityType;<init>(Lnet/minecraft/block/entity/BlockEntityType$BlockEntityFactory;Ljava/util/Set;Lcom/mojang/datafixers/types/Type;)V
  • Method Details

    • getId

      @Nullable public static @Nullable Identifier getId(BlockEntityType<?> type)
      Returns the block entity type's ID, or null if it is unregistered.

      This should never return null under normal circumstances.

      Returns:
      the block entity type's ID, or null if it is unregistered
      Mappings:
      Namespace Name Mixin selector
      official a Lctk;a(Lctk;)Labb;
      intermediary method_11033 Lnet/minecraft/class_2591;method_11033(Lnet/minecraft/class_2591;)Lnet/minecraft/class_2960;
      named getId Lnet/minecraft/block/entity/BlockEntityType;getId(Lnet/minecraft/block/entity/BlockEntityType;)Lnet/minecraft/util/Identifier;
    • create

      private static <T extends BlockEntity> BlockEntityType<T> create(String id, BlockEntityType.Builder<T> builder)
      Mappings:
      Namespace Name Mixin selector
      official a Lctk;a(Ljava/lang/String;Lctk$b;)Lctk;
      intermediary method_11030 Lnet/minecraft/class_2591;method_11030(Ljava/lang/String;Lnet/minecraft/class_2591$class_2592;)Lnet/minecraft/class_2591;
      named create Lnet/minecraft/block/entity/BlockEntityType;create(Ljava/lang/String;Lnet/minecraft/block/entity/BlockEntityType$Builder;)Lnet/minecraft/block/entity/BlockEntityType;
    • instantiate

      @Nullable public T instantiate(BlockPos pos, BlockState state)
      Returns a new instance of the block entity.
      Returns:
      a new instance of the block entity
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lctk;a(Lgt;Lcvo;)Lcti;
      intermediary method_11032 Lnet/minecraft/class_2591;method_11032(Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Lnet/minecraft/class_2586;
      named instantiate Lnet/minecraft/block/entity/BlockEntityType;instantiate(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Lnet/minecraft/block/entity/BlockEntity;
    • supports

      public boolean supports(BlockState state)
      Returns whether the block entity type supports state.

      The block, not the block state, determines the corresponding block entity type; therefore, for states of the same block, the return value is the same.

      Returns:
      whether the block entity type supports state
      Mappings:
      Namespace Name Mixin selector
      official a Lctk;a(Lcvo;)Z
      intermediary method_20526 Lnet/minecraft/class_2591;method_20526(Lnet/minecraft/class_2680;)Z
      named supports Lnet/minecraft/block/entity/BlockEntityType;supports(Lnet/minecraft/block/BlockState;)Z
    • get

      @Nullable public T get(BlockView world, BlockPos pos)
      Returns the block entity instance of this type at pos, or null if no such block entity exists.
      Returns:
      the block entity instance of this type at pos, or null if no such block entity exists
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lctk;a(Lcgd;Lgt;)Lcti;
      intermediary method_24182 Lnet/minecraft/class_2591;method_24182(Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2586;
      named get Lnet/minecraft/block/entity/BlockEntityType;get(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/entity/BlockEntity;