diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/GiveItemCommand.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/GiveItemCommand.java index fd056399e..c79161a19 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/GiveItemCommand.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/GiveItemCommand.java @@ -2,6 +2,7 @@ package net.momirealms.craftengine.bukkit.plugin.command.feature; import net.kyori.adventure.text.Component; import net.momirealms.craftengine.bukkit.item.BukkitItemManager; +import net.momirealms.craftengine.bukkit.plugin.BukkitCraftEngine; import net.momirealms.craftengine.bukkit.plugin.command.BukkitCommandFeature; import net.momirealms.craftengine.bukkit.util.PlayerUtils; import net.momirealms.craftengine.core.item.CustomItem; @@ -10,6 +11,7 @@ import net.momirealms.craftengine.core.plugin.command.CraftEngineCommandManager; import net.momirealms.craftengine.core.plugin.command.FlagKeys; import net.momirealms.craftengine.core.plugin.locale.MessageConstants; import net.momirealms.craftengine.core.util.Key; +import net.momirealms.craftengine.core.util.VersionHelper; import org.bukkit.NamespacedKey; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -74,9 +76,17 @@ public class GiveItemCommand extends BukkitCommandFeature { ItemStack more = builtItem.clone(); more.setAmount(perStackSize); if (toInv) { - PlayerUtils.putItemsToInventory(player.getInventory(), more, more.getAmount()); + if (VersionHelper.isFolia()) { + player.getScheduler().run(plugin().javaPlugin(), (t) -> PlayerUtils.putItemsToInventory(player.getInventory(), more, more.getAmount()), () -> {}); + } else { + PlayerUtils.putItemsToInventory(player.getInventory(), more, more.getAmount()); + } } else { - PlayerUtils.dropItem(player, more, false, true, false); + if (VersionHelper.isFolia()) { + player.getScheduler().run(plugin().javaPlugin(), (t) -> PlayerUtils.dropItem(player, more, false, true, false), () -> {}); + } else { + PlayerUtils.dropItem(player, more, false, true, false); + } } } }