From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: dawon <dawon@dawon.eu>
Date: Wed, 19 Oct 2022 23:36:42 +0200
Subject: [PATCH] Add Sneaking API for Entities


diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index 11885ef53ed97738d0a50e5f459a9f76c975c085..5a80cf6b16c8fb0457421b7b694a06f43e5e902b 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -819,6 +819,25 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
     @NotNull
     Pose getPose();
 
+    // Paper start
+    /**
+     * Returns if the entity is in sneak mode
+     *
+     * @return true if the entity is in sneak mode
+     */
+    boolean isSneaking();
+
+    /**
+     * Sets the sneak mode the entity.
+     * <p>
+     * Note: For most Entities this does not update Entity's pose
+     * and just makes its name tag less visible.
+     *
+     * @param sneak true if the entity should be sneaking
+     */
+    void setSneaking(boolean sneak);
+    // Paper end
+
     /**
      * Get the category of spawn to which this entity belongs.
      *
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 537ebbad48191741f666aa2a30c8584562dfcb83..5e798ea4c66e1a7ce6239b972e6a13810850a438 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -461,6 +461,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
      *
      * @return true if player is in sneak mode
      */
+    @Override // Paper
     public boolean isSneaking();
 
     /**
@@ -468,6 +469,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
      *
      * @param sneak true if player should appear sneaking
      */
+    @Override // Paper
     public void setSneaking(boolean sneak);
 
     /**
