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
| Material | Description |
|---|---|
| DIAMOND_SWORD | Diamond Sword |
| DIAMOND_BOOTS | Diamond Boots |
| GOLDEN_APPLE | Golden Apple |
| BLAZE_ROD | Blaze Rod |
| STICK | Stick |
| ENCHANTED_BOOK | Enchanted Book |
| PAPER | Paper |
Next Steps
| Step | Description |
|---|---|
| Commands | Command examples |
| Events | Event handling |
| Scheduler | Task scheduling |