Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Мод [1.7.x] [Давно заброшено] GUI Templater - меняем игровые меню без копания в исходниках!

Тема в разделе "Модификации клиента", создана пользователем gamerforEA, 20 авг 2014.

?

Полезен ли будет данный мод?

  1. Да.

    65 голосов
    73,9%
  2. Нет.

    4 голосов
    4,5%
  3. Мне нет, а другим - возможно.

    19 голосов
    21,6%
Статус темы:
Закрыта.
  1. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Данный мод позволяет менять различные игровые меню, просто составляя JSON файлы. Если вы хотите внести небольшие изменения в какой-нибудь GUI, то вам не придётся долго читать различные туториалы и копаться в MCP/ForgeGradle.

    {
    "scripts": [
    "test"
    ],
    "addButtons": [
    {
    "id": 300,
    "xPosition": 0,
    "yPosition": 0,
    "width": 100,
    "height": 20,
    "label": "Открыть RuBukkit.Org",
    "actions": [
    "$OpenURL http://rubukkit.org/"
    ]
    },
    {
    "id": 301,
    "xPosition": 200,
    "yPosition": 0,
    "width": 100,
    "height": 20,
    "label": "Открыть настройки",
    "actions": [
    "$OpenGUI net.minecraft.client.gui.GuiOptions @ThisGUI @GameSettings"
    ]
    }
    ],
    "modifyButtons": [
    {
    "id": 2,
    "label": "@format RED @format ITALIC Сетевые войны"
    }
    ]
    }

    var event = com.gamerforea.guitemplater.tweaks.GuiTweaker.event;
    var gui = event.gui;
    var buttonList = event.buttonList;
    var logger = com.gamerforea.guitemplater.GuiTemplater.instance.logger;

    for(var i = 0; i < buttonList.size(); i++)
    {
    var button = buttonList.get(i);
    if (button.field_146127_k == 14 || button.field_146127_k == 6)
    {
    info("Скрытие кнопки №" + button.field_146127_k);
    button.visible = false;
    }
    }

    function info(s)
    {
    logger.info("[test.js] " + s);
    }

    • Добавление кнопок
    • Модификация имеющихся кнопок
    • Работа с ползунками
    • Работа с фоном
    • Больше кодов действий (они нужны для программирования actionPerform кнопки)

    • $OpenURL <URL> - переход по ссылке в браузере
    • $OpenGUI <GUI сlass> [args] - открытие меню
    • $JoinServer <IP> - заход на сервер
    • $CloseMC - выключение MC
    • $SendMessage <Message> - отправка сообщения в чат

    • @ThisGUI - текущее меню
    • @GameSettings - игровые настройки
    • @Int <число> - 32-битное число
    • @Long <число> - 64-битное число
    • @Boolean <булеана> - булеана
    • @String <строка> - строка
    • @format (с заглавной буквы) <код форматирования> - форматирование текста

    • BLACK - чёрный цвет (0)
    • DARK_BLUE - тёмно-синий цвет (1)
    • DARK_GREEN - тёмно-зелёный цвет (2)
    • DARK_AQUA - тёмно-бирюзовый цвет (3)
    • DARK_RED - тёмно-красный цвет (4)
    • DARK_PURPLE - тёмно-фиолетовый цвет (5)
    • GOLD - золотой цвет (6)
    • GRAY - серый цвет (7)
    • DARK_GRAY - тёмно-серый цвет (8)
    • BLUE - синий цвет (9)
    • GREEN - зелёный цвет (a)
    • AQUA - бирюзовый цвет (b)
    • RED - красный цвет (c)
    • LIGHT_PURPLE - светло-фиолетовый цвет (d)
    • YELLOW - жёлтый цвет (e)
    • WHITE - белый цвет (f)
    • OBFUSCATED - случайно изменяющиеся символы (k)
    • BOLD - жирный текст (l)
    • STRIKETHROUGH - зачёркнутый текст (m)
    • UNDERLINE - подчёркнутый текст (n)
    • ITALIC - курсивный текст (o)
    • RESET - сброс форматирования (r)

    • "id" - ID кнопки (должен быть уникален, чтобы не было ошибок)
    • "xPosition" - позиция X на дисплее
    • "yPosition"- позиция Y на дисплее
    • "width" - ширина
    • "height" - высота
    • "label" - текст, отображаемый на кнопке
    • "actions" - коды действий, выполняемые при нажатии на кнопку

    • "id" - ID кнопки
    • "visible" - рендер кнопки
    • "enabled" - включена ли кнопка
    • "xPosition" - позиция X на дисплее
    • "yPosition"- позиция Y на дисплее
    • "width" - ширина
    • "height" - высота
    • "label" - текст, отображаемый на кнопке


    UPD_0.5:
    • Добавлена поддержка JavaScript.
    UPD_0.4:
    • Исправлена генерация конфига.
    • Исправлены 2 маленькие проверки на null.
    UPD_0.3:
    • Добавлено форматирование текста на кнопках
    • Добавлен режим отладки (Выводит список кнопок (их текст, ID и класс) для каждого открытого меню)
    • Небольшая оптимизация: теперь мод работает с GUI только после загрузки последнего
    UPD_0.2:
    • Добавлены новые коды действий
    • Добавлены коды аргументов
    UPD_0.1:
    • Выход альфа-версии

    ВНИМАНИЕ: Мод больше не поддерживается, обновлений не будет.
     
    Последнее редактирование: 28 мар 2015
  2. Хостинг MineCraft
    <
  3. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Резерв.
    P.S. Прошу подсказать, какой функционал нужно будет добавить.
     
  4. Entergro

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

    Баллы:
    78
    Можно пожалуйста скриншот...наглядно гораздо интересней :|
     
  5. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    UPD_0.1:
    • Выход альфа версии
    Добавлены ссылки на скачивание, можете установить и посмотреть.
     
  6. Entergro

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

    Баллы:
    78
    К сожалению у меня 1.6.4 :|
     
  7. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    А что я могу показать на скриншоте? На нём будет обычное главное меню с одной добавленной и одной изменённой кнопками.[DOUBLEPOST=1408557922,1408557839][/DOUBLEPOST]Стоп... Я только сейчас понял, что событие, которое я использую для работы с GUI, даже в обфусцированном Minecraft возвращает мне деобфусцированное название класса... Как это возможно? :confused:
     
  8. Entergro

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

    Баллы:
    78
    Встроенный обфускатор J_J
     
  9. Hephest

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

    Баллы:
    153
    Skype:
    hephest1904
    Отличная идея. Лоис влепил бы.
     
  10. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Для сверки имени класса я использую обычный Reflection API, до которого Forge вряд ли доберётся.
     
  11. Yuri1.6

    Yuri1.6 Старожил Пользователь

    Баллы:
    123
    Skype:
    Yuri1.6
    Имя в Minecraft:
    YouTy6bl4
    А в моде будет функция создания самого меню GUI? Просто идея появилась.
     
  12. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    1.7 еще не актуален там моды да и само ядро сервера кривое.
     
  13. Yuri1.6

    Yuri1.6 Старожил Пользователь

    Баллы:
    123
    Skype:
    Yuri1.6
    Имя в Minecraft:
    YouTy6bl4
    Alexandrage, в теме "Sashok-724" ты ставить точку дабы поднять тему или, что то добавляешь? Просто как не зайду к тебе на облако или же на github всё время вижу "обновы", т.е. пример: " Обнавлено сегодня в 2ч дня"
     
  14. Agravaine

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

    Баллы:
    88
    Имя в Minecraft:
    Agravaine25
    Сделал бы уже менюшку в игре, чтобы наглядно было.
    А то в джсоне пока настроишь координаты можно повесится.
     
  15. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Классы деобфусцируются форджем(если быть точнее то FML) при загрузке майнкрафта.
     
  16. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    При первом запуске мод автоматический распаковывает и подгружает JSON-образец.[DOUBLEPOST=1408596435,1408595927][/DOUBLEPOST]
    С портированием данного мода под 1.6 будет куча проблем, для работы с GUI я использую InitGuiEvent, а в 1.6 данного события нет. GuiOpenEvent для моих целей не подходит - он вызывается, когда GUI только начинает загружаться и я даже с помощью Reflection API не смогу дотянуться до места, куда я возможно впихнуть кнопки. Хотя... Можно попробовать работать из отдельного потока или использовать ASM...[DOUBLEPOST=1408615859][/DOUBLEPOST]UPD_0.2:
    • Добавлены новые коды действий
    • Добавлены коды аргументов
     
  17. Agravaine

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

    Баллы:
    88
    Имя в Minecraft:
    Agravaine25
    Та, тогда это бред.
     
  18. Space Flux

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

    Баллы:
    46
    Без вопросов. Продолжай добавлять кнопки через mcp :good:
     
  19. dirt34

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

    Баллы:
    143
    Skype:
    alucid2
    Имя в Minecraft:
    dirt34
    ты хочешь скачать что 1.7.* версия лучше 1.6.4?[DOUBLEPOST=1408627505,1408627470][/DOUBLEPOST]Прошу автора немного повозится и зделать на 1.6.4 так как на 1.7.* толку мало. мало кто им пользуется.
     
  20. Space Flux

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

    Баллы:
    46
    Пора бы уже на 1.7 переходить :/
     
  21. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Я не буду копаться в 1.6.x.
     
Статус темы:
Закрыта.

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