ScriptsLab
WikiDownloadsSourcesSupport
ScriptsLab
DocumentationDownloadsGitHubDiscord

© 2026 ScriptsLab

Готовые скриптыПримеры кастомных предметовПримеры командПримеры обработки событийПримеры планирования задач
Setup
Установка ScriptsLabНастройка ScriptsLab
ScriptsLab Wiki
Команды ScriptsLabПрава доступа ScriptsLab
API
Script API
Modules
Система модулей ScriptsLab
Безопасность ScriptsLab
Часто задаваемые вопросы (FAQ)Решение проблем
WikiExamples

Примеры кастомных предметов

Apr 29, 2026
11 min read
31 sections

⚔️ Примеры кастомных предметов

Готовые примеры создания кастомных предметов с способностями в ScriptsLab.


Простой кастомный предмет

Создаёт предмет с кастомным названием и описанием.

/**
 * Кастомный предмет - Простой пример
 */

// Импорт Java классов
var Material = Java.type('org.bukkit.Material');
var ItemStack = Java.type('org.bukkit.inventory.ItemStack');
var Enchantment = Java.type('org.bukkit.enchantments.Enchantment');
var ItemFlag = Java.type('org.bukkit.inventory.ItemFlag');

// Команда для получения предмета
Commands.register('getitem', function(sender, args) {
    if (!sender.isPlayer()) {
        sender.sendMessage('§cТолько для игроков!');
        return;
    }
    
    var player = sender;
    var Bukkit = Java.type('org.bukkit.Bukkit');
    player = Bukkit.getPlayer(sender.getName());
    
    // Создаём предмет
    var item = new ItemStack(Material.DIAMOND_SWORD);
    var meta = item.getItemMeta();
    
    // Устанавливаем название
    meta.setDisplayName('§6§l⚡ КАСТОМНЫЙ МЕЧ ⚡');
    
    // Устанавливаем описание (lore)
    var ArrayList = Java.type('java.util.ArrayList');
    var lore = new ArrayList();
    lore.add('§7');
    lore.add('§e▸ Особенности:');
    lore.add('§7  • +10 к урону');
    lore.add('§7  • +20% к скорости атаки');
    lore.add('§7');
    lore.add('§6§l✦ ЛЕГЕНДАРНЫЙ ✦');
    meta.setLore(lore);
    
    // Неразрушимость
    meta.setUnbreakable(true);
    
    // Скрываем флаги
    meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
    meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
    meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
    
    // Зачарование для свечения
    meta.addEnchant(Enchantment.LUCK_OF_THE_SEA, 1, true);
    
    item.setItemMeta(meta);
    
    // Даём предмет
    player.getInventory().addItem(item);
    player.sendMessage('§6§l⚡ §aВы получили кастомный меч!');
    
}, 'scriptslab.getitem');

Console.log('Кастомный предмет создан');

Легендарный Меч Молний

Полноценный кастомный меч с способностями.

/**
 * ⚔️ ЛЕГЕНДАРНЫЙ МЕЧ МОЛНИЙ ⚔️
 * 
 * Особенности:
 * - Вызывает молнию при ударе
 * - +10 к урону
 * - +20% к скорости атаки
 * - Даёт эффект Силы II при держании
 * - Светится
 * - Неразрушимый
 */

var Material = Java.type('org.bukkit.Material');
var ItemStack = Java.type('org.bukkit.inventory.ItemStack');
var Enchantment = Java.type('org.bukkit.enchantments.Enchantment');
var ItemFlag = Java.type('org.bukkit.inventory.ItemFlag');
var Attribute = Java.type('org.bukkit.attribute.Attribute');
var AttributeModifier = Java.type('org.bukkit.attribute.AttributeModifier');
var EquipmentSlot = Java.type('org.bukkit.inventory.EquipmentSlot');
var UUID = Java.type('java.util.UUID');
var ArrayList = Java.type('java.util.ArrayList');
var  = .();
  = .();

.();


.(, () {
     (!sender.()) {
        sender.();
        ;
    }
    
     player = org...(sender.());
     (!player) ;
    
     sword =  (.);
     meta = sword.();
    
     (meta) {
        meta.();
        
         lore =  ();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        meta.(lore);
        
        meta.();
        meta.(.);
        meta.(.);
        meta.(.);
        meta.(., , );
        
        
        .(meta, , , , , );
        .(meta, , , , , );
        
        sword.(meta);
    }
    
    player.().(sword);
    player.();
    
}, );


