From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath 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 index d16bdc6d44672e71ae37e2ae4530d97c4a10bfdd..f9f6a57e4e07d94c01d6b559e8138404b78d31f3 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1073,12 +1073,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.inWater; } - private boolean isInRain() { + public boolean isInRain() { // Paper - private -> public BlockPosition blockposition = this.getChunkCoordinates(); return this.world.isRainingAt(blockposition) || this.world.isRainingAt(new BlockPosition((double) blockposition.getX(), this.getBoundingBox().maxY, (double) blockposition.getZ())); } + public final boolean isInBubbleColumn() { return k(); } // Paper - OBFHELPER private boolean k() { return this.world.getType(this.getChunkCoordinates()).a(Blocks.BUBBLE_COLUMN); } @@ -1092,6 +1093,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.isInWater() || this.isInRain() || this.k(); } + public final boolean isInWaterOrBubbleColumn() { return aG(); } // Paper - OBFHELPER public boolean aG() { return this.isInWater() || this.k(); } @@ -1234,6 +1236,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.O == tag; } + public final boolean isInLava() { return aP(); } // Paper - OBFHELPER public boolean aP() { return !this.justCreated && this.M.getDouble(TagsFluid.LAVA) > 0.0D; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java index 26376c995102753fcd298b1eea6e195bae238d65..b1fdc5737d332c6210d57793468da1eda8f8b9d2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1093,5 +1093,33 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { 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 }