Linegrite
Пользователь
- Сообщения
- 9
Привет!
Начну с того, что я пишу плагин на обмен уровня в баночки с опытом.
У меня есть менюшка с тремя возможностями обмена (30 лвл, 45 лвл, 60 лвл)
Все работает, все выдается, КРОМЕ третьей возможности (60 лвл). Она нормально отображается в меню, выдается, но проблема начинается, когда я читаю выкидывание этой баночки (В смысле, использую). Все баночки работают нормально и при выкидывании выдают опыт, а злощастная третья баночка просто не проходит проверку на значение ее названия. Теперь мой кривой код :>
Повторюсь, 30 и 45 уровней работают и выдаются/используются. Уже не знаю что делать, пробовал и значение менять и название другие ставить, ничего не работает.
Начну с того, что я пишу плагин на обмен уровня в баночки с опытом.
У меня есть менюшка с тремя возможностями обмена (30 лвл, 45 лвл, 60 лвл)
Все работает, все выдается, КРОМЕ третьей возможности (60 лвл). Она нормально отображается в меню, выдается, но проблема начинается, когда я читаю выкидывание этой баночки (В смысле, использую). Все баночки работают нормально и при выкидывании выдают опыт, а злощастная третья баночка просто не проходит проверку на значение ее названия. Теперь мой кривой код :>
Java:
package ru.linegrite.bmgexp.Messages;
import org.bukkit.ChatColor;
import org.bukkit.configuration.file.FileConfiguration;
import ru.linegrite.bmgexp.BmgEXP;
public class GetItem {
static FileConfiguration config = BmgEXP.plugin.getConfig();
public static class Item {
public static String Sixty = ChatColor.translateAlternateColorCodes('&',
config.getString("bottles.60lvl.ItemName"));
public static String FortyFive = ChatColor.translateAlternateColorCodes('&',
config.getString("bottles.45lvl.ItemName"));
public static String Thirty = ChatColor.translateAlternateColorCodes('&',
config.getString("bottles.30lvl.ItemName"));
}
public static class Menu {
public static String Sixty = ChatColor.translateAlternateColorCodes('&',
config.getString("bottles.60lvl.MenuName"));
public static String FortyFive = ChatColor.translateAlternateColorCodes('&',
config.getString("bottles.45lvl.MenuName"));
public static String Thirty = ChatColor.translateAlternateColorCodes('&',
config.getString("bottles.30lvl.MenuName"));
}
}
Java:
@EventHandler
public void BottleInteract(PlayerInteractEvent event) {
Player player = event.getPlayer();
Integer total = getTotalExperience(player);
if (player.getInventory().getItemInMainHand().getType() == Material.EXP_BOTTLE) {
if (event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK) {
if (player.getInventory().getItemInMainHand().getItemMeta().getDisplayName()
.equalsIgnoreCase(GetItem.Item.Thirty)) {
setTotalExperience(player, total + getTotalExperience(30));
} else if (player.getInventory().getItemInMainHand().getItemMeta().getDisplayName()
.equalsIgnoreCase(GetItem.Item.FortyFive)) {
setTotalExperience(player, total + getTotalExperience(45));
} else if (player.getInventory().getItemInMainHand().getItemMeta().getDisplayName()
.equalsIgnoreCase(GetItem.Item.Sixty)) {
setTotalExperience(player, total + getTotalExperience(60));
}
}
}
}
YAML:
bottles:
30lvl:
ItemName: " &eБутылек &e&l30&e LvL"
MenuName: " &e&l30 LVL"
ItemLore:
- ""
- " &eВ этой баночке хранится 30 уровней"
- ""
MenuLore:
- ""
- " &e&lНажмите, чтобы обменять 30 уровней"
- ""
45lvl:
ItemName: " &eБутылек &e&l45&e LvL"
MenuName: " &e&l45 LVL"
ItemLore:
- ""
- " &eВ этой баночке хранится 45 уровней"
- ""
MenuLore:
- ""
- " &e&lНажмите, чтобы обменять 45 уровней"
- ""
60lvl:
ItemName: " &eБутылек &e&l60&e LvL"
MenuName: " &e&l60 LVL"
ItemLore:
- ""
- " &eВ этой баночке хранится 60 уровней"
- ""
MenuLore:
- ""
- " &e&lНажмите, чтобы обменять 60 уровней"
- ""
Повторюсь, 30 и 45 уровней работают и выдаются/используются. Уже не знаю что делать, пробовал и значение менять и название другие ставить, ничего не работает.