From c4eb56aa294f8f3b7a19ea3828030fb436e66be5 Mon Sep 17 00:00:00 2001 From: Jottyfan Date: Wed, 31 Dec 2025 16:24:22 +0100 Subject: [PATCH] finetuning --- .../jottyfan/minecraft/block/BlockDrill.java | 2 +- .../minecraft/block/Monsterhoarder.java | 4 +-- .../minecraft/block/QuicklyBlocks.java | 18 ++++-------- .../blockentity/BlockEntityRegister.java | 28 +++++++++++++++++++ 4 files changed, 36 insertions(+), 16 deletions(-) create mode 100644 src/main/java/de/jottyfan/minecraft/blockentity/BlockEntityRegister.java diff --git a/src/main/java/de/jottyfan/minecraft/block/BlockDrill.java b/src/main/java/de/jottyfan/minecraft/block/BlockDrill.java index c72e7b6..2dedf0b 100644 --- a/src/main/java/de/jottyfan/minecraft/block/BlockDrill.java +++ b/src/main/java/de/jottyfan/minecraft/block/BlockDrill.java @@ -93,7 +93,7 @@ public class BlockDrill extends FallingBlock implements EntityBlock { Item item = itemStack.getItem(); if (QuicklyItems.MAGNIFIER.equals(item)) { if (!level.isClientSide() && player instanceof ServerPlayer serverPlayer) { - serverPlayer.sendSystemMessage(Component.translatable("info.block.drillfuel", state.getValue(FUEL)), false); + serverPlayer.displayClientMessage(Component.translatable("info.block.drillfuel", state.getValue(FUEL)), true); } } else if (loadings.containsKey(item)) { Integer fuelWeight = loadings.get(item); diff --git a/src/main/java/de/jottyfan/minecraft/block/Monsterhoarder.java b/src/main/java/de/jottyfan/minecraft/block/Monsterhoarder.java index 3bbff70..996504e 100644 --- a/src/main/java/de/jottyfan/minecraft/block/Monsterhoarder.java +++ b/src/main/java/de/jottyfan/minecraft/block/Monsterhoarder.java @@ -2,7 +2,7 @@ package de.jottyfan.minecraft.block; import org.jspecify.annotations.Nullable; -import de.jottyfan.minecraft.Quickly; +import de.jottyfan.minecraft.item.QuicklyItems; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerLevel; @@ -69,7 +69,7 @@ public class Monsterhoarder extends Block { } else if (Items.COPPER_TORCH.equals(itemStack.getItem())) { level.setBlock(pos, state.setValue(BURNTICKS, MINBURNTICKS), UPDATE_ALL); itemStack.shrink(1); - } else { + } else if (QuicklyItems.MAGNIFIER.equals(itemStack.getItem())) { int suckRadius = state.getValue(SUCKRADIUS); int burnTicks = state.getValue(BURNTICKS); Component message = Component.translatable("info.block.monsterhoarder", suckRadius, burnTicks); diff --git a/src/main/java/de/jottyfan/minecraft/block/QuicklyBlocks.java b/src/main/java/de/jottyfan/minecraft/block/QuicklyBlocks.java index 87782ab..da39415 100644 --- a/src/main/java/de/jottyfan/minecraft/block/QuicklyBlocks.java +++ b/src/main/java/de/jottyfan/minecraft/block/QuicklyBlocks.java @@ -3,13 +3,12 @@ package de.jottyfan.minecraft.block; import java.util.function.Function; import de.jottyfan.minecraft.Quickly; +import de.jottyfan.minecraft.blockentity.BlockEntityRegister; import de.jottyfan.minecraft.blockentity.DrillBlockEntity; import de.jottyfan.minecraft.blockentity.ItemHoarderBlockEntity; import de.jottyfan.minecraft.item.QuicklyItems; import de.jottyfan.minecraft.tab.QuicklyTab; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; -import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder; -import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder.Factory; import net.minecraft.core.Registry; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; @@ -22,7 +21,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; -import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockBehaviour.Properties; @@ -62,16 +60,10 @@ public class QuicklyBlocks { // TODO: add salpeter ore, sulfor ore // TODO: merge lavahoarder and emptylavahoarder into one block using a BooleanProperty for the lava fill state - public static final BlockEntityType BLOCKENTITY_ITEMHOARDER = (BlockEntityType) registerBlockEntity("itemhoarderblockentity", ItemHoarderBlockEntity::new, ITEMHOARDER); - public static final BlockEntityType BLOCKENTITY_DRILL = (BlockEntityType) registerBlockEntity("drillblockentity", DrillBlockEntity::new, DRILL); - - private static final BlockEntityType registerBlockEntity(String name, Factory factory, Block block) { - return Registry.register( - BuiltInRegistries.BLOCK_ENTITY_TYPE, - Identifier.fromNamespaceAndPath(Quickly.MOD_ID, name), - FabricBlockEntityTypeBuilder.create(factory, block).build() - ); - } + public static final BlockEntityType BLOCKENTITY_ITEMHOARDER = new BlockEntityRegister() + .registerBlockEntity("itemhoarderblockentity", ItemHoarderBlockEntity::new, ITEMHOARDER); + public static final BlockEntityType BLOCKENTITY_DRILL = new BlockEntityRegister() + .registerBlockEntity("drillblockentity", DrillBlockEntity::new, DRILL); private static final Block registerBlock(String name, Properties properties) { return QuicklyBlocks.registerBlock(name, properties, p -> new Block(p)); diff --git a/src/main/java/de/jottyfan/minecraft/blockentity/BlockEntityRegister.java b/src/main/java/de/jottyfan/minecraft/blockentity/BlockEntityRegister.java new file mode 100644 index 0000000..683028b --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/blockentity/BlockEntityRegister.java @@ -0,0 +1,28 @@ +package de.jottyfan.minecraft.blockentity; + +import de.jottyfan.minecraft.Quickly; +import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder; +import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder.Factory; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.Identifier; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; + +/** + * + * @author jotty + * + */ +public class BlockEntityRegister { + + @SuppressWarnings("unchecked") + public BlockEntityType registerBlockEntity(String name, Factory factory, Block block) { + return (BlockEntityType) Registry.register( + BuiltInRegistries.BLOCK_ENTITY_TYPE, + Identifier.fromNamespaceAndPath(Quickly.MOD_ID, name), + FabricBlockEntityTypeBuilder.create(factory, block).build() + ); + } +}