corrected drops on destroyment of block

This commit is contained in:
Jottyfan
2025-12-30 18:58:49 +01:00
parent cf33fa2474
commit 0aa12478b4

View File

@@ -9,10 +9,8 @@ import de.jottyfan.minecraft.blockentity.ItemHoarderBlockEntity;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.MutableComponent;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionResult; import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.item.ItemEntity;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
@@ -23,6 +21,7 @@ import net.minecraft.world.level.block.entity.BlockEntityTicker;
import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootParams.Builder; import net.minecraft.world.level.storage.loot.LootParams.Builder;
import net.minecraft.world.level.storage.loot.parameters.LootContextParams;
import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.BlockHitResult;
/** /**
@@ -77,19 +76,14 @@ public class Itemhoarder extends Block implements EntityBlock {
List<ItemStack> list = new ArrayList<>(); List<ItemStack> list = new ArrayList<>();
list.add(new ItemStack(QuicklyBlocks.ITEMHOARDER)); list.add(new ItemStack(QuicklyBlocks.ITEMHOARDER));
// TODO: add content of spawnAfterBreak here? BlockEntity blockEntity = builder.getOptionalParameter(LootContextParams.BLOCK_ENTITY);
return list;
}
@Override
protected void spawnAfterBreak(BlockState state, ServerLevel level, BlockPos pos, ItemStack tool,
boolean dropExperience) {
BlockEntity blockEntity = level.getBlockEntity(pos);
if (blockEntity instanceof ItemHoarderBlockEntity) { if (blockEntity instanceof ItemHoarderBlockEntity) {
ItemHoarderBlockEntity ihbe = (ItemHoarderBlockEntity) blockEntity; ItemHoarderBlockEntity ihbe = (ItemHoarderBlockEntity) blockEntity;
for (ItemStack stack : ihbe.getStacks().values()) { for (ItemStack stack : ihbe.getStacks().values()) {
level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY(), pos.getZ(), stack)); list.add(stack);
} }
} }
return list;
} }
} }