java.lang.Object
net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.entity.Entity>
net.minecraft.world.entity.Entity
com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity
All Implemented Interfaces:
net.minecraft.commands.CommandSource, net.minecraft.world.level.entity.EntityAccess, net.minecraft.world.Nameable, net.minecraftforge.common.capabilities.ICapabilityProvider, net.minecraftforge.common.capabilities.ICapabilityProviderImpl<net.minecraft.world.entity.Entity>, net.minecraftforge.common.capabilities.ICapabilitySerializable<net.minecraft.nbt.CompoundTag>, net.minecraftforge.common.extensions.IForgeEntity, net.minecraftforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>, net.minecraftforge.entity.IEntityAdditionalSpawnData
Direct Known Subclasses:
ControlledContraptionEntity, GantryContraptionEntity, OrientedContraptionEntity

public abstract class AbstractContraptionEntity extends net.minecraft.world.entity.Entity implements net.minecraftforge.entity.IEntityAdditionalSpawnData
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     

    Nested classes/interfaces inherited from class net.minecraft.world.entity.Entity

    net.minecraft.world.entity.Entity.MoveFunction, net.minecraft.world.entity.Entity.MovementEmission, net.minecraft.world.entity.Entity.RemovalReason

    Nested classes/interfaces inherited from class net.minecraftforge.common.capabilities.CapabilityProvider

    net.minecraftforge.common.capabilities.CapabilityProvider.AsField<B extends net.minecraftforge.common.capabilities.ICapabilityProviderImpl<B>>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    final Map<net.minecraft.world.entity.Entity,org.apache.commons.lang3.mutable.MutableInt>
     
    protected Contraption
     
    protected boolean
     
    protected boolean
     

    Fields inherited from class net.minecraft.world.entity.Entity

    BASE_TICKS_REQUIRED_TO_FREEZE, blocksBuilding, BOARDING_COOLDOWN, boardingCooldown, BREATHING_DISTANCE_BELOW_EYES, DATA_POSE, DATA_SHARED_FLAGS_ID, DEFAULT_BB_HEIGHT, DEFAULT_BB_WIDTH, DELTA_AFFECTED_BY_BLOCKS_BELOW, entityData, fallDistance, firstTick, FLAG_FALL_FLYING, FLAG_GLOWING, FLAG_ONFIRE, fluidHeight, flyDist, FREEZE_HURT_FREQUENCY, hasImpulse, horizontalCollision, hurtMarked, ID_TAG, invulnerableTime, isInPowderSnow, isInsidePortal, level, MAX_ENTITY_TAG_COUNT, maxUpStep, minorHorizontalCollision, moveDist, noCulling, noPhysics, onGround, PASSENGERS_TAG, portalEntrancePos, portalTime, random, removalReason, stringUUID, stuckSpeedMultiplier, tickCount, TOTAL_AIR_SUPPLY, uuid, UUID_TAG, verticalCollision, verticalCollisionBelow, walkDist, walkDistO, wasEyeInWater, wasInPowderSnow, wasOnFire, wasTouchingWater, xo, xOld, xRotO, yo, yOld, yRotO, zo, zOld

    Fields inherited from interface net.minecraft.commands.CommandSource

    NULL
  • Constructor Summary

    Constructors
    Constructor
    Description
    AbstractContraptionEntity(net.minecraft.world.entity.EntityType<?> entityTypeIn, net.minecraft.world.level.Level worldIn)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected final void
    addAdditionalSaveData(net.minecraft.nbt.CompoundTag compound)
     
    void
    addSittingPassenger(net.minecraft.world.entity.Entity passenger, int seatIndex)
     
    abstract net.minecraft.world.phys.Vec3
    applyRotation(net.minecraft.world.phys.Vec3 localPos, float partialTicks)
     
    static net.minecraft.world.entity.EntityType.Builder<?>
    build(net.minecraft.world.entity.EntityType.Builder<?> builder)
     
    protected boolean
    canAddPassenger(net.minecraft.world.entity.Entity p_184219_1_)
     
    boolean
    canCollideWith(net.minecraft.world.entity.Entity e)
     
    boolean
     
    protected void
     
    protected void
     
    void
     
    abstract void
    doLocalTransforms(float partialTicks, com.mojang.blaze3d.vertex.PoseStack[] matrixStacks)
     
    protected void
     
    net.minecraft.network.protocol.Packet<?>
     
    net.minecraft.world.phys.Vec3
     
    net.minecraft.world.phys.Vec3
    getContactPointMotion(net.minecraft.world.phys.Vec3 globalContactPoint)
     
     
    protected net.minecraft.world.phys.Vec3
    getPassengerPosition(net.minecraft.world.entity.Entity passenger, float partialTicks)
     
    net.minecraft.world.level.material.PushReaction
     
    net.minecraft.world.phys.Vec3
     
     
    protected abstract float
     
    float
     
    boolean
    handlePlayerInteraction(net.minecraft.world.entity.player.Player player, net.minecraft.core.BlockPos localPos, net.minecraft.core.Direction side, net.minecraft.world.InteractionHand interactionHand)
     
    protected abstract void
    handleStallInformation(float x, float y, float z, float angle)
     
    boolean
     
    boolean
    hurt(net.minecraft.world.damagesource.DamageSource source, float amount)
     
    boolean
     
    boolean
     
    void
     
    protected abstract StructureTransform
     
    void
    move(double x, double y, double z)
     
    protected void
     
    void
     
    protected void
     
    static float
    pitchFromVector(net.minecraft.world.phys.Vec3 vec)
     
    void
    positionRider(net.minecraft.world.entity.Entity passenger, net.minecraft.world.entity.Entity.MoveFunction callback)
     
    protected void
    readAdditional(net.minecraft.nbt.CompoundTag compound, boolean spawnData)
     
    protected final void
    readAdditionalSaveData(net.minecraft.nbt.CompoundTag compound)
     
    void
    readSpawnData(net.minecraft.network.FriendlyByteBuf additionalData)
     
    void
    remove(net.minecraft.world.entity.Entity.RemovalReason p_146834_)
     
    protected void
    removePassenger(net.minecraft.world.entity.Entity passenger)
     
    abstract net.minecraft.world.phys.Vec3
    reverseRotation(net.minecraft.world.phys.Vec3 localPos, float partialTicks)
     
    net.minecraft.nbt.CompoundTag
    saveWithoutId(net.minecraft.nbt.CompoundTag nbt)
     
    protected void
     
    void
    setContraptionMotion(net.minecraft.world.phys.Vec3 vec)
     
    void
    setDeltaMovement(net.minecraft.world.phys.Vec3 motionIn)
     
    void
    setPos(double x, double y, double z)
     
    void
    setSecondsOnFire(int p_70015_1_)
     
    protected boolean
    shouldActorTrigger(MovementContext context, net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo blockInfo, MovementBehaviour actor, net.minecraft.world.phys.Vec3 actorPosition, net.minecraft.core.BlockPos gridPosition)
     
    boolean
     
    final void
     
    void
     
    protected abstract void
     
    net.minecraft.world.phys.Vec3
    toGlobalVector(net.minecraft.world.phys.Vec3 localVec, float partialTicks)
     
    net.minecraft.world.phys.Vec3
    toLocalVector(net.minecraft.world.phys.Vec3 globalVec, float partialTicks)
     
    protected boolean
     
    protected void
    writeAdditional(net.minecraft.nbt.CompoundTag compound, boolean spawnPacket)
     
    void
    writeSpawnData(net.minecraft.network.FriendlyByteBuf buffer)
     
    static float
    yawFromVector(net.minecraft.world.phys.Vec3 vec)
     

    Methods inherited from class net.minecraft.world.entity.Entity

    absMoveTo, absMoveTo, acceptsFailure, acceptsSuccess, addPassenger, addTag, animateHurt, awardKillScore, baseTick, blockPosition, broadcastToPlayer, calculateUpVector, calculateViewVector, canBeCollidedWith, canChangeDimensions, canEnterPose, canFreeze, canRide, canSpawnSprintParticle, canTrample, canUpdate, canUpdate, captureDrops, captureDrops, causeFallDamage, changeDimension, changeDimension, checkDespawn, checkFallDamage, checkInsideBlocks, checkOutOfWorld, chunkPosition, clearFire, closerThan, collideBoundingBox, copyPosition, createCommandSourceStack, createHoverEvent, discard, dismountTo, displayFireAnimation, distanceTo, distanceToSqr, distanceToSqr, distanceToSqr, doEnchantDamageEffects, ejectPassengers, equals, eyeBlockPosition, fillCrashReportCategory, findDimensionEntryPoint, fireImmune, gameEvent, gameEvent, gameEvent, gameEvent, getAirSupply, getAllSlots, getArmorSlots, getBbHeight, getBbWidth, getBlockExplosionResistance, getBlockJumpFactor, getBlockPosBelowThatAffectsMyMovement, getBlockSpeedFactor, getBlockStateOn, getBlockX, getBlockY, getBlockZ, getBoundingBox, getBoundingBoxForCulling, getBoundingBoxForPose, getBrightness, getCollisionHorizontalEscapeVector, getCommandSenderWorld, getControllingPassenger, getCustomName, getDeltaMovement, getDimensionChangingDelay, getDimensions, getDirection, getDismountLocationForPassenger, getDisplayName, getEncodeId, getEntityData, getExitPortal, getEyeHeight, getEyeHeight, getEyeHeight, getEyeHeightAccess, getEyePosition, getEyePosition, getEyeY, getFeetBlockState, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidJumpThreshold, getForward, getGameEventListenerRegistrar, getHandHoldingItemAngle, getHandSlots, getId, getIndirectPassengers, getLeashOffset, getLevel, getLightProbePosition, getLookAngle, getMaxAirSupply, getMaxFallDistance, getMotionDirection, getMovementEmission, getMyRidingOffset, getName, getOnPos, getPacketCoordinates, getPassengers, getPassengersAndSelf, getPassengersRidingOffset, getPercentFrozen, getPermissionLevel, getPersistentData, getPickRadius, getPickResult, getPortalWaitTime, getPose, getPosition, getRandomX, getRandomY, getRandomZ, getRelativePortalPosition, getRemainingFireTicks, getRemovalReason, getRootVehicle, getRopeHoldPosition, getRotationVector, getScoreboardName, getSelfAndPassengers, getServer, getSharedFlag, getSlot, getSoundSource, getStringUUID, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTags, getTeam, getTeamColor, getTicksFrozen, getTicksRequiredToFreeze, getType, getTypeName, getUpVector, getUUID, getVehicle, getViewScale, getViewVector, getViewXRot, getViewYRot, getX, getX, getXRot, getY, getY, getYHeadRot, getYRot, getZ, getZ, handleEntityEvent, handleInsidePortal, handleNetherPortal, hasCustomName, hasGlowingTag, hashCode, hasIndirectPassenger, hasPassenger, hasPassenger, hasPermissions, ignoreExplosion, interact, interactAt, is, isAddedToWorld, isAlive, isAlliedTo, isAlliedTo, isAlwaysTicking, isAttackable, isColliding, isControlledByLocalInstance, isCrouching, isCurrentlyGlowing, isCustomNameVisible, isDescending, isDiscrete, isEyeInFluid, isFlapping, isFree, isFreezing, isFullyFrozen, isHorizontalCollisionMinor, isIgnoringBlockTriggers, isInLava, isInvisible, isInvisibleTo, isInvulnerable, isInvulnerableTo, isInWall, isInWater, isInWaterOrBubble, isInWaterOrRain, isInWaterRainOrBubble, isNoGravity, isOnFire, isOnGround, isOnPortalCooldown, isPassenger, isPassengerOfSameVehicle, isPushable, isPushedByFluid, isRemoved, isShiftKeyDown, isSilent, isSpectator, isSprinting, isSteppingCarefully, isSuppressingBounce, isSwimming, isUnderWater, isVehicle, isVisuallyCrawling, isVisuallySwimming, killed, lavaHurt, lerpHeadTo, lerpMotion, lerpTo, limitPistonMovement, load, lookAt, makeBoundingBox, makeStuckInBlock, markHurt, maybeBackOffFromEdge, mayInteract, mirror, move, moveRelative, moveTo, moveTo, moveTo, moveTo, moveTowardsClosestSpace, newDoubleList, newFloatList, nextStep, occludesVibrations, onAboveBubbleCol, onAddedToWorld, onClientRemoval, onFlap, onInsideBlock, onInsideBubbleColumn, onlyOpCanSetNbt, onPassengerTurned, onSyncedDataUpdated, pick, playEntityOnFireExtinguishedSound, playerTouch, playSound, playStepSound, playSwimSound, position, positionRider, processFlappingMovement, processPortalCooldown, push, push, reapplyPosition, recreateFromPacket, refreshDimensions, removeAfterChangingDimensions, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, restoreFrom, revive, rideableUnderWater, rideTick, rotate, save, saveAsPassenger, sendMessage, setAirSupply, setBoundingBox, setCustomName, setCustomNameVisible, setDeltaMovement, setGlowingTag, setId, setInvisible, setInvulnerable, setIsInPowderSnow, setItemSlot, setLevelCallback, setNoGravity, setOldPosAndRot, setOnGround, setPacketCoordinates, setPacketCoordinates, setPortalCooldown, setPos, setPose, setPosRaw, setRemainingFireTicks, setRemoved, setRot, setSharedFlag, setSharedFlagOnFire, setShiftKeyDown, setSilent, setSprinting, setSwimming, setTicksFrozen, setUUID, setViewScale, setXRot, setYBodyRot, setYHeadRot, setYRot, shouldBeSaved, shouldBlockExplode, shouldInformAdmins, shouldRender, shouldRenderAtSqrDistance, shouldShowName, showVehicleHealth, skipAttackInteraction, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnSprintParticle, startRiding, startRiding, startSeenByPlayer, stopRiding, stopSeenByPlayer, teleportTo, teleportToWithTicket, thunderHit, toString, touchingUnloadedChunk, tryCheckInsideBlocks, turn, unRide, unsetRemoved, updateFluidHeightAndDoFluidPushing, updateSwimming

    Methods inherited from class net.minecraftforge.common.capabilities.CapabilityProvider

    areCapsCompatible, areCapsCompatible, deserializeCaps, gatherCapabilities, gatherCapabilities, gatherCapabilities, getCapabilities, getCapability, invalidateCaps, reviveCaps, serializeCaps

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface net.minecraft.commands.CommandSource

    alwaysAccepts

    Methods inherited from interface net.minecraftforge.common.capabilities.ICapabilityProvider

    getCapability, getCapability

    Methods inherited from interface net.minecraftforge.common.extensions.IForgeEntity

    canBeRiddenInWater, canRiderInteract, deserializeNBT, getClassification, getParts, getPickedResult, isMultipartEntity, serializeNBT, shouldRiderSit
  • Field Details

    • collidingEntities

      public final Map<net.minecraft.world.entity.Entity,org.apache.commons.lang3.mutable.MutableInt> collidingEntities
    • contraption

      protected Contraption contraption
    • initialized

      protected boolean initialized
    • prevPosInvalid

      protected boolean prevPosInvalid
  • Constructor Details

    • AbstractContraptionEntity

      public AbstractContraptionEntity(net.minecraft.world.entity.EntityType<?> entityTypeIn, net.minecraft.world.level.Level worldIn)
  • Method Details

    • setContraption

      protected void setContraption(Contraption contraption)
    • supportsTerrainCollision

      public boolean supportsTerrainCollision()
    • contraptionInitialize

      protected void contraptionInitialize()
    • collisionEnabled

      public boolean collisionEnabled()
    • addSittingPassenger

      public void addSittingPassenger(net.minecraft.world.entity.Entity passenger, int seatIndex)
    • removePassenger

      protected void removePassenger(net.minecraft.world.entity.Entity passenger)
      Overrides:
      removePassenger in class net.minecraft.world.entity.Entity
    • positionRider

      public void positionRider(net.minecraft.world.entity.Entity passenger, net.minecraft.world.entity.Entity.MoveFunction callback)
      Overrides:
      positionRider in class net.minecraft.world.entity.Entity
    • getPassengerPosition

      protected net.minecraft.world.phys.Vec3 getPassengerPosition(net.minecraft.world.entity.Entity passenger, float partialTicks)
    • canAddPassenger

      protected boolean canAddPassenger(net.minecraft.world.entity.Entity p_184219_1_)
      Overrides:
      canAddPassenger in class net.minecraft.world.entity.Entity
    • handlePlayerInteraction

      public boolean handlePlayerInteraction(net.minecraft.world.entity.player.Player player, net.minecraft.core.BlockPos localPos, net.minecraft.core.Direction side, net.minecraft.world.InteractionHand interactionHand)
    • toGlobalVector

      public net.minecraft.world.phys.Vec3 toGlobalVector(net.minecraft.world.phys.Vec3 localVec, float partialTicks)
    • toLocalVector

      public net.minecraft.world.phys.Vec3 toLocalVector(net.minecraft.world.phys.Vec3 globalVec, float partialTicks)
    • tick

      public final void tick()
      Overrides:
      tick in class net.minecraft.world.entity.Entity
    • tickContraption

      protected abstract void tickContraption()
    • applyRotation

      public abstract net.minecraft.world.phys.Vec3 applyRotation(net.minecraft.world.phys.Vec3 localPos, float partialTicks)
    • reverseRotation

      public abstract net.minecraft.world.phys.Vec3 reverseRotation(net.minecraft.world.phys.Vec3 localPos, float partialTicks)
    • tickActors

      public void tickActors()
    • onContraptionStalled

      protected void onContraptionStalled()
    • shouldActorTrigger

      protected boolean shouldActorTrigger(MovementContext context, net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo blockInfo, MovementBehaviour actor, net.minecraft.world.phys.Vec3 actorPosition, net.minecraft.core.BlockPos gridPosition)
    • move

      public void move(double x, double y, double z)
    • getAnchorVec

      public net.minecraft.world.phys.Vec3 getAnchorVec()
    • getYawOffset

      public float getYawOffset()
    • setPos

      public void setPos(double x, double y, double z)
      Overrides:
      setPos in class net.minecraft.world.entity.Entity
    • yawFromVector

      public static float yawFromVector(net.minecraft.world.phys.Vec3 vec)
    • pitchFromVector

      public static float pitchFromVector(net.minecraft.world.phys.Vec3 vec)
    • build

      public static net.minecraft.world.entity.EntityType.Builder<?> build(net.minecraft.world.entity.EntityType.Builder<?> builder)
    • defineSynchedData

      protected void defineSynchedData()
      Specified by:
      defineSynchedData in class net.minecraft.world.entity.Entity
    • getAddEntityPacket

      public net.minecraft.network.protocol.Packet<?> getAddEntityPacket()
      Specified by:
      getAddEntityPacket in class net.minecraft.world.entity.Entity
    • writeSpawnData

      public void writeSpawnData(net.minecraft.network.FriendlyByteBuf buffer)
      Specified by:
      writeSpawnData in interface net.minecraftforge.entity.IEntityAdditionalSpawnData
    • addAdditionalSaveData

      protected final void addAdditionalSaveData(net.minecraft.nbt.CompoundTag compound)
      Specified by:
      addAdditionalSaveData in class net.minecraft.world.entity.Entity
    • writeAdditional

      protected void writeAdditional(net.minecraft.nbt.CompoundTag compound, boolean spawnPacket)
    • readSpawnData

      public void readSpawnData(net.minecraft.network.FriendlyByteBuf additionalData)
      Specified by:
      readSpawnData in interface net.minecraftforge.entity.IEntityAdditionalSpawnData
    • readAdditionalSaveData

      protected final void readAdditionalSaveData(net.minecraft.nbt.CompoundTag compound)
      Specified by:
      readAdditionalSaveData in class net.minecraft.world.entity.Entity
    • readAdditional

      protected void readAdditional(net.minecraft.nbt.CompoundTag compound, boolean spawnData)
    • disassemble

      public void disassemble()
    • remove

      public void remove(net.minecraft.world.entity.Entity.RemovalReason p_146834_)
      Overrides:
      remove in class net.minecraft.world.entity.Entity
    • makeStructureTransform

      protected abstract StructureTransform makeStructureTransform()
    • kill

      public void kill()
      Overrides:
      kill in class net.minecraft.world.entity.Entity
    • outOfWorld

      protected void outOfWorld()
      Overrides:
      outOfWorld in class net.minecraft.world.entity.Entity
    • onRemovedFromWorld

      public void onRemovedFromWorld()
      Specified by:
      onRemovedFromWorld in interface net.minecraftforge.common.extensions.IForgeEntity
      Overrides:
      onRemovedFromWorld in class net.minecraft.world.entity.Entity
    • doWaterSplashEffect

      protected void doWaterSplashEffect()
      Overrides:
      doWaterSplashEffect in class net.minecraft.world.entity.Entity
    • getContraption

      public Contraption getContraption()
    • isStalled

      public boolean isStalled()
    • getStalledAngle

      protected abstract float getStalledAngle()
    • handleStallInformation

      protected abstract void handleStallInformation(float x, float y, float z, float angle)
    • saveWithoutId

      public net.minecraft.nbt.CompoundTag saveWithoutId(net.minecraft.nbt.CompoundTag nbt)
      Overrides:
      saveWithoutId in class net.minecraft.world.entity.Entity
    • setDeltaMovement

      public void setDeltaMovement(net.minecraft.world.phys.Vec3 motionIn)
      Overrides:
      setDeltaMovement in class net.minecraft.world.entity.Entity
    • getPistonPushReaction

      public net.minecraft.world.level.material.PushReaction getPistonPushReaction()
      Overrides:
      getPistonPushReaction in class net.minecraft.world.entity.Entity
    • setContraptionMotion

      public void setContraptionMotion(net.minecraft.world.phys.Vec3 vec)
    • isPickable

      public boolean isPickable()
      Overrides:
      isPickable in class net.minecraft.world.entity.Entity
    • hurt

      public boolean hurt(net.minecraft.world.damagesource.DamageSource source, float amount)
      Overrides:
      hurt in class net.minecraft.world.entity.Entity
    • getPrevPositionVec

      public net.minecraft.world.phys.Vec3 getPrevPositionVec()
    • getRotationState

      public abstract AbstractContraptionEntity.ContraptionRotationState getRotationState()
    • getContactPointMotion

      public net.minecraft.world.phys.Vec3 getContactPointMotion(net.minecraft.world.phys.Vec3 globalContactPoint)
    • canCollideWith

      public boolean canCollideWith(net.minecraft.world.entity.Entity e)
      Overrides:
      canCollideWith in class net.minecraft.world.entity.Entity
    • hasExactlyOnePlayerPassenger

      public boolean hasExactlyOnePlayerPassenger()
      Overrides:
      hasExactlyOnePlayerPassenger in class net.minecraft.world.entity.Entity
    • doLocalTransforms

      public abstract void doLocalTransforms(float partialTicks, com.mojang.blaze3d.vertex.PoseStack[] matrixStacks)
    • updateInWaterStateAndDoFluidPushing

      protected boolean updateInWaterStateAndDoFluidPushing()
      Overrides:
      updateInWaterStateAndDoFluidPushing in class net.minecraft.world.entity.Entity
    • setSecondsOnFire

      public void setSecondsOnFire(int p_70015_1_)
      Overrides:
      setSecondsOnFire in class net.minecraft.world.entity.Entity