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
com.simibubi.create.content.contraptions.components.structureMovement.OrientedContraptionEntity
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:
CarriageContraptionEntity

public class OrientedContraptionEntity extends AbstractContraptionEntity
Ex: Minecarts, Couplings
Oriented Contraption Entities can rotate freely around two axes simultaneously.
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity

    AbstractContraptionEntity.ContraptionRotationState

    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
    protected boolean
     
    protected net.minecraft.world.phys.Vec3
     
    int
     
    float
     
    float
     
    float
     
    float
     
    float
     

    Fields inherited from class com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity

    collidingEntities, contraption, initialized, prevPosInvalid, staleTicks

    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
    OrientedContraptionEntity(net.minecraft.world.entity.EntityType<?> type, net.minecraft.world.level.Level world)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    net.minecraft.world.phys.Vec3
    applyRotation(net.minecraft.world.phys.Vec3 localPos, float partialTicks)
     
    protected void
    attachInventoriesFromRidingCarts(net.minecraft.world.entity.Entity riding, boolean isOnCoupling, UUID couplingId)
     
    create(net.minecraft.world.level.Level world, Contraption contraption, net.minecraft.core.Direction initialOrientation)
     
    createAtYaw(net.minecraft.world.level.Level world, Contraption contraption, net.minecraft.core.Direction initialOrientation, float initialYaw)
     
    protected void
     
    void
    doLocalTransforms(float partialTicks, com.mojang.blaze3d.vertex.PoseStack[] matrixStacks)
     
    net.minecraft.world.phys.Vec3
     
     
     
    net.minecraft.core.Direction
     
    float
     
     
    protected float
     
    float
    getViewXRot(float partialTicks)
     
    float
    getViewYRot(float partialTicks)
     
    float
     
    static void
     
    protected void
    handleStallInformation(float x, float y, float z, float angle)
     
    boolean
     
     
    void
    onSyncedDataUpdated(net.minecraft.network.syncher.EntityDataAccessor<?> key)
     
    protected void
    powerFurnaceCartWithFuelFromStorage(net.minecraft.world.entity.Entity riding)
     
    protected void
    readAdditional(net.minecraft.nbt.CompoundTag compound, boolean spawnPacket)
     
    net.minecraft.world.phys.Vec3
    reverseRotation(net.minecraft.world.phys.Vec3 localPos, float partialTicks)
     
    net.minecraft.nbt.CompoundTag
    saveWithoutId(net.minecraft.nbt.CompoundTag nbt)
     
    void
     
    void
    setInitialOrientation(net.minecraft.core.Direction direction)
     
    void
     
    void
    startAtYaw(float yaw)
     
    void
     
    protected void
     
    protected boolean
    updateOrientation(boolean rotationLock, boolean wasStalled, net.minecraft.world.entity.Entity riding, boolean isOnCoupling)
     
    protected void
    writeAdditional(net.minecraft.nbt.CompoundTag compound, boolean spawnPacket)
     

    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, 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, 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, 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, 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

    • motionBeforeStall

      protected net.minecraft.world.phys.Vec3 motionBeforeStall
    • forceAngle

      protected boolean forceAngle
    • prevYaw

      public float prevYaw
    • yaw

      public float yaw
    • targetYaw

      public float targetYaw
    • prevPitch

      public float prevPitch
    • pitch

      public float pitch
    • nonDamageTicks

      public int nonDamageTicks
  • Constructor Details

    • OrientedContraptionEntity

      public OrientedContraptionEntity(net.minecraft.world.entity.EntityType<?> type, net.minecraft.world.level.Level world)
  • Method Details

    • create

      public static OrientedContraptionEntity create(net.minecraft.world.level.Level world, Contraption contraption, net.minecraft.core.Direction initialOrientation)
    • createAtYaw

      public static OrientedContraptionEntity createAtYaw(net.minecraft.world.level.Level world, Contraption contraption, net.minecraft.core.Direction initialOrientation, float initialYaw)
    • setInitialOrientation

      public void setInitialOrientation(net.minecraft.core.Direction direction)
    • getInitialOrientation

      public net.minecraft.core.Direction getInitialOrientation()
    • getYawOffset

      public float getYawOffset()
      Overrides:
      getYawOffset in class AbstractContraptionEntity
    • getInitialYaw

      public float getInitialYaw()
    • defineSynchedData

      protected void defineSynchedData()
      Overrides:
      defineSynchedData in class AbstractContraptionEntity
    • getRotationState

      Specified by:
      getRotationState in class AbstractContraptionEntity
    • stopRiding

      public void stopRiding()
      Overrides:
      stopRiding in class net.minecraft.world.entity.Entity
    • readAdditional

      protected void readAdditional(net.minecraft.nbt.CompoundTag compound, boolean spawnPacket)
      Overrides:
      readAdditional in class AbstractContraptionEntity
    • writeAdditional

      protected void writeAdditional(net.minecraft.nbt.CompoundTag compound, boolean spawnPacket)
      Overrides:
      writeAdditional in class AbstractContraptionEntity
    • onSyncedDataUpdated

      public void onSyncedDataUpdated(net.minecraft.network.syncher.EntityDataAccessor<?> key)
      Overrides:
      onSyncedDataUpdated in class net.minecraft.world.entity.Entity
    • isInitialOrientationPresent

      public boolean isInitialOrientationPresent()
    • startAtInitialYaw

      public void startAtInitialYaw()
    • startAtYaw

      public void startAtYaw(float yaw)
    • applyRotation

      public net.minecraft.world.phys.Vec3 applyRotation(net.minecraft.world.phys.Vec3 localPos, float partialTicks)
      Specified by:
      applyRotation in class AbstractContraptionEntity
    • reverseRotation

      public net.minecraft.world.phys.Vec3 reverseRotation(net.minecraft.world.phys.Vec3 localPos, float partialTicks)
      Specified by:
      reverseRotation in class AbstractContraptionEntity
    • getViewYRot

      public float getViewYRot(float partialTicks)
      Overrides:
      getViewYRot in class net.minecraft.world.entity.Entity
    • getViewXRot

      public float getViewXRot(float partialTicks)
      Overrides:
      getViewXRot in class net.minecraft.world.entity.Entity
    • tickContraption

      protected void tickContraption()
      Specified by:
      tickContraption in class AbstractContraptionEntity
    • updateOrientation

      protected boolean updateOrientation(boolean rotationLock, boolean wasStalled, net.minecraft.world.entity.Entity riding, boolean isOnCoupling)
    • powerFurnaceCartWithFuelFromStorage

      protected void powerFurnaceCartWithFuelFromStorage(net.minecraft.world.entity.Entity riding)
    • getCoupledCartsIfPresent

      @Nullable public Couple<MinecartController> getCoupledCartsIfPresent()
    • attachInventoriesFromRidingCarts

      protected void attachInventoriesFromRidingCarts(net.minecraft.world.entity.Entity riding, boolean isOnCoupling, UUID couplingId)
    • saveWithoutId

      public net.minecraft.nbt.CompoundTag saveWithoutId(net.minecraft.nbt.CompoundTag nbt)
      Overrides:
      saveWithoutId in class AbstractContraptionEntity
    • getCouplingId

      @Nullable public UUID getCouplingId()
    • setCouplingId

      public void setCouplingId(UUID id)
    • getAnchorVec

      public net.minecraft.world.phys.Vec3 getAnchorVec()
      Overrides:
      getAnchorVec in class AbstractContraptionEntity
    • makeStructureTransform

      protected StructureTransform makeStructureTransform()
      Specified by:
      makeStructureTransform in class AbstractContraptionEntity
    • getStalledAngle

      protected float getStalledAngle()
      Specified by:
      getStalledAngle in class AbstractContraptionEntity
    • handleStallInformation

      protected void handleStallInformation(float x, float y, float z, float angle)
      Specified by:
      handleStallInformation in class AbstractContraptionEntity
    • doLocalTransforms

      public void doLocalTransforms(float partialTicks, com.mojang.blaze3d.vertex.PoseStack[] matrixStacks)
      Specified by:
      doLocalTransforms in class AbstractContraptionEntity
    • handleRelocationPacket

      public static void handleRelocationPacket(ContraptionRelocationPacket packet)