Package-level declarations
Types
Yes, this name sucks as SimulatedPlayerCache already exists, but I don't know a better name :/
A utility class which assumes that the subject is moving at a specified speed.
A utility which predicts the position of something in n ticks.
A readonly Collection containing all LivingEntity instances that meet the shouldBeShown condition.
Strict means to 1:1 simulate net.minecraft.client.Minecraft.startUseItem logic: Try interact/useItemOn then useItem with each hand (main hand -> offhand).
If the effective hand (item) is offhand, the packets are doubled (main hand -> offhand).
Properties
Check if the attack speed is below 1 tick. If so, we have a cooldown.
Functions
Allows to calculate the distance between the current entity and entity from the nearest corner of the bounding box
Check if the entity box collides with any block in the world at the given pos.
Check if the entity collides with anything below his bounding box.
Sometimes the server does not publish the actual entity health with its metadata. This function incorporates other sources to get the actual value.
See ExplosionDamageCalculator.getEntityDamageAmount.
Applies armor, enchantments, effects, etc. to the damage and returns the damage that is actually applied. This function is so damn ugly that I turned off code smell analysis for it.
Basically ServerExplosion.getSeenPercent but this method allows us to exclude blocks using exclude.
Simulated net.minecraft.world.phys.HitResult.Type.BLOCK branch in vanilla No fallback MultiPlayerGameMode.useItem call
Simulated net.minecraft.world.phys.HitResult.Type.ENTITY branch in vanilla No fallback MultiPlayerGameMode.useItem call
Check if the entity is likely falling to the void based on the given position and bounding box.