.(, () {
     {
          = .();
         (!(event.()  )) {
            ;
        }
        
         attacker = event.();
         victim = event.();
         item = attacker.().();
        
         (!item || item.() !== .) ;
        
         meta = item.();
         (!meta || !meta.()) ;
        
         displayName = meta.();
         (displayName.() === -) ;
        
        
        .(victim.());
        event.(event.() + );
        
        attacker.();
        
    }  (e) {
        .( + e);
    }
});

.();


.(, () {
     {
         player = event.();
         newSlot = event.();
         item = player.().(newSlot);
        
        
         (item && item.() === .) {
             meta = item.();
             (meta && meta.() && meta.().() !== -) {
                  = .();
                .(player, ., , , , );
                player.();
            }
        }
        
        
         oldSlot = event.();
         oldItem = player.().(oldSlot);
         (oldItem && oldItem.() === .) {
             oldMeta = oldItem.();
             (oldMeta && oldMeta.() && oldMeta.().() !== -) {
                  = .();
                .(player, .);
                player.();
            }
        }
        
    }  (e) {
        .( + e);
    }
});

.();
.();

Волшебная палочка

Предмет с способностью правого клика.

/**
 * 🌟 Волшебная палочка
 * 
 * ПКМ - Телепорт вперёд
 */

var Material = Java.type('org.bukkit.Material');
var ItemStack = Java.type('org.bukkit.inventory.ItemStack');
var ItemFlag = Java.type('org.bukkit.inventory.ItemFlag');

// Команда для получения
Commands.register('getwand', function(sender, args) {
    if (!sender.isPlayer()) {
        sender.sendMessage('§cТолько для игроков!');
        return;
    }
    
    var player = sender;
    
    var wand = new ItemStack(Material.STICK);
    var meta = wand.getItemMeta();
    
    meta.setDisplayName('§5§l🌟 Волшебная палочка 🌟');
    
    var ArrayList = Java.type('java.util.ArrayList');
    var lore = new ArrayList();
    lore.add('§7Телепортирует вперёд');
    meta.setLore(lore);
    
    meta.();
    meta.(.);
    
    wand.(meta);
    
    player.().(wand);
    player.();
    
}, );

.();

Жезл исцеления

Исцеляет игрока при использовании.

/**
 * 💚 Жезл исцеления
 */

var Material = Java.type('org.bukkit.Material');
var ItemStack = Java.type('org.bukkit.inventory.ItemStack');

Commands.register('gethealwand', function(sender, args) {
    if (!sender.isPlayer()) return;
    
    var player = sender;
    
    var wand = new ItemStack(Material.BLAZE_ROD);
    var meta = wand.getItemMeta();
    
    meta.setDisplayName('§a§l💚 Жезл исцеления');
    
    var ArrayList = Java.type('java.util.ArrayList');
    var lore = new ArrayList();
    lore.add('§7ПКМ - Исцелить себя');
    lore.add('§7ЛКМ - Исцелить другого');
    meta.setLore(lore);
    
    wand.setItemMeta(meta);
    player.getInventory().addItem(wand);
    player.sendMessage('§a§l💚 §aВы получили Жезл исцеления!');
    
}, );

.();

Ботинки скорости

Увеличивают скорость.

/**
 * ⚡ Ботинки скорости
 */

var Material = Java.type('org.bukkit.Material');
var ItemStack = Java.type('org.bukkit.inventory.ItemStack');
var EntityEquipment = Java.type('org.bukkit.entity.EntityEquipment');

Commands.register('getspeedboots', function(sender, args) {
    if (!sender.isPlayer()) return;
    
    var player = sender;
    
    var boots = new ItemStack(Material.DIAMOND_BOOTS);
    var meta = boots.getItemMeta();
    
    meta.setDisplayName('§e§l⚡ Ботинки скорости');
    
    var ArrayList = Java.type('java.util.ArrayList');
    var lore = new ArrayList();
    lore.add('§7Даёт эффект Скорости II');
    meta.setLore(lore);
    
    boots.setItemMeta(meta);
    player.getInventory().addItem(boots);
    player.();
    
    
      = .();
     scheduler = .();
    
    .(player, ., , , , );
    
}, );

