From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mariell Hoversholm Date: Sat, 9 Jan 2021 21:21:27 +0100 Subject: [PATCH] Add unsafe Entity serialization API This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java index b47e31d2b9b41b39b46892fe10bf36d82c5d8e1b..7fa5242bd44c9b19648d79fa8fecbb7ee125288e 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -751,5 +751,24 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * @return True if ridable in water */ boolean isRidableInWater(); + + /** + * Spawn this entity in the world at the given {@link Location} with the default spawn reason. + * + * @param location The location at which to spawn the entity. + * @return Whether the entity was successfully spawned. + */ + default boolean spawnAt(@NotNull Location location) { + return spawnAt(location, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT); + } + + /** + * Spawn this entity in the world at the given {@link Location} with the reason given. + * + * @param location The location at which to spawn the entity. + * @param spawnReason The reason for which the entity was spawned. + * @return Whether the entity was successfully spawned. + */ + boolean spawnAt(@NotNull Location location, @NotNull org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason); // Purpur end }