Files
Purpur/purpur-server/paper-patches/features/0004-API-for-any-mob-to-burn-daylight.patch
granny ee4e8d60b5 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@59797420 26.2
PaperMC/Paper@389befc2 drop old ATs
PaperMC/Paper@14bb579b fix bad exhaustion reasons for player movement
PaperMC/Paper@0b4fed78 fix misc issues
PaperMC/Paper@384ff989 fix contract of ItemContainerContents#contents
PaperMC/Paper@af55c9de Fix Geyser particle options waterBlocks precondition (#13961)
PaperMC/Paper@1daadd58 Prevent EnderDragon and Wither from receiving effect of vanilla sources (#13956)
PaperMC/Paper@ca8eb49f Mention MOJIRA issue for correct stacktrace fix in FileFixerUpper [ci/skip] (#13962)
PaperMC/Paper@80d10989 Expose Entity Source for EntityPotionEffectEvent (#13957)
PaperMC/Paper@2c0341f9 Update adventure to 5.1.1
PaperMC/Paper@649002a4 fix IOOB for '..' namespace
PaperMC/Paper@783b6f09 add preconditions to particles
2026-06-17 18:13:32 -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 de9bdce25392d8df4cdf2037d4fad07b469a7d9e..71d14d016e97e3fb93d2c10862afd0c314b9a367 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 eb8d43f86726bc3c4d917f9244a71effd6203337..a7fd65554e269615fd3502b9232a91c542307c88 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1137,4 +1137,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