Package org.moddingx.libx.base.tile
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
Nested classes/interfaces inherited from class net.minecraft.world.level.block.Block
net.minecraft.world.level.block.Block.BlockStatePairKeyNested classes/interfaces inherited from class net.minecraft.world.level.block.state.BlockBehaviour
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.StatePredicateNested classes/interfaces inherited from interface org.moddingx.libx.registration.Registerable
Registerable.EntryCollector -
Field Summary
Fields inherited from class net.minecraft.world.level.block.Block
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_DROPSFields inherited from class net.minecraft.world.level.block.state.BlockBehaviour
drops, dynamicShape, explosionResistance, friction, hasCollision, isRandomlyTicking, jumpFactor, properties, requiredFeatures, soundType, speedFactor, UPDATE_SHAPE_ORDERFields inherited from interface net.minecraft.world.flag.FeatureElement
FILTERED_REGISTRIES -
Constructor Summary
ConstructorsConstructorDescriptionBlockBE(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
Modifier and TypeMethodDescriptiongetBlockEntity(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.GameEventListenergetListener(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.BlockEntitynewBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state) voidonRemove(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) voidregisterAdditional(RegistrationContext ctx, Registerable.EntryCollector builder) Registers additional objects.protected booleanshouldDropInventory(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
getBurnTime, makeCreativeTabStacksMethods inherited from class net.minecraft.world.level.block.Block
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, withPropertiesOfMethods inherited from class net.minecraft.world.level.block.state.BlockBehaviour
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, useWithoutItemMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.world.flag.FeatureElement
isEnabledMethods inherited from interface net.neoforged.neoforge.common.extensions.IBlockExtension
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, supportsExternalFaceHidingMethods inherited from interface org.moddingx.libx.registration.Registerable
registerClientAdditional, setupClient, setupCommon
-
Constructor Details
-
BlockBE
-
BlockBE
-
-
Method Details
-
registerAdditional
@OverridingMethodsMustInvokeSuper public void registerAdditional(RegistrationContext ctx, Registerable.EntryCollector builder) Description copied from interface:RegisterableRegisters additional objects. Those may beRegisterableas well. These objects will be registered with the id of this object and optionally a name suffix.- Specified by:
registerAdditionalin interfaceRegisterable- Overrides:
registerAdditionalin classBlockBase
-
newBlockEntity
@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:
newBlockEntityin interfacenet.minecraft.world.level.block.EntityBlock
-
getTicker
@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:
getTickerin interfacenet.minecraft.world.level.block.EntityBlock
-
getListener
@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:
getListenerin interfacenet.minecraft.world.level.block.EntityBlock
-
onRemove
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:
onRemovein classnet.minecraft.world.level.block.state.BlockBehaviour
-
getBlockEntity
-
getBlockEntityType
-
shouldDropInventory
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 ofIItemHandlerModifiable
-