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

Paper Changes:
PaperMC/Paper@6fe7eb5a Load World Key when its instance is created (#13818)
PaperMC/Paper@944ce44a Fix CraftWorld identifier passing
PaperMC/Paper@aa6f09b0 Prevent Happy Ghast from playing mount/dismount noises when silenced (#13807)
PaperMC/Paper@7b31cc2b Make leaveMessage in PlayerKickEvent nullable (#13804)
PaperMC/Paper@65461225 Update health after setPlayerProfile() (#13717)
PaperMC/Paper@1a8417b1 [ci/skip] Add Javadocs for PotionEffect withX methods (#13723)
PaperMC/Paper@4af86ff3 Handle null ServerLevel in fromGlobalPos (#13703)
PaperMC/Paper@c39822ae reset pending keepalive state on listener handoff during reconfiguration (#13712)
PaperMC/Paper@dcf5577a Fix PlayerProfile applySkinToPlayerHeadContents (#13692)
PaperMC/Paper@dd203a27 chore: Don't log errors for accepting the EULA via the system property (#13681)
PaperMC/Paper@d74f6bc7 Support for Kill damageable entities (#13667)
PaperMC/Paper@90aee8e0 Update world methods to take in account environment attributes (#13543)
PaperMC/Paper@b2b1e177 Improvement to Vehicle damage events (#13572)
PaperMC/Paper@49daadd2 Fix insomniaStartTicks option being ignored for phantom spawning (#13609)
PaperMC/Paper@57d84f68 Prevent NPE on ThrownPotion#splash (#13683)
PaperMC/Paper@4f184db3 Fix memory leak on constantly damage (#13455)
PaperMC/Paper@60073714 Update MOJIRA reference in DeOp command response for multiple targets [ci/skip] (#13812)
PaperMC/Paper@4aef3f0a Remove already fixed vanilla bug MC-244739 (#13787)
PaperMC/Paper@945aea99 Fix Damager for HangingBreakByEntityEvent and minor improvements (#12615)
PaperMC/Paper@a8c05a35 Add an option to WorldCreator to avoid spawn location computation on world creation (#13407)
PaperMC/Paper@182b2f8a Add Point Of Interest API (#12117)
PaperMC/Paper@8021488e Disconnect State Fixes (#13616)
PaperMC/Paper@1f819732 Allow ServerboundChangeGameModePacket if player has /gamemode permissions (#13507)
PaperMC/Paper@a64ea13e Re-implement per-world and per-player time (#13814)
PaperMC/Paper@acfe105b Add options to disable chunk and block entity ticking (#13821)
PaperMC/Paper@651d8481 Finish world key initial migration (#13824)
PaperMC/Paper@f4e769a7 Improvements checks for arguments numbers (#13290)
PaperMC/Paper@5dc4afc1 Promote build channel to BETA
PaperMC/Paper@55be6c0e Fix boat and minecart inventories on region switch [ci/skip] (#13826)
PaperMC/Paper@7799bf28 Update Paperclip to v3.0.4
2026-04-27 00:53:47 -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 d6ddbcff911ce4c97a20883af10d2b4752b63f55..7db0454a8c9251faa815500c307d116b9303b236 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -126,6 +126,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 ca447f1e2840d13217559dc1028dbea63fb05041..983146dc8b685fd0ce906ee8debc2e11df9d9fdc 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