.();

Создание предмета: пошаговый гайд

1. Импорт классов

var Material = Java.type('org.bukkit.Material');
var ItemStack = Java.type('org.bukkit.inventory.ItemStack');
var Enchantment = Java.type('org.bukkit.enchantments.Enchantment');
var ItemFlag = Java.type('org.bukkit.inventory.ItemFlag');
var Attribute = Java.type('org.bukkit.attribute.Attribute');
var AttributeModifier = Java.type('org.bukkit.attribute.AttributeModifier');
var ArrayList = Java.type('java.util.ArrayList');

2. Создание предмета

var item = new ItemStack(Material.DIAMOND_SWORD);
var meta = item.getItemMeta();

3. Настройка названия

meta.setDisplayName('§6§l⚡ НАЗВАНИЕ ⚡');

4. Настройка описания

var lore = new ArrayList();
lore.add('§7Описание 1');
lore.add('§7Описание 2');
meta.setLore(lore);

5. Дополнительные настройки

meta.setUnbreakable(true); // Неразрушимость
meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE); // Скрыть "Unbreakable"
meta.addEnchant(Enchantment.LUCK, 1, true); // Зачарование для свечения

6. Применение мета

item.setItemMeta(meta);

7. Дача предмета

player.getInventory().addItem(item);

Таблица материалов

MaterialОписание
DIAMOND_SWORDАлмазный меч
DIAMOND_BOOTSАлмазные ботинки
GOLDEN_APPLEЗолотое яблоко
BLAZE_RODСтержень ифрита
STICKПалка
ENCHANTED_BOOKЗачарованная книга
PAPERБумага

⚔️ Custom Item Examples (English)

Ready-to-use custom item examples with abilities for ScriptsLab.


Simple Custom Item

Creates an item with custom name and description.

/**
 * Custom Item - Simple Example
 */
// Import Java classes
var Material = Java.type('org.bukkit.Material');
var ItemStack = Java.type('org.bukkit.inventory.ItemStack');
var Enchantment = Java.type('org.bukkit.enchantments.Enchantment');
var ItemFlag = Java.type('org.bukkit.inventory.ItemFlag');

// Command to get item
Commands.register('getitem', function(sender, args) {
    if (!sender.isPlayer()) {
        sender.sendMessage('§cOnly for players!');
        return;
    }
    
    var player = sender;
    var Bukkit = Java.type('org.bukkit.Bukkit');
    player = Bukkit.getPlayer(sender.getName());
    
    // Create item
    var item = new ItemStack(Material.DIAMOND_SWORD);
    var meta = item.();
    
    
    meta.();
    
    
      = .();
     lore =  ();
    lore.();
    lore.();
    lore.();
    lore.();
    lore.();
    lore.();
    meta.(lore);
    
    
    meta.();
    
    
    meta.(.);
    meta.(.);
    meta.(.);
    
    
    meta.(., , );
    
    item.(meta);
    
    
    player.().(item);
    player.();
    
}, );

.();

Lightning Sword

Full custom sword with abilities.

/**
 * ⚔️ LIGHTNING SWORD ⚔️
 * 
 * Features:
 * - Strikes lightning on hit
 * - +10 damage
 * - +20% attack speed
 * - Gives Strength II when held
 * - Glows
 * - Unbreakable
 */
var Material = Java.type('org.bukkit.Material');
var ItemStack = Java.type('org.bukkit.inventory.ItemStack');
var Enchantment = Java.type('org.bukkit.enchantments.Enchantment');
var ItemFlag = Java.type('org.bukkit.inventory.ItemFlag');
var Attribute = Java.type('org.bukkit.attribute.Attribute');
var AttributeModifier = Java.type('org.bukkit.attribute.AttributeModifier');
var EquipmentSlot = Java.type('org.bukkit.inventory.EquipmentSlot');
var UUID = Java.type('java.util.UUID');
var ArrayList = Java.type('java.util.ArrayList');
var PotionEffect = .();
  = .();

.();


.(, () {
     (!sender.()) {
        sender.();
        ;
    }
    
     player = org...(sender.());
     (!player) ;
    
     sword =  (.);
     meta = sword.();
    
     (meta) {
        meta.();
        
         lore =  ();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        lore.();
        meta.(lore);
        
        meta.();
        meta.(.);
        meta.(.);
        meta.(.);
        meta.(., , );
        
        
        .(meta, , , , , );
        .(meta, , , , , );
        
        sword.(meta);
    }
    
    player.().(sword);
    player.();
    
}, );


.(, () {
     {
          = .();
         (!(event.()  )) {
            ;
        }
        
         attacker = event.();
         victim = event.();
         item = attacker.().();
        
         (!item || item.() !== .) ;
        
         meta = item.();
         (!meta || !meta.()) ;
        
         displayName = meta.();
         (displayName.() === -) ;
        
        
        .(victim.());
        event.(event.() + );
        
        attacker.();
        
    }  (e) {
        .( + e);
    }
});

.();


.(, () {
     {
         player = event.();
         newSlot = event.();
         item = player.().(newSlot);
        
        
         (item && item.() === .) {
             meta = item.();
             (meta && meta.() && meta.().() !== -) {
                  = .();
                .(player, ., , , , );
                player.();
            }
        }
        
        
         oldSlot = event.();
         oldItem = player.().(oldSlot);
         (oldItem && oldItem.() === .) {
             oldMeta = oldItem.();
             (oldMeta && oldMeta.() && oldMeta.().() !== -) {
                  = .();
                .(player, .);
                player.();
            }
        }
        
    }  (e) {
        .( + e);
    }
});

.();
.();

Magic Wand

Item with right-click ability.

/**
 * 🌟 Magic Wand
 * 
 * Right Click - Teleport forward
 */
var Material = Java.type('org.bukkit.Material');
var ItemStack = Java.type('org.bukkit.inventory.ItemStack');
var ItemFlag = Java.type('org.bukkit.inventory.ItemFlag');

// Command to get it
Commands.register('getwand', function(sender, args) {
    if (!sender.isPlayer()) {
        sender.sendMessage('§cOnly for players!');
        return;
    }
    
    var player = sender;
    
    var wand = new ItemStack(Material.STICK);
    var meta = wand.getItemMeta();
    
    meta.setDisplayName('§5§l🌟 Magic Wand 🌟');
    
    var ArrayList = Java.type('java.util.ArrayList');
    var lore = new ArrayList();
    lore.add('§7Teleports forward');
    meta.setLore(lore);
    
    meta.();
    meta.(.);
    
    wand.(meta);
    
    player.().(wand);
    player.();
    
}, );

.();

Healing Rod

Heals player when used.

/**
 * 💚 Healing Rod
 */
var Material = Java.type('org.bukkit.Material');
var ItemStack = Java.type('org.bukkit.inventory.ItemStack');

Commands.register('gethealwand', function(sender, args) {
    if (!sender.isPlayer()) return;
    
    var player = sender;
    
    var wand = new ItemStack(Material.BLAZE_ROD);
    var meta = wand.getItemMeta();
    
    meta.setDisplayName('§a§l💚 Healing Rod');
    
    var ArrayList = Java.type('java.util.ArrayList');
    var lore = new ArrayList();
    lore.add('§7Right Click - Heal yourself');
    lore.add('§7Left Click - Heal other');
    meta.setLore(lore);
    
    wand.setItemMeta(meta);
    player.getInventory().addItem(wand);
    player.sendMessage('§a§l💚 §aYou received the Healing Rod!');
    
}, );

.();

Speed Boots

Increase movement speed.

/**
 * ⚡ Speed Boots
 */
var Material = Java.type('org.bukkit.Material');
var ItemStack = Java.type('org.bukkit.inventory.ItemStack');
var EntityEquipment = Java.type('org.bukkit.entity.EntityEquipment');

Commands.register('getspeedboots', function(sender, args) {
    if (!sender.isPlayer()) return;
    
    var player = sender;
    
    var boots = new ItemStack(Material.DIAMOND_BOOTS);
    var meta = boots.getItemMeta();
    
    meta.setDisplayName('§e§l⚡ Speed Boots');
    
    var ArrayList = Java.type('java.util.ArrayList');
    var lore = new ArrayList();
    lore.add('§7Gives Speed II effect');
    meta.setLore(lore);
    
    boots.setItemMeta(meta);
    player.getInventory().addItem(boots);
    player.();
    
    
      = .();
     scheduler = .();
    
    .(player, ., , , , );
    
}, );

.();

