Files
Purpur/purpur-server/paper-patches/features/0004-API-for-any-mob-to-burn-daylight.patch
2026-06-08 10:16:24 -07:00

66 lines
3.0 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ben Kerllenevich <ben@omega24.dev>
Date: Tue, 25 May 2021 16:31:09 -0400
Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 612e3457d537d6129437443753cad3e48590d542..a188eb750d6371f7e550a8971135a81de5823032 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -127,6 +127,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
}
// Purpur end - Fire Immunity API
+ // Purpur start - API for any mob to burn daylight
+ @Override
+ public boolean isInDaylight() {
+ return getHandle().isSunBurnTick();
+ }
+ // Purpur end - API for any mob to burn daylight
+
public static <T extends Entity> CraftEntity getEntity(CraftServer server, T entity) {
Preconditions.checkArgument(entity != null, "Unknown entity");
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 86ea370201a3c92f70289ca197adcb69130b53cb..b7b82bf44c164123dd62a690421001b110b68af8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1141,4 +1141,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
manager.untrackWaypoint(getHandle());
manager.trackWaypoint(getHandle());
}
+
+ // Purpur start - API for any mob to burn daylight
+ @Override
+ public boolean shouldBurnInDay() {
+ return this.getHandle().shouldBurnInDay();
+ }
+
+ @Override
+ public void setShouldBurnInDay(final boolean shouldBurnInDay) {
+ this.getHandle().setShouldBurnInDay(shouldBurnInDay);
+ }
+ // Purpur end - API for any mob to burn daylight
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPhantom.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPhantom.java
index db0e625d8ba721b0ad6913fe4a11ed8eb939d344..ecba9986915abdf59e8a71252949b6e47b55ed89 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPhantom.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPhantom.java
@@ -35,12 +35,12 @@ public class CraftPhantom extends CraftMob implements Phantom, CraftEnemy {
@Override
public boolean shouldBurnInDay() {
- return this.getHandle().shouldBurnInDay;
+ return this.getHandle().shouldBurnInDay(); // Purpur - API for any mob to burn daylight
}
@Override
public void setShouldBurnInDay(boolean shouldBurnInDay) {
- this.getHandle().shouldBurnInDay = shouldBurnInDay;
+ this.getHandle().setShouldBurnInDay(shouldBurnInDay); // Purpur - API for any mob to burn daylight
}
@Override