1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как сохранить и считать цену предмета в конфиге.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Trolerne, 20 янв 2022.

Метки:
  1. Автор темы
    Trolerne

    Trolerne Активный участник Пользователь

    Баллы:
    66
    Допустим уменя есть конфиг:
    Код:
    Items:
        Hat1:
           DisplayName: ...
           Lore:...
           CustomModelData:....
           Price:....
        Hat2:
    Я считываю DisplayName, ModelData, и Lore для каждого предмета, записываю их в массив ItemStack, куда мне можно записывать цену, или для этого использовать другую переменную?
    (Массив я заполняю при старте плагина)
     
  2. mirrerror

    mirrerror Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    mirrerror
    Используй мапу
     
  3. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну, как то так.
    Код:
    import org.bukkit.configuration.ConfigurationSection;
    import org.*********ventory.ItemStack;
    import lombok.Getter;
    
    public class StackData {
        private @Getter ItemStack stack;
        private @Getter int price;
    
        public StackData(ConfigurationSection sectiuon) {
            this.stack = sectiuon.getObject("item", ItemStack.class);
            this.price = sectiuon.getInt("price");
        }
    }
     
    Последнее редактирование: 21 янв 2022
  4. Автор темы
    Trolerne

    Trolerne Активный участник Пользователь

    Баллы:
    66
    А как задать значение этой переменной?
    Код:
    StackData[] itemdata1 = new StackData[m];
    itemdata1[i] = StackData(Item,10);
    Так у меня не работает
     
  5. Автор темы
    Trolerne

    Trolerne Активный участник Пользователь

    Баллы:
    66
    Реализовал через Hashmap, всё работает)
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Элементарно же.
    Код:
    public class StackData {
        private @Getter ItemStack stack;
        private @Getter int price;
        private ConfigurationSection sectiuon;
    
        public StackData(ConfigurationSection sectiuon) {
            this.sectiuon = sectiuon;
            this.stack = sectiuon.getObject("item", ItemStack.class);
            this.price = sectiuon.getInt("price");
        }
    
        public void setItem(ItemStack stack) {
            this.stack = stack;
            this.sectiuon.set("item", stack);
        }
    
        public void setPrice(int price) {
            this.price = price;
            this.sectiuon.set("price", price);
        }
    }
     

Поделиться этой страницей