Class DaylightDetectorBlock

All Implemented Interfaces:
BlockEntityProvider, ItemConvertible, ToggleableFeature

public class DaylightDetectorBlock extends BlockWithEntity
Mappings:
Namespace Name
official cup
intermediary net/minecraft/class_2309
named net/minecraft/block/DaylightDetectorBlock
  • Field Details

    • POWER

      public static final IntProperty POWER
      Mappings:
      Namespace Name Mixin selector
      official a Lcup;a:Ldgj;
      intermediary field_10897 Lnet/minecraft/class_2309;field_10897:Lnet/minecraft/class_2758;
      named POWER Lnet/minecraft/block/DaylightDetectorBlock;POWER:Lnet/minecraft/state/property/IntProperty;
    • INVERTED

      public static final BooleanProperty INVERTED
      Mappings:
      Namespace Name Mixin selector
      official b Lcup;b:Ldga;
      intermediary field_10899 Lnet/minecraft/class_2309;field_10899:Lnet/minecraft/class_2746;
      named INVERTED Lnet/minecraft/block/DaylightDetectorBlock;INVERTED:Lnet/minecraft/state/property/BooleanProperty;
    • SHAPE

      protected static final VoxelShape SHAPE
      Mappings:
      Namespace Name Mixin selector
      official c Lcup;c:Leig;
      intermediary field_10898 Lnet/minecraft/class_2309;field_10898:Lnet/minecraft/class_265;
      named SHAPE Lnet/minecraft/block/DaylightDetectorBlock;SHAPE:Lnet/minecraft/util/shape/VoxelShape;
  • Constructor Details

    • DaylightDetectorBlock

      public DaylightDetectorBlock(AbstractBlock.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      official <init> Ldfi;<init>(Ldfi$d;)V
      intermediary <init> Lnet/minecraft/class_4970;<init>(Lnet/minecraft/class_4970$class_2251;)V
      named <init> Lnet/minecraft/block/AbstractBlock;<init>(Lnet/minecraft/block/AbstractBlock$Settings;)V
  • Method Details

    • getOutlineShape

      public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context)
      Overrides:
      getOutlineShape in class AbstractBlock
      Mappings:
      Namespace Name Mixin selector
      official a Ldfi;a(Ldfj;Lcpb;Lgw;Lehs;)Leig;
      intermediary method_9530 Lnet/minecraft/class_4970;method_9530(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_3726;)Lnet/minecraft/class_265;
      named getOutlineShape Lnet/minecraft/block/AbstractBlock;getOutlineShape(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/ShapeContext;)Lnet/minecraft/util/shape/VoxelShape;
    • hasSidedTransparency

      public boolean hasSidedTransparency(BlockState state)
      Returns whether the block's transparency depends on the side of the block, like slabs.
      Overrides:
      hasSidedTransparency in class AbstractBlock
      Returns:
      whether the block's transparency depends on the side of the block, like slabs
      Mappings:
      Namespace Name Mixin selector
      official g_ Ldfi;g_(Ldfj;)Z
      intermediary method_9526 Lnet/minecraft/class_4970;method_9526(Lnet/minecraft/class_2680;)Z
      named hasSidedTransparency Lnet/minecraft/block/AbstractBlock;hasSidedTransparency(Lnet/minecraft/block/BlockState;)Z
    • getWeakRedstonePower

      public int getWeakRedstonePower(BlockState state, BlockView world, BlockPos pos, Direction direction)
      Returns the weak redstone power emitted from the block.

      When overriding this, make sure to also override AbstractBlock.emitsRedstonePower(net.minecraft.block.BlockState) to return true.

      Weak redstone power is a power that cannot power a redstone wire when a solid block is in between. For example, RedstoneBlock and TargetBlock emits weak redstone power only. LeverBlock and ButtonBlock emits both weak and strong redstone power depending on the direction.

      Overrides:
      getWeakRedstonePower in class AbstractBlock
      Returns:
      the weak redstone power emitted from the block
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldfi;a(Ldfj;Lcpb;Lgw;Lha;)I
      intermediary method_9524 Lnet/minecraft/class_4970;method_9524(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)I
      named getWeakRedstonePower Lnet/minecraft/block/AbstractBlock;getWeakRedstonePower(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;)I
    • updateState

      private static void updateState(BlockState state, World world, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      official d Lcup;d(Ldfj;Lcpv;Lgw;)V
      intermediary method_9983 Lnet/minecraft/class_2309;method_9983(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)V
      named updateState Lnet/minecraft/block/DaylightDetectorBlock;updateState(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
    • onUse

      public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit)
      Called when this block is used by a player. This, by default, is bound to using the right mouse button.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using world.isClient().

      If the action result is successful on a logical client, then the action will be sent to the logical server for processing.

      Overrides:
      onUse in class AbstractBlock
      Returns:
      an action result that specifies if using the block was successful.
      Mappings:
      Namespace Name Mixin selector
      official a Ldfi;a(Ldfj;Lcpv;Lgw;Lcbu;Lbgx;Lehj;)Lbgy;
      intermediary method_9534 Lnet/minecraft/class_4970;method_9534(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;Lnet/minecraft/class_3965;)Lnet/minecraft/class_1269;
      named onUse Lnet/minecraft/block/AbstractBlock;onUse(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/util/hit/BlockHitResult;)Lnet/minecraft/util/ActionResult;
    • getRenderType

      public BlockRenderType getRenderType(BlockState state)
      Returns the block's render type (invisible, animated, model).
      Overrides:
      getRenderType in class BlockWithEntity
      Returns:
      the block's render type (invisible, animated, model)
      Mappings:
      Namespace Name Mixin selector
      official b_ Ldfi;b_(Ldfj;)Lcza;
      intermediary method_9604 Lnet/minecraft/class_4970;method_9604(Lnet/minecraft/class_2680;)Lnet/minecraft/class_2464;
      named getRenderType Lnet/minecraft/block/AbstractBlock;getRenderType(Lnet/minecraft/block/BlockState;)Lnet/minecraft/block/BlockRenderType;
    • emitsRedstonePower

      public boolean emitsRedstonePower(BlockState state)
      Returns whether the block is capable of emitting redstone power.

      This does not return whether the block is currently emitting redstone power. Use RedstoneView.isEmittingRedstonePower(net.minecraft.util.math.BlockPos, net.minecraft.util.math.Direction) in that case.

      Overrides:
      emitsRedstonePower in class AbstractBlock
      Returns:
      whether the block is capable of emitting redstone power
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official f_ Ldfi;f_(Ldfj;)Z
      intermediary method_9506 Lnet/minecraft/class_4970;method_9506(Lnet/minecraft/class_2680;)Z
      named emitsRedstonePower Lnet/minecraft/block/AbstractBlock;emitsRedstonePower(Lnet/minecraft/block/BlockState;)Z
    • 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);
       }
       
      Returns:
      a new block entity instance
      Mappings:
      Namespace Name Mixin selector
      official a Lcvj;a(Lgw;Ldfj;)Ldcv;
      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.validateTicker(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;
       }
       
      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 Lcvj;a(Lcpv;Ldfj;Ldcx;)Ldcw;
      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;
    • tick

      private static void tick(World world, BlockPos pos, BlockState state, DaylightDetectorBlockEntity blockEntity)
      Mappings:
      Namespace Name Mixin selector
      official a Lcup;a(Lcpv;Lgw;Ldfj;Lddj;)V
      intermediary method_31642 Lnet/minecraft/class_2309;method_31642(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_2603;)V
      named tick Lnet/minecraft/block/DaylightDetectorBlock;tick(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/block/entity/DaylightDetectorBlockEntity;)V
    • appendProperties

      protected void appendProperties(StateManager.Builder<Block,BlockState> builder)
      Appends block state properties to this block. To use this, override and call StateManager.Builder.add(net.minecraft.state.property.Property<?>[]) inside the method. See Properties for the list of pre-defined properties.
      Overrides:
      appendProperties in class Block
      Mappings:
      Namespace Name Mixin selector
      official a Lcsv;a(Ldfk$a;)V
      intermediary method_9515 Lnet/minecraft/class_2248;method_9515(Lnet/minecraft/class_2689$class_2690;)V
      named appendProperties Lnet/minecraft/block/Block;appendProperties(Lnet/minecraft/state/StateManager$Builder;)V