From e26eeb438e84cad8adcd59ccfc4d68140ed2cefe Mon Sep 17 00:00:00 2001 From: Jottyfan Date: Mon, 29 Dec 2025 08:31:57 +0100 Subject: [PATCH] info about items in itemhoarder started --- .../jottyfan/minecraft/block/Itemhoarder.java | 29 ++++++++++++++++++- .../resources/assets/quickly/lang/de_de.json | 1 + .../resources/assets/quickly/lang/en_us.json | 1 + 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/jottyfan/minecraft/block/Itemhoarder.java b/src/main/java/de/jottyfan/minecraft/block/Itemhoarder.java index a1b2f62..d89674f 100644 --- a/src/main/java/de/jottyfan/minecraft/block/Itemhoarder.java +++ b/src/main/java/de/jottyfan/minecraft/block/Itemhoarder.java @@ -7,8 +7,12 @@ import org.jspecify.annotations.Nullable; import de.jottyfan.minecraft.blockentity.ItemHoarderBlockEntity; import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; @@ -18,6 +22,7 @@ import net.minecraft.world.level.block.entity.BlockEntityTicker; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.storage.loot.LootParams.Builder; +import net.minecraft.world.phys.BlockHitResult; /** * @@ -47,9 +52,31 @@ public class Itemhoarder extends Block implements EntityBlock { } @Override - protected List getDrops(BlockState state, Builder params) { + protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, + BlockHitResult hitResult) { + StringBuilder buf = new StringBuilder(); + BlockEntity blockEntity = level.getBlockEntity(pos); + if (blockEntity instanceof ItemHoarderBlockEntity) { + ItemHoarderBlockEntity ihbe = (ItemHoarderBlockEntity) blockEntity; + for (ItemStack stack : ihbe.getStacks().values()) { + buf.append(stack.getCount()).append("x ").append(stack.getItemName()); // itemName is not the translated version... + buf.append("\n"); // doesn't work that way + } + } + + Component message = Component.translatable("info.block.itemhoarder", buf.toString()); + if (player instanceof ServerPlayer serverPlayer) { + serverPlayer.displayClientMessage(message, true); + } + return InteractionResult.SUCCESS; + } + + @Override + protected List getDrops(BlockState state, Builder builder) { List list = new ArrayList<>(); list.add(new ItemStack(QuicklyBlocks.ITEMHOARDER)); + + // TODO: add content of spawnAfterBreak here? return list; } diff --git a/src/main/resources/assets/quickly/lang/de_de.json b/src/main/resources/assets/quickly/lang/de_de.json index 59b76fa..a9381c2 100644 --- a/src/main/resources/assets/quickly/lang/de_de.json +++ b/src/main/resources/assets/quickly/lang/de_de.json @@ -1,4 +1,5 @@ { + "info.block.itemhoarder": "enthält %s", "info.block.monsterhoarder": "Radius: %s, Brenndauer: %s Ticks", "item.quickly.blockcanolaplant": "Rapspflanze", "item.quickly.blockcottonplant": "Baumwollpflanze", diff --git a/src/main/resources/assets/quickly/lang/en_us.json b/src/main/resources/assets/quickly/lang/en_us.json index 2627cc4..9790388 100644 --- a/src/main/resources/assets/quickly/lang/en_us.json +++ b/src/main/resources/assets/quickly/lang/en_us.json @@ -1,4 +1,5 @@ { + "info.block.itemhoarder": "keeps %s", "info.block.monsterhoarder": "radius: %s, burn ticks: %s", "item.quickly.blockcanolaplant": "canola plant", "item.quickly.blockcottonplant": "cotton plant",