93 lines
2.1 KiB
Java
93 lines
2.1 KiB
Java
package org.bukkit.entity;
|
|
|
|
import org.bukkit.OfflinePlayer;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
/**
|
|
* Represents an entity designed to only record interactions.
|
|
*/
|
|
public interface Interaction extends Entity {
|
|
|
|
/**
|
|
* Gets the width of this interaction entity.
|
|
*
|
|
* @return width
|
|
*/
|
|
public float getInteractionWidth();
|
|
|
|
/**
|
|
* Sets the width of this interaction entity.
|
|
*
|
|
* @param width new width
|
|
*/
|
|
public void setInteractionWidth(float width);
|
|
|
|
/**
|
|
* Gets the height of this interaction entity.
|
|
*
|
|
* @return height
|
|
*/
|
|
public float getInteractionHeight();
|
|
|
|
/**
|
|
* Sets the height of this interaction entity.
|
|
*
|
|
* @param height new height
|
|
*/
|
|
public void setInteractionHeight(float height);
|
|
|
|
/**
|
|
* Gets if this interaction entity should trigger a response when interacted
|
|
* with.
|
|
*
|
|
* @return response setting
|
|
*/
|
|
public boolean isResponsive();
|
|
|
|
/**
|
|
* Sets if this interaction entity should trigger a response when interacted
|
|
* with.
|
|
*
|
|
* @param response new setting
|
|
*/
|
|
public void setResponsive(boolean response);
|
|
|
|
/**
|
|
* Gets the last attack on this interaction entity.
|
|
*
|
|
* @return last attack data, if present
|
|
*/
|
|
@Nullable
|
|
public PreviousInteraction getLastAttack();
|
|
|
|
/**
|
|
* Gets the last interaction on this entity.
|
|
*
|
|
* @return last interaction data, if present
|
|
*/
|
|
@Nullable
|
|
public PreviousInteraction getLastInteraction();
|
|
|
|
/**
|
|
* Represents a previous interaction with this entity.
|
|
*/
|
|
public interface PreviousInteraction {
|
|
|
|
/**
|
|
* Get the previous interacting player.
|
|
*
|
|
* @return interacting player
|
|
*/
|
|
@NotNull
|
|
public OfflinePlayer getPlayer();
|
|
|
|
/**
|
|
* Gets the Unix timestamp at when this interaction occurred.
|
|
*
|
|
* @return interaction timestamp
|
|
*/
|
|
public long getTimestamp();
|
|
}
|
|
}
|