geforkt von Mirrors/Paper
Friction API
Dieser Commit ist enthalten in:
Ursprung
19743ae5dc
Commit
0232bdcc50
35
paper-api/src/main/java/io/papermc/paper/entity/Frictional.java
Normale Datei
35
paper-api/src/main/java/io/papermc/paper/entity/Frictional.java
Normale Datei
@ -0,0 +1,35 @@
|
||||
package io.papermc.paper.entity;
|
||||
|
||||
import net.kyori.adventure.util.TriState;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
|
||||
/**
|
||||
* Represents an {@link Entity} that can experience friction with the air and ground.
|
||||
*/
|
||||
@NullMarked
|
||||
public interface Frictional {
|
||||
|
||||
/**
|
||||
* Gets the friction state of this entity.
|
||||
* When set to {@link TriState#TRUE}, the entity will always experience friction.
|
||||
* When set to {@link TriState#FALSE}, the entity will never experience friction.
|
||||
* When set to {@link TriState#NOT_SET}, the entity will fall back to Minecraft's default behaviour.
|
||||
*
|
||||
* @return the entity's friction state
|
||||
*/
|
||||
TriState getFrictionState();
|
||||
|
||||
/**
|
||||
* Sets the friction state of this entity.
|
||||
* When set to {@link TriState#TRUE}, the entity will always experience friction.
|
||||
* When set to {@link TriState#FALSE}, the entity will never experience friction.
|
||||
* When set to {@link TriState#NOT_SET}, the entity will fall back to Minecraft's default behaviour.
|
||||
* <p>
|
||||
* Please note that changing this value will do nothing for a player.
|
||||
*
|
||||
* @param state the new friction state to set for the entity
|
||||
*/
|
||||
void setFrictionState(TriState state);
|
||||
|
||||
}
|
@ -8,7 +8,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
/**
|
||||
* Represents a dropped item.
|
||||
*/
|
||||
public interface Item extends Entity {
|
||||
public interface Item extends Entity, io.papermc.paper.entity.Frictional { // Paper
|
||||
|
||||
/**
|
||||
* Gets the item stack associated with this item drop.
|
||||
|
@ -27,7 +27,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
/**
|
||||
* Represents a living entity, such as a monster or player
|
||||
*/
|
||||
public interface LivingEntity extends Attributable, Damageable, ProjectileSource {
|
||||
public interface LivingEntity extends Attributable, Damageable, ProjectileSource, io.papermc.paper.entity.Frictional { // Paper
|
||||
|
||||
/**
|
||||
* Gets the height of the living entity's eyes above its Location.
|
||||
|
@ -11,7 +11,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
/**
|
||||
* Represents a minecart entity.
|
||||
*/
|
||||
public interface Minecart extends Vehicle {
|
||||
public interface Minecart extends Vehicle, io.papermc.paper.entity.Frictional { // Paper
|
||||
|
||||
/**
|
||||
* Sets a minecart's damage.
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren