2020-07-05 09:00:09 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
|
|
Date: Thu, 2 Jul 2020 18:11:43 -0500
|
|
|
|
Subject: [PATCH] Add entity liquid API
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
2020-08-25 04:22:08 +02:00
|
|
|
index ad521f95aba0e82e3280351419ad23acfa283f9a..97e61dae7927d7da18fcb23d9e4bf639234af4a5 100644
|
2020-07-05 09:00:09 +02:00
|
|
|
--- a/src/main/java/net/minecraft/server/Entity.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/Entity.java
|
2020-08-25 04:22:08 +02:00
|
|
|
@@ -1076,12 +1076,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
2020-07-05 09:00:09 +02:00
|
|
|
return this.inWater;
|
|
|
|
}
|
|
|
|
|
|
|
|
- private boolean isInRain() {
|
|
|
|
+ public boolean isInRain() { // Paper - private -> public
|
|
|
|
BlockPosition blockposition = this.getChunkCoordinates();
|
|
|
|
|
2020-08-25 04:22:08 +02:00
|
|
|
return this.world.isRainingAt(blockposition) || this.world.isRainingAt(new BlockPosition((double) blockposition.getX(), this.getBoundingBox().maxY, (double) blockposition.getZ()));
|
2020-07-05 09:00:09 +02:00
|
|
|
}
|
|
|
|
|
2020-08-02 07:39:36 +02:00
|
|
|
+ public final boolean isInBubbleColumn() { return k(); } // Paper - OBFHELPER
|
2020-07-05 09:00:09 +02:00
|
|
|
private boolean k() {
|
|
|
|
return this.world.getType(this.getChunkCoordinates()).a(Blocks.BUBBLE_COLUMN);
|
|
|
|
}
|
2020-08-25 04:22:08 +02:00
|
|
|
@@ -1095,6 +1096,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
2020-07-05 09:00:09 +02:00
|
|
|
return this.isInWater() || this.isInRain() || this.k();
|
|
|
|
}
|
|
|
|
|
2020-08-25 04:22:08 +02:00
|
|
|
+ public final boolean isInWaterOrBubbleColumn() { return aG(); } // Paper - OBFHELPER
|
|
|
|
public boolean aG() {
|
2020-07-05 09:00:09 +02:00
|
|
|
return this.isInWater() || this.k();
|
|
|
|
}
|
2020-08-25 04:22:08 +02:00
|
|
|
@@ -1237,6 +1239,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
|
|
|
return this.O == tag;
|
2020-07-05 09:00:09 +02:00
|
|
|
}
|
|
|
|
|
2020-08-25 04:22:08 +02:00
|
|
|
+ public final boolean isInLava() { return aP(); } // Paper - OBFHELPER
|
|
|
|
public boolean aP() {
|
|
|
|
return !this.justCreated && this.M.getDouble(TagsFluid.LAVA) > 0.0D;
|
2020-07-05 09:00:09 +02:00
|
|
|
}
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
2020-08-25 04:22:08 +02:00
|
|
|
index 26376c995102753fcd298b1eea6e195bae238d65..b1fdc5737d332c6210d57793468da1eda8f8b9d2 100644
|
2020-07-05 09:00:09 +02:00
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
2020-08-25 04:22:08 +02:00
|
|
|
@@ -1093,5 +1093,33 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
2020-07-05 09:00:09 +02:00
|
|
|
public org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason getEntitySpawnReason() {
|
|
|
|
return getHandle().spawnReason;
|
|
|
|
}
|
|
|
|
+
|
|
|
|
+ public boolean isInWater() {
|
|
|
|
+ return getHandle().isInWater();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public boolean isInRain() {
|
|
|
|
+ return getHandle().isInRain();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public boolean isInBubbleColumn() {
|
|
|
|
+ return getHandle().isInBubbleColumn();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public boolean isInWaterOrRain() {
|
|
|
|
+ return getHandle().isInWaterOrRain();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public boolean isInWaterOrBubbleColumn() {
|
|
|
|
+ return getHandle().isInWaterOrBubbleColumn();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public boolean isInWaterOrRainOrBubbleColumn() {
|
|
|
|
+ return getHandle().isInWaterOrRainOrBubble();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public boolean isInLava() {
|
|
|
|
+ return getHandle().isInLava();
|
|
|
|
+ }
|
|
|
|
// Paper end
|
|
|
|
}
|