13
0
geforkt von Mirrors/Paper

Add more lightning API

Dieser Commit ist enthalten in:
Nassim Jahnke 2020-07-26 14:46:14 +02:00
Ursprung 769f32c557
Commit 7c3f274871
2 geänderte Dateien mit 117 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -0,0 +1,49 @@
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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/entity/LightningStrike.java
+++ b/src/main/java/org/bukkit/entity/LightningStrike.java
@@ -0,0 +0,0 @@ public interface LightningStrike extends Entity {
@Override
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 amount of ticks the current flash will do damage for.
+ * Starts with 2 by default, will damage while it is equal to or above 0, with the next flash beginning somewhere between 0 and -9.
+ *
+ * @return ticks the current flash will do damage for
+ */
+ int getLifeTicks();
+
+ /**
+ * Sets the amount of ticks the current flash will do damage/fire for.
+ * Default is 2 for each flash, on which the sound and effect will also be played.
+ *
+ * @param lifeTicks ticks the current flash will do damage for
+ */
+ void setLifeTicks(int lifeTicks);
+ // Paper end
}

Datei anzeigen

@ -0,0 +1,68 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nassim Jahnke <nassim@njahnke.dev>
Date: Sun, 26 Jul 2020 14:44:09 +0200
Subject: [PATCH] More lightning API
diff --git a/src/main/java/net/minecraft/server/EntityLightning.java b/src/main/java/net/minecraft/server/EntityLightning.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/EntityLightning.java
+++ b/src/main/java/net/minecraft/server/EntityLightning.java
@@ -0,0 +0,0 @@ public class EntityLightning extends Entity {
private int lifeTicks;
public long b;
- private int d;
+ private int d; public int getFlashCount() { return d; } public void setFlashCount(int flashes) { this.d = flashes; } // Paper - OBFHELPER
public boolean isEffect;
@Nullable
private EntityPlayer f;
@@ -0,0 +0,0 @@ public class EntityLightning extends Entity {
this.isEffect = flag;
}
+ // Paper start
+ public int getLifeTicks() {
+ return lifeTicks;
+ }
+
+ public void setLifeTicks(int lifeTicks) {
+ this.lifeTicks = lifeTicks;
+ }
+ // Paper end
+
@Override
public SoundCategory getSoundCategory() {
return SoundCategory.WEATHER;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java
@@ -0,0 +0,0 @@ public class CraftLightningStrike extends CraftEntity implements LightningStrike
return spigot;
}
// Spigot end
+
+ // Paper start
+ @Override
+ public int getFlashCount() {
+ return getHandle().getFlashCount();
+ }
+
+ @Override
+ public void setFlashCount(int flashes) {
+ com.google.common.base.Preconditions.checkArgument(flashes >= 0, "Flashes has to be a positive number!");
+ getHandle().setFlashCount(flashes);
+ }
+
+ @Override
+ public int getLifeTicks() {
+ return getHandle().getLifeTicks();
+ }
+
+ @Override
+ public void setLifeTicks(int lifeTicks) {
+ getHandle().setLifeTicks(lifeTicks);
+ }
+ // Paper end
}