- Баллы
- 66
делаю плагин который будет выдавать головы с метой через меню.
Баг происходит, когда игрок открывает меню с наличием в инвентаре head1(), то этот head1() копируется в меню и помещается в первый свободной слот.
Баг происходит, когда игрок открывает меню с наличием в инвентаре head1(), то этот head1() копируется в меню и помещается в первый свободной слот.
Код:
public static void openMenu(Player player) {
inventory = Bukkit.createInventory(player, Main.cfg.getInt("gui.slots"), ColorUtil.color(Main.cfg.getString("title")));
setItem1();
player.openInventory(inventory);
}
Код:
public static void setItem1() {
ItemStack stack = new ItemStack(Material.getMaterial(Main.cfg.getString("gui.item.1.material")));
if (Main.cfg.get("gui.item.1.id") != null)
StackUtil.setSkullOwner(stack, Main.cfg.getString("gui.item.1.id"));
ItemMeta meta = stack.getItemMeta();
meta.setDisplayName(ColorUtil.color(Main.cfg.getString("gui.item.1.name")));
List<String> lore = new ArrayList<>();
for (String s : Main.cfg.getStringList("gui.item.1.lore"))
lore.add(ColorUtil.color(s));
meta.addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 5, true);
meta.addEnchant(Enchantment.PROTECTION_FIRE, 5, true);
meta.addEnchant(Enchantment.PROTECTION_PROJECTILE, 5, true);
meta.addEnchant(Enchantment.OXYGEN, 5, true);
meta.addEnchant(Enchantment.WATER_WORKER, 2, true);
meta.addAttributeModifier(Attribute.GENERIC_ATTACK_SPEED,
new AttributeModifier(UUID.randomUUID(), "generic.attack_speed", 0.25, AttributeModifier.Operation.MULTIPLY_SCALAR_1, EquipmentSlot.HEAD));
meta.addAttributeModifier(Attribute.GENERIC_ATTACK_DAMAGE,
new AttributeModifier(UUID.randomUUID(), "generic.attack_damage", 1, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.HEAD));
meta.addAttributeModifier(Attribute.GENERIC_ARMOR_TOUGHNESS,
new AttributeModifier(UUID.randomUUID(), "generic.armor_toughness", 2.5, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.HEAD));
meta.addAttributeModifier(Attribute.GENERIC_ARMOR,
new AttributeModifier(UUID.randomUUID(), "generic.armor", 3, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.HEAD));
if (Main.cfg.getBoolean("enable-hide")) {
meta.hasItemFlag(ItemFlag.HIDE_ATTRIBUTES);
meta.hasItemFlag(ItemFlag.HIDE_ENCHANTS);
}
meta.setLore(lore);
stack.setItemMeta(meta);
inventory.setItem(Main.cfg.getInt("gui.item.1.slot"), stack);
}
Код:
public static ItemStack head1() {
ItemStack item1 = new ItemStack(Objects.requireNonNull(Material.getMaterial(ColorUtil.color(Main.heads.getString("Head1.material")))), 1);
if (Main.heads.get("Head1.id") != null)
StackUtil.setSkullOwner(item1, Objects.requireNonNull(Main.heads.getString(("Head1.id"))));
ItemMeta meta = item1.getItemMeta();
List<String> lore = new ArrayList<>();
meta.setDisplayName(ColorUtil.color(Main.heads.getString("Head1.name")));
for (String s : Main.heads.getStringList("Head1.lore"))
lore.add(ColorUtil.color(s));
meta.setLore(lore);
meta.addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 5, true);
meta.addEnchant(Enchantment.PROTECTION_FIRE, 5, true);
meta.addEnchant(Enchantment.PROTECTION_PROJECTILE, 5, true);
meta.addEnchant(Enchantment.OXYGEN, 5, true);
meta.addEnchant(Enchantment.WATER_WORKER, 2, true);
meta.addAttributeModifier(Attribute.GENERIC_ATTACK_SPEED,
new AttributeModifier(UUID.randomUUID(), "generic.attack_speed", 0.25, AttributeModifier.Operation.MULTIPLY_SCALAR_1, EquipmentSlot.HEAD));
meta.addAttributeModifier(Attribute.GENERIC_ATTACK_DAMAGE,
new AttributeModifier(UUID.randomUUID(), "generic.attack_damage", 1, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.HEAD));
meta.addAttributeModifier(Attribute.GENERIC_ARMOR_TOUGHNESS,
new AttributeModifier(UUID.randomUUID(), "generic.armor_toughness", 2.5, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.HEAD));
meta.addAttributeModifier(Attribute.GENERIC_ARMOR,
new AttributeModifier(UUID.randomUUID(), "generic.armor", 3, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.HEAD));
item1.setItemMeta(meta);
return item1;
}
