aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0499-More-lightning-API.patch
blob: 50620fb3ad287c250bf15eff797584fc05c5990e (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
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

== AT ==
public net.minecraft.world.entity.LightningBolt life
public net.minecraft.world.entity.LightningBolt flashes

diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java
index a244385cc0c297d018e860d0b6e4570084d9d0e7..dbb435ec7a930c3b410fc4311f7eb0a4d2faa987 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java
@@ -39,4 +39,38 @@ public class CraftLightningStrike extends CraftEntity implements LightningStrike
         return this.spigot;
     }
     // Spigot end
+
+    // Paper start
+    @Override
+    public int getFlashCount() {
+        return getHandle().flashes;
+    }
+
+    @Override
+    public void setFlashCount(int flashes) {
+        com.google.common.base.Preconditions.checkArgument(flashes >= 0, "Flashes has to be a positive number!");
+        getHandle().flashes = flashes;
+    }
+
+    @Override
+    public int getLifeTicks() {
+        return getHandle().life;
+    }
+
+    @Override
+    public void setLifeTicks(int lifeTicks) {
+        getHandle().life = lifeTicks;
+    }
+
+    @Override
+    public @org.jetbrains.annotations.Nullable org.bukkit.entity.Entity getCausingEntity() {
+        final var cause = this.getHandle().getCause();
+        return cause == null ? null : cause.getBukkitEntity();
+    }
+
+    @Override
+    public void setCausingPlayer(@org.jetbrains.annotations.Nullable org.bukkit.entity.Player causingPlayer) {
+        this.getHandle().setCause(causingPlayer == null ? null : ((CraftPlayer) causingPlayer).getHandle());
+    }
+    // Paper end
 }