#512: Expand Strider and Steerable entity API
By: Parker Hawke <hawkeboyz2@hotmail.com>
This commit is contained in:
71
paper-api/src/main/java/org/bukkit/entity/Steerable.java
Normal file
71
paper-api/src/main/java/org/bukkit/entity/Steerable.java
Normal file
@@ -0,0 +1,71 @@
|
||||
package org.bukkit.entity;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* Represents an entity which may be saddled, ridden and steered using an item.
|
||||
*/
|
||||
public interface Steerable extends Animals {
|
||||
|
||||
/**
|
||||
* Check if the pig has a saddle.
|
||||
*
|
||||
* @return if the pig has been saddled.
|
||||
*/
|
||||
public boolean hasSaddle();
|
||||
|
||||
/**
|
||||
* Sets if the pig has a saddle or not
|
||||
*
|
||||
* @param saddled set if the pig has a saddle or not.
|
||||
*/
|
||||
public void setSaddle(boolean saddled);
|
||||
|
||||
/**
|
||||
* Get the time in ticks this entity's movement is being increased.
|
||||
*
|
||||
* Movement speed is often increased as a result of using the
|
||||
* {@link #getSteerMaterial()}.
|
||||
*
|
||||
* @return the current boost ticks
|
||||
*/
|
||||
public int getBoostTicks();
|
||||
|
||||
/**
|
||||
* Set the time in ticks this entity's movement will be increased.
|
||||
*
|
||||
* This will reset the current boost ticks to 0
|
||||
* ({@link #getCurrentBoostTicks()}).
|
||||
*
|
||||
* @param ticks the boost time
|
||||
*/
|
||||
public void setBoostTicks(int ticks);
|
||||
|
||||
/**
|
||||
* Get the time in ticks this entity's movement has been increased as of the
|
||||
* most recent boost.
|
||||
*
|
||||
* Current boost ticks will never be {@literal >} {@link #getBoostTicks()}.
|
||||
*
|
||||
* @return the current boost ticks
|
||||
*/
|
||||
public int getCurrentBoostTicks();
|
||||
|
||||
/**
|
||||
* Set the time in ticks this entity's movement has been increased relative
|
||||
* to the most recent boost.
|
||||
*
|
||||
* @param ticks the current boost ticks. Must be {@literal >=} 0 and {@literal <=}
|
||||
* {@link #getBoostTicks()}
|
||||
*/
|
||||
public void setCurrentBoostTicks(int ticks);
|
||||
|
||||
/**
|
||||
* Get the material used to steer this entity when ridden by a player.
|
||||
*
|
||||
* @return the lure material
|
||||
*/
|
||||
@NotNull
|
||||
public Material getSteerMaterial();
|
||||
}
|
||||
Reference in New Issue
Block a user