diff --git a/src/datagen/groovy/techreborn/datagen/tags/TRBlockTagProvider.groovy b/src/datagen/groovy/techreborn/datagen/tags/TRBlockTagProvider.groovy index 1a5d45d1e..e27fb4096 100644 --- a/src/datagen/groovy/techreborn/datagen/tags/TRBlockTagProvider.groovy +++ b/src/datagen/groovy/techreborn/datagen/tags/TRBlockTagProvider.groovy @@ -27,7 +27,9 @@ package techreborn.datagen.tags import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider import net.fabricmc.fabric.api.mininglevel.v1.FabricMineableTags +import net.fabricmc.fabric.api.tag.convention.v1.ConventionalBlockTags import net.minecraft.tag.BlockTags +import net.minecraft.util.Identifier import techreborn.init.TRContent class TRBlockTagProvider extends FabricTagProvider.BlockTagProvider { @@ -135,5 +137,9 @@ class TRBlockTagProvider extends FabricTagProvider.BlockTagProvider { getOrCreateTagBuilder(BlockTags.WOODEN_TRAPDOORS) .add(TRContent.RUBBER_TRAPDOOR) + + getOrCreateTagBuilder(TRContent.BlockTags.NONE_SOLID_COVERS) + .addOptionalTag(new Identifier("ae2", "whitelisted/facades")) + .forceAddTag(ConventionalBlockTags.GLASS_BLOCKS) } } diff --git a/src/main/java/techreborn/init/TRContent.java b/src/main/java/techreborn/init/TRContent.java index 23930d76d..1e79f19e2 100644 --- a/src/main/java/techreborn/init/TRContent.java +++ b/src/main/java/techreborn/init/TRContent.java @@ -268,6 +268,7 @@ public class TRContent { public static final TagKey RUBBER_LOGS = TagKey.of(Registry.BLOCK_KEY, new Identifier(TechReborn.MOD_ID, "rubber_logs")); public static final TagKey OMNI_TOOL_MINEABLE = TagKey.of(Registry.BLOCK_KEY, new Identifier(TechReborn.MOD_ID, "mineable/omni_tool")); public static final TagKey DRILL_MINEABLE = TagKey.of(Registry.BLOCK_KEY, new Identifier(TechReborn.MOD_ID, "mineable/drill")); + public static final TagKey NONE_SOLID_COVERS = TagKey.of(Registry.BLOCK_KEY, new Identifier(TechReborn.MOD_ID, "none_solid_covers")); private BlockTags() { } diff --git a/src/main/java/techreborn/items/tool/PaintingToolItem.java b/src/main/java/techreborn/items/tool/PaintingToolItem.java index c720ae41a..0e7f95724 100644 --- a/src/main/java/techreborn/items/tool/PaintingToolItem.java +++ b/src/main/java/techreborn/items/tool/PaintingToolItem.java @@ -42,6 +42,7 @@ import org.jetbrains.annotations.Nullable; import techreborn.TechReborn; import techreborn.blockentity.cable.CableBlockEntity; import techreborn.blocks.cable.CableBlock; +import techreborn.init.TRContent; import java.util.List; @@ -59,8 +60,10 @@ public class PaintingToolItem extends Item { BlockState blockState = context.getWorld().getBlockState(context.getBlockPos()); if (player.isSneaking()) { - if (blockState.isOpaqueFullCube(context.getWorld(), context.getBlockPos()) - && blockState.getBlock().getDefaultState().isOpaqueFullCube(context.getWorld(), context.getBlockPos())) { + boolean opaqueFullCube = blockState.isOpaqueFullCube(context.getWorld(), context.getBlockPos()) + && blockState.getBlock().getDefaultState().isOpaqueFullCube(context.getWorld(), context.getBlockPos()); + + if (opaqueFullCube || blockState.isIn(TRContent.BlockTags.NONE_SOLID_COVERS)) { context.getStack().getOrCreateNbt().put("cover", NbtHelper.fromBlockState(blockState)); return ActionResult.SUCCESS; }