mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2026-01-06 15:52:03 +00:00
修复folia give item
This commit is contained in:
@@ -13,6 +13,7 @@ import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public final class BukkitAdaptors {
|
||||
|
||||
@@ -23,9 +24,9 @@ public final class BukkitAdaptors {
|
||||
* This provides access to CraftEngine-specific player functionality and data.
|
||||
*
|
||||
* @param player the Bukkit Player to adapt, must not be null
|
||||
* @return a non-null BukkitServerPlayer instance wrapping the provided player
|
||||
* @return a BukkitServerPlayer instance wrapping the provided player, null if the player is not online
|
||||
*/
|
||||
@NotNull
|
||||
@Nullable
|
||||
public static BukkitServerPlayer adapt(@NotNull final Player player) {
|
||||
return BukkitCraftEngine.instance().adapt(player);
|
||||
}
|
||||
|
||||
@@ -14,6 +14,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;
|
||||
@@ -65,12 +66,25 @@ public class GiveItemCommand extends BukkitCommandFeature<CommandSender> {
|
||||
itemId = customItem.id();
|
||||
}
|
||||
}
|
||||
CustomItem<ItemStack> finalCustomItem = customItem;
|
||||
Collection<Player> players = selector.values();
|
||||
for (Player player : players) {
|
||||
BukkitServerPlayer serverPlayer = BukkitAdaptors.adapt(player);
|
||||
Item<ItemStack> builtItem = customItem.buildItem(serverPlayer);
|
||||
if (builtItem != null) {
|
||||
PlayerUtils.giveItem(serverPlayer, amount, builtItem);
|
||||
if (VersionHelper.isFolia()) {
|
||||
player.getScheduler().run(plugin().javaPlugin(), t -> {
|
||||
BukkitServerPlayer serverPlayer = BukkitAdaptors.adapt(player);
|
||||
if (serverPlayer != null) {
|
||||
Item<ItemStack> builtItem = finalCustomItem.buildItem(serverPlayer);
|
||||
if (builtItem != null) {
|
||||
PlayerUtils.giveItem(serverPlayer, amount, builtItem);
|
||||
}
|
||||
}
|
||||
}, null);
|
||||
} else {
|
||||
BukkitServerPlayer serverPlayer = BukkitAdaptors.adapt(player);
|
||||
Item<ItemStack> builtItem = finalCustomItem.buildItem(serverPlayer);
|
||||
if (builtItem != null) {
|
||||
PlayerUtils.giveItem(serverPlayer, amount, builtItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (players.size() == 1) {
|
||||
|
||||
Reference in New Issue
Block a user