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

Lisenochek

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Lisenochek
Всем привет. Хочу сделать огнестрельное оружие, НО я не могу представить себе принцип хранения в ОЗУ самого огнестрела. Можно в hashmap хранить ItemStack, GunClass, но это будет работать только до перезапуска, а как сохранять в физической памяти и подгружать оружие назад в память я не могу себе представить.
 
Мда, задачка
 
Храни данные в mysql
 
Ору =_=. Я как бы и спрашиваю, каким образом в базе хранить
 
Сложно. Можно подробнее?
 
Нужно, чтобы оружие никому не принадлежало вообще, но при этом можно было сохранить в физической памяти и вновь подгружать.
 
Есть куча способ хранить данные.
Конфиги, базы данных, стерилизация в конце то концов.
В чём проблема написать сохранение и загрузку твоих пукалок?
 
Зачем тебе в памяти хранить сами инстансы оружия (стаки)? Достаточно будет хранить "модели". Допустим, HashMap<String, GunModel>. При интеракте просто берёшь DisplayName из мапы - таким образом получаешь модель оружия. И уже из неё вытаскиваешь нужные данные. Можешь вообще сделать там метод run(Player player) - будет запускать атаку от имени указанного игрока. Но для такой организации тебе придётся познакомиться с абстрактными классами.
Или у разных стаков одной модели могут быть разные характеристики?
 
Большая. Я с этим не работал вообще
Писал без IDE.
https://pastebin.com/GEvS2cWD
Просто пример. Далее думай сам.
P.S. Советую обратить внимание на совет выше.
P.S. У меня версия 1.12, с 1.7.10 (я хз какая у тебя) разница не сильно большая, но будут места, где надо будет поправить.
 
Последнее редактирование:
Зачем тебе в памяти хранить сами инстансы оружия (стаки)? Достаточно будет хранить "модели". Допустим, HashMap<String, GunModel>. При интеракте просто берёшь DisplayName из мапы - таким образом получаешь модель оружия. И уже из неё вытаскиваешь нужные данные. Можешь вообще сделать там метод run(Player player) - будет запускать атаку от имени указанного игрока. Но для такой организации тебе придётся познакомиться с абстрактными классами.
Или у разных стаков одной модели могут быть разные характеристики?
Да. У разных пушек одной модели могут быть разный боезапас в магазине, например.
 
Смотри, есть класс, HellGun(me.hellscoder.guns). Это такой жирненький класс, как бы модель оружия, когда сервер включается, в цикле он прогоняет все конфиг-файлы с оружиями, прогоняет а попутно высасывает основную информацию с которой и нужно будет работать, это КЛЮЧ ДЛЯ ПОЛУЧЕНИЯ, ИД ИТЕМА, ИМЯ - НАЗВАНИЕ ОРУЖИЯ[С ним он и будет работать(Можно на один предмет повесить хоть тысячу оружий, главное, чтоб назывались по разному)], ну и собственно сам экземпляр класса HellGun и тоже загоняет его в мапу,
при интеракте, чекаем имя предмета, ид, еще чтото и еще что то это я уже не помню, и по этой информации достаем экземпляр класса HellGun из мапы, с уже нужным нам оружием, ну а дальше все как в Советском кино
 
Где что не понятно пиши, конкретнее скажу
 
Назад
Верх