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

Помогите Огнестрельное оружие

Тема в разделе "Разработка плагинов для новичков", создана пользователем Lisenochek, 27 июл 2017.

  1. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Всем привет. Хочу сделать огнестрельное оружие, НО я не могу представить себе принцип хранения в ОЗУ самого огнестрела. Можно в hashmap хранить ItemStack, GunClass, но это будет работать только до перезапуска, а как сохранять в физической памяти и подгружать оружие назад в память я не могу себе представить.
     
  2. JolyHoska

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

    Баллы:
    76
    Имя в Minecraft:
    JolyNoska
    Мда, задачка
     
  3. JolyHoska

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

    Баллы:
    76
    Имя в Minecraft:
    JolyNoska
    Храни данные в mysql
     
  4. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Ору =_=. Я как бы и спрашиваю, каким образом в базе хранить
     
  5. xDark

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

    Баллы:
    96
  6. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Сложно. Можно подробнее?
     
  7. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Нужно, чтобы оружие никому не принадлежало вообще, но при этом можно было сохранить в физической памяти и вновь подгружать.
     
  8. Exception_Prototype

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

    Баллы:
    96
    Есть куча способ хранить данные.
    Конфиги, базы данных, стерилизация в конце то концов.
    В чём проблема написать сохранение и загрузку твоих пукалок?
     
  9. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    ItemStack. Я все сказал
     
  10. Exception_Prototype

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

    Баллы:
    96
    В чём проблема ItemStack преобразовывать в тег и писать в файл?
     
  11. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Большая. Я с этим не работал вообще
     
  12. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Зачем тебе в памяти хранить сами инстансы оружия (стаки)? Достаточно будет хранить "модели". Допустим, HashMap<String, GunModel>. При интеракте просто берёшь DisplayName из мапы - таким образом получаешь модель оружия. И уже из неё вытаскиваешь нужные данные. Можешь вообще сделать там метод run(Player player) - будет запускать атаку от имени указанного игрока. Но для такой организации тебе придётся познакомиться с абстрактными классами.
    Или у разных стаков одной модели могут быть разные характеристики?
     
  13. Exception_Prototype

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

    Баллы:
    96
    Писал без IDE.
    https://pastebin.com/GEvS2cWD
    Просто пример. Далее думай сам.
    P.S. Советую обратить внимание на совет выше.
    P.S. У меня версия 1.12, с 1.7.10 (я хз какая у тебя) разница не сильно большая, но будут места, где надо будет поправить.
     
    Последнее редактирование: 29 июл 2017
  14. Exception_Prototype

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

    Баллы:
    96
    Перезалил, чутка подправил
     
  15. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Да. У разных пушек одной модели могут быть разный боезапас в магазине, например.
     
  16. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
  17. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
  18. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Смотри, есть класс, HellGun(me.hellscoder.guns). Это такой жирненький класс, как бы модель оружия, когда сервер включается, в цикле он прогоняет все конфиг-файлы с оружиями, прогоняет а попутно высасывает основную информацию с которой и нужно будет работать, это КЛЮЧ ДЛЯ ПОЛУЧЕНИЯ, ИД ИТЕМА, ИМЯ - НАЗВАНИЕ ОРУЖИЯ[С ним он и будет работать(Можно на один предмет повесить хоть тысячу оружий, главное, чтоб назывались по разному)], ну и собственно сам экземпляр класса HellGun и тоже загоняет его в мапу,
    при интеракте, чекаем имя предмета, ид, еще чтото и еще что то это я уже не помню, и по этой информации достаем экземпляр класса HellGun из мапы, с уже нужным нам оружием, ну а дальше все как в Советском кино
     
  19. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Где что не понятно пиши, конкретнее скажу
     
  20. Автор темы
    Lisenochek

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

    Баллы:
    76
    Имя в Minecraft:
    Lisenochek
    Не понял? А что ключом то служит?
     

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