Class StandardPhysicsProvider
java.lang.Object
com.hypixel.hytale.server.core.modules.projectile.config.StandardPhysicsProvider
- All Implemented Interfaces:
Component<EntityStore>,IBlockCollisionConsumer,Cloneable
public class StandardPhysicsProvider
extends Object
implements IBlockCollisionConsumer, Component<EntityStore>
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface com.hypixel.hytale.server.core.modules.collision.IBlockCollisionConsumer
IBlockCollisionConsumer.Result -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final BlockCollisionProviderprotected BounceConsumerprotected booleanprotected intprotected BoundingBoxDeprecated, for removal: This API element is subject to removal in a future version.protected doubleprotected final Vector3dprotected final Vector3dprotected final UUIDprotected doubleprotected doubleprotected doubleprotected doubleprotected final EntityRefCollisionProviderprotected final BlockTrackerprotected ForceProviderEntityprotected ForceProvider[]protected final ForceProviderStandardStateprotected ImpactConsumerprotected booleanprotected booleanprotected doubleprotected static final com.hypixel.hytale.logger.HytaleLoggerstatic final doublestatic final doubleprotected booleanprotected final Vector3dprotected final Vector3dprotected final Vector3dprotected booleanprotected final StandardPhysicsConfigprotected final Vector3dprotected booleanprotected final RestingSupportprotected StandardPhysicsProvider.STATEprotected final PhysicsBodyStateprotected final PhysicsBodyStateprotected final PhysicsBodyStateUpdaterprotected doubleprotected final Vector3dprotected final BlockTrackerprotected final Vector3dprotected intstatic final intprotected WorldFields inherited from interface com.hypixel.hytale.component.Component
EMPTY_ARRAY -
Constructor Summary
ConstructorsConstructorDescriptionStandardPhysicsProvider(BoundingBox boundingBox, UUID creatorUuid, StandardPhysicsConfig physicsConfig, Vector3d initialForce, boolean predicted) -
Method Summary
Modifier and TypeMethodDescriptionclone()voidvoidfinishTick(TransformComponent position, Velocity velocity) intdoubledoubledoublegetDragCoefficient(double density) doubledoublegetState()doubleintvoidbooleanbooleanbooleanbooleanbooleanbooleanbooleanonCollision(int blockX, int blockY, int blockZ, Vector3d direction, BlockContactData contactData, BlockData blockData, Box collider) voidonCollisionDamage(int blockX, int blockY, int blockZ, Vector3d direction, BlockContactData collisionData, BlockData blockData) voidprobeCollisionDamage(int blockX, int blockY, int blockZ, Vector3d direction, BlockContactData collisionData, BlockData blockData) protected voidrecomputeDragFactors(BoundingBox boundingBoxComponent) voidrotateBody(double dt, Vector3f bodyRotation) voidsetBounced(boolean bounced) voidsetCollisionStart(double collisionStart) voidsetDisplacedMass(double displacedMass) voidsetEnterFluid(double enterFluid) voidsetInFluid(boolean inFluid) voidsetLeaveFluid(double leaveFluid) voidsetMovedInsideSolid(boolean movedInsideSolid) voidsetOnGround(boolean onGround) voidsetSliding(boolean sliding) voidvoidsetSubSurfaceVolume(double subSurfaceVolume) voidsetVelocityExtremaCount(int velocityExtremaCount) voidMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.hypixel.hytale.component.Component
cloneSerializable
-
Field Details
-
WATER_DETECTION_EXTREMA_COUNT
public static final int WATER_DETECTION_EXTREMA_COUNT- See Also:
-
MIN_BOUNCE_EPSILON
public static final double MIN_BOUNCE_EPSILON- See Also:
-
MIN_BOUNCE_EPSILON_SQUARED
public static final double MIN_BOUNCE_EPSILON_SQUARED- See Also:
-
LOGGER
@Nonnull protected static final com.hypixel.hytale.logger.HytaleLogger LOGGER -
blockCollisionProvider
-
entityCollisionProvider
-
triggerTracker
-
restingSupport
-
world
-
velocity
-
position
-
movement
-
nextMovement
-
bounced
protected boolean bounced -
bounces
protected int bounces -
onGround
protected boolean onGround -
provideCharacterCollisions
protected boolean provideCharacterCollisions -
creatorUuid
-
physicsConfig
-
tempVector
-
bounceConsumer
-
impactConsumer
-
movedInsideSolid
protected boolean movedInsideSolid -
moveOutOfSolidVelocity
-
contactPosition
-
contactNormal
-
collisionStart
protected double collisionStart -
stateUpdater
-
stateBefore
-
stateAfter
-
displacedMass
protected double displacedMass -
subSurfaceVolume
protected double subSurfaceVolume -
enterFluid
protected double enterFluid -
leaveFluid
protected double leaveFluid -
inFluid
protected boolean inFluid -
velocityExtremaCount
protected int velocityExtremaCount -
state
-
forceProviderEntity
-
forceProviders
-
forceProviderStandardState
-
dragMultiplier
protected double dragMultiplier -
dragOffset
protected double dragOffset -
fluidTracker
-
isSliding
protected boolean isSliding -
boundingBox
Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Constructor Details
-
StandardPhysicsProvider
public StandardPhysicsProvider(@Nonnull BoundingBox boundingBox, @Nullable UUID creatorUuid, @Nonnull StandardPhysicsConfig physicsConfig, @Nonnull Vector3d initialForce, boolean predicted)
-
-
Method Details
-
getComponentType
-
onCollision
@Nonnull public IBlockCollisionConsumer.Result onCollision(int blockX, int blockY, int blockZ, @Nonnull Vector3d direction, @Nonnull BlockContactData contactData, @Nonnull BlockData blockData, @Nonnull Box collider) - Specified by:
onCollisionin interfaceIBlockCollisionConsumer
-
probeCollisionDamage
@Nonnull public IBlockCollisionConsumer.Result probeCollisionDamage(int blockX, int blockY, int blockZ, Vector3d direction, BlockContactData collisionData, BlockData blockData) - Specified by:
probeCollisionDamagein interfaceIBlockCollisionConsumer
-
onCollisionDamage
public void onCollisionDamage(int blockX, int blockY, int blockZ, Vector3d direction, BlockContactData collisionData, BlockData blockData) - Specified by:
onCollisionDamagein interfaceIBlockCollisionConsumer
-
onCollisionSliceFinished
- Specified by:
onCollisionSliceFinishedin interfaceIBlockCollisionConsumer
-
onCollisionFinished
public void onCollisionFinished()- Specified by:
onCollisionFinishedin interfaceIBlockCollisionConsumer
-
finishTick
-
rotateBody
-
isOnGround
public boolean isOnGround() -
isSwimming
public boolean isSwimming() -
getDragCoefficient
public double getDragCoefficient(double density) -
recomputeDragFactors
-
getState
-
setState
-
getPhysicsConfig
-
getForceProviderStandardState
-
getRestingSupport
-
setWorld
-
getPosition
-
getVelocity
-
getMovement
-
getNextMovement
-
getForceProviderEntity
-
getForceProviders
-
getStateUpdater
-
getStateBefore
-
getStateAfter
-
isProvidesCharacterCollisions
public boolean isProvidesCharacterCollisions() -
getCreatorUuid
-
getEntityCollisionProvider
-
isBounced
public boolean isBounced() -
setBounced
public void setBounced(boolean bounced) -
getBounces
public int getBounces() -
incrementBounces
public void incrementBounces() -
getMoveOutOfSolidVelocity
-
isMovedInsideSolid
public boolean isMovedInsideSolid() -
setMovedInsideSolid
public void setMovedInsideSolid(boolean movedInsideSolid) -
getDisplacedMass
public double getDisplacedMass() -
setDisplacedMass
public void setDisplacedMass(double displacedMass) -
getSubSurfaceVolume
public double getSubSurfaceVolume() -
setSubSurfaceVolume
public void setSubSurfaceVolume(double subSurfaceVolume) -
getEnterFluid
public double getEnterFluid() -
setEnterFluid
public void setEnterFluid(double enterFluid) -
getLeaveFluid
public double getLeaveFluid() -
setLeaveFluid
public void setLeaveFluid(double leaveFluid) -
getCollisionStart
public double getCollisionStart() -
setCollisionStart
public void setCollisionStart(double collisionStart) -
getContactPosition
-
getContactNormal
-
isSliding
public boolean isSliding() -
setSliding
public void setSliding(boolean sliding) -
getBlockCollisionProvider
-
getTriggerTracker
-
getFluidTracker
-
isInFluid
public boolean isInFluid() -
setInFluid
public void setInFluid(boolean inFluid) -
getVelocityExtremaCount
public int getVelocityExtremaCount() -
setVelocityExtremaCount
public void setVelocityExtremaCount(int velocityExtremaCount) -
decrementVelocityExtremaCount
public void decrementVelocityExtremaCount() -
setOnGround
public void setOnGround(boolean onGround) -
getImpactConsumer
-
getBounceConsumer
-
clone
- Specified by:
clonein interfaceComponent<EntityStore>- Overrides:
clonein classObject
-