Class BlockBE<T extends net.minecraft.world.level.block.entity.BlockEntity>

java.lang.Object
net.minecraft.world.level.block.state.BlockBehaviour
net.minecraft.world.level.block.Block
org.moddingx.libx.base.BlockBase
org.moddingx.libx.base.tile.BlockBE<T>
All Implemented Interfaces:
net.minecraft.world.flag.FeatureElement, net.minecraft.world.level.block.EntityBlock, net.minecraft.world.level.ItemLike, net.neoforged.neoforge.common.extensions.IBlockExtension, CreativeTabItemProvider, Registerable
Direct Known Subclasses:
MenuBlockBE

public class BlockBE<T extends net.minecraft.world.level.block.entity.BlockEntity> extends BlockBase implements net.minecraft.world.level.block.EntityBlock
Base class for blocks with block entities for mods using ModXRegistration. This will automatically set the creative tab if it's defined in the mod and register a block item and a block entity type. The constructor requires a BlockEntity class. The block entity class must define a public constructor with three arguments of types BlockEntityType, BlockPos and BlockState for this to create a block entity type. This class will do the magic to wire the block entity to the block and invoke the constructor. The block entity class can implement TickingBlock and GameEventBlock. This class will then generate a matching BlockEntityTicker and a GameEventListener if required.
  • Nested Class Summary Link icon

    Nested classes/interfaces inherited from class net.minecraft.world.level.block.Block Link icon

    net.minecraft.world.level.block.Block.BlockStatePairKey

    Nested classes/interfaces inherited from class net.minecraft.world.level.block.state.BlockBehaviour Link icon

    net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase, net.minecraft.world.level.block.state.BlockBehaviour.OffsetFunction, net.minecraft.world.level.block.state.BlockBehaviour.OffsetType, net.minecraft.world.level.block.state.BlockBehaviour.Properties, net.minecraft.world.level.block.state.BlockBehaviour.StateArgumentPredicate<A>, net.minecraft.world.level.block.state.BlockBehaviour.StatePredicate

    Nested classes/interfaces inherited from interface org.moddingx.libx.registration.Registerable Link icon

    Registerable.EntryCollector
  • Field Summary Link icon

    Fields inherited from class org.moddingx.libx.base.BlockBase Link icon

    mod

    Fields inherited from class net.minecraft.world.level.block.Block Link icon

    BLOCK_STATE_REGISTRY, CODEC, INDESTRUCTIBLE, INSTANT, stateDefinition, UPDATE_ALL, UPDATE_ALL_IMMEDIATE, UPDATE_CLIENTS, UPDATE_IMMEDIATE, UPDATE_INVISIBLE, UPDATE_KNOWN_SHAPE, UPDATE_LIMIT, UPDATE_MOVE_BY_PISTON, UPDATE_NEIGHBORS, UPDATE_NONE, UPDATE_SUPPRESS_DROPS

    Fields inherited from class net.minecraft.world.level.block.state.BlockBehaviour Link icon

    drops, dynamicShape, explosionResistance, friction, hasCollision, isRandomlyTicking, jumpFactor, properties, requiredFeatures, soundType, speedFactor, UPDATE_SHAPE_ORDER

    Fields inherited from interface net.minecraft.world.flag.FeatureElement Link icon

    FILTERED_REGISTRIES
  • Constructor Summary Link icon

    Constructors
    Constructor
    Description
    BlockBE(ModX mod, Class<T> beClass, net.minecraft.world.level.block.state.BlockBehaviour.Properties properties)
     
    BlockBE(ModX mod, Class<T> beClass, net.minecraft.world.level.block.state.BlockBehaviour.Properties properties, net.minecraft.world.item.Item.Properties itemProperties)
     
  • Method Summary Link icon

    Modifier and Type
    Method
    Description
    getBlockEntity(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos)
     
    net.minecraft.world.level.block.entity.BlockEntityType<T>
     
    <X extends net.minecraft.world.level.block.entity.BlockEntity>
    net.minecraft.world.level.gameevent.GameEventListener
    getListener(net.minecraft.server.level.ServerLevel level, X blockEntity)
     
    <X extends net.minecraft.world.level.block.entity.BlockEntity>
    net.minecraft.world.level.block.entity.BlockEntityTicker<X>
    getTicker(net.minecraft.world.level.Level level, net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.block.entity.BlockEntityType<X> beType)
     
    net.minecraft.world.level.block.entity.BlockEntity
    newBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
     
    void
    onRemove(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState newState, boolean isMoving)
     
    void
    Registers additional objects.
    protected boolean
    shouldDropInventory(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
    Override this to prevent the inventory of the block entity to be dropped when the block is broken.

    Methods inherited from class org.moddingx.libx.base.BlockBase Link icon

    getBurnTime, makeCreativeTabStacks

    Methods inherited from class net.minecraft.world.level.block.Block Link icon

    animateTick, appendHoverText, asBlock, asItem, box, builtInRegistryHolder, byItem, canSupportCenter, canSupportRigidBlock, codec, createBlockStateDefinition, defaultBlockState, destroy, dropFromExplosion, dropResources, dropResources, dropResources, fallOn, getCloneItemStack, getDescriptionId, getDrops, getDrops, getExplosionResistance, getFriction, getId, getJumpFactor, getName, getShapeForEachState, getSpeedFactor, getStateDefinition, getStateForPlacement, handlePrecipitation, hasDynamicShape, initializeClient, isExceptionForConnection, isFaceFull, isPossibleToRespawnInThis, isShapeFullBlock, playerDestroy, playerWillDestroy, popExperience, popResource, popResourceFromFace, pushEntitiesUp, registerDefaultState, setPlacedBy, shouldRenderFace, spawnDestroyParticles, stateById, stepOn, toString, tryDropExperience, updateEntityAfterFallOn, updateFromNeighbourShapes, updateOrDestroy, updateOrDestroy, wasExploded, withPropertiesOf

    Methods inherited from class net.minecraft.world.level.block.state.BlockBehaviour Link icon

    attack, canBeReplaced, canBeReplaced, canSurvive, defaultDestroyTime, defaultMapColor, entityInside, getAnalogOutputSignal, getBlockSupportShape, getCollisionShape, getDestroyProgress, getDirectSignal, getDrops, getFluidState, getInteractionShape, getLightBlock, getLootTable, getMaxHorizontalOffset, getMaxVerticalOffset, getMenuProvider, getOcclusionShape, getRenderShape, getSeed, getShadeBrightness, getShape, getSignal, getSoundType, getVisualShape, hasAnalogOutputSignal, isAir, isCollisionShapeFullBlock, isOcclusionShapeFullBlock, isPathfindable, isRandomlyTicking, isSignalSource, mirror, neighborChanged, onExplosionHit, onPlace, onProjectileHit, propagatesSkylightDown, properties, propertiesCodec, randomTick, requiredFeatures, rotate, simpleCodec, skipRendering, spawnAfterBreak, tick, triggerEvent, updateIndirectNeighbourShapes, updateShape, useItemOn, useShapeForLightOcclusion, useWithoutItem

    Methods inherited from class java.lang.Object Link icon

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface net.minecraft.world.flag.FeatureElement Link icon

    isEnabled

    Methods inherited from interface net.neoforged.neoforge.common.extensions.IBlockExtension Link icon

    addLandingEffects, addRunningEffects, canBeHydrated, canConnectRedstone, canDropFromExplosion, canEntityDestroy, canHarvestBlock, canStickTo, canSustainPlant, collisionExtendsVertically, getAdjacentBlockPathType, getAppearance, getBeaconColorMultiplier, getBedDirection, getBlockPathType, getBubbleColumnDirection, getCloneItemStack, getEnchantPowerBonus, getExpDrop, getExplosionResistance, getFireSpreadSpeed, getFlammability, getFriction, getLightEmission, getMapColor, getPistonPushReaction, getRespawnPosition, getSoundType, getStateAtViewpoint, getToolModifiedState, getWeakChanges, hasDynamicLightEmission, hidesNeighborFace, isBed, isBurning, isConduitFrame, isEmpty, isFertile, isFireSource, isFlammable, isLadder, isPortalFrame, isScaffolding, isSlimeBlock, isStickyBlock, makesOpenTrapdoorAboveClimbable, onBlockExploded, onBlockStateChange, onCaughtFire, onDestroyedByPlayer, onDestroyedByPushReaction, onNeighborChange, onTreeGrow, rotate, setBedOccupied, shouldCheckWeakPower, shouldDisplayFluidOverlay, shouldHideAdjacentFluidFace, supportsExternalFaceHiding

    Methods inherited from interface org.moddingx.libx.registration.Registerable Link icon

    registerClientAdditional, setupClient, setupCommon
  • Constructor Details Link icon

    • BlockBE Link icon

      public BlockBE(ModX mod, Class<T> beClass, net.minecraft.world.level.block.state.BlockBehaviour.Properties properties)
    • BlockBE Link icon

      public BlockBE(ModX mod, Class<T> beClass, net.minecraft.world.level.block.state.BlockBehaviour.Properties properties, @Nullable net.minecraft.world.item.Item.Properties itemProperties)
  • Method Details Link icon

    • registerAdditional Link icon

      Description copied from interface: Registerable
      Registers additional objects. Those may be Registerable as well. These objects will be registered with the id of this object and optionally a name suffix.
      Specified by:
      registerAdditional in interface Registerable
      Overrides:
      registerAdditional in class BlockBase
    • newBlockEntity Link icon

      @Nullable public net.minecraft.world.level.block.entity.BlockEntity newBlockEntity(@Nonnull net.minecraft.core.BlockPos pos, @Nonnull net.minecraft.world.level.block.state.BlockState state)
      Specified by:
      newBlockEntity in interface net.minecraft.world.level.block.EntityBlock
    • getTicker Link icon

      @Nullable public <X extends net.minecraft.world.level.block.entity.BlockEntity> net.minecraft.world.level.block.entity.BlockEntityTicker<X> getTicker(@Nonnull net.minecraft.world.level.Level level, @Nonnull net.minecraft.world.level.block.state.BlockState state, @Nonnull net.minecraft.world.level.block.entity.BlockEntityType<X> beType)
      Specified by:
      getTicker in interface net.minecraft.world.level.block.EntityBlock
    • getListener Link icon

      @Nullable public <X extends net.minecraft.world.level.block.entity.BlockEntity> net.minecraft.world.level.gameevent.GameEventListener getListener(@Nonnull net.minecraft.server.level.ServerLevel level, @Nonnull X blockEntity)
      Specified by:
      getListener in interface net.minecraft.world.level.block.EntityBlock
    • onRemove Link icon

      public void onRemove(@Nonnull net.minecraft.world.level.block.state.BlockState state, @Nonnull net.minecraft.world.level.Level level, @Nonnull net.minecraft.core.BlockPos pos, @Nonnull net.minecraft.world.level.block.state.BlockState newState, boolean isMoving)
      Overrides:
      onRemove in class net.minecraft.world.level.block.state.BlockBehaviour
    • getBlockEntity Link icon

      public T getBlockEntity(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos)
    • getBlockEntityType Link icon

      public net.minecraft.world.level.block.entity.BlockEntityType<T> getBlockEntityType()
    • shouldDropInventory Link icon

      protected boolean shouldDropInventory(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
      Override this to prevent the inventory of the block entity to be dropped when the block is broken. To automatically drop the inventory the block entity must provide an item handler capability that is an instance of IItemHandlerModifiable