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

Paper Changes:
PaperMC/Paper@51fe7aaa Fixed modern forwarding support (#13098)
PaperMC/Paper@5613a359 fix PlayerGameModeChangeEvent#cancelMessage
PaperMC/Paper@673abf4b use PlayerShieldDisableEvent#getCooldown
PaperMC/Paper@3a0dc7fa Fix a couple PlayerProfile mutability issues
PaperMC/Paper@e97fb404 Remove parallel generation config option
PaperMC/Paper@c3a60b8d Use ThreadLocal for Starlight and ticket level propagator cache
PaperMC/Paper@e16b369f Resize propagator queues less aggressively
PaperMC/Paper@922c85fe Add GAMEMODE_SWITCHER gamemode change cause (#13097)
PaperMC/Paper@c1013989 remove old configs
PaperMC/Paper@f57fd541 remove api scheduled for removal
2025-09-27 23:00:54 -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 e5d23a8d571fda492bc6dd6ee6694f175ff30ba1..5e46428e5dd24c581c816125b52cb32de087d5f4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -125,6 +125,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 0d9c2a68dd665aec471f57c370a139f03e97718c..3e79cebf42b61afedd3893aee04ab051fe403280 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1132,4 +1132,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
public CombatTracker getCombatTracker() {
return this.getHandle().getCombatTracker().paperCombatTracker;
}
+
+ // 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 cabdcbef0e6f7ca41ff5677bc2e6a81665ca812d..c47ca9ab164b6abd28e979c94456918162e49214 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