Fire Immunity API

This commit is contained in:
Racci
2025-01-12 16:55:19 -08:00
committed by granny
parent 9f2dd3d932
commit 0318f1ccfb
9 changed files with 101 additions and 134 deletions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Ridables
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 91b78711ec06f51e3bc25109129cc164a98bcf87..0d69e89c1ade115b868cb13f08f75cf256734d88 100644
index de89c7c9388ba9202d075aff60a5e5d0696ae13d..48a2800004c8d5be6b672af849c7a93658e24d7a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1306,4 +1306,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -1318,4 +1318,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
}
}
// Paper end - broadcast hurt animation
@@ -37,7 +37,7 @@ index 91b78711ec06f51e3bc25109129cc164a98bcf87..0d69e89c1ade115b868cb13f08f75cf2
+ // Purpur end - Ridables
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index e37aaf77f94b97b736cc20ef070cefdff0400188..eb2f9bfdaf3ed8a684337a15365e70174d1533b3 100644
index 471752b8f05e9496e6b25efa8412377e937ba1c4..d52d41d8c56e017f95914da19b05c3d79f8f1640 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -602,6 +602,15 @@ public class CraftEventFactory {

View File

@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 0d69e89c1ade115b868cb13f08f75cf256734d88..a4a49f9c587aa062236a2da4e80c7bdcc5b4b525 100644
index 48a2800004c8d5be6b672af849c7a93658e24d7a..f6c8a08fd4f0329357156085348d6b9141d18fdb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -246,6 +246,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -258,6 +258,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
boolean ignorePassengers = flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS);
// Don't allow teleporting between worlds while keeping passengers
if (flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS) && this.entity.isVehicle() && location.getWorld() != this.getWorld()) {
@@ -29,7 +29,7 @@ index 0d69e89c1ade115b868cb13f08f75cf256734d88..a4a49f9c587aa062236a2da4e80c7bdc
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 7eb22420bc4cdb401d37e84912960e8372b04511..8211b308727f24bafb58866890dd050ee2fcb389 100644
index b61e994e90f9ccc3e24cb916dd83a0af46ecf39f..bd0df2ae65e83dd74051d45dde8330af32c4dfe5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1449,6 +1449,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -6,12 +6,12 @@ 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 fff77d5cbd2ca70ab7ced7075bf86318bfed77df..aa8976d926b486d29c6030104f259d1e53481a3b 100644
index f6c8a08fd4f0329357156085348d6b9141d18fdb..359fb91294b3b0eb4719982ba64fcf8667533a42 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -87,6 +87,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());
@@ -99,6 +99,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
@@ -24,7 +24,7 @@ index fff77d5cbd2ca70ab7ced7075bf86318bfed77df..aa8976d926b486d29c6030104f259d1e
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 4f98d138a275a6c34528b7a5148ef265bc38d6b5..7ccc40555964b906be6987532de1f319e38741ce 100644
index 459366331971d09e4cd00fb2035be01b4257477a..3a9d9b7526b2bf0fbd4e0d7886b3d849a6dcfee9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1211,4 +1211,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@@ -0,0 +1,21 @@
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -87,6 +_,18 @@
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());
}
+ // Purpur start - Fire Immunity API
+ @Override
+ public boolean isImmuneToFire() {
+ return getHandle().fireImmune();
+ }
+
+ @Override
+ public void setImmuneToFire(Boolean fireImmune) {
+ getHandle().immuneToFire = fireImmune;
+ }
+ // Purpur end - Fire Immunity API
+
public static <T extends Entity> CraftEntity getEntity(CraftServer server, T entity) {
Preconditions.checkArgument(entity != null, "Unknown entity");

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -151,4 +_,46 @@
@@ -151,4 +_,53 @@
public String toString() {
return "CraftItem";
}
@@ -26,9 +26,16 @@
+ return this.getHandle().immuneToExplosion;
+ }
+
+ // Purpur start - Fire Immunity API
+ @Override
+ public void setImmuneToFire(@org.jetbrains.annotations.Nullable Boolean immuneToFire) {
+ this.getHandle().immuneToFire = (immuneToFire != null && immuneToFire);
+ }
+ // Purpur end - Fire Immunity API
+
+ @Override
+ public void setImmuneToFire(boolean immuneToFire) {
+ this.getHandle().immuneToFire = immuneToFire;
+ this.setImmuneToFire((Boolean) immuneToFire); // Purpur - Fire Immunity API
+ }
+
+ @Override