From 2b5def207273f09a64918b1b758ef7a50ff67ab3 Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Sun, 1 Mar 2026 14:25:24 +0800 Subject: [PATCH 1/5] fix(block): fix bug of large fluid tank --- .../loot_table/blocks/large_fluid_tank.json | 2 +- .../dubhe/anvilcraft/block/LargeFluidTankBlock.java | 11 +++++++++++ .../dev/dubhe/anvilcraft/init/block/ModBlocks.java | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/generated/resources/data/anvilcraft/loot_table/blocks/large_fluid_tank.json b/src/generated/resources/data/anvilcraft/loot_table/blocks/large_fluid_tank.json index a70719bb2..6122e3b75 100644 --- a/src/generated/resources/data/anvilcraft/loot_table/blocks/large_fluid_tank.json +++ b/src/generated/resources/data/anvilcraft/loot_table/blocks/large_fluid_tank.json @@ -16,7 +16,7 @@ "block": "anvilcraft:large_fluid_tank", "condition": "minecraft:block_state_property", "properties": { - "half": "bottom_center" + "half": "mid_center" } } ], diff --git a/src/main/java/dev/dubhe/anvilcraft/block/LargeFluidTankBlock.java b/src/main/java/dev/dubhe/anvilcraft/block/LargeFluidTankBlock.java index f8cfe9d8e..f928ada2f 100644 --- a/src/main/java/dev/dubhe/anvilcraft/block/LargeFluidTankBlock.java +++ b/src/main/java/dev/dubhe/anvilcraft/block/LargeFluidTankBlock.java @@ -12,6 +12,7 @@ import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.EntityBlock; @@ -94,4 +95,14 @@ protected ItemInteractionResult useItemOn( return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; } + + @Override + protected float getShadeBrightness(BlockState p_308911_, BlockGetter p_308952_, BlockPos p_308918_) { + return 1.0F; + } + + @Override + protected boolean propagatesSkylightDown(BlockState p_309084_, BlockGetter p_309133_, BlockPos p_309097_) { + return true; + } } diff --git a/src/main/java/dev/dubhe/anvilcraft/init/block/ModBlocks.java b/src/main/java/dev/dubhe/anvilcraft/init/block/ModBlocks.java index ede302f0b..fb1f6af08 100644 --- a/src/main/java/dev/dubhe/anvilcraft/init/block/ModBlocks.java +++ b/src/main/java/dev/dubhe/anvilcraft/init/block/ModBlocks.java @@ -1797,7 +1797,7 @@ public class ModBlocks { LargeFluidTankBlock::new ) .initialProperties(() -> Blocks.IRON_BLOCK) - .properties(p -> p.isSuffocating(ModBlocks::never).isSuffocating(ModBlocks::never).noOcclusion().isValidSpawn(Blocks::never)) + .properties(p -> p.isSuffocating(ModBlocks::never).noOcclusion().isValidSpawn(Blocks::never)) .loot(SimpleMultiPartBlock::loot) .item(SimpleMultiPartBlockItem::new) .properties((properties) -> properties.stacksTo(16)) From bf3bb0feef44bf237e2f9512173f705073a78c55 Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Sun, 1 Mar 2026 14:28:25 +0800 Subject: [PATCH 2/5] fix(sound): fix sounds not be played in world --- src/main/java/dev/dubhe/anvilcraft/api/sound/SoundHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/dev/dubhe/anvilcraft/api/sound/SoundHelper.java b/src/main/java/dev/dubhe/anvilcraft/api/sound/SoundHelper.java index 5eda66e6c..b84343066 100644 --- a/src/main/java/dev/dubhe/anvilcraft/api/sound/SoundHelper.java +++ b/src/main/java/dev/dubhe/anvilcraft/api/sound/SoundHelper.java @@ -22,7 +22,7 @@ public boolean shouldMute(@Nullable Level level, ResourceLocation sound, Vec3 po if (level == null) return false; return this.eventListeners.computeIfAbsent(level.dimension(), k -> new CopyOnWriteArrayList<>()) .stream() - .allMatch(it -> it.shouldMute(sound, pos)); + .anyMatch(it -> it.shouldMute(sound, pos)); } public void register(Level level, ISoundEventListener eventListener) { From 6a343abdf5c0c84cfc37afec966c70cdf2569b97 Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Sun, 1 Mar 2026 22:12:41 +0800 Subject: [PATCH 3/5] fix(block): fix Powered Sliding Rail doesn't move items when contains magnetized node --- .../anvilcraft/block/sliding/PoweredSlidingRailBlock.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/dubhe/anvilcraft/block/sliding/PoweredSlidingRailBlock.java b/src/main/java/dev/dubhe/anvilcraft/block/sliding/PoweredSlidingRailBlock.java index fcec98845..b350819b1 100644 --- a/src/main/java/dev/dubhe/anvilcraft/block/sliding/PoweredSlidingRailBlock.java +++ b/src/main/java/dev/dubhe/anvilcraft/block/sliding/PoweredSlidingRailBlock.java @@ -214,7 +214,8 @@ private boolean isPowered(Level level, BlockPos pos) { @Override public void stepOn(Level level, BlockPos pos, BlockState state, Entity entity) { - if (!level.getEntitiesOfClass(MagnetizedNodeEntity.class, new AABB(pos)).isEmpty()) return; + boolean magnetizedNodeExist = !level.getEntitiesOfClass(MagnetizedNodeEntity.class, new AABB(pos)).isEmpty(); + if (entity.getType() == EntityType.ITEM && magnetizedNodeExist) return; if (entity.getType() != EntityType.ITEM && !(entity instanceof LivingEntity)) return; boolean isSneakPlayer = entity instanceof Player player && player.isShiftKeyDown(); if (!state.getValue(POWERED)) { From 6dd2a43a2283d4bb24cb1e7436d8ffa26b4141b9 Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Sun, 1 Mar 2026 22:22:32 +0800 Subject: [PATCH 4/5] fix(style): rename variables --- .../java/dev/dubhe/anvilcraft/block/LargeFluidTankBlock.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/dev/dubhe/anvilcraft/block/LargeFluidTankBlock.java b/src/main/java/dev/dubhe/anvilcraft/block/LargeFluidTankBlock.java index f928ada2f..38e937d43 100644 --- a/src/main/java/dev/dubhe/anvilcraft/block/LargeFluidTankBlock.java +++ b/src/main/java/dev/dubhe/anvilcraft/block/LargeFluidTankBlock.java @@ -97,12 +97,12 @@ protected ItemInteractionResult useItemOn( } @Override - protected float getShadeBrightness(BlockState p_308911_, BlockGetter p_308952_, BlockPos p_308918_) { + protected float getShadeBrightness(BlockState state, BlockGetter level, BlockPos pos) { return 1.0F; } @Override - protected boolean propagatesSkylightDown(BlockState p_309084_, BlockGetter p_309133_, BlockPos p_309097_) { + protected boolean propagatesSkylightDown(BlockState state, BlockGetter level, BlockPos pos) { return true; } } From 068cd215adff8aa63cba686775730975c89adec8 Mon Sep 17 00:00:00 2001 From: YocyCraft Date: Sun, 1 Mar 2026 22:37:00 +0800 Subject: [PATCH 5/5] fix(data): Heavy iron block can be crafted by item compress --- .../resources/data/anvilcraft/tags/item/compress_item.json | 1 + src/main/java/dev/dubhe/anvilcraft/data/tags/ItemTagLoader.java | 1 + 2 files changed, 2 insertions(+) diff --git a/src/generated/resources/data/anvilcraft/tags/item/compress_item.json b/src/generated/resources/data/anvilcraft/tags/item/compress_item.json index 875c66c23..47a5a5c71 100644 --- a/src/generated/resources/data/anvilcraft/tags/item/compress_item.json +++ b/src/generated/resources/data/anvilcraft/tags/item/compress_item.json @@ -2,6 +2,7 @@ "values": [ "minecraft:snow_block", "minecraft:white_wool", + "anvilcraft:heavy_iron_block", "#c:ingots", "#c:storage_blocks" ] diff --git a/src/main/java/dev/dubhe/anvilcraft/data/tags/ItemTagLoader.java b/src/main/java/dev/dubhe/anvilcraft/data/tags/ItemTagLoader.java index 3359cc812..bd17b9d62 100644 --- a/src/main/java/dev/dubhe/anvilcraft/data/tags/ItemTagLoader.java +++ b/src/main/java/dev/dubhe/anvilcraft/data/tags/ItemTagLoader.java @@ -207,6 +207,7 @@ public static void init(RegistrateTagsProvider provider) { provider.addTag(ModItemTags.COMPRESS_ITEM) .add(findResourceKey(Items.SNOW_BLOCK)) .add(findResourceKey(Items.WHITE_WOOL)) + .add(findResourceKey(ModBlocks.HEAVY_IRON_BLOCK.asItem())) .addTag(Tags.Items.INGOTS) .addTag(Tags.Items.STORAGE_BLOCKS);