Item Creation: Step-by-Step Guide

1. Import Classes

var Material = Java.type('org.bukkit.Material');
var ItemStack = Java.type('org.bukkit.inventory.ItemStack');
var Enchantment = Java.type('org.bukkit.enchantments.Enchantment');
var ItemFlag = Java.type('org.bukkit.inventory.ItemFlag');
var Attribute = Java.type('org.bukkit.attribute.Attribute');
var AttributeModifier = Java.type('org.bukkit.attribute.AttributeModifier');
var ArrayList = Java.type('java.util.ArrayList');

2. Create Item

var item = new ItemStack(Material.DIAMOND_SWORD);
var meta = item.getItemMeta();

3. Set Name

meta.setDisplayName('§6§l⚡ NAME ⚡');

4. Set Description

var lore = new ArrayList();
lore.add('§7Description 1');
lore.add('§7Description 2');
meta.setLore(lore);

5. Additional Settings

meta.setUnbreakable(true); // Unbreakable
meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE); // Hide "Unbreakable"
meta.addEnchant(Enchantment.LUCK, 1, true); // Glow enchant

6. Apply Meta

item.setItemMeta(meta);

7. Give Item

player.getInventory().addItem(item);

Material Table

MaterialDescription
DIAMOND_SWORDDiamond Sword
DIAMOND_BOOTSDiamond Boots
GOLDEN_APPLEGolden Apple
BLAZE_RODBlaze Rod
STICKStick
ENCHANTED_BOOKEnchanted Book
PAPERPaper

Next Steps

StepDescription
CommandsCommand examples
EventsEvent handling
SchedulerTask scheduling

On this page

⚔️ Примеры кастомных предметовПростой кастомный предметЛегендарный Меч МолнийВолшебная палочкаЖезл исцеленияБотинки скоростиСоздание предмета: пошаговый гайд1. Импорт классов2. Создание предмета3. Настройка названия4. Настройка описания5. Дополнительные настройки6. Применение мета7. Дача предметаТаблица материалов⚔️ Custom Item Examples (English)

All articlesEdit this page

Previous

Готовые скрипты

Next

Примеры команд

