MagicProjectileEngine
public class MagicProjectileEngine<C extends MagicProjectileEngine.Source> implements Listener, AutoCloseable
Shared marker projectiles, steering and collision arbitration.
Invisible arrows supply the server's proven entity and block collision path. Particles render the magic flight, while this engine cancels all native arrow damage and resolves each marker through one impact ledger.
Constructors
Link copied to clipboard
public void MagicProjectileEngine(Plugin plugin, MagicProjectileEngine.ImpactHandler<C> impactHandler)
Functions
Link copied to clipboard
public Optional<LivingEntity> acquireTarget(Player owner, double range, double assistDegrees, Predicate<LivingEntity> eligibility, ToIntFunction<LivingEntity> priority)
Link copied to clipboard
public List<LivingEntity> acquireTargets(Player owner, double range, double assistDegrees, Predicate<LivingEntity> eligibility, ToIntFunction<LivingEntity> priority, int limit)
Link copied to clipboard
public static double arcSpreadOffset(double spreadDegrees, double distance, int missileIndex, int missileCount)
Link copied to clipboard
Link copied to clipboard
Optional host protection/event adapter.
Link copied to clipboard
Link copied to clipboard
Authored origins use the same physical marker and impact ledger as wand flights.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Called by a host's modeled-hitbox adapter; native hits use the same claim ledger.
Link copied to clipboard
The literal vanilla fireball look without any of the entity: an inert item display that the flight teleports along the marker's path.
Link copied to clipboard
Link copied to clipboard