package luckyblock.action.triggers; import luckyblock.action.LuckyActionHolder; import net.minecraft.core.BlockPos; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Blocks; public class SummonItemTrigger implements ILuckyTrigger { @Override public String getName() { return "summon_item"; } @Override public void execute(ServerLevel level, BlockPos pos, LuckyActionHolder holder, RandomSource random) { if (holder.items != null) { for (String itemId : holder.items) { var item = BuiltInRegistries.ITEM.get(new ResourceLocation(itemId)); if (item != Blocks.AIR.asItem()) { for (int i = 0; i < holder.count; i++) { ItemEntity entity = new ItemEntity(level, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, new ItemStack(item)); level.addFreshEntity(entity); } } } } } }