Class AbstractMinecart
java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.entity.Entity
net.minecraft.world.entity.vehicle.VehicleEntity
net.minecraft.world.entity.vehicle.AbstractMinecart
- All Implemented Interfaces:
CommandSource,SyncedDataHolder,EntityAccess,Nameable,ScoreHolder,IAttachmentHolder,IAbstractMinecartExtension,IEntityExtension,INBTSerializable<CompoundTag>
- Direct Known Subclasses:
AbstractMinecartContainer,Minecart,MinecartCommandBlock,MinecartFurnace,MinecartSpawner,MinecartTNT
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class net.minecraft.world.entity.Entity
Entity.MoveFunction, Entity.MovementEmission, Entity.RemovalReasonNested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
AttachmentHolder.AsField -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate booleanprivate static IMinecartCollisionHandlerprivate floatprivate static final EntityDataAccessor<Boolean> private static final EntityDataAccessor<Integer> private static final EntityDataAccessor<Integer> private doubleprivate booleanprivate intprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate static final Vec3private @Nullable Floatprivate floatprivate booleanprivate static final ImmutableMap<Pose, ImmutableList<Integer>> private Vec3protected static final floatFields inherited from class net.minecraft.world.entity.vehicle.VehicleEntity
DATA_ID_DAMAGE, DATA_ID_HURT, DATA_ID_HURTDIRFields 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, stringUUID, stuckSpeedMultiplier, tickCount, TOTAL_AIR_SUPPLY, uuid, UUID_TAG, verticalCollision, verticalCollisionBelow, walkDist, walkDistO, wasEyeInWater, wasInPowderSnow, wasOnFire, wasTouchingWater, xo, xOld, xRotO, yo, yOld, yRotO, zo, zOldFields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
ATTACHMENTS_NBT_KEYFields inherited from interface net.minecraft.commands.CommandSource
NULLFields inherited from interface net.neoforged.neoforge.common.extensions.IAbstractMinecartExtension
DEFAULT_AIR_DRAG, DEFAULT_MAX_SPEED_AIR_LATERAL, DEFAULT_MAX_SPEED_AIR_VERTICALFields inherited from interface net.minecraft.world.scores.ScoreHolder
WILDCARD, WILDCARD_NAME -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractMinecart(EntityType<?> pEntityType, Level pLevel) protectedAbstractMinecart(EntityType<?> pEntityType, Level pLevel, double pX, double pY, double pZ) -
Method Summary
Modifier and TypeMethodDescriptionvoidactivateMinecart(int pX, int pY, int pZ, boolean pPowered) Called every tick the minecart is on an activator rail.protected voidaddAdditionalSaveData(CompoundTag pCompound) voidanimateHurt(float pYaw) protected voidbooleancanCollideWith(Entity pEntity) booleanReturns true if this cart can currently use rails.protected voidstatic AbstractMinecartcreateMinecart(ServerLevel pLevel, double pX, double pY, double pZ, AbstractMinecart.Type pType, ItemStack pStack, Player pPlayer) protected voiddefineSynchedData(SynchedEntityData.Builder pBuilder) protected floatfloatReturns the current speed cap for the cart when traveling on rails.intprotected doublegetDismountLocationForPassenger(LivingEntity pLivingEntity) intdoubleprotected doublefloatfloatdoubleabstract AbstractMinecart.Typeprotected Entity.MovementEmissionprotected Vec3getPassengerAttachmentPoint(Entity pEntity, EntityDimensions pDimensions, float pPartialTick) getPos(double pX, double pY, double pZ) getPosOffs(double pX, double pY, double pZ, double pOffset) getRelativePortalPosition(Direction.Axis pAxis, BlockUtil.FoundRectangle pPortal) booleanbooleanbooleanbooleanprivate booleanisRedstoneConductor(BlockPos pPos) voidlerpMotion(double pX, double pY, double pZ) Updates the entity motion clientside, called by packets from the serverdoublefloatdoublefloatdoublevoidlerpTo(double pX, double pY, double pZ, float pYRot, float pXRot, int pSteps) protected voidmoveAlongTrack(BlockPos pPos, BlockState pState) voidMoved to allow overrides.voidApplies a velocity to the entities, to push them away from each other.protected voidreadAdditionalSaveData(CompoundTag pCompound) (abstract) Protected helper method to read subclass entity data from NBT.static voidvoidsetCanUseRail(boolean value) Set whether the minecart can use rails.voidsetCurrentCartSpeedCapOnRail(float value) voidsetCustomDisplay(boolean pCustomDisplay) voidsetDisplayBlockState(BlockState pDisplayState) voidsetDisplayOffset(int pDisplayOffset) voidsetDragAir(double value) voidsetMaxSpeedAirLateral(float value) voidsetMaxSpeedAirVertical(float value) voidtick()Methods inherited from class net.minecraft.world.entity.vehicle.VehicleEntity
destroy, destroy, getDamage, getDropItem, getHurtDir, getHurtTime, hurt, setDamage, setHurtDir, setHurtTime, shouldSourceDestroyMethods inherited from class net.minecraft.world.entity.Entity
absMoveTo, absMoveTo, absRotateTo, acceptsFailure, acceptsSuccess, addDeltaMovement, addPassenger, addTag, adjustSpawnLocation, applyGravity, awardKillScore, baseTick, blockPosition, broadcastToPlayer, calculateUpVector, calculateViewVector, canAddPassenger, 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, doWaterSplashEffect, ejectPassengers, equals, extinguishFire, fillCrashReportCategory, fireImmune, fixupDimensions, fudgePositionAfterSizeChange, gameEvent, gameEvent, getAddEntityPacket, getAirSupply, getAttachments, getBbHeight, getBbWidth, getBlockExplosionResistance, getBlockJumpFactor, getBlockPosBelowThatAffectsMyMovement, getBlockStateOn, getBlockStateOnLegacy, getBlockX, getBlockY, getBlockZ, getBoundingBox, getCapability, getCapability, getCollisionHorizontalEscapeVector, getCommandSenderWorld, getControlledVehicle, getControllingPassenger, getCustomName, 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, getName, getNearestViewDirection, getOnPos, getOnPos, getOnPosLegacy, getPassengerRidingPosition, getPassengers, getPassengersAndSelf, getPercentFrozen, getPermissionLevel, getPersistentData, getPickRadius, getPistonPushReaction, getPortalCooldown, getPose, getPosition, getPositionCodec, getPreciseBodyRotation, getPrimaryStepSoundBlockPos, getRandom, getRandomX, getRandomY, getRandomZ, 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, getVehicleAttachmentPoint, getViewScale, getViewVector, getViewXRot, getViewYRot, getVisualRotationYInDegrees, getWeaponItem, getX, getX, getXRot, getY, getY, getYHeadRot, getYRot, getZ, getZ, handleDamageEvent, handleEntityEvent, handlePortal, hasControllingPassenger, hasCustomName, hasExactlyOnePlayerPassenger, hasGlowingTag, hashCode, hasIndirectPassenger, hasPassenger, hasPassenger, hasPermissions, hasPose, igniteForSeconds, igniteForTicks, ignoreExplosion, interact, interactAt, is, isAddedToLevel, isAlive, isAlliedTo, isAlliedTo, isAlwaysTicking, isAttackable, isColliding, isControlledByLocalInstance, isCrouching, isCurrentlyGlowing, isCustomNameVisible, isDescending, isDiscrete, isEffectiveAi, isEyeInFluid, isFlapping, isFree, isFreezing, isFullyFrozen, isHorizontalCollisionMinor, isIgnoringBlockTriggers, isInFluidType, isInFluidType, isInLava, isInLiquid, isInvisible, isInvisibleTo, isInvulnerable, isInvulnerableTo, isInWall, isInWater, isInWaterOrBubble, isInWaterOrRain, isInWaterRainOrBubble, isNoGravity, isOnFire, isOnPortalCooldown, isPassenger, isPassengerOfSameVehicle, isPushedByFluid, isRemoved, isShiftKeyDown, isSilent, isSpectator, isSprinting, isSteppingCarefully, isSupportedBy, isSuppressingBounce, isSwimming, isUnderWater, isVehicle, isVisuallyCrawling, isVisuallySwimming, kill, killedEntity, lavaHurt, lerpHeadTo, lerpPositionAndRotationStep, level, limitPistonMovement, load, lookAt, makeBoundingBox, makeStuckInBlock, markHurt, maxUpStep, maybeBackOffFromEdge, mayInteract, mirror, move, moveRelative, moveTo, moveTo, moveTo, moveTo, moveTo, moveTowardsClosestSpace, newDoubleList, newFloatList, nextStep, onAboveBubbleCol, onAddedToLevel, onBelowWorld, onClientRemoval, onExplosionHit, onFlap, onGround, onInsideBlock, onInsideBubbleColumn, onlyOpCanSetNbt, onPassengerTurned, onRemovedFromLevel, onSyncedDataUpdated, onSyncedDataUpdated, pick, placePortalTicket, playCombinationStepSounds, playEntityOnFireExtinguishedSound, playerTouch, playMuffledStepSound, playSound, playSound, playStepSound, playSwimSound, position, positionRider, positionRider, processFlappingMovement, processPortalCooldown, push, push, reapplyPosition, recreateFromPacket, refreshDimensions, registryAccess, remove, removeAfterChangingDimensions, removePassenger, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, restoreFrom, revive, rideTick, rotate, save, saveAsPassenger, saveWithoutId, sendSystemMessage, setAirSupply, setAsInsidePortal, setBoundingBox, setCustomName, setCustomNameVisible, setData, setDeltaMovement, setDeltaMovement, setFluidTypeHeight, setGlowingTag, setId, setInvisible, setInvulnerable, setIsInPowderSnow, setLevel, setLevelCallback, setNoGravity, setOldPosAndRot, setOnGround, setOnGroundWithMovement, setPortalCooldown, setPortalCooldown, setPos, 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, syncData, syncPacketPositionCodec, teleportRelative, teleportTo, teleportTo, thunderHit, toString, touchingUnloadedChunk, trackingPosition, tryCheckInsideBlocks, turn, unRide, unsetRemoved, updateDynamicGameEventListener, updateFluidHeightAndDoFluidPushing, updateFluidHeightAndDoFluidPushing, updateInWaterStateAndDoFluidPushing, updateSwimming, waterSwimSoundMethods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, removeData, serializeAttachmentsMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.commands.CommandSource
alwaysAcceptsMethods inherited from interface net.neoforged.neoforge.common.extensions.IAbstractMinecartExtension
canBeRidden, getComparatorLevel, getCurrentRailPosition, getMaxCartSpeedOnRail, getSlopeAdjustment, isPoweredCart, shouldDoRailFunctionsMethods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setData, syncDataMethods 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, shouldRiderSitMethods inherited from interface net.minecraft.world.scores.ScoreHolder
getFeedbackDisplayName
-
Field Details
-
LOWERED_PASSENGER_ATTACHMENT
-
DATA_ID_DISPLAY_BLOCK
-
DATA_ID_DISPLAY_OFFSET
-
DATA_ID_CUSTOM_DISPLAY
-
POSE_DISMOUNT_HEIGHTS
-
WATER_SLOWDOWN_FACTOR
protected static final float WATER_SLOWDOWN_FACTOR- See Also:
-
flipped
private boolean flipped -
onRails
private boolean onRails -
lerpSteps
private int lerpSteps -
lerpX
private double lerpX -
lerpY
private double lerpY -
lerpZ
private double lerpZ -
lerpYRot
private double lerpYRot -
lerpXRot
private double lerpXRot -
targetDeltaMovement
-
canBePushed
private boolean canBePushed -
EXITS
-
COLLISIONS
-
canUseRail
private boolean canUseRail -
currentSpeedCapOnRail
private float currentSpeedCapOnRail -
maxSpeedAirLateral
-
maxSpeedAirVertical
private float maxSpeedAirVertical -
dragAir
private double dragAir
-
-
Constructor Details
-
AbstractMinecart
-
AbstractMinecart
protected AbstractMinecart(EntityType<?> pEntityType, Level pLevel, double pX, double pY, double pZ)
-
-
Method Details
-
getCollisionHandler
-
registerCollisionHandler
-
createMinecart
public static AbstractMinecart createMinecart(ServerLevel pLevel, double pX, double pY, double pZ, AbstractMinecart.Type pType, ItemStack pStack, @Nullable Player pPlayer) -
getMovementEmission
- Overrides:
getMovementEmissionin classEntity
-
defineSynchedData
- Overrides:
defineSynchedDatain classVehicleEntity
-
canCollideWith
- Overrides:
canCollideWithin classEntity
-
isPushable
public boolean isPushable()- Overrides:
isPushablein classEntity
-
getRelativePortalPosition
- Overrides:
getRelativePortalPositionin classEntity
-
getPassengerAttachmentPoint
protected Vec3 getPassengerAttachmentPoint(Entity pEntity, EntityDimensions pDimensions, float pPartialTick) - Overrides:
getPassengerAttachmentPointin classEntity
-
getDismountLocationForPassenger
- Overrides:
getDismountLocationForPassengerin classEntity
-
getBlockSpeedFactor
protected float getBlockSpeedFactor()- Overrides:
getBlockSpeedFactorin classEntity
-
animateHurt
public void animateHurt(float pYaw) - Overrides:
animateHurtin classEntity
-
isPickable
public boolean isPickable()- Overrides:
isPickablein classEntity
-
exits
-
getMotionDirection
- Overrides:
getMotionDirectionin classEntity
-
getDefaultGravity
protected double getDefaultGravity()- Overrides:
getDefaultGravityin classEntity
-
tick
public void tick() -
getMaxSpeed
protected double getMaxSpeed() -
activateMinecart
public void activateMinecart(int pX, int pY, int pZ, boolean pPowered) Called every tick the minecart is on an activator rail. -
comeOffTrack
protected void comeOffTrack() -
moveAlongTrack
-
isOnRails
public boolean isOnRails() -
isRedstoneConductor
-
applyNaturalSlowdown
protected void applyNaturalSlowdown() -
getPosOffs
-
getPos
-
getBoundingBoxForCulling
- Overrides:
getBoundingBoxForCullingin classEntity
-
readAdditionalSaveData
(abstract) Protected helper method to read subclass entity data from NBT.- Specified by:
readAdditionalSaveDatain classEntity
-
addAdditionalSaveData
- Specified by:
addAdditionalSaveDatain classEntity
-
push
Applies a velocity to the entities, to push them away from each other. -
lerpTo
public void lerpTo(double pX, double pY, double pZ, float pYRot, float pXRot, int pSteps) -
lerpTargetX
public double lerpTargetX()- Overrides:
lerpTargetXin classEntity
-
lerpTargetY
public double lerpTargetY()- Overrides:
lerpTargetYin classEntity
-
lerpTargetZ
public double lerpTargetZ()- Overrides:
lerpTargetZin classEntity
-
lerpTargetXRot
public float lerpTargetXRot()- Overrides:
lerpTargetXRotin classEntity
-
lerpTargetYRot
public float lerpTargetYRot()- Overrides:
lerpTargetYRotin classEntity
-
lerpMotion
public void lerpMotion(double pX, double pY, double pZ) Updates the entity motion clientside, called by packets from the server- Overrides:
lerpMotionin classEntity
-
getMinecartType
-
getDisplayBlockState
-
getDefaultDisplayBlockState
-
getDisplayOffset
public int getDisplayOffset() -
getDefaultDisplayOffset
public int getDefaultDisplayOffset() -
setDisplayBlockState
-
setDisplayOffset
public void setDisplayOffset(int pDisplayOffset) -
hasCustomDisplay
public boolean hasCustomDisplay() -
setCustomDisplay
public void setCustomDisplay(boolean pCustomDisplay) -
canUseRail
public boolean canUseRail()Description copied from interface:IAbstractMinecartExtensionReturns true if this cart can currently use rails. This function is mainly used to gracefully detach a minecart from a rail.- Specified by:
canUseRailin interfaceIAbstractMinecartExtension- Returns:
- True if the minecart can use rails.
-
setCanUseRail
public void setCanUseRail(boolean value) Description copied from interface:IAbstractMinecartExtensionSet whether the minecart can use rails. This function is mainly used to gracefully detach a minecart from a rail.- Specified by:
setCanUseRailin interfaceIAbstractMinecartExtension- Parameters:
value- Whether the minecart can currently use rails.
-
getCurrentCartSpeedCapOnRail
public float getCurrentCartSpeedCapOnRail()Description copied from interface:IAbstractMinecartExtensionReturns the current speed cap for the cart when traveling on rails. This functions differs from getMaxCartSpeedOnRail() in that it controls current movement and cannot be overridden. The value however can never be higher than getMaxCartSpeedOnRail().- Specified by:
getCurrentCartSpeedCapOnRailin interfaceIAbstractMinecartExtension
-
setCurrentCartSpeedCapOnRail
public void setCurrentCartSpeedCapOnRail(float value) - Specified by:
setCurrentCartSpeedCapOnRailin interfaceIAbstractMinecartExtension
-
getMaxSpeedWithRail
public double getMaxSpeedWithRail()- Specified by:
getMaxSpeedWithRailin interfaceIAbstractMinecartExtension
-
getMaxSpeedAirLateral
public float getMaxSpeedAirLateral()- Specified by:
getMaxSpeedAirLateralin interfaceIAbstractMinecartExtension
-
setMaxSpeedAirLateral
public void setMaxSpeedAirLateral(float value) - Specified by:
setMaxSpeedAirLateralin interfaceIAbstractMinecartExtension
-
getMaxSpeedAirVertical
public float getMaxSpeedAirVertical()- Specified by:
getMaxSpeedAirVerticalin interfaceIAbstractMinecartExtension
-
setMaxSpeedAirVertical
public void setMaxSpeedAirVertical(float value) - Specified by:
setMaxSpeedAirVerticalin interfaceIAbstractMinecartExtension
-
getDragAir
public double getDragAir()- Specified by:
getDragAirin interfaceIAbstractMinecartExtension
-
setDragAir
public void setDragAir(double value) - Specified by:
setDragAirin interfaceIAbstractMinecartExtension
-
moveMinecartOnRail
Description copied from interface:IAbstractMinecartExtensionMoved to allow overrides. This code handles minecart movement and speed capping when on a rail.- Specified by:
moveMinecartOnRailin interfaceIAbstractMinecartExtension
-
getPickResult
- Overrides:
getPickResultin classEntity
-