mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 03:48:01 +01:00
#994: Add methods to convert between an entity and a string
By: Jishuna <joshl5324@gmail.com>
This commit is contained in:
parent
d9a704e3f6
commit
bfd5351193
@ -27,6 +27,8 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.ConsoleCommandSender;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityFactory;
|
||||
import org.bukkit.entity.EntitySnapshot;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.SpawnCategory;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
@ -1723,6 +1725,17 @@ public final class Bukkit {
|
||||
return server.getItemFactory();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the instance of the entity factory (for {@link EntitySnapshot}).
|
||||
*
|
||||
* @return the entity factory
|
||||
* @see EntityFactory
|
||||
*/
|
||||
@NotNull
|
||||
public static EntityFactory getEntityFactory() {
|
||||
return server.getEntityFactory();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the instance of the scoreboard manager.
|
||||
* <p>
|
||||
|
@ -27,6 +27,8 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.ConsoleCommandSender;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityFactory;
|
||||
import org.bukkit.entity.EntitySnapshot;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.SpawnCategory;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
@ -1461,6 +1463,15 @@ public interface Server extends PluginMessageRecipient {
|
||||
@NotNull
|
||||
ItemFactory getItemFactory();
|
||||
|
||||
/**
|
||||
* Gets the instance of the entity factory (for {@link EntitySnapshot}).
|
||||
*
|
||||
* @return the entity factory
|
||||
* @see EntityFactory
|
||||
*/
|
||||
@NotNull
|
||||
EntityFactory getEntityFactory();
|
||||
|
||||
/**
|
||||
* Gets the instance of the scoreboard manager.
|
||||
* <p>
|
||||
|
@ -726,6 +726,17 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
||||
*/
|
||||
boolean isInWorld();
|
||||
|
||||
/**
|
||||
* Get this entity as an NBT string.
|
||||
* <p>
|
||||
* This string should not be relied upon as a serializable value.
|
||||
*
|
||||
* @return the NBT string or null if one cannot be made
|
||||
*/
|
||||
@Nullable
|
||||
@ApiStatus.Experimental
|
||||
String getAsString();
|
||||
|
||||
/**
|
||||
* Crates an {@link EntitySnapshot} representing the current state of this entity.
|
||||
*
|
||||
|
19
paper-api/src/main/java/org/bukkit/entity/EntityFactory.java
Normal file
19
paper-api/src/main/java/org/bukkit/entity/EntityFactory.java
Normal file
@ -0,0 +1,19 @@
|
||||
package org.bukkit.entity;
|
||||
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@ApiStatus.Experimental
|
||||
public interface EntityFactory {
|
||||
|
||||
/**
|
||||
* Create a new EntitySnapshot with the supplied input.<br>
|
||||
* Accepts strings in the format output by {@link EntitySnapshot#getAsString()}.
|
||||
*
|
||||
* @param input the input string
|
||||
* @return the created EntitySnapshot
|
||||
* @throws IllegalArgumentException if the input string was provided in an invalid or unsupported format
|
||||
*/
|
||||
@NotNull
|
||||
EntitySnapshot createEntitySnapshot(@NotNull String input) throws IllegalArgumentException;
|
||||
}
|
@ -2,6 +2,7 @@ package org.bukkit.entity;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
@ -36,4 +37,15 @@ public interface EntitySnapshot {
|
||||
*/
|
||||
@NotNull
|
||||
EntityType getEntityType();
|
||||
|
||||
/**
|
||||
* Get this EntitySnapshot as an NBT string.
|
||||
* <p>
|
||||
* This string should not be relied upon as a serializable value.
|
||||
*
|
||||
* @return the NBT string
|
||||
*/
|
||||
@NotNull
|
||||
@ApiStatus.Experimental
|
||||
String getAsString();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user