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

Paper Changes:
PaperMC/Paper@e3aca921 Replace ConcurrentUtil's Validate with Objects
PaperMC/Paper@9a626dd7 Rewrite ticket counter system
PaperMC/Paper@65250cbe Drop "Optimize Collision to not load chunks"
PaperMC/Paper@55d56d91 Apply "Flush regionfiles on save configuration option"
PaperMC/Paper@920e8d35 Apply "Optimise collision checking in player move packet handling"
PaperMC/Paper@ec492d3f Apply "Improve keepalive ping system"
PaperMC/Paper@8f659478 Apply "Optimise EntityScheduler ticking"
PaperMC/Paper@086b4fd4 Apply "Optional per player mob spawns"
PaperMC/Paper@2f4211ed Apply "Improve cancelling PreCreatureSpawnEvent with per player mob spawns"
PaperMC/Paper@b6d95574 Apply "Optimize Hoppers"
PaperMC/Paper@388e6936 update generator
PaperMC/Paper@a3c89a8f add javadocs for new api
PaperMC/Paper@fcc763ad Call BlockRedstoneEvent for the shelf
PaperMC/Paper@03eb18bb replace requireNonNull by checkArgument and deprecate MCUtil#toLocation
PaperMC/Paper@6b7bf014 bump built-in datapack version
PaperMC/Paper@2779a538 deprecate #lanterns material tag in favour of vanilla tag
PaperMC/Paper@6f9957e8 Mannequin#createDefaultProfile -> Mannequin#defaultProfile
PaperMC/Paper@24874e53 Also rename Mannequin profile getter/setters for consistency
PaperMC/Paper@bc2ae107 Fix default respawn dimension being null for new worlds
PaperMC/Paper@eb421583 Use 0.0.4 release of ConcurrentUtil
PaperMC/Paper@bb017458 1.21.9-pre2
PaperMC/Paper@02492043 1.21.9-pre2 feature patches
PaperMC/Paper@9360ba42 Identifying comments for MinecraftServer
PaperMC/Paper@5d3aa537 Some diff improvements in prepare spawn task
PaperMC/Paper@22ad4519 Move some stuff to ATs
PaperMC/Paper@0ea15c97 Drop no longer applicable ATs
PaperMC/Paper@cf78f2a2 bump api-version/datapack format and add a copper torch tag
PaperMC/Paper@60cb0dfc generate ClientOption enums and mark CraftBlockData impl as null marked
PaperMC/Paper@40252892 Add pre2 to api version
PaperMC/Paper@f2cb073a Set build channel to alpha
PaperMC/Paper@90b29c4c Port most of the anti-xray patch
PaperMC/Paper@4a8e88dc Disable oldPaperCommit to fix CI build
PaperMC/Paper@121ac2eb Port the last Anti-XRay hunk
PaperMC/Paper@f43641f8 Use ConcurrentUtil 0.0.5
PaperMC/Paper@1f79388d fix end portal teleportation
PaperMC/Paper@2efb400a [ci/skip] Adjust spawn location event docs
PaperMC/Paper@cb9fc05d simplify overloads
PaperMC/Paper@25ecc590 Enable Anti-Xray
PaperMC/Paper@4d7185f6 Add AsyncPlayerSpawnLocationEvent#isNewPlayer (#13081)
PaperMC/Paper@dc474a89 Fixup vanilla code for Anti-Xray changes
PaperMC/Paper@0e23b024 Add back null check for chunkPacketBlockController
2025-09-21 19:45:04 -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 1ed274542d32a5efbf8af4d5a0f197c98902f810..1e79357a3f31efd479720e78821962e5d6ff6db4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1142,4 +1142,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