PotionEffect
Java
type
'org.bukkit.potion.PotionEffect'
var
PotionEffectType
Java
type
'org.bukkit.potion.PotionEffectType'
Console
log
'=== Инициализация Меча Молний ==='
// Команда для получения меча
Commands
register
'getlightningsword'
function
sender, args
if
isPlayer
sendMessage
'§cТолько для игроков!'
return
var
bukkit
Bukkit
getPlayer
getName
if
return
var
new
ItemStack
Material
DIAMOND_SWORD
var
getItemMeta
if
setDisplayName
'§6§l⚡ МЕЧ МОЛНИЙ ⚡'
var
new
ArrayList
add
'§7'
add
'§e▸ Способности:'
add
'§7 • Вызывает молнию при ударе'
add
'§7 • §cСила II§7 при держании'
add
'§7 • Урон: §c+10 ❤'
add
'§7'
add
'§e▸ Характеристики:'
add
'§7 • Урон: §c+10 ❤'
add
'§7 • Скорость: §a+20%'
add
'§7 • Прочность: §6Неразрушимый'
add
'§7'
add
'§6§l✦ ЛЕГЕНДАРНЫЙ ✦'
setLore
setUnbreakable
true
addItemFlags
ItemFlag
HIDE_UNBREAKABLE
addItemFlags
ItemFlag
HIDE_ATTRIBUTES
addItemFlags
ItemFlag
HIDE_ENCHANTS
addEnchant
Enchantment
LUCK_OF_THE_SEA
1
true
// Добавляем атрибуты
API
addAttribute
'GENERIC_ATTACK_DAMAGE'
'lightning_sword_damage'
10.0
'ADD_NUMBER'
'HAND'
API
addAttribute
'GENERIC_ATTACK_SPEED'
'lightning_sword_speed'
0.8
'ADD_NUMBER'
'HAND'
setItemMeta
getInventory
addItem
sendMessage
'§6§l⚡ §aВы получили §6§lМЕЧ МОЛНИЙ§a!'
'scriptslab.getlightningsword'
// === Способность: Молния при ударе ===
API
registerEvent
'EntityDamageByEntityEvent'
function
event
try
var
Player
Java
type
'org.bukkit.entity.Player'
if
getDamager
instanceof
Player
return
var
getDamager
var
getEntity
var
getInventory
getItemInMainHand
if
getType
Material
DIAMOND_SWORD
return
var
getItemMeta
if
hasDisplayName
return
var
getDisplayName
if
indexOf
'МЕЧ МОЛНИЙ'
1
return
// Молния!
API
strikeLightningSync
getLocation
setDamage
getDamage
5.0
sendMessage
'§6⚡ §eМолния поражает врага!'
catch
Console
error
'Ошибка: '
Console
log
'✓ Способность "Молния при ударе" активирована'
// === Способность: Эффект Силы при держании ===
API
registerEvent
'PlayerItemHeldEvent'
function
event
try
var
getPlayer
var
getNewSlot
var
getInventory
getItem
// Взяли меч
if
getType
Material
DIAMOND_SWORD
var
getItemMeta
if
hasDisplayName
getDisplayName
indexOf
'МЕЧ МОЛНИЙ'
1
var
PotionEffectType
Java
type
'org.bukkit.potion.PotionEffectType'
API
addPotionEffectSync
PotionEffectType
STRENGTH
999999
1
false
false
sendMessage
'§6⚡ §eВы чувс��вуете силу молнии!'
// Убрали меч
var
getPreviousSlot
var
getInventory
getItem
if
getType
Material
DIAMOND_SWORD
var
getItemMeta
if
hasDisplayName
getDisplayName
indexOf
'МЕЧ МОЛНИЙ'
1
var
PotionEffectType
Java
type
'org.bukkit.potion.PotionEffectType'
API
removePotionEffectSync
PotionEffectType
STRENGTH
sendMessage
'§7Сила молнии покидает вас...'
catch
Console
error
'Ошибка: '
Console
log
'✓ Способность "Эффект Силы" активирована'
Console
log
'=== Меч Молний полностью активирован! ==='
setUnbreakable
true
addItemFlags
ItemFlag
HIDE_UNBREAKABLE
setItemMeta
getInventory
addItem
sendMessage
'§5§l🌟 §aВы получили Волшебную палочку!'
'scriptslab.getwand'
Console
log
'Волшебная палочка создана'
'scriptslab.gethealwand'
Console
log
'Жезл исцеления создан'
sendMessage
'§e§l⚡ §aВы получили Ботинки скорости!'
// Даём эффект
var
Bukkit
Java
type
'org.bukkit.Bukkit'
var
Bukkit
getScheduler
// Эффект через API
API
addPotionEffectSync
PotionEffectType
SPEED
999999
1
false
false
'scriptslab.getspeedboots'
Console
log
'Ботинки скорости созданы'
getItemMeta
// Set name
setDisplayName
'§6§l⚡ CUSTOM SWORD ⚡'
// Set description (lore)
var
ArrayList
Java
type
'java.util.ArrayList'
var
new
ArrayList
add
'§7'
add
'§e▸ Features:'
add
'§7 • +10 damage'
add
'§7 • +20% attack speed'
add
'§7'
add
'§6§l✦ LEGENDARY ✦'
setLore
// Unbreakable
setUnbreakable
true
// Hide flags
addItemFlags
ItemFlag
HIDE_UNBREAKABLE
addItemFlags
ItemFlag
HIDE_ATTRIBUTES
addItemFlags
ItemFlag
HIDE_ENCHANTS
// Glow enchantment
addEnchant
Enchantment
LUCK_OF_THE_SEA
1
true
setItemMeta
// Give item
getInventory
addItem
sendMessage
'§6§l⚡ §aYou received a custom sword!'
'scriptslab.getitem'
Console
log
'Custom item created'
Java
type
'org.bukkit.potion.PotionEffect'
var
PotionEffectType
Java
type
'org.bukkit.potion.PotionEffectType'
Console
log
'=== Initializing Lightning Sword ==='
// Command to get sword
Commands
register
'getlightningsword'
function
sender, args
if
isPlayer
sendMessage
'§cOnly for players!'
return
var
bukkit
Bukkit
getPlayer
getName
if
return
var
new
ItemStack
Material
DIAMOND_SWORD
var
getItemMeta
if
setDisplayName
'§6§l⚡ LIGHTNING SWORD ⚡'
var
new
ArrayList
add
'§7'
add
'§e▸ Abilities:'
add
'§7 • Strikes lightning on hit'
add
'§7 • §cStrength II§7 when held'
add
'§7 • Damage: §c+10 ❤'
add
'§7'
add
'§e▸ Stats:'
add
'§7 • Damage: §c+10 ❤'
add
'§7 • Speed: §a+20%'
add
'§7 • Durability: §6Unbreakable'
add
'§7'
add
'§6§l✦ LEGENDARY ✦'
setLore
setUnbreakable
true
addItemFlags
ItemFlag
HIDE_UNBREAKABLE
addItemFlags
ItemFlag
HIDE_ATTRIBUTES
addItemFlags
ItemFlag
HIDE_ENCHANTS
addEnchant
Enchantment
LUCK_OF_THE_SEA
1
true
// Add attributes
API
addAttribute
'GENERIC_ATTACK_DAMAGE'
'lightning_sword_damage'
10.0
'ADD_NUMBER'
'HAND'
API
addAttribute
'GENERIC_ATTACK_SPEED'
'lightning_sword_speed'
0.8
'ADD_NUMBER'
'HAND'
setItemMeta
getInventory
addItem
sendMessage
'§6§l⚡ §aYou received §6§lLIGHTNING SWORD§a!'
'scriptslab.getlightningsword'
// === Ability: Lightning on hit ===
API
registerEvent
'EntityDamageByEntityEvent'
function
event
try
var
Player
Java
type
'org.bukkit.entity.Player'
if
getDamager
instanceof
Player
return
var
getDamager
var
getEntity
var
getInventory
getItemInMainHand
if
getType
Material
DIAMOND_SWORD
return
var
getItemMeta
if
hasDisplayName
return
var
getDisplayName
if
indexOf
'LIGHTNING SWORD'
1
return
// Lightning!
API
strikeLightningSync
getLocation
setDamage
getDamage
5.0
sendMessage
'§6⚡ §eLightning strikes the enemy!'
catch
Console
error
'Error: '
Console
log
'✓ Ability "Lightning Strike" activated'
// === Ability: Strength when held ===
API
registerEvent
'PlayerItemHeldEvent'
function
event
try
var
getPlayer
var
getNewSlot
var
getInventory
getItem
// Took sword
if
getType
Material
DIAMOND_SWORD
var
getItemMeta
if
hasDisplayName
getDisplayName
indexOf
'LIGHTNING SWORD'
1
var
PotionEffectType
Java
type
'org.bukkit.potion.PotionEffectType'
API
addPotionEffectSync
PotionEffectType
STRENGTH
999999
1
false
false
sendMessage
'§6⚡ §eYou feel the power of lightning!'
// Removed sword
var
getPreviousSlot
var
getInventory
getItem
if
getType
Material
DIAMOND_SWORD
var
getItemMeta
if
hasDisplayName
getDisplayName
indexOf
'LIGHTNING SWORD'
1
var
PotionEffectType
Java
type
'org.bukkit.potion.PotionEffectType'
API
removePotionEffectSync
PotionEffectType
STRENGTH
sendMessage
'§7Lightning power leaves you...'
catch
Console
error
'Error: '
Console
log
'✓ Ability "Strength Effect" activated'
Console
log
'=== Lightning Sword fully activated! ==='
setUnbreakable
true
addItemFlags
ItemFlag
HIDE_UNBREAKABLE
setItemMeta
getInventory
addItem
sendMessage
'§5§l🌟 §aYou received the Magic Wand!'
'scriptslab.getwand'
Console
log
'Magic Wand created'
'scriptslab.gethealwand'
Console
log
'Healing Rod created'
sendMessage
'§e§l⚡ §aYou received Speed Boots!'
// Give effect
var
Bukkit
Java
type
'org.bukkit.Bukkit'
var
Bukkit
getScheduler
// Effect through API
API
addPotionEffectSync
PotionEffectType
SPEED
999999
1
false
false
'scriptslab.getspeedboots'
Console
log
'Speed Boots created'
Simple Custom Item
Lightning Sword
Magic Wand
Healing Rod
Speed Boots
Item Creation: Step-by-Step Guide
1. Import Classes
2. Create Item
3. Set Name
4. Set Description
5. Additional Settings
6. Apply Meta
7. Give Item
Material Table
Next Steps