Class PistonMovingBlockEntity
java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.level.block.entity.BlockEntity
net.minecraft.world.level.block.piston.PistonMovingBlockEntity
- All Implemented Interfaces:
IAttachmentHolder,IBlockEntityExtension
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.world.level.block.entity.BlockEntity
BlockEntity.DataComponentInputNested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
AttachmentHolder.AsField -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate Directionprivate booleanWhether this piston is extending.private booleanprivate longprivate BlockStateprivate static final ThreadLocal<Direction> private floatprivate floatThe extension / retraction progressprivate static final doublestatic final doubleprivate static final intFields inherited from class net.minecraft.world.level.block.entity.BlockEntity
level, remove, worldPositionFields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
ATTACHMENTS_NBT_KEY -
Constructor Summary
ConstructorsConstructorDescriptionPistonMovingBlockEntity(BlockPos pPos, BlockState pBlockState) PistonMovingBlockEntity(BlockPos pPos, BlockState pBlockState, BlockState pMovedState, Direction pDirection, boolean pExtending, boolean pIsSourcePiston) -
Method Summary
Modifier and TypeMethodDescriptionvoidprivate static voidfixEntityWithinPistonBase(BlockPos pPos, Entity pEntity, Direction pDir, double pProgress) private BlockStategetCollisionShape(BlockGetter pLevel, BlockPos pPos) private floatgetExtendedProgress(float pProgress) longprivate static doublegetMovement(AABB pHeadShape, Direction pDirection, AABB pFacing) floatgetProgress(float pPartialTicks) getUpdateTag(HolderLookup.Provider pRegistries) floatgetXOff(float pPartialTicks) floatgetYOff(float pPartialTicks) floatgetZOff(float pPartialTicks) booleanbooleanprivate booleanprotected voidloadAdditional(CompoundTag pTag, HolderLookup.Provider pRegistries) private static booleanmatchesStickyCritera(AABB pBox, Entity pEntity, BlockPos pPos) private static AABBmoveByPositionAndProgress(BlockPos pPos, AABB pAabb, PistonMovingBlockEntity pPistonMovingBlockEntity) private static voidmoveCollidedEntities(Level pLevel, BlockPos pPos, float pPartialTick, PistonMovingBlockEntity pPiston) private static voidmoveEntityByPiston(Direction pNoClipDirection, Entity pEntity, double pProgress, Direction pDirection) private static voidmoveStuckEntities(Level pLevel, BlockPos pPos, float pPartialTick, PistonMovingBlockEntity pPiston) protected voidsaveAdditional(CompoundTag pTag, HolderLookup.Provider pRegistries) voidstatic voidtick(Level pLevel, BlockPos pPos, BlockState pState, PistonMovingBlockEntity pBlockEntity) Methods inherited from class net.minecraft.world.level.block.entity.BlockEntity
addEntityType, applyComponents, applyComponentsFromItemStack, applyImplicitComponents, clearRemoved, collectComponents, collectImplicitComponents, components, fillCrashReportCategory, getBlockPos, getBlockState, getLevel, getPersistentData, getPosFromTag, getType, getUpdatePacket, hasLevel, isRemoved, isValidBlockState, loadCustomOnly, loadStatic, loadWithComponents, onlyOpCanSetNbt, parseCustomNameSafe, removeComponentsFromTag, removeData, saveCustomAndMetadata, saveCustomOnly, saveToItem, saveWithFullMetadata, saveWithId, saveWithoutMetadata, setBlockState, setChanged, setChanged, setComponents, setData, setRemoved, syncData, triggerEventMethods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, serializeAttachmentsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setData, syncDataMethods inherited from interface net.neoforged.neoforge.common.extensions.IBlockEntityExtension
getModelData, handleUpdateTag, hasCustomOutlineRendering, invalidateCapabilities, onChunkUnloaded, onDataPacket, onLoad, requestModelDataUpdate
-
Field Details
-
TICKS_TO_EXTEND
private static final int TICKS_TO_EXTEND- See Also:
-
PUSH_OFFSET
private static final double PUSH_OFFSET- See Also:
-
TICK_MOVEMENT
public static final double TICK_MOVEMENT- See Also:
-
movedState
-
direction
-
extending
private boolean extendingWhether this piston is extending. -
isSourcePiston
private boolean isSourcePiston -
NOCLIP
-
progress
private float progress -
progressO
private float progressOThe extension / retraction progress -
lastTicked
private long lastTicked -
deathTicks
private int deathTicks
-
-
Constructor Details
-
PistonMovingBlockEntity
-
PistonMovingBlockEntity
public PistonMovingBlockEntity(BlockPos pPos, BlockState pBlockState, BlockState pMovedState, Direction pDirection, boolean pExtending, boolean pIsSourcePiston)
-
-
Method Details
-
getUpdateTag
- Overrides:
getUpdateTagin classBlockEntity
-
isExtending
public boolean isExtending() -
getDirection
-
isSourcePiston
public boolean isSourcePiston() -
getProgress
public float getProgress(float pPartialTicks) - Returns:
- interpolated progress value (between lastProgress and progress) given the partialTicks
-
getXOff
public float getXOff(float pPartialTicks) -
getYOff
public float getYOff(float pPartialTicks) -
getZOff
public float getZOff(float pPartialTicks) -
getExtendedProgress
private float getExtendedProgress(float pProgress) -
getCollisionRelatedBlockState
-
moveCollidedEntities
private static void moveCollidedEntities(Level pLevel, BlockPos pPos, float pPartialTick, PistonMovingBlockEntity pPiston) -
moveEntityByPiston
-
moveStuckEntities
private static void moveStuckEntities(Level pLevel, BlockPos pPos, float pPartialTick, PistonMovingBlockEntity pPiston) -
matchesStickyCritera
-
isStickyForEntities
private boolean isStickyForEntities() -
getMovementDirection
-
getMovement
-
moveByPositionAndProgress
private static AABB moveByPositionAndProgress(BlockPos pPos, AABB pAabb, PistonMovingBlockEntity pPistonMovingBlockEntity) -
fixEntityWithinPistonBase
-
getMovedState
-
finalTick
public void finalTick() -
tick
public static void tick(Level pLevel, BlockPos pPos, BlockState pState, PistonMovingBlockEntity pBlockEntity) -
loadAdditional
- Overrides:
loadAdditionalin classBlockEntity
-
saveAdditional
- Overrides:
saveAdditionalin classBlockEntity
-
getCollisionShape
-
getLastTicked
public long getLastTicked() -
setLevel
- Overrides:
setLevelin classBlockEntity
-