aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0654-Add-API-for-item-entity-health.patch
blob: cd2757b544054c3b68b3a17b1fefa14f00c3b9ee (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
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Sat, 28 Aug 2021 09:00:45 -0700
Subject: [PATCH] Add API for item entity health

== AT ==
public net.minecraft.world.entity.item.ItemEntity health

diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
index 4a15c3786edbfeae3367c0b20fb6aee11d62aea6..1a291dd8a287db30e71dcb315599fc4b038764c4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -98,6 +98,21 @@ public class CraftItem extends CraftEntity implements Item {
      public void setWillAge(boolean willAge) {
         this.getHandle().age = willAge ? 0 : NO_AGE_TIME;
      }
+
+    @Override
+    public int getHealth() {
+        return this.getHandle().health;
+    }
+
+    @Override
+    public void setHealth(int health) {
+        if (health <= 0) {
+            this.getHandle().getItem().onDestroyed(this.getHandle());
+            this.getHandle().discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.PLUGIN);
+        } else {
+            this.getHandle().health = health;
+        }
+    }
     // Paper end
 
     @Override