Obsidian/patches/api/0456-More-Raid-API.patch
Esoteric Enderman 355b1cbaf6
Add API for explosions to damage the explosion cause (#11180)
This intends to give plugin developers more control over explosions created using the World#createExplosion method, specifically by adding the option for explosions to damage the explosion cause (not the default behavior, and previously impossible to do, as far as I know). This is done by overloading existing methods with an extra `excludeSourceFromDamage` parameter.

Co-authored-by: Bjarne Koll <lynxplay101@gmail.com>
2024-09-28 21:32:56 +02:00

62 lines
1.9 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Fri, 4 Mar 2022 09:46:40 -0800
Subject: [PATCH] More Raid API
diff --git a/src/main/java/org/bukkit/Raid.java b/src/main/java/org/bukkit/Raid.java
index 983a8c20a06d2b509602b27f49c090598b8ecc42..fa98599e3eee37bf68f0e9813497c718f457485c 100644
--- a/src/main/java/org/bukkit/Raid.java
+++ b/src/main/java/org/bukkit/Raid.java
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Represents a raid event.
*/
-public interface Raid {
+public interface Raid extends org.bukkit.persistence.PersistentDataHolder { // Paper
/**
* Get whether this raid started.
@@ -131,4 +131,20 @@ public interface Raid {
*/
STOPPED;
}
+
+ // Paper start
+ /**
+ * Gets the id of this raid.
+ *
+ * @return the raid id
+ */
+ int getId();
+
+ /**
+ * Get the boss bar to be displayed for this raid.
+ *
+ * @return the boss bar
+ */
+ org.bukkit.boss.@NotNull BossBar getBossBar();
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 16570c3c7ed5e7ad25f20c1034f7b966d6e694da..adcd8161846b06fd1a7895750f98b629204a8406 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -4127,6 +4127,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public Raid locateNearestRaid(@NotNull Location location, int radius);
+ // Paper start - more Raid API
+ /**
+ * Get a raid with the specific id from {@link Raid#getId}
+ * from this world.
+ *
+ * @param id the id of the raid
+ * @return the raid or null if none with that id
+ */
+ @Nullable Raid getRaid(int id);
+ // Paper end - more Raid API
+
/**
* Gets all raids that are going on over this world.
*