Class OrientedContraptionEntity

java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.entity.Entity
com.simibubi.create.content.contraptions.AbstractContraptionEntity
com.simibubi.create.content.contraptions.OrientedContraptionEntity
All Implemented Interfaces:
net.minecraft.commands.CommandSource, net.minecraft.network.syncher.SyncedDataHolder, net.minecraft.world.level.entity.EntityAccess, net.minecraft.world.Nameable, net.minecraft.world.scores.ScoreHolder, net.neoforged.neoforge.attachment.IAttachmentHolder, net.neoforged.neoforge.common.extensions.IEntityExtension, net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>, net.neoforged.neoforge.entity.IEntityWithComplexSpawn
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.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.neoforged.neoforge.attachment.AttachmentHolder

    net.neoforged.neoforge.attachment.AttachmentHolder.AsField
  • 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.AbstractContraptionEntity

    collidingEntities, contraption, initialized, prevPosInvalid, staleTicks

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

    BASE_SAFE_FALL_DISTANCE, BASE_TICKS_REQUIRED_TO_FREEZE, blocksBuilding, BOARDING_COOLDOWN, boardingCooldown, CONTENTS_SLOT_INDEX, DATA_POSE, DATA_SHARED_FLAGS_ID, DEFAULT_BB_HEIGHT, DEFAULT_BB_WIDTH, DELTA_AFFECTED_BY_BLOCKS_BELOW_0_2, DELTA_AFFECTED_BY_BLOCKS_BELOW_0_5, DELTA_AFFECTED_BY_BLOCKS_BELOW_1_0, ENTITY_COUNTER, entityData, fallDistance, firstTick, FLAG_FALL_FLYING, FLAG_GLOWING, FLAG_ONFIRE, fluidHeight, flyDist, forgeFluidTypeHeight, FREEZE_HURT_FREQUENCY, hasImpulse, horizontalCollision, hurtMarked, ID_TAG, invulnerableTime, isInPowderSnow, mainSupportingBlockPos, MAX_ENTITY_TAG_COUNT, minorHorizontalCollision, moveDist, noCulling, noPhysics, PASSENGERS_TAG, portalProcess, 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 class net.neoforged.neoforge.attachment.AttachmentHolder

    ATTACHMENTS_NBT_KEY

    Fields inherited from interface net.minecraft.commands.CommandSource

    NULL

    Fields inherited from interface net.minecraft.world.scores.ScoreHolder

    WILDCARD, WILDCARD_NAME
  • 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
    void
    applyLocalTransforms(com.mojang.blaze3d.vertex.PoseStack matrixStack, float partialTicks)
     
    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
    defineSynchedData(net.minecraft.network.syncher.SynchedEntityData.Builder builder)
     
    net.minecraft.world.phys.Vec3
     
    net.createmod.catnip.data.Couple<MinecartController>
     
     
    net.minecraft.core.Direction
     
    float
     
    net.minecraft.world.phys.Vec3
     
     
    protected float
     
    net.minecraft.world.phys.Vec3
    getVehicleAttachmentPoint(net.minecraft.world.entity.Entity entity)
     
    float
    getViewXRot(float partialTicks)
     
    float
    getViewYRot(float partialTicks)
     
    float
     
    static void
     
    protected void
    handleStallInformation(double x, double y, double 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)
     
    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, net.minecraft.core.HolderLookup.Provider registries, boolean spawnPacket)
     

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

    absMoveTo, absMoveTo, absRotateTo, acceptsFailure, acceptsSuccess, addDeltaMovement, addPassenger, addTag, adjustSpawnLocation, animateHurt, applyGravity, awardKillScore, baseTick, blockPosition, broadcastToPlayer, calculateUpVector, calculateViewVector, canBeCollidedWith, canBeHitByProjectile, canChangeDimensions, canControlVehicle, canFreeze, canRide, canSpawnSprintParticle, canSprint, canTrample, canUsePortal, captureDrops, captureDrops, causeFallDamage, changeDimension, checkBelowWorld, checkDespawn, checkFallDamage, checkInsideBlocks, checkSlowFallDistance, checkSupportingBlock, chunkPosition, clearFire, closerThan, closerThan, collideBoundingBox, copyPosition, couldAcceptPassenger, countPlayerPassengers, createCommandSourceStack, createHoverEvent, damageSources, dampensVibrations, deflection, discard, dismountsUnderwater, dismountTo, displayFireAnimation, distanceTo, distanceToSqr, distanceToSqr, distanceToSqr, ejectPassengers, equals, extinguishFire, fillCrashReportCategory, fixupDimensions, fudgePositionAfterSizeChange, gameEvent, gameEvent, getAddEntityPacket, getAirSupply, getAttachments, getBbHeight, getBbWidth, getBlockExplosionResistance, getBlockJumpFactor, getBlockPosBelowThatAffectsMyMovement, getBlockSpeedFactor, getBlockStateOn, getBlockStateOnLegacy, getBlockX, getBlockY, getBlockZ, getBoundingBox, getBoundingBoxForCulling, getCapability, getCapability, getCollisionHorizontalEscapeVector, getCommandSenderWorld, getControlledVehicle, getControllingPassenger, getCustomName, getDefaultGravity, getDefaultPassengerAttachmentPoint, getDeltaMovement, getDimensionChangingDelay, getDimensions, getDirection, getDisplayName, getEncodeId, getEntityData, getEyeHeight, getEyeHeight, getEyeInFluidType, getEyePosition, getEyePosition, getEyeY, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidJumpThreshold, getFluidTypeHeight, getForward, getGravity, getHandHoldingItemAngle, getId, getInBlockState, getIndirectPassengers, getKnownMovement, getLeashOffset, getLeashOffset, getLightLevelDependentMagicValue, getLightProbePosition, getLookAngle, getMaxAirSupply, getMaxFallDistance, getMaxHeightFluidType, getMotionDirection, getMovementEmission, getName, getNearestViewDirection, getOnPos, getOnPos, getOnPosLegacy, getPassengerAttachmentPoint, getPassengerRidingPosition, getPassengers, getPassengersAndSelf, getPercentFrozen, getPermissionLevel, getPersistentData, getPickRadius, getPickResult, getPortalCooldown, getPose, getPosition, getPositionCodec, getPreciseBodyRotation, getPrimaryStepSoundBlockPos, getRandom, 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, getVisualRotationYInDegrees, getWeaponItem, getX, getX, getXRot, getY, getY, getYHeadRot, getYRot, getZ, getZ, handleDamageEvent, handleEntityEvent, handlePortal, hasControllingPassenger, hasCustomName, hasGlowingTag, hashCode, hasIndirectPassenger, hasPassenger, hasPassenger, hasPermissions, hasPose, igniteForSeconds, ignoreExplosion, interact, interactAt, is, isAddedToLevel, isAlive, isAlliedTo, isAlliedTo, isAlwaysTicking, isAttackable, isColliding, isControlledByLocalInstance, isCrouching, isCurrentlyGlowing, isCustomNameVisible, isDescending, isDiscrete, isEffectiveAi, isEyeInFluid, isFlapping, isFree, isFreezing, isFullyFrozen, isHorizontalCollisionMinor, isInFluidType, isInFluidType, isInLava, isInLiquid, isInvisible, isInvisibleTo, isInvulnerable, isInvulnerableTo, isInWall, isInWater, isInWaterOrBubble, isInWaterOrRain, isInWaterRainOrBubble, isNoGravity, isOnFire, isOnPortalCooldown, isOnRails, isPassenger, isPassengerOfSameVehicle, isPushable, isPushedByFluid, isRemoved, isShiftKeyDown, isSilent, isSpectator, isSprinting, isSteppingCarefully, isSupportedBy, isSuppressingBounce, isSwimming, isUnderWater, isVehicle, isVisuallyCrawling, isVisuallySwimming, killedEntity, lavaHurt, lerpHeadTo, lerpMotion, lerpPositionAndRotationStep, lerpTargetX, lerpTargetXRot, lerpTargetY, lerpTargetYRot, lerpTargetZ, lerpTo, level, limitPistonMovement, load, lookAt, makeBoundingBox, makeStuckInBlock, markHurt, maxUpStep, maybeBackOffFromEdge, mayInteract, mirror, moveRelative, moveTo, moveTo, moveTo, moveTo, moveTo, moveTowardsClosestSpace, newDoubleList, newFloatList, nextStep, onAboveBubbleCol, onAddedToLevel, onClientRemoval, onExplosionHit, onFlap, onGround, onInsideBlock, onInsideBubbleColumn, onlyOpCanSetNbt, onPassengerTurned, onSyncedDataUpdated, pick, placePortalTicket, playCombinationStepSounds, playEntityOnFireExtinguishedSound, playerTouch, playMuffledStepSound, playSound, playSound, playStepSound, playSwimSound, position, positionRider, processFlappingMovement, processPortalCooldown, push, push, push, reapplyPosition, recreateFromPacket, refreshDimensions, registryAccess, removeAfterChangingDimensions, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, restoreFrom, revive, rideTick, rotate, save, saveAsPassenger, sendSystemMessage, setAirSupply, setAsInsidePortal, setBoundingBox, setCustomName, setCustomNameVisible, setData, setDeltaMovement, setFluidTypeHeight, setGlowingTag, setId, setInvisible, setInvulnerable, setIsInPowderSnow, setLevel, setLevelCallback, setNoGravity, setOldPosAndRot, setOnGround, setOnGroundWithMovement, setPortalCooldown, 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, syncData, syncPacketPositionCodec, teleportRelative, teleportTo, teleportTo, thunderHit, toString, touchingUnloadedChunk, trackingPosition, tryCheckInsideBlocks, turn, unRide, unsetRemoved, updateDynamicGameEventListener, updateFluidHeightAndDoFluidPushing, updateFluidHeightAndDoFluidPushing, updateSwimming, waterSwimSound

    Methods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, removeData, serializeAttachments

    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.neoforged.neoforge.attachment.IAttachmentHolder

    getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setData, syncData

    Methods inherited from interface net.neoforged.neoforge.common.extensions.IEntityExtension

    canBeRiddenUnderFluidType, canFluidExtinguish, canHydrateInFluidType, canRiderInteract, canStartSwimming, canSwimInFluidType, copyAttachmentsFrom, deserializeNBT, getClassification, getFluidFallDistanceModifier, getFluidMotionScale, getParts, getPickedResult, getSoundFromFluidType, hasCustomOutlineRendering, isEyeInFluidType, isInFluidType, isInFluidType, isInFluidType, isMultipartEntity, isPushedByFluid, sendPairingData, serializeNBT, shouldRiderSit

    Methods inherited from interface net.minecraft.world.scores.ScoreHolder

    getFeedbackDisplayName
  • 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(net.minecraft.network.syncher.SynchedEntityData.Builder builder)
      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, net.minecraft.core.HolderLookup.Provider registries, boolean spawnPacket)
      Overrides:
      writeAdditional in class AbstractContraptionEntity
    • onSyncedDataUpdated

      public void onSyncedDataUpdated(net.minecraft.network.syncher.EntityDataAccessor<?> key)
      Specified by:
      onSyncedDataUpdated in interface net.minecraft.network.syncher.SyncedDataHolder
      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 net.createmod.catnip.data.Couple<MinecartController> getCoupledCartsIfPresent()
    • attachInventoriesFromRidingCarts

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

      @Nullable public UUID getCouplingId()
    • setCouplingId

      public void setCouplingId(UUID id)
    • getVehicleAttachmentPoint

      public net.minecraft.world.phys.Vec3 getVehicleAttachmentPoint(net.minecraft.world.entity.Entity entity)
      Overrides:
      getVehicleAttachmentPoint in class net.minecraft.world.entity.Entity
    • getAnchorVec

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

      public net.minecraft.world.phys.Vec3 getPrevAnchorVec()
      Overrides:
      getPrevAnchorVec 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(double x, double y, double z, float angle)
      Specified by:
      handleStallInformation in class AbstractContraptionEntity
    • applyLocalTransforms

      public void applyLocalTransforms(com.mojang.blaze3d.vertex.PoseStack matrixStack, float partialTicks)
      Specified by:
      applyLocalTransforms in class AbstractContraptionEntity
    • handleRelocationPacket

      public static void handleRelocationPacket(ContraptionRelocationPacket packet)