Package org.bukkit.entity

# Interface Boat

All Superinterfaces:
  `Audience`, `CommandSender`, `Entity`, `HoverEventSource<HoverEvent.ShowEntity>`, `Metadatable`, `Nameable`, `Permissible`, `PersistentDataHolder`, `Pointered`, `ServerOperator`, `Sound.Emitter`, `Vehicle`

All Known Subinterfaces:
  `ChestBoat`

public interface Boat extends Vehicle
Represents a boat entity.

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static enum`
`Boat.Status`
Represents the status of the boat.
`static enum`
`Boat.Type`
Represents the type of boats.

## Nested classes/interfaces inherited from interface org.bukkit.entity.Entity

`Entity.Spigot`

## Method Summary

Modifier and Type
Method
Description
`@NotNull Material`
`getBoatMaterial()`
Gets the `Material` that represents this Boat type.
`@NotNull Boat.Type`
`getBoatType()`
Gets the type of the boat.
`double`
`getMaxSpeed()`
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
`double`
`getOccupiedDeceleration()`
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
`@NotNull Boat.Status`
`getStatus()`
Gets the status of the boat.
`double`
`getUnoccupiedDeceleration()`
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
`@NotNull TreeSpecies`
`getWoodType()`
Deprecated.
deprecated in favor of `getBoatType()`
`boolean`
`getWorkOnLand()`
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
`void`
`setBoatType(@NotNull Boat.Type type)`
Sets the type of the boat.
`void`
`setMaxSpeed(double speed)`
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
`void`
`setOccupiedDeceleration(double rate)`
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
`void`
`setUnoccupiedDeceleration(double rate)`
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
`void`
`setWoodType(@NotNull TreeSpecies species)`
Deprecated.
deprecated in favor of `setBoatType(Type)`
`void`
`setWorkOnLand(boolean workOnLand)`
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.

### Methods inherited from interface net.kyori.adventure.audience.Audience

`clearTitle, 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, stopSound`

### Methods inherited from interface org.bukkit.command.CommandSender

`getName, name, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlainMessage, sendRichMessage`

### Methods inherited from interface org.bukkit.entity.Entity

`addPassenger, addScoreboardTag, asHoverEvent, collidesAt, eject, fromMobSpawner, getBoundingBox, getChunk, getEntityId, getEntitySpawnReason, getFacing, getFallDistance, getFireTicks, getFreezeTicks, getHeight, getLastDamageCause, getLocation, getLocation, getMaxFireTicks, getMaxFreezeTicks, getNearbyEntities, getOrigin, getPassenger, getPassengers, getPistonMoveReaction, getPortalCooldown, getPose, getScoreboardTags, getServer, getSpawnCategory, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTicksLived, getTrackedPlayers, getType, getUniqueId, getVehicle, getWidth, getWorld, hasGravity, isCustomNameVisible, isDead, isEmpty, isFreezeTickingLocked, isFrozen, isGlowing, isInBubbleColumn, isInLava, isInPowderedSnow, isInRain, isInsideVehicle, isInvulnerable, isInWater, isInWaterOrBubbleColumn, isInWaterOrRain, isInWaterOrRainOrBubbleColumn, isOnGround, isPersistent, isSilent, isTicking, isUnderWater, isValid, isVisualFire, leaveVehicle, lockFreezeTicks, playEffect, remove, removePassenger, removeScoreboardTag, setCustomNameVisible, setFallDistance, setFireTicks, setFreezeTicks, setGlowing, setGravity, setInvulnerable, setLastDamageCause, setPassenger, setPersistent, setPortalCooldown, setRotation, setSilent, setTicksLived, setVisualFire, spawnAt, spawnAt, spigot, teamDisplayName, teleport, teleport, teleport, teleport, teleport, teleport, teleport, teleport, teleportAsync, teleportAsync, wouldCollideUsing`

### Methods inherited from interface net.kyori.adventure.text.event.HoverEventSource

`asHoverEvent`

### Methods inherited from interface org.bukkit.metadata.Metadatable

`getMetadata, hasMetadata, removeMetadata, setMetadata`

### Methods inherited from interface org.bukkit.Nameable

`customName, customName, getCustomName, setCustomName`

### Methods inherited from interface org.bukkit.permissions.Permissible

`addAttachment, addAttachment, addAttachment, addAttachment, getEffectivePermissions, hasPermission, hasPermission, isPermissionSet, isPermissionSet, permissionValue, permissionValue, recalculatePermissions, removeAttachment`

### Methods inherited from interface org.bukkit.persistence.PersistentDataHolder

`getPersistentDataContainer`

### Methods inherited from interface net.kyori.adventure.pointer.Pointered

`get, getOrDefault, getOrDefaultFrom, pointers`

### Methods inherited from interface org.bukkit.permissions.ServerOperator

`isOp, setOp`

### Methods inherited from interface org.bukkit.entity.Vehicle

`getVelocity, setVelocity`

## Method Details

### getWoodType

@Deprecated @NotNull @NotNull TreeSpecies getWoodType()
Deprecated.
deprecated in favor of `getBoatType()`
Gets the wood type of the boat.

Returns:
  the wood type

### setWoodType

@Deprecated void setWoodType(@NotNull @NotNull TreeSpecies species)
Deprecated.
deprecated in favor of `setBoatType(Type)`
Sets the wood type of the boat.

Parameters:
  `species` - the new wood type

### getBoatType

@NotNull @NotNull Boat.Type getBoatType()
Gets the type of the boat.

Returns:
  the boat type

### setBoatType

void setBoatType(@NotNull @NotNull Boat.Type type)
Sets the type of the boat.

Parameters:
  `type` - the new type

### getMaxSpeed

@Deprecated double getMaxSpeed()
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
Gets the maximum speed of a boat. The speed is unrelated to the velocity.

Returns:
  The max speed.

### setMaxSpeed

@Deprecated void setMaxSpeed(double speed)
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
Sets the maximum speed of a boat. Must be nonnegative. Default is 0.4D.

Parameters:
  `speed` - The max speed.

### getOccupiedDeceleration

@Deprecated double getOccupiedDeceleration()
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
Gets the deceleration rate (newSpeed = curSpeed * rate) of occupied boats. The default is 0.2.

Returns:
  The rate of deceleration

### setOccupiedDeceleration

@Deprecated void setOccupiedDeceleration(double rate)
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
Sets the deceleration rate (newSpeed = curSpeed * rate) of occupied boats. Setting this to a higher value allows for quicker acceleration. The default is 0.2.

Parameters:
  `rate` - deceleration rate

### getUnoccupiedDeceleration

@Deprecated double getUnoccupiedDeceleration()
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
Gets the deceleration rate (newSpeed = curSpeed * rate) of unoccupied boats. The default is -1. Values below 0 indicate that no additional deceleration is imposed.

Returns:
  The rate of deceleration

### setUnoccupiedDeceleration

@Deprecated void setUnoccupiedDeceleration(double rate)
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
Sets the deceleration rate (newSpeed = curSpeed * rate) of unoccupied boats. Setting this to a higher value allows for quicker deceleration of boats when a player disembarks. The default is -1. Values below 0 indicate that no additional deceleration is imposed.

Parameters:
  `rate` - deceleration rate

### getWorkOnLand

@Deprecated boolean getWorkOnLand()
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
Get whether boats can work on land.

Returns:
  whether boats can work on land

### setWorkOnLand

@Deprecated void setWorkOnLand(boolean workOnLand)
Deprecated.
boats are complex and many of these methods do not work correctly across multiple versions.
Set whether boats can work on land.

Parameters:
  `workOnLand` - whether boats can work on land

### getStatus

@NotNull @NotNull Boat.Status getStatus()
Gets the status of the boat.

Returns:
  the status

### getBoatMaterial

@NotNull @NotNull Material getBoatMaterial()
Gets the `Material` that represents this Boat type.

Returns:
  the boat material.