mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 07:48:53 +01:00
986ebc68fc
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
CraftBukkit Changes:
983305bb
SPIGOT-5856: Soul Campfire BlockState cannot be cast to Campfire
62 lines
3 KiB
Diff
62 lines
3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Thu, 10 Apr 2014 23:18:28 -0400
|
|
Subject: [PATCH] Spawn Reason API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
|
index 71c1e93ea15f0a926a9ad822d09a076f8b800988..75c9225bd07b4c4b6dcd702c52294a7637eb6884 100644
|
|
--- a/src/main/java/org/bukkit/World.java
|
|
+++ b/src/main/java/org/bukkit/World.java
|
|
@@ -1,6 +1,8 @@
|
|
package org.bukkit;
|
|
|
|
import java.io.File;
|
|
+
|
|
+import org.bukkit.event.entity.CreatureSpawnEvent;
|
|
import org.bukkit.generator.ChunkGenerator;
|
|
|
|
import java.util.ArrayList;
|
|
@@ -2146,6 +2148,12 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
|
@NotNull
|
|
public <T extends Entity> T spawn(@NotNull Location location, @NotNull Class<T> clazz) throws IllegalArgumentException;
|
|
|
|
+ // Paper start
|
|
+ @NotNull
|
|
+ public default <T extends Entity> T spawn(@NotNull Location location, @NotNull Class<T> clazz, @NotNull CreatureSpawnEvent.SpawnReason reason) throws IllegalArgumentException {
|
|
+ return spawn(location, clazz, reason, null);
|
|
+ }
|
|
+
|
|
/**
|
|
* Spawn an entity of a specific class at the given {@link Location}, with
|
|
* the supplied function run before the entity is added to the world.
|
|
@@ -2163,7 +2171,28 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
|
* {@link Entity} requested cannot be spawned
|
|
*/
|
|
@NotNull
|
|
- public <T extends Entity> T spawn(@NotNull Location location, @NotNull Class<T> clazz, @Nullable Consumer<T> function) throws IllegalArgumentException;
|
|
+ public default <T extends Entity> T spawn(@NotNull Location location, @NotNull Class<T> clazz, @Nullable Consumer<T> function) throws IllegalArgumentException {
|
|
+ return spawn(location, clazz, CreatureSpawnEvent.SpawnReason.CUSTOM, function);
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public default <T extends Entity> T spawn(@NotNull Location location, @NotNull Class<T> clazz, @NotNull CreatureSpawnEvent.SpawnReason reason, @Nullable Consumer<T> function) throws IllegalArgumentException {
|
|
+ return spawn(location, clazz, function, reason);
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public default Entity spawnEntity(@NotNull Location loc, @NotNull EntityType type, @NotNull CreatureSpawnEvent.SpawnReason reason) {
|
|
+ return spawn(loc, (Class<Entity>) type.getEntityClass(), reason, null);
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public default Entity spawnEntity(@NotNull Location loc, @NotNull EntityType type, @NotNull CreatureSpawnEvent.SpawnReason reason, @Nullable Consumer<Entity> function) {
|
|
+ return spawn(loc, (Class<Entity>) type.getEntityClass(), reason, function);
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public <T extends Entity> T spawn(@NotNull Location location, @NotNull Class<T> clazz, @Nullable Consumer<T> function, @NotNull CreatureSpawnEvent.SpawnReason reason) throws IllegalArgumentException;
|
|
+ // Paper end
|
|
|
|
/**
|
|
* Spawn a {@link FallingBlock} entity at the given {@link Location} of
|