aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0425-More-DragonBattle-API.patch
blob: e25208ec19315b139560f16c7e289ce86e792d9d (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Sun, 18 Dec 2022 13:40:17 -0800
Subject: [PATCH] More DragonBattle API


diff --git a/src/main/java/org/bukkit/boss/DragonBattle.java b/src/main/java/org/bukkit/boss/DragonBattle.java
index 6e5fc92243ee63c2a965f8a4905e29a7993588fd..5dbd12a786a66640ce80acafe2a42e35adef41eb 100644
--- a/src/main/java/org/bukkit/boss/DragonBattle.java
+++ b/src/main/java/org/bukkit/boss/DragonBattle.java
@@ -145,4 +145,44 @@ public interface DragonBattle {
          */
         NONE;
     }
+    // Paper start
+    /**
+     * Gets the number of gateways tracked by this DragonBattle.
+     * This starts out at 0 and will increase to 20, once for each
+     * kill of the {@link EnderDragon}.
+     *
+     * @return the number of gateways around the end island tracked by this
+     */
+    int getGatewayCount();
+
+    /**
+     * Tries to spawn a new end gateway using default game mechanics.
+     *
+     * @return true if successful, false if there is already the maximum.
+     */
+    boolean spawnNewGateway();
+
+    /**
+     * Spawns a new end gateway at the specified position. This will
+     * spawn regardless of the number of gateways already present.
+     *
+     * @param position position for the new gateway
+     */
+    void spawnNewGateway(@NotNull io.papermc.paper.math.Position position);
+
+    /**
+     * Gets the {@link org.bukkit.entity.EnderCrystal}s being used to respawn the dragon. If no respawn
+     * is ongoing, the list will be empty.
+     *
+     * @return the respawn crystals
+     */
+    java.util.@NotNull @org.jetbrains.annotations.Unmodifiable List<org.bukkit.entity.EnderCrystal> getRespawnCrystals();
+
+    /**
+     * Gets the {@link org.bukkit.entity.EnderCrystal}s on top of the pillars that heal the dragon.
+     *
+     * @return the healing crystals
+     */
+    java.util.@NotNull @org.jetbrains.annotations.Unmodifiable List<org.bukkit.entity.EnderCrystal> getHealingCrystals();
+    // Paper end
 }