Package org.bukkit.entity
Interface Projectile
- All Superinterfaces:
- Audience,- CommandSender,- Entity,- HoverEventSource<HoverEvent.ShowEntity>,- Metadatable,- Nameable,- Permissible,- PersistentDataHolder,- Pointered,- ServerOperator,- Sound.Emitter
- All Known Subinterfaces:
- AbstractArrow,- Arrow,- DragonFireball,- Egg,- EnderPearl,- Fireball,- Firework,- FishHook,- LargeFireball,- LingeringPotion,- LlamaSpit,- ShulkerBullet,- SizedFireball,- SmallFireball,- Snowball,- SpectralArrow,- SplashPotion,- ThrowableProjectile,- ThrownExpBottle,- ThrownPotion,- TippedArrow,- Trident,- WitherSkull
Represents a shootable entity.
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.bukkit.entity.EntityEntity.Spigot
- 
Method SummaryModifier and TypeMethodDescriptionbooleancanHitEntity(@NotNull Entity entity) Gets whether this projectile can hit an entity.booleanDeprecated, for removal: This API element is subject to removal in a future version.Does not do anythingGets the owner's UUIDRetrieve the shooter of this projectile.booleanGets whether the projectile has been shot into the world and has sent a projectile shot game event.booleanGets whether the projectile has left the hitbox of their shooter and can now hit entities.voidMakes this projectile hit a specific entity.voidMakes this projectile hit a specific entity from a specific point.voidsetBounce(boolean doesBounce) Deprecated, for removal: This API element is subject to removal in a future version.Does not do anythingvoidsetHasBeenShot(boolean beenShot) Sets whether the projectile has been shot into the world and has sent a projectile shot game event in the next tick.voidsetHasLeftShooter(boolean leftShooter) Sets whether the projectile has left the hitbox of their shooter and can now hit entities.voidsetShooter(@Nullable ProjectileSource source) Set the shooter of this projectile.Methods inherited from interface net.kyori.adventure.audience.AudienceclearTitle, deleteMessage, deleteMessage, filterAudience, forEachAudience, hideBossBar, openBook, openBook, playSound, playSound, playSound, resetTitle, sendActionBar, sendActionBar, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlayerListFooter, sendPlayerListFooter, sendPlayerListHeader, sendPlayerListHeader, sendPlayerListHeaderAndFooter, sendPlayerListHeaderAndFooter, sendTitlePart, showBossBar, showTitle, stopSound, stopSoundMethods inherited from interface org.bukkit.command.CommandSendergetName, name, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlainMessage, sendRichMessage, sendRichMessageMethods inherited from interface org.bukkit.entity.EntityaddPassenger, addScoreboardTag, asHoverEvent, collidesAt, eject, fromMobSpawner, getBoundingBox, getChunk, getEntityId, getEntitySpawnReason, getFacing, getFallDistance, getFireTicks, getFreezeTicks, getHeight, getLastDamageCause, getLocation, getLocation, getMaxFireTicks, getMaxFreezeTicks, getNearbyEntities, getOrigin, getPassenger, getPassengers, getPistonMoveReaction, getPitch, getPortalCooldown, getPose, getScheduler, getScoreboardEntryName, getScoreboardTags, getServer, getSpawnCategory, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTicksLived, getTrackedPlayers, getType, getUniqueId, getVehicle, getVelocity, getWidth, getWorld, getX, getY, getYaw, getZ, hasFixedPose, hasGravity, isCustomNameVisible, isDead, isEmpty, isFreezeTickingLocked, isFrozen, isGlowing, isInBubbleColumn, isInLava, isInPowderedSnow, isInRain, isInsideVehicle, isInvulnerable, isInWater, isInWaterOrBubbleColumn, isInWaterOrRain, isInWaterOrRainOrBubbleColumn, isOnGround, isPersistent, isSilent, isSneaking, isTicking, isUnderWater, isValid, isVisibleByDefault, isVisualFire, leaveVehicle, lockFreezeTicks, playEffect, remove, removePassenger, removeScoreboardTag, setCustomNameVisible, setFallDistance, setFireTicks, setFreezeTicks, setGlowing, setGravity, setInvulnerable, setLastDamageCause, setPassenger, setPersistent, setPortalCooldown, setPose, setPose, setRotation, setSilent, setSneaking, setTicksLived, setVelocity, setVisibleByDefault, setVisualFire, spawnAt, spawnAt, spigot, teamDisplayName, teleport, teleport, teleport, teleport, teleport, teleport, teleportAsync, teleportAsync, wouldCollideUsingMethods inherited from interface net.kyori.adventure.text.event.HoverEventSourceasHoverEventMethods inherited from interface org.bukkit.metadata.MetadatablegetMetadata, hasMetadata, removeMetadata, setMetadataMethods inherited from interface org.bukkit.NameablecustomName, customName, getCustomName, setCustomNameMethods inherited from interface org.bukkit.permissions.PermissibleaddAttachment, addAttachment, addAttachment, addAttachment, getEffectivePermissions, hasPermission, hasPermission, isPermissionSet, isPermissionSet, permissionValue, permissionValue, recalculatePermissions, removeAttachmentMethods inherited from interface org.bukkit.persistence.PersistentDataHoldergetPersistentDataContainerMethods inherited from interface net.kyori.adventure.pointer.Pointeredget, getOrDefault, getOrDefaultFrom, pointersMethods inherited from interface org.bukkit.permissions.ServerOperatorisOp, setOp
- 
Method Details- 
getShooterRetrieve the shooter of this projectile.- Returns:
- the ProjectileSourcethat shot this projectile
- See Also:
 
- 
setShooterSet the shooter of this projectile.- Parameters:
- source- the- ProjectileSourcethat shot this projectile
 
- 
doesBounceDeprecated, for removal: This API element is subject to removal in a future version.Does not do anythingDetermine if this projectile should bounce or not when it hits.If a small fireball does not bounce it will set the target on fire. - Returns:
- true if it should bounce.
 
- 
setBounceDeprecated, for removal: This API element is subject to removal in a future version.Does not do anythingSet whether or not this projectile should bounce or not when it hits something.- Parameters:
- doesBounce- whether or not it should bounce.
 
- 
hasLeftShooterboolean hasLeftShooter()Gets whether the projectile has left the hitbox of their shooter and can now hit entities.- Returns:
- has left shooter's hitbox
 
- 
setHasLeftShootervoid setHasLeftShooter(boolean leftShooter) Sets whether the projectile has left the hitbox of their shooter and can now hit entities. This is recalculated each tick if the projectile has a shooter.- Parameters:
- leftShooter- has left shooter's hitbox
 
- 
hasBeenShotboolean hasBeenShot()Gets whether the projectile has been shot into the world and has sent a projectile shot game event.- Returns:
- has been shot into the world
 
- 
setHasBeenShotvoid setHasBeenShot(boolean beenShot) Sets whether the projectile has been shot into the world and has sent a projectile shot game event in the next tick. Setting this to false will cause a game event to fire and the value to be set back to true.- Parameters:
- beenShot- has been in shot into the world
 
- 
canHitEntityGets whether this projectile can hit an entity.This method returns true under the following conditions: - The shooter can see the entity ( Player.canSee(Entity))- The entity is alive and not a spectator - The projectile has left the hitbox of the shooter ( hasLeftShooter())- If this is an arrow with piercing, it has not pierced the entity already - Parameters:
- entity- the entity to check if this projectile can hit
- Returns:
- true if this projectile can damage the entity, false otherwise
 
- 
hitEntityMakes this projectile hit a specific entity. This uses the current position of the projectile for the hit point. Using this method will result inProjectileHitEventbeing called.- Parameters:
- entity- the entity to hit
- See Also:
 
- 
hitEntityMakes this projectile hit a specific entity from a specific point. Using this method will result inProjectileHitEventbeing called.- Parameters:
- entity- the entity to hit
- vector- the direction to hit from
- See Also:
 
- 
getOwnerUniqueIdGets the owner's UUID- Returns:
- the owner's UUID, or null if not owned
- See Also:
 
 
-