mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Fire Immunity API
This commit is contained in:
@@ -1,29 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Racci <90304606+DaRacci@users.noreply.github.com>
|
|
||||||
Date: Fri, 4 Feb 2022 16:09:47 +1100
|
|
||||||
Subject: [PATCH] Fire Immunity API
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
|
||||||
index a4136da96f0759ca137a86f2518af58bccb6b632..076fe310d500ebb52e705a3a69e895061702f470 100644
|
|
||||||
--- a/src/main/java/org/bukkit/entity/Entity.java
|
|
||||||
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
|
||||||
@@ -1209,5 +1209,18 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
|
||||||
* @return True if in daylight
|
|
||||||
*/
|
|
||||||
boolean isInDaylight();
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Checks if the entity is fire immune
|
|
||||||
+ *
|
|
||||||
+ * @return True if fire immune
|
|
||||||
+ */
|
|
||||||
+ boolean isImmuneToFire();
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Sets if the entity is fire immune
|
|
||||||
+ * Set this to null to restore the entity type default
|
|
||||||
+ */
|
|
||||||
+ void setImmuneToFire(@Nullable Boolean fireImmune);
|
|
||||||
// Purpur end
|
|
||||||
}
|
|
||||||
@@ -1,92 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Racci <90304606+DaRacci@users.noreply.github.com>
|
|
||||||
Date: Fri, 4 Feb 2022 16:10:21 +1100
|
|
||||||
Subject: [PATCH] Fire Immunity API
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
|
||||||
index 35cd273eb885558003a728eedc63f958e5accf74..c12594a49435440a6c96039b2a54c1a3b1707fc0 100644
|
|
||||||
--- a/net/minecraft/world/entity/Entity.java
|
|
||||||
+++ b/net/minecraft/world/entity/Entity.java
|
|
||||||
@@ -390,6 +390,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
|
||||||
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
|
|
||||||
public boolean fixedPose = false; // Paper - Expand Pose API
|
|
||||||
private final int despawnTime; // Paper - entity despawn time limit
|
|
||||||
+ public @Nullable Boolean immuneToFire = null; // Purpur - Fire immune API
|
|
||||||
|
|
||||||
public void setOrigin(@javax.annotation.Nonnull Location location) {
|
|
||||||
this.origin = location.toVector();
|
|
||||||
@@ -1980,7 +1981,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean fireImmune() {
|
|
||||||
- return this.getType().fireImmune();
|
|
||||||
+ return this.immuneToFire != null ? immuneToFire : this.getType().fireImmune(); // Purpur - add fire immune API
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
|
|
||||||
@@ -2735,6 +2736,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
|
||||||
nbttagcompound.putBoolean("Paper.FreezeLock", true);
|
|
||||||
}
|
|
||||||
// Paper end
|
|
||||||
+ // Purpur start
|
|
||||||
+ if (immuneToFire != null) {
|
|
||||||
+ nbttagcompound.putBoolean("Purpur.FireImmune", immuneToFire);
|
|
||||||
+ }
|
|
||||||
+ // Purpur end
|
|
||||||
return nbttagcompound;
|
|
||||||
} catch (Throwable throwable) {
|
|
||||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
|
|
||||||
@@ -2885,6 +2891,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
|
||||||
freezeLocked = nbt.getBoolean("Paper.FreezeLock");
|
|
||||||
}
|
|
||||||
// Paper end
|
|
||||||
+ // Purpur start
|
|
||||||
+ if (nbt.contains("Purpur.FireImmune")) {
|
|
||||||
+ immuneToFire = nbt.getBoolean("Purpur.FireImmune");
|
|
||||||
+ }
|
|
||||||
+ // Purpur end
|
|
||||||
|
|
||||||
} catch (Throwable throwable) {
|
|
||||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
|
||||||
index f9d7f1d317a9534d471a481db8c26f9d3b15bfda..0e1b3f64d1a828b9c69efe45c511582880bdcb92 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
|
||||||
@@ -88,6 +88,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
|
||||||
}
|
|
||||||
|
|
||||||
// Purpur start - API for any mob to burn daylight
|
|
||||||
+ @Override
|
|
||||||
+ public boolean isImmuneToFire() {
|
|
||||||
+ return getHandle().fireImmune();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void setImmuneToFire(Boolean fireImmune) {
|
|
||||||
+ getHandle().immuneToFire = fireImmune;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
@Override
|
|
||||||
public boolean isInDaylight() {
|
|
||||||
return getHandle().isSunBurnTick();
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
|
||||||
index 74f5b702b9602e4c8acbad4fb09c641e2c7844b2..762be3721419bfe33ea6577d3c6961204fdb0037 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
|
||||||
@@ -173,9 +173,14 @@ public class CraftItem extends CraftEntity implements Item {
|
|
||||||
return this.getHandle().immuneToExplosion;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ @Override
|
|
||||||
+ public void setImmuneToFire(@org.jetbrains.annotations.Nullable Boolean immuneToFire) {
|
|
||||||
+ this.getHandle().immuneToFire = (immuneToFire != null && immuneToFire);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
@Override
|
|
||||||
public void setImmuneToFire(boolean immuneToFire) {
|
|
||||||
- item.immuneToFire = immuneToFire;
|
|
||||||
+ this.setImmuneToFire((Boolean) immuneToFire);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/entity/Entity.java
|
--- a/src/main/java/org/bukkit/entity/Entity.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
||||||
@@ -1172,4 +_,44 @@
|
@@ -1172,4 +_,59 @@
|
||||||
*/
|
*/
|
||||||
void broadcastHurtAnimation(@NotNull java.util.Collection<Player> players);
|
void broadcastHurtAnimation(@NotNull java.util.Collection<Player> players);
|
||||||
// Paper end - broadcast hurt animation
|
// Paper end - broadcast hurt animation
|
||||||
@@ -44,4 +44,19 @@
|
|||||||
+ */
|
+ */
|
||||||
+ boolean isInDaylight();
|
+ boolean isInDaylight();
|
||||||
+ // Purpur end - API for any mob to burn daylight
|
+ // Purpur end - API for any mob to burn daylight
|
||||||
|
+
|
||||||
|
+ // Purpur start - Fire Immunity API
|
||||||
|
+ /**
|
||||||
|
+ * Checks if the entity is fire immune
|
||||||
|
+ *
|
||||||
|
+ * @return True if fire immune
|
||||||
|
+ */
|
||||||
|
+ boolean isImmuneToFire();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Sets if the entity is fire immune
|
||||||
|
+ * Set this to null to restore the entity type default
|
||||||
|
+ */
|
||||||
|
+ void setImmuneToFire(@Nullable Boolean fireImmune);
|
||||||
|
+ // Purpur end - Fire Immunity API
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,14 @@
|
|||||||
protected String stringUUID = this.uuid.toString();
|
protected String stringUUID = this.uuid.toString();
|
||||||
private boolean hasGlowingTag;
|
private boolean hasGlowingTag;
|
||||||
private final Set<String> tags = new io.papermc.paper.util.SizeLimitedSet<>(new it.unimi.dsi.fastutil.objects.ObjectOpenHashSet<>(), MAX_ENTITY_TAG_COUNT); // Paper - fully limit tag size - replace set impl
|
private final Set<String> tags = new io.papermc.paper.util.SizeLimitedSet<>(new it.unimi.dsi.fastutil.objects.ObjectOpenHashSet<>(), MAX_ENTITY_TAG_COUNT); // Paper - fully limit tag size - replace set impl
|
||||||
|
@@ -342,6 +_,7 @@
|
||||||
|
public long activatedTick = Integer.MIN_VALUE;
|
||||||
|
public boolean isTemporarilyActive;
|
||||||
|
public long activatedImmunityTick = Integer.MIN_VALUE;
|
||||||
|
+ public @Nullable Boolean immuneToFire = null; // Purpur - Fire immune API
|
||||||
|
|
||||||
|
public void inactiveTick() {
|
||||||
|
}
|
||||||
@@ -526,10 +_,20 @@
|
@@ -526,10 +_,20 @@
|
||||||
}
|
}
|
||||||
// Paper end - optimise entity tracker
|
// Paper end - optimise entity tracker
|
||||||
@@ -51,6 +59,15 @@
|
|||||||
this.position = Vec3.ZERO;
|
this.position = Vec3.ZERO;
|
||||||
this.blockPosition = BlockPos.ZERO;
|
this.blockPosition = BlockPos.ZERO;
|
||||||
this.chunkPosition = ChunkPos.ZERO;
|
this.chunkPosition = ChunkPos.ZERO;
|
||||||
|
@@ -1830,7 +_,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean fireImmune() {
|
||||||
|
- return this.getType().fireImmune();
|
||||||
|
+ return this.immuneToFire != null ? immuneToFire : this.getType().fireImmune(); // Purpur - add fire immune API
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean causeFallDamage(float fallDistance, float multiplier, DamageSource source) {
|
||||||
@@ -1899,7 +_,7 @@
|
@@ -1899,7 +_,7 @@
|
||||||
return this.isInWater() || flag;
|
return this.isInWater() || flag;
|
||||||
}
|
}
|
||||||
@@ -60,6 +77,34 @@
|
|||||||
if (this.getVehicle() instanceof AbstractBoat abstractBoat && !abstractBoat.isUnderWater()) {
|
if (this.getVehicle() instanceof AbstractBoat abstractBoat && !abstractBoat.isUnderWater()) {
|
||||||
this.wasTouchingWater = false;
|
this.wasTouchingWater = false;
|
||||||
} else if (this.updateFluidHeightAndDoFluidPushing(FluidTags.WATER, 0.014)) {
|
} else if (this.updateFluidHeightAndDoFluidPushing(FluidTags.WATER, 0.014)) {
|
||||||
|
@@ -2532,6 +_,13 @@
|
||||||
|
compound.putBoolean("Paper.FreezeLock", true);
|
||||||
|
}
|
||||||
|
// Paper end
|
||||||
|
+
|
||||||
|
+ // Purpur start - Fire immune API
|
||||||
|
+ if (immuneToFire != null) {
|
||||||
|
+ compound.putBoolean("Purpur.FireImmune", immuneToFire);
|
||||||
|
+ }
|
||||||
|
+ // Purpur end - Fire immune API
|
||||||
|
+
|
||||||
|
return compound;
|
||||||
|
} catch (Throwable var9) {
|
||||||
|
CrashReport crashReport = CrashReport.forThrowable(var9, "Saving entity NBT");
|
||||||
|
@@ -2681,6 +_,13 @@
|
||||||
|
freezeLocked = compound.getBoolean("Paper.FreezeLock");
|
||||||
|
}
|
||||||
|
// Paper end
|
||||||
|
+
|
||||||
|
+ // Purpur start - Fire immune API
|
||||||
|
+ if (compound.contains("Purpur.FireImmune")) {
|
||||||
|
+ immuneToFire = compound.getBoolean("Purpur.FireImmune");
|
||||||
|
+ }
|
||||||
|
+ // Purpur end - Fire immune API
|
||||||
|
+
|
||||||
|
} catch (Throwable var17) {
|
||||||
|
CrashReport crashReport = CrashReport.forThrowable(var17, "Loading entity NBT");
|
||||||
|
CrashReportCategory crashReportCategory = crashReport.addCategory("Entity being loaded");
|
||||||
@@ -2922,6 +_,7 @@
|
@@ -2922,6 +_,7 @@
|
||||||
if (this.isAlive() && this instanceof Leashable leashable) {
|
if (this.isAlive() && this instanceof Leashable leashable) {
|
||||||
if (leashable.getLeashHolder() == player) {
|
if (leashable.getLeashHolder() == player) {
|
||||||
|
|||||||
@@ -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
|
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
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
+++ b/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
|
// Paper end - broadcast hurt animation
|
||||||
@@ -37,7 +37,7 @@ index 91b78711ec06f51e3bc25109129cc164a98bcf87..0d69e89c1ade115b868cb13f08f75cf2
|
|||||||
+ // Purpur end - Ridables
|
+ // 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
|
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
|
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
+++ b/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 {
|
@@ -602,6 +602,15 @@ public class CraftEventFactory {
|
||||||
|
|||||||
@@ -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/>.
|
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
|
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
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
+++ b/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);
|
boolean ignorePassengers = flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS);
|
||||||
// Don't allow teleporting between worlds while keeping 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()) {
|
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
|
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
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/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 {
|
@@ -1449,6 +1449,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ Subject: [PATCH] API for any mob to burn daylight
|
|||||||
Co-authored by: Encode42 <me@encode42.dev>
|
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
|
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
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
+++ b/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 {
|
@@ -99,6 +99,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||||
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());
|
|
||||||
}
|
}
|
||||||
|
// Purpur end - Fire Immunity API
|
||||||
|
|
||||||
+ // Purpur start - API for any mob to burn daylight
|
+ // Purpur start - API for any mob to burn daylight
|
||||||
+ @Override
|
+ @Override
|
||||||
@@ -24,7 +24,7 @@ index fff77d5cbd2ca70ab7ced7075bf86318bfed77df..aa8976d926b486d29c6030104f259d1e
|
|||||||
Preconditions.checkArgument(entity != null, "Unknown 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
|
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
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
+++ b/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 {
|
@@ -1211,4 +1211,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||||
+++ b/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() {
|
public String toString() {
|
||||||
return "CraftItem";
|
return "CraftItem";
|
||||||
}
|
}
|
||||||
@@ -26,9 +26,16 @@
|
|||||||
+ return this.getHandle().immuneToExplosion;
|
+ 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
|
+ @Override
|
||||||
+ public void setImmuneToFire(boolean immuneToFire) {
|
+ public void setImmuneToFire(boolean immuneToFire) {
|
||||||
+ this.getHandle().immuneToFire = immuneToFire;
|
+ this.setImmuneToFire((Boolean) immuneToFire); // Purpur - Fire Immunity API
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
|
|||||||
Reference in New Issue
Block a user