Class CollisionModule
java.lang.Object
com.hypixel.hytale.server.core.plugin.PluginBase
com.hypixel.hytale.server.core.plugin.JavaPlugin
com.hypixel.hytale.server.core.modules.collision.CollisionModule
- All Implemented Interfaces:
CommandOwner
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Config<CollisionModuleConfig> private doubleprivate static CollisionModulestatic final PluginManifestprivate doubleprivate ResourceType<EntityStore, SpatialResource<Ref<EntityStore>, EntityStore>> static final intstatic final intstatic final intstatic final intFields inherited from class com.hypixel.hytale.server.core.plugin.PluginBase
METRICS_REGISTRY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidaddImmediateCollision(Vector3d pos, CollisionResult result, CollisionConfig coll, int i) static voidfindBlockCollisionsIterative(World world, Box collider, Vector3d pos, Vector3d v, boolean stopOnCollisionFound, CollisionResult result) static voidfindBlockCollisionsShortDistance(World world, Box collider, Vector3d pos, Vector3d v, CollisionResult result) static voidfindCharacterCollisions(Vector3d pos, Vector3d v, CollisionResult result, ComponentAccessor<EntityStore> componentAccessor) static booleanfindCollisions(Box collider, Vector3d pos, Vector3d v, boolean stopOnCollisionFound, CollisionResult result, ComponentAccessor<EntityStore> componentAccessor) static booleanfindCollisions(Box collider, Vector3d pos, Vector3d v, CollisionResult result, ComponentAccessor<EntityStore> componentAccessor) voidfindIntersections(World world, Box collider, Vector3d pos, CollisionResult result, boolean triggerBlocks, boolean intersections) static CollisionModuleget()private voidstatic booleanprivate static voidlogOverlap(Vector3d pos, Box collider, CollisionConfig coll, Box hitBox, int x, int y, int z, int index, int intersectType) private voidonLoadedAssetsEvent(LoadedAssetsEvent<String, BlockBoundingBoxes, IndexedLookupTableAssetMap<String, BlockBoundingBoxes>> event) protected static voidprocessCollision(CollisionResult result, Vector3d pos, BoxBlockIntersectionEvaluator boxBlockIntersectionEvaluator, boolean haveCollision, int hitboxIndex) protected voidsetup()<T> intvalidatePosition(World world, Box collider, Vector3d pos, int invalidBlockMaterials, T t, CollisionFilter<BoxBlockIntersectionEvaluator, T> predicate, CollisionResult result) intvalidatePosition(World world, Box collider, Vector3d pos, CollisionResult result) private <T> intvalidatePosition(World world, Box collider, Vector3d pos, T t, CollisionFilter<BoxBlockIntersectionEvaluator, T> predicate, boolean disableDamageBlocks, CollisionResult result) Methods inherited from class com.hypixel.hytale.server.core.plugin.JavaPlugin
getClassLoader, getFile, getType, start0Methods inherited from class com.hypixel.hytale.server.core.plugin.PluginBase
getAssetRegistry, getBasePermission, getBlockStateRegistry, getChunkStoreRegistry, getClientFeatureRegistry, getCodecRegistry, getCodecRegistry, getCodecRegistry, getCommandRegistry, getDataDirectory, getEntityRegistry, getEntityStoreRegistry, getEventRegistry, getIdentifier, getLogger, getManifest, getName, getState, getTaskRegistry, isDisabled, isEnabled, preLoad, setup0, shutdown, shutdown0, start, withConfig, withConfig
-
Field Details
-
MANIFEST
-
VALIDATE_INVALID
public static final int VALIDATE_INVALID- See Also:
-
VALIDATE_OK
public static final int VALIDATE_OK- See Also:
-
VALIDATE_ON_GROUND
public static final int VALIDATE_ON_GROUND- See Also:
-
VALIDATE_TOUCH_CEIL
public static final int VALIDATE_TOUCH_CEIL- See Also:
-
instance
-
tangiableEntitySpatialComponent
private ResourceType<EntityStore,SpatialResource<Ref<EntityStore>, tangiableEntitySpatialComponentEntityStore>> -
extentMax
private double extentMax -
minimumThickness
private double minimumThickness -
config
-
-
Constructor Details
-
CollisionModule
-
-
Method Details
-
get
-
getConfig
-
setup
protected void setup()- Overrides:
setupin classPluginBase
-
getTangiableEntitySpatialComponent
public ResourceType<EntityStore,SpatialResource<Ref<EntityStore>, getTangiableEntitySpatialComponent()EntityStore>> -
onLoadedAssetsEvent
private void onLoadedAssetsEvent(@Nonnull LoadedAssetsEvent<String, BlockBoundingBoxes, IndexedLookupTableAssetMap<String, BlockBoundingBoxes>> event) -
handleLoadedHitbox
-
findCollisions
public static boolean findCollisions(@Nonnull Box collider, @Nonnull Vector3d pos, @Nonnull Vector3d v, @Nonnull CollisionResult result, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
findCollisions
public static boolean findCollisions(@Nonnull Box collider, @Nonnull Vector3d pos, @Nonnull Vector3d v, boolean stopOnCollisionFound, @Nonnull CollisionResult result, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
findBlockCollisionsIterative
public static void findBlockCollisionsIterative(@Nonnull World world, @Nonnull Box collider, @Nonnull Vector3d pos, @Nonnull Vector3d v, boolean stopOnCollisionFound, @Nonnull CollisionResult result) -
findCharacterCollisions
public static void findCharacterCollisions(@Nonnull Vector3d pos, @Nonnull Vector3d v, @Nonnull CollisionResult result, @Nonnull ComponentAccessor<EntityStore> componentAccessor) -
findBlockCollisionsShortDistance
public static void findBlockCollisionsShortDistance(@Nonnull World world, @Nonnull Box collider, @Nonnull Vector3d pos, @Nonnull Vector3d v, @Nonnull CollisionResult result) -
processCollision
protected static void processCollision(@Nonnull CollisionResult result, @Nonnull Vector3d pos, @Nonnull BoxBlockIntersectionEvaluator boxBlockIntersectionEvaluator, boolean haveCollision, int hitboxIndex) -
findIntersections
public void findIntersections(@Nonnull World world, @Nonnull Box collider, @Nonnull Vector3d pos, @Nonnull CollisionResult result, boolean triggerBlocks, boolean intersections) -
validatePosition
public int validatePosition(@Nonnull World world, @Nonnull Box collider, @Nonnull Vector3d pos, @Nonnull CollisionResult result) -
validatePosition
public <T> int validatePosition(@Nonnull World world, @Nonnull Box collider, @Nonnull Vector3d pos, int invalidBlockMaterials, T t, @Nonnull CollisionFilter<BoxBlockIntersectionEvaluator, T> predicate, @Nonnull CollisionResult result) -
validatePosition
private <T> int validatePosition(@Nonnull World world, @Nonnull Box collider, @Nonnull Vector3d pos, T t, @Nonnull CollisionFilter<BoxBlockIntersectionEvaluator, T> predicate, boolean disableDamageBlocks, @Nonnull CollisionResult result) -
addImmediateCollision
private static void addImmediateCollision(@Nonnull Vector3d pos, @Nonnull CollisionResult result, @Nonnull CollisionConfig coll, int i) -
isBelowMovementThreshold
-
logOverlap
private static void logOverlap(@Nonnull Vector3d pos, @Nonnull Box collider, @Nonnull CollisionConfig coll, @Nonnull Box hitBox, int x, int y, int z, int index, int intersectType)
-