From 288bd4018baf6c92ce7e3f2264fb8d4e7f6e1bc5 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 9 Jan 2024 13:35:10 +0000 Subject: [PATCH] Block: deprecate isSolid() As discussed many years ago in #2551, no one actually knows what this property actually means. It definitely isn't the conventionally expected definition of 'solid' found in the real world, as signs are solid but flower pots are not. --- src/block/Block.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/block/Block.php b/src/block/Block.php index b2847bb35..d6158ea94 100644 --- a/src/block/Block.php +++ b/src/block/Block.php @@ -576,6 +576,15 @@ class Block{ return false; } + /** + * @deprecated TL;DR: Don't use this function. Its results are confusing and inconsistent. + * + * No one is sure what the meaning of this property actually is. It's borrowed from Minecraft Java Edition, and is + * used by various blocks for support checks. + * + * Things like signs and banners are considered "solid" despite having no collision box, and things like skulls and + * flower pots are considered non-solid despite obviously being "solid" in the conventional, real-world sense. + */ public function isSolid() : bool{ return true; }