e105354330
Also fixes EntityBreakDoorEvent not having the correct 'to' block data Also standardizes how to handle EntityChangeBlockEvent before a removeBlock or destroyBlock call. Always use 'state.getFluidState().createLegacyBlock()' to get the new state instead of just using the 'air' state.
57 Zeilen
1.9 KiB
Diff
57 Zeilen
1.9 KiB
Diff
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 3f3ea5bb6b3ea6f55b5cd699f1c01ac159619add..a2a423d4e4c2702ba5967223cab0432dd7d04732 100644
|
|
--- a/src/main/java/org/bukkit/entity/Entity.java
|
|
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
|
@@ -765,6 +765,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 a0801ab1e7c91dfc6451338cfab414145c72a441..77b0e632f8fefb9165a5170f8620a117c3b71c04 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -348,6 +348,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
|
*
|
|
* @return true if player is in sneak mode
|
|
*/
|
|
+ @Override // Paper
|
|
public boolean isSneaking();
|
|
|
|
/**
|
|
@@ -355,6 +356,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
|
*
|
|
* @param sneak true if player should appear sneaking
|
|
*/
|
|
+ @Override // Paper
|
|
public void setSneaking(boolean sneak);
|
|
|
|
/**
|