From b23d31a321826c5a75db7fff61d90987bcfaa3b2 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Wed, 13 Nov 2024 03:40:20 +0300 Subject: [PATCH] add 'translucent' block property --- res/content/base/blocks/water.json | 3 ++- src/content/ContentLoader.cpp | 1 + src/voxels/Block.cpp | 1 + src/voxels/Block.hpp | 3 +++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/res/content/base/blocks/water.json b/res/content/base/blocks/water.json index 943640e8..f7785044 100644 --- a/res/content/base/blocks/water.json +++ b/res/content/base/blocks/water.json @@ -6,5 +6,6 @@ "sky-light-passing": false, "obstacle": false, "selectable": false, - "replaceable": true + "replaceable": true, + "translucent": true } diff --git a/src/content/ContentLoader.cpp b/src/content/ContentLoader.cpp index a801500e..4414999d 100644 --- a/src/content/ContentLoader.cpp +++ b/src/content/ContentLoader.cpp @@ -333,6 +333,7 @@ void ContentLoader::loadBlock( root.at("inventory-size").get(def.inventorySize); root.at("tick-interval").get(def.tickInterval); root.at("overlay-texture").get(def.overlayTexture); + root.at("translucent").get(def.translucent); if (root.has("fields")) { def.dataStruct = std::make_unique(); diff --git a/src/voxels/Block.cpp b/src/voxels/Block.cpp index 51d9662b..6d4ff761 100644 --- a/src/voxels/Block.cpp +++ b/src/voxels/Block.cpp @@ -140,6 +140,7 @@ void Block::cloneTo(Block& dst) { dst.inventorySize = inventorySize; dst.tickInterval = tickInterval; dst.overlayTexture = overlayTexture; + dst.translucent = translucent; if (particles) { dst.particles = std::make_unique(*particles); } diff --git a/src/voxels/Block.hpp b/src/voxels/Block.hpp index 26b38469..84835534 100644 --- a/src/voxels/Block.hpp +++ b/src/voxels/Block.hpp @@ -172,6 +172,9 @@ public: /// @brief Turns off block item generation bool hidden = false; + /// @brief Block has semi-transparent texture + bool translucent = false; + /// @brief Set of block physical hitboxes std::vector hitboxes;