aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0177-Mob-Spawner-API-Enhancements.patch
blob: a59a7e0f31271165097cd4dcb77904cf8c5ee6aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 19 Apr 2019 12:41:19 -0500
Subject: [PATCH] Mob Spawner API Enhancements


diff --git a/src/main/java/org/bukkit/block/CreatureSpawner.java b/src/main/java/org/bukkit/block/CreatureSpawner.java
index c33f6573a9cb0a1516539a1947760a093aa08051..5e0fae5a602ab242f00c1f6aead68cc12579bc97 100644
--- a/src/main/java/org/bukkit/block/CreatureSpawner.java
+++ b/src/main/java/org/bukkit/block/CreatureSpawner.java
@@ -277,4 +277,30 @@ public interface CreatureSpawner extends TileState {
      */
     @NotNull
     public List<SpawnerEntry> getPotentialSpawns();
+
+    // Paper start
+    /**
+     * Check if spawner is activated (a player is close enough)
+     *
+     * @return True if a player is close enough to activate it
+     */
+    public boolean isActivated();
+
+    /**
+     * Resets the spawn delay timer within the min/max range
+     */
+    public void resetTimer();
+
+    /**
+     * Sets the {@link EntityType} to {@link EntityType#DROPPED_ITEM} and sets the data to the given
+     * {@link org.bukkit.inventory.ItemStack ItemStack}.
+     * <p>
+     * {@link #setSpawnCount(int)} does not dictate the amount of items in the stack spawned, but rather how many
+     * stacks should be spawned.
+     *
+     * @param itemStack The item to spawn. Must not {@link org.bukkit.Material#isAir be air}.
+     * @see #setSpawnedType(EntityType)
+     */
+    void setSpawnedItem(org.bukkit.inventory.@org.jetbrains.annotations.NotNull ItemStack itemStack);
+    // Paper end
 }