Code Examples: Give Enchanted Diamond Sword in Spigot, PocketMine-MP, Nukkit

Answered using AI by Vibe Coding

Code Question:

Как будет выглядеть выдача игроку в инвентарь предмета с зачарованиями Неразрушимость 1, Острота 2 и Отбрасывание 1 через код в Spigot (Java Edition), PocketMine-MP и Nukkit (Bedrock Edition)?

Code Solution:

Вот примеры кода для выдачи предмета (возьмём алмазный меч) с зачарованиями Неразрушимость 1, Острота 2 и Отбрасывание 1 через:


Spigot (Java Edition)

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

public class GiveSwordSpigot {
    public static void giveSword(Player player) {
        ItemStack sword = new ItemStack(Material.DIAMOND_SWORD);
        ItemMeta meta = sword.getItemMeta();

        meta.addEnchant(Enchantment.DURABILITY, 1, true);       // Неразрушимость
        meta.addEnchant(Enchantment.DAMAGE_ALL, 2, true);       // Острота
        meta.addEnchant(Enchantment.KNOCKBACK, 1, true);        // Отбрасывание

        sword.setItemMeta(meta);
        player.getInventory().addItem(sword);
    }
}

PocketMine-MP (Bedrock Edition, PHP)

use pocketmine\item\Item;
use pocketmine\item\enchantment\Enchantment;
use pocketmine\item\enchantment\EnchantmentInstance;
use pocketmine\player\Player;

function giveSword(Player $player): void {
    $sword = Item::get(Item::DIAMOND_SWORD);
    $sword->addEnchantment(new EnchantmentInstance(Enchantment::getEnchantment(Enchantment::UNBREAKING), 1)); // Неразрушимость
    $sword->addEnchantment(new EnchantmentInstance(Enchantment::getEnchantment(Enchantment::SHARPNESS), 2));   // Острота
    $sword->addEnchantment(new EnchantmentInstance(Enchantment::getEnchantment(Enchantment::KNOCKBACK), 1));   // Отбрасывание
    $player->getInventory()->addItem($sword);
}

Nukkit (Bedrock Edition, Java-like API)

import cn.nukkit.Player;
import cn.nukkit.item.Item;
import cn.nukkit.item.ItemDiamondSword;
import cn.nukkit.item.enchantment.Enchantment;

public class GiveSwordNukkit {
    public static void giveSword(Player player) {
        Item sword = new ItemDiamondSword();
        sword.addEnchantment(Enchantment.getEnchantment(Enchantment.ID_DURABILITY).setLevel(1)); // Неразрушимость
        sword.addEnchantment(Enchantment.getEnchantment(Enchantment.ID_DAMAGE_ALL).setLevel(2)); // Острота
        sword.addEnchantment(Enchantment.getEnchantment(Enchantment.ID_KNOCKBACK).setLevel(1));  // Отбрасывание
        player.getInventory().addItem(sword);
    }
}

Если нужно выдать другой предмет, замените DIAMOND_SWORD / ItemDiamondSword на нужный тип.