geforkt von Mirrors/Paper
f6969b6374
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 09b1c123 PR-916: Add more lightning API c085f3de PR-859: Add Entity#getTrackedBy CraftBukkit Changes: 1bf30a4e9 SPIGOT-7495: Spawning bee entity in asynchronous BlockPopulator causes IllegalStateException - Accessing LegacyRandomSource from multiple threads 476c5bccd PR-1267: Add more lightning API 40d5e6c02 PR-1190: Add Entity#getTrackedBy 40d41acc1 SPIGOT-7491: Downgrade bundled SQLite to be updated next release 44b31da38 PR-1264: Load Bukkit class before creating Registry item dc45a6738 SPIGOT-7496: Failure to load datapacks with multiple identical predicates f508657d6 Fix decompile error affecting javac ef7a4743d PR-1265: Ensure UTF-8 used in new test resource Spigot Changes: 224dad51 Rebuild patches
74 Zeilen
2.9 KiB
Diff
74 Zeilen
2.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Nassim Jahnke <nassim@njahnke.dev>
|
|
Date: Sun, 26 Jul 2020 14:44:16 +0200
|
|
Subject: [PATCH] More lightning API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/entity/LightningStrike.java b/src/main/java/org/bukkit/entity/LightningStrike.java
|
|
index 8dc433baba7060df5cfe6fc10210a5a27287987d..0b9e02bb88a1b1fe7378c11f1cca9c93b183f814 100644
|
|
--- a/src/main/java/org/bukkit/entity/LightningStrike.java
|
|
+++ b/src/main/java/org/bukkit/entity/LightningStrike.java
|
|
@@ -22,7 +22,9 @@ public interface LightningStrike extends Entity {
|
|
* removed. By default this value is between 1 and 3.
|
|
*
|
|
* @return the flashes
|
|
+ * @deprecated use {@link #getFlashCount()}
|
|
*/
|
|
+ @Deprecated // Paper
|
|
public int getFlashes();
|
|
|
|
/**
|
|
@@ -31,7 +33,9 @@ public interface LightningStrike extends Entity {
|
|
* has reduced below 0.
|
|
*
|
|
* @param flashes the flashes
|
|
+ * @deprecated use {@link #setFlashCount(int)}
|
|
*/
|
|
+ @Deprecated // Paper
|
|
public void setFlashes(int flashes);
|
|
|
|
/**
|
|
@@ -111,4 +115,42 @@ public interface LightningStrike extends Entity {
|
|
@Deprecated // Paper
|
|
Spigot spigot();
|
|
// Spigot end
|
|
+
|
|
+ // Paper start
|
|
+ /**
|
|
+ * Returns the amount of flash iterations that will be done before the lightning dies.
|
|
+ *
|
|
+ * @see #getLifeTicks() for how long the current flash will last
|
|
+ * @return amount of flashes that will be shown before the lightning dies
|
|
+ */
|
|
+ int getFlashCount();
|
|
+
|
|
+ /**
|
|
+ * Sets the amount of life iterations that will be done before the lightning dies.
|
|
+ * Default number of flashes on creation is between 1-3.
|
|
+ *
|
|
+ * @param flashes amount of iterations that will be done before the lightning dies, must to be a positive number
|
|
+ */
|
|
+ void setFlashCount(int flashes);
|
|
+
|
|
+ /**
|
|
+ * Returns the potential entity that caused this lightning strike to spawn in the world.
|
|
+ * <p>
|
|
+ * As of implementing this method, only {@link Player}s are capable of causing a lightning strike, however as this
|
|
+ * might change in future minecraft releases, this method does not guarantee a player as the cause of a lightning.
|
|
+ * Consumers of this method should hence validate whether or not the entity is a player if they want to use player
|
|
+ * specific methods through an {@code instanceOf} check.
|
|
+ * </p>
|
|
+ * <p>
|
|
+ * A player is, as of implementing this method, responsible for a lightning, and will hence be returned here as
|
|
+ * a cause, if they channeled a {@link Trident} to summon it or were explicitly defined as the cause of this
|
|
+ * lightning through {@link #setCausingPlayer(Player)}.
|
|
+ * </p>
|
|
+ *
|
|
+ * @return the entity that caused this lightning or null if the lightning was not caused by a entity (e.g. normal
|
|
+ * weather)
|
|
+ */
|
|
+ @org.jetbrains.annotations.Nullable
|
|
+ Entity getCausingEntity();
|
|
+ // Paper end
|
|
}
|