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

.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Mr_RoboMan, 11 май 2015.

Статус темы:
Закрыта.
  1. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    .
     
    Последнее редактирование: 27 янв 2020
  2. Hilgert

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

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    господи. зачем ты создал ещё одну тему?
     
  3. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Теоретически та тема была совсем под другому вопросу, просто я там оффтопил :D
    А это тема уже именно по этому вопросу.
     
  4. MrTrojan

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

    Баллы:
    98
    Имя в Minecraft:
    BlackTrojan
  5. Hilgert

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

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    так я же тебе в той теме всё подробно объяснил по этому вопросу
     
  6. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Этот метод есть у ItemMeta.
    А у блок и чест немного другой метод getItemMeta он требует в качестве параметра String и возвращает List из MetadataValue...
     
  7. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Понимаешь, у тебя как бы ненормальное поведение. Метод Inventory.getTitle() должен возвращать название инвентаря, а у тебя почему то нет. Вот поэтому тебе никто помочь не может.
     
  8. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    А потому что он не выставляет имя инвентаря при постановке блока вот и не возвращает. Магии не бывает, название с итемстака не переносится.
     
  9. Hilgert

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

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    возвращает container.chest потому что названия инвентаря нету, это надо для того что бы в языковых пакетах клиента менять стандартное название сундука
     
  10. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Вот только его можно выставить. Выставляется через имя инвентаря привязанного к блоку.
     
  11. Hilgert

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

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    я уже кидал код в прошлой теме как это реализовать
     
  12. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Это и без nms можно.
     
  13. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Переносится
     
  14. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Только в 1.8 и при условии что никакой плагин не шаманит с выставленным блоком.
     
  15. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Кажется и в 1.7 такое наблюдал.
     
  16. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Ну хорошо, вот этот код:
    Код:
                            CraftChest chest = (CraftChest) block.getState(); //block has to be a chest
                            try
                            {
                                Field inventoryField = chest.getClass().getDeclaredField("chest"); //This get's the CraftChest variable 'chest' which is the TileEntityChest that is stored within it
                                inventoryField.setAccessible(true); //Allows you to access that field since it's declared as private
                                TileEntityChest teChest = ((TileEntityChest) inventoryField.get(chest)); //obtains the field and casts it to a TileEntityChest
                                teChest.a("Name Goes Here"); //The a(String) method sets the title of the chest
                            }
                            catch (Exception e) //This has to be here as the getDeclaredField(String) throws an exception if the input doesn't exist in the given class
                            {
                                e.printStackTrace();
                            }
    
    Да только я не знаю какие импорты нужны!
    Для Field их вообще туева гора...
    Без nms это без всей этой фигни в коде выше?
    Тогда как если не секрет?
    UP штоле
    UP
     
  17. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    1. Почему нельзя сохранять каждый кейс в мапу и чекать через нее?
    2. Почему нельзя сохранять данные о том, что это кейс, в метадату?
    3. В конце концов, что мешает использовать NMS код?
     
  18. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    1. Ну как то не очень идея...
    2. Я уже говорил что у меня есть только getMetaga(String s) который возвращает MetdataValue!!
    3. То что я не знаю что это.
    Ну и Мапу нельзя использовать потому-что при остановке сервера она "сотрется" и при загрузке создатся новая...
    Ну вы поняли)
     
  19. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Сохранять одну мапу в файл для слабаков?

    А вы почитайте на javaDoc что это за string и что за MetadataValue.
    Вам же дали готовый код.
     
  20. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    1. Да для слабаков)

    2. Вот это мне и надо сделать...

    3. Вот я и спрашиваю иморты...
     
Статус темы:
Закрыта.

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