Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Уникальный сундук для каждого игрока.

Статус
Закрыто для дальнейших ответов.

Kotofey

Активный участник
Баллы
61
Имя в Minecraft
KotofeyYouTube
Здравствуйте дорогие форумчане. Появилась идея и я не знаю как её реализовать. Идею походит на некоторые плагины, но мне нужны либо исходники этих плагинов, или готовый код, или идея, как это можно реализовать.
-----------------------------Идея-----------------------------​
Во общем, есть Player A, есть Player B, есть меню каждого игрока (Уже сделано). В меню есть предмет - сундук. Если Player A нажимает на этот сундук, то открывается меню сундука "Сундук игрока: Player A", если на этот сундук нажимает Player B, то открывается меня "Сундук игрока: Player B", но это не всё, надо чтобы в каждом сундуке хранились свои вещи и если сервер перезагружается, то вещи сохранялись, и если Player A заново войдёт в игру, то все вещи сохраняться.

Буду благодарен каждой идеи, каждому человеку, который подскажет идею или код.
Заранее, спасибо.
 
Здравствуйте дорогие форумчане. Появилась идея и я не знаю как её реализовать. Идею походит на некоторые плагины, но мне нужны либо исходники этих плагинов, или готовый код, или идея, как это можно реализовать.
-----------------------------Идея-----------------------------​
Во общем, есть Player A, есть Player B, есть меню каждого игрока (Уже сделано). В меню есть предмет - сундук. Если Player A нажимает на этот сундук, то открывается меню сундука "Сундук игрока: Player A", если на этот сундук нажимает Player B, то открывается меня "Сундук игрока: Player B", но это не всё, надо чтобы в каждом сундуке хранились свои вещи и если сервер перезагружается, то вещи сохранялись, и если Player A заново войдёт в игру, то все вещи сохраняться.

Буду благодарен каждой идеи, каждому человеку, который подскажет идею или код.
Заранее, спасибо.
Ты язык Java знаешь?
 
Ты язык Java знаешь?
Если вы о том что нельзя это написать, я хотел бы спросить. На серверах Cristalix в Anighilation были так называемые "Ender Furnace', так вот, смысл их был в том, что у каждого игрока была своя печка, к которой не имел доступ другой игрок. Опять же, если вы имеете в виду что это сделать нельзя, то как сделаны эти печки? Ведь суть то одна. Просто там печки, а у меня сундуки.
 
Если вы о том что нельзя это написать, я хотел бы спросить. На серверах Cristalix в Anighilation были так называемые "Ender Furnace', так вот, смысл их был в том, что у каждого игрока была своя печка, к которой не имел доступ другой игрок. Опять же, если вы имеете в виду что это сделать нельзя, то как сделаны эти печки? Ведь суть то одна. Просто там печки, а у меня сундуки.
Можно
 
Делаешь значит так:
В плагине хранишь HashMap<Player, Inventory> chests.
При клике по сундуку если игрок в мапе есть, то отменять действие и открывать игроку инвентарь из мапы, иначе создать новый инвентарь и положить в мапу.
При выключении плагина циклом проходиться по мапе и сохранять инвентари в конфиг, а при включении загружать.(для сохранения циклом проходимся по предметам инвентаря и сохраняем их стандартным методом FileConfiguration.set(), а для загрузки считываем через get и кастуем)
 
Делаешь значит так:
В плагине хранишь HashMap<Player, Inventory> chests.
При клике по сундуку если игрок в мапе есть, то отменять действие и открывать игроку инвентарь из мапы, иначе создать новый инвентарь и положить в мапу.
При выключении плагина циклом проходиться по мапе и сохранять инвентари в конфиг, а при включении загружать.(для сохранения циклом проходимся по предметам инвентаря и сохраняем их стандартным методом FileConfiguration.set(), а для загрузки считываем через get и кастуем)
Огромное спасибо вам, CraftCoder. Как же я сам до этого не додумался. Ещё раз, спасибо)
Делаешь значит так:
В плагине хранишь HashMap<Player, Inventory> chests.
При клике по сундуку если игрок в мапе есть, то отменять действие и открывать игроку инвентарь из мапы, иначе создать новый инвентарь и положить в мапу.
При выключении плагина циклом проходиться по мапе и сохранять инвентари в конфиг, а при включении загружать.(для сохранения циклом проходимся по предметам инвентаря и сохраняем их стандартным методом FileConfiguration.set(), а для загрузки считываем через get и кастуем)
Приношу свои извинения, CraftCoder, но весь вечер пытался понять как это можно сделать. Сделал инвентарь для каждого игрока, но как сохранить это всё в конфиг? Можете предоставить код. Пытался сделать и так и сяк. Ничего не получается. Получилось только сделать, как я уже говорил, инвентарь для каждого игрока, а сохранить егов конфиг не получаетсь, да и не умею я с конфигами работать. Привык на MySQL всё делать, а тут такой случай что не получится как я умею. Заранее спасибо
 
Огромное спасибо вам, CraftCoder. Как же я сам до этого не додумался. Ещё раз, спасибо)

Приношу свои извинения, CraftCoder, но весь вечер пытался понять как это можно сделать. Сделал инвентарь для каждого игрока, но как сохранить это всё в конфиг? Можете предоставить код. Пытался сделать и так и сяк. Ничего не получается. Получилось только сделать, как я уже говорил, инвентарь для каждого игрока, а сохранить егов конфиг не получаетсь, да и не умею я с конфигами работать. Привык на MySQL всё делать, а тут такой случай что не получится как я умею. Заранее спасибо
.getConfig().set("0", сюда объект предмета);
 
Можно так:
1. Для сохранения создаем чистый List<String>, циклом проходимся по предметам и добавляем их в этот лист с помощью toString().
2. Для считывания берем из конфига лист(getStringList), перебираем все элементы списка и преобразовываем в ItemStack с помощью valueof.
 
Если я правильно понял мысль, то у меня есть плагин KitBox. Правда я бы посоветовал ждать релиза, так как он сейчас в стадии разработки.
 
Если я правильно понял мысль, то у меня есть плагин KitBox. Правда я бы посоветовал ждать релиза, так как он сейчас в стадии разработки.
В твоём плагине инвентари в блоках, а ему надо, чтобы у каждого игрока, который открыл сундук был свой сундук (не знаю, как правильно сказать :D)
 
В твоём плагине инвентари в блоках, а ему надо, чтобы у каждого игрока, который открыл сундук был свой сундук (не знаю, как правильно сказать :D)
Пфф... Просто создаешь бокс в сундуке (отличие будет только в отсутствии анимации). И кстати, спасибо, ты натолкнул меня на мысль, сделать многоблочные структуры для даной штуки.
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх