Class AbstractSkullBlock

All Implemented Interfaces:
BlockEntityProvider, Equipment, ItemConvertible, Vanishable, ToggleableFeature
Direct Known Subclasses:
SkullBlock, WallSkullBlock

public abstract class AbstractSkullBlock extends BlockWithEntity implements Equipment
Mappings:
Namespace Name
official coj
intermediary net/minecraft/class_2190
named net/minecraft/block/AbstractSkullBlock
  • Field Details

    • type

      private final SkullBlock.SkullType type
      Mappings:
      Namespace Name Mixin selector
      official a Lcoj;a:Lcwp$a;
      intermediary field_9867 Lnet/minecraft/class_2190;field_9867:Lnet/minecraft/class_2484$class_2485;
      named type Lnet/minecraft/block/AbstractSkullBlock;type:Lnet/minecraft/block/SkullBlock$SkullType;
  • Constructor Details

    • AbstractSkullBlock

      public AbstractSkullBlock(SkullBlock.SkullType type, AbstractBlock.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lcoj;<init>(Lcwp$a;Ldca$d;)V
      intermediary <init> Lnet/minecraft/class_2190;<init>(Lnet/minecraft/class_2484$class_2485;Lnet/minecraft/class_4970$class_2251;)V
      named <init> Lnet/minecraft/block/AbstractSkullBlock;<init>(Lnet/minecraft/block/SkullBlock$SkullType;Lnet/minecraft/block/AbstractBlock$Settings;)V
  • Method Details

    • createBlockEntity

      public BlockEntity createBlockEntity(BlockPos pos, BlockState state)
      Returns a new block entity instance.

      For example:

      
       @Override
       public BlockEntity createBlockEntity(BlockPos pos, BlockState state) {
         return new MyBlockEntity(pos, state);
       }
       
      Specified by:
      createBlockEntity in interface BlockEntityProvider
      Returns:
      a new block entity instance
      Mappings:
      Namespace Name Mixin selector
      official a Lcsb;a(Lgu;Ldcb;)Lczn;
      intermediary method_10123 Lnet/minecraft/class_2343;method_10123(Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Lnet/minecraft/class_2586;
      named createBlockEntity Lnet/minecraft/block/BlockEntityProvider;createBlockEntity(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Lnet/minecraft/block/entity/BlockEntity;
    • getTicker

      @Nullable public <T extends BlockEntity> @Nullable BlockEntityTicker<T> getTicker(World world, BlockState state, BlockEntityType<T> type)
      Returns the "ticker" for the block's block entity, or null if the block entity does not need to be ticked.

      Ticker is a functional interface called every tick to tick the block entity on both the client and the server.

      Tickers should validate that the passed type is the one this block expects, and return null if it isn't. This is to prevent crashes in rare cases where a mismatch occurs between the position's block and block entity. BlockWithEntity.checkType(net.minecraft.block.entity.BlockEntityType<A>, net.minecraft.block.entity.BlockEntityType<E>, net.minecraft.block.entity.BlockEntityTicker<? super E>) can be used to implement the check.

      Example:

      
       public <T extends BlockEntity> BlockEntityTicker<T> getTicker(World world, BlockState state, BlockEntityType<T> type) {
         if (type != YourMod.MY_BLOCK_ENTITY_TYPE) return null;
         // This should be a static method usable as a BlockEntityTicker.
         return YourBlockEntity::tick;
       }
       
      Specified by:
      getTicker in interface BlockEntityProvider
      Returns:
      the "ticker" for the block's block entity, or null if the block entity does not need to be ticked
      Mappings:
      Namespace Name Mixin selector
      official a Lcsb;a(Lcmm;Ldcb;Lczp;)Lczo;
      intermediary method_31645 Lnet/minecraft/class_2343;method_31645(Lnet/minecraft/class_1937;Lnet/minecraft/class_2680;Lnet/minecraft/class_2591;)Lnet/minecraft/class_5558;
      named getTicker Lnet/minecraft/block/BlockEntityProvider;getTicker(Lnet/minecraft/world/World;Lnet/minecraft/block/BlockState;Lnet/minecraft/block/entity/BlockEntityType;)Lnet/minecraft/block/entity/BlockEntityTicker;
    • getSkullType

      public SkullBlock.SkullType getSkullType()
      Mappings:
      Namespace Name Mixin selector
      official a Lcoj;a()Lcwp$a;
      intermediary method_9327 Lnet/minecraft/class_2190;method_9327()Lnet/minecraft/class_2484$class_2485;
      named getSkullType Lnet/minecraft/block/AbstractSkullBlock;getSkullType()Lnet/minecraft/block/SkullBlock$SkullType;
    • canPathfindThrough

      public boolean canPathfindThrough(BlockState state, BlockView world, BlockPos pos, NavigationType type)
      Returns if an entity using navigation type type can navigate through this block.
      Overrides:
      canPathfindThrough in class AbstractBlock
      Returns:
      if an entity using navigation type type can navigate through this block
      Mappings:
      Namespace Name Mixin selector
      official a Ldca;a(Ldcb;Lcls;Lgu;Ldxu;)Z
      intermediary method_9516 Lnet/minecraft/class_4970;method_9516(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_10;)Z
      named canPathfindThrough Lnet/minecraft/block/AbstractBlock;canPathfindThrough(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/ai/pathing/NavigationType;)Z
    • getSlotType

      public EquipmentSlot getSlotType()
      Specified by:
      getSlotType in interface Equipment
      Mappings:
      Namespace Name Mixin selector
      official g Lcfa;g()Lbfo;
      intermediary method_7685 Lnet/minecraft/class_5151;method_7685()Lnet/minecraft/class_1304;
      named getSlotType Lnet/minecraft/item/Equipment;getSlotType()Lnet/minecraft/entity/EquipmentSlot;