From a5b619a77c164ba2de7001ea7b443fdc0c32bad1 Mon Sep 17 00:00:00 2001 From: Meowlala Date: Tue, 21 Mar 2023 11:13:40 -0500 Subject: [PATCH] Config option for picking unbreakable blocks in Survival This was supported in earlier versions of CarryOn, and has some use cases, e.g. moving BetterEnd's eternal pedestals. Off by default, simply disables the destroySpeed check when picking up a block. Best combined with a whitelist. --- .../java/tschipp/carryon/common/carry/PickupHandler.java | 2 +- .../java/tschipp/carryon/common/config/CarryConfig.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Common/src/main/java/tschipp/carryon/common/carry/PickupHandler.java b/Common/src/main/java/tschipp/carryon/common/carry/PickupHandler.java index 7a6077b..d401512 100644 --- a/Common/src/main/java/tschipp/carryon/common/carry/PickupHandler.java +++ b/Common/src/main/java/tschipp/carryon/common/carry/PickupHandler.java @@ -78,7 +78,7 @@ public class PickupHandler { if(!ListHandler.isPermitted(state.getBlock())) return false; - if(state.getDestroySpeed(level, pos) == -1 && !player.isCreative()) + if(state.getDestroySpeed(level, pos) == -1 && !player.isCreative() && !Constants.COMMON_CONFIG.settings.pickupUnbreakableBlocks) return false; if(blockEntity == null && !Constants.COMMON_CONFIG.settings.pickupAllBlocks) diff --git a/Common/src/main/java/tschipp/carryon/common/config/CarryConfig.java b/Common/src/main/java/tschipp/carryon/common/config/CarryConfig.java index 6f8853a..1487472 100644 --- a/Common/src/main/java/tschipp/carryon/common/config/CarryConfig.java +++ b/Common/src/main/java/tschipp/carryon/common/config/CarryConfig.java @@ -165,6 +165,12 @@ public class CarryConfig { description = "Whether Players can be picked up. Creative players can't be picked up in Survival Mode" ) public boolean pickupPlayers = true; + + @Property( + type = PropertyType.BOOLEAN, + description = "Whether players in Survival Mode can pick up unbreakable blocks. Creative players always can." + ) + public boolean pickupUnbreakableBlocks = false; } @Property(