Fix light blocks in canPlaceItemOn

This commit is contained in:
lexikiq
2021-07-19 03:40:44 -04:00
parent 3dd8d74c7b
commit d7fb2077ee

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add UnsafeValues#canPlaceItemOn
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 7a8db8d481e9487ea83a640af208242f4987ad28..ce69a4dd36e17da1d90ba9a6f1059bff027d7b75 100644
index 7a8db8d481e9487ea83a640af208242f4987ad28..dd7feb07e210ef64b5823cf9829b5f30cd0940a9 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -512,6 +512,55 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -20,7 +20,7 @@ index 7a8db8d481e9487ea83a640af208242f4987ad28..ce69a4dd36e17da1d90ba9a6f1059bff
+ org.apache.commons.lang3.Validate.notNull(face, "face");
+ org.bukkit.entity.HumanEntity human = player == null ? null : player.getPlayer();
+ java.util.concurrent.CompletableFuture<Boolean> future = new java.util.concurrent.CompletableFuture<>();
+ if (block.getType().isEmpty() || block.isLiquid()) {
+ if (block.getType().isEmpty() || block.isLiquid() || (block.getType() == Material.LIGHT && item.getType() != Material.LIGHT)) {
+ future.complete(false);
+ return future;
+ } else if (!face.isCartesian()) {