Check if target block is replaceable
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: lexikiq <noellekiq@gmail.com>
|
||||
Date: Mon, 10 May 2021 01:58:38 -0400
|
||||
Date: Mon, 10 May 2021 02:50:34 -0400
|
||||
Subject: [PATCH] Add CraftItemStack#canPlaceOn
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ index 2cb451db6ca23290f700dc428a7622f64fb90b97..1763ada73e4ef422f95eb5c3f42f19d7
|
||||
this.a = true;
|
||||
this.b = movingobjectpositionblock.getBlockPosition().shift(movingobjectpositionblock.getDirection());
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
index 09d7a86b5f6cffdf6664ad657dd4f8dd8eabdd70..faf174f7cf48579203822e86df57a58b199a7b7b 100644
|
||||
index 09d7a86b5f6cffdf6664ad657dd4f8dd8eabdd70..192131cd2bbc872eb284d998ed555e1ae2d18888 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
@@ -3,21 +3,41 @@ package org.bukkit.craftbukkit.inventory;
|
||||
@@ -75,7 +75,7 @@ index 09d7a86b5f6cffdf6664ad657dd4f8dd8eabdd70..faf174f7cf48579203822e86df57a58b
|
||||
|
||||
@DelegateDeserialization(ItemStack.class)
|
||||
public final class CraftItemStack extends ItemStack {
|
||||
@@ -105,6 +125,55 @@ public final class CraftItemStack extends ItemStack {
|
||||
@@ -105,6 +125,57 @@ public final class CraftItemStack extends ItemStack {
|
||||
setItemMeta(itemMeta);
|
||||
}
|
||||
|
||||
@@ -103,6 +103,8 @@ index 09d7a86b5f6cffdf6664ad657dd4f8dd8eabdd70..faf174f7cf48579203822e86df57a58b
|
||||
+ EntityHuman human = player != null ? (EntityHuman) ((CraftEntity) player).getHandle() : null;
|
||||
+ CraftBlock craftBlock = (CraftBlock) block;
|
||||
+ CraftBlock relativeBlock = (CraftBlock) block.getRelative(face);
|
||||
+ if (!relativeBlock.isReplaceable())
|
||||
+ return false;
|
||||
+ Location playerLoc = player != null ? player.getLocation() : relativeBlock.getLocation();
|
||||
+ EnumDirection direction = EnumDirection.valueOf(face.name());
|
||||
+
|
||||
|
||||
Reference in New Issue
Block a user