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

Туториал CustomMainMenu

Туториал был полезен?

  • Да

  • Нет

  • Мне пофиг


Результаты видны после голосования.

Sparksys

Активный участник
Пользователь
Баллы
76
На просторах нашего интернета обнаружил мод под названием CustomMainMenu, данный мод поваляет изменять главное меню игры простым изменением файла конфигурации. Дак вот как и на RuBukkit, так и на просторах интернета очень мало туториалов на этот мод (В основном на не русском) и я решил разобрать этот мод и рассказать о нем, а именно рассказать как изменять главное меню с помощью данного мода.

Ну что же. Приступим.
Немного остановимся на том, что после установки мода в игре возле кнопки выбора языка появится кнопка обновить. То есть после изменения конфигурации, не нужно перезагружать игру, а достаточно нажать на эту кнопочку.

Для начала, установка. Установка у мода обычная как и у всех других. Для работы мода требуется FORGE. А сам мод нужно положить в папку mods.

Ну а теперь настройка. После установки мода в папке "config" появится папка "CustomMainMenu" в котором вы найдете файл "mainmenu.json".

Код:
{
    "images":
    {
        "title":
        {
            "image" : "custommainmenu:textures/gui/minecraft.png",
            "posX" : -137,
            "posY" : 30,
            "width" : 512,
            "height" : 512,
            "alignment" : "top_center"
        }
    },

    "buttons":
    {
        "singleplayer":
        {
            "text" : "menu.singleplayer",
            "posX" : -100,
            "posY" : 48,
            "width" : 200,
            "height" : 20,
            "action" :
            {
                "type" : "openGui",
                "gui" : "singleplayer"
            }
        },

        "multiplayer":
        {
            "text" : "menu.multiplayer",
            "posX" : -100,
            "posY" : 72,
            "width" : 200,
            "height" : 20,
            "action" :
            {
                "type" : "openGui",
                "gui" : "multiplayer"
            }
        },

        "mods":
        {
            "text" : "Mods",
            "posX" : -100,
            "posY" : 96,
            "width" : 200,
            "height" : 20,
            "action" :
            {
                "type" : "openGui",
                "gui" : "mods"
            }
        },
    
        "options":
        {
            "text" : "menu.options",
            "posX" : -100,
            "posY" : 132,
            "width" : 98,
            "height" : 20,
            "action" :
            {
                "type" : "openGui",
                "gui" : "options"
            }
        },

        "quit":
        {
            "text" : "menu.quit",
            "posX" : 2,
            "posY" : 132,
            "width" : 98,
            "height" : 20,
            "action" :
            {
                "type" : "quit"
            }
        },

        "language":
        {
            "text" : "",
            "posX" : -124,
            "posY" : 132,
            "width" : 20,
            "height" : 20,
            "action" :
            {
                "type" : "openGui",
                "gui" : "languages"
            }
        },

        "refresh":
        {
            "text" : "",
            "posX" : -154,
            "posY" : 132,
            "width" : 20,
            "height" : 20,
            "texture" : "custommainmenu:textures/gui/buttons.png",
            "action" :
            {
                "type" : "refresh"
            }
        }
    },

    "texts":
    {
        "mojang":
        {
            "text" : "Copyright Mojang AB. Do not distribute!",
            "posX" : -197,
            "posY" : -10,
            "color" : -1,
            "alignment" : "bottom_right"
        },

        "fml":
        {
            "text" : "",
            "posX" : 2,
            "posY" : -50,
            "color" : -1,
            "alignment" : "bottom_left"
        }
    },

    "other":
    {
        "splash-text":
        {
            "posX" : 90,
            "posY" : 70,
            "color" : -256,
            "alignment" : "top_center",
            "file" : "texts/splashes.txt"
        },

        "panorama":
        {
            "images" : "minecraft:textures/gui/title/background/panorama_%c.png",
            "animate" : true,
            "animationSpeed" : 1,
            "blur" : true,
            "gradient" : true
        }
    }
}
В этом файле есть 4 группы, в каждой из которых есть свои параметры, которые я сейчас перечислю и разберу.
1. Группа "image", где вы можете размещать изображения. Тут уже есть блок "title" который содержит изображение логотипа Minecraft. Сразу говорю блоки во всех группах могут иметь абсолютно любое уникальное название (Желательно на англ. языке (Еще есть и фиксированные названия)) и если я переменю блок "title" в "titles", то ничего не изменится. Блоки принимают следующие параметры:
  • image - Содержит путь до картинки. Например "custommainmenu:textures/gui/minecraft.png", где "custommainmenu" это идентификатор мода, а "textures/gui/minecraft.png", это сам путь до файла изображения.
  • poxX и PosY - Это координаты расположения картинки.
  • height и width - Соответственно высота и ширина картинки.
  • alignment - Выравнивание картинки на экране.
  • hoverImage - Так же как и с "image" содержит путь до картинки, но не изменяет картинку пока не наведешь курсор на картинку.
2. Группа "Button", где можно изменить вид, размер, поведение кнопки, а так же добавить свои. Группа уже содержит блоки которые добавляют в ваше меню уже привычные кнопки (Одиночная игра, мультиплеер, настройки и тд.) которые вы можете изменить или вовсе удалить. Блоки принимают следующие параметры:
  • text - Содержит ваш текст который будет в следствие написан на кнопке.
  • normalTextColor - цвет текста.
  • hoverTextColor - цвет текста при наведении курсора.
  • wrappedButton - цвет текста при нажатии на кнопку.
  • shadow - Тень текста.
  • imageWidth и imageHeight - Ширина и высота изображения.

  • tooltip - Содержит текст описание кнопки и выводится при наведение на неё.
  • hoverText - Содержит текст который будет вставятся в кнопку при наведение на неё.
  • pressSound - Воспроизводит указанный звук при нажатие на кнопку.
  • hoverSound - На сколько я понял воспроизводит мелодию при наведение.
  • action - Изменяет поведение кнопки. Тут уже есть небольшая под настройка.
    • type - Указывает тип поведение, а второй параметр зависит от того что указанно в этом.
      • openLink - Открывает определенный веб сайт, который указан в параметре "link".
      • loadWorld - Открывает карту одиночной игры, имя папки которой указывается в "dirName", а название сохранения в "saveName".
      • connectToServer - Заходит на сервер IP и ПОРТ которого указаны в "ip".
      • openGui - Открывает указанный GUI интерфейс (Настроки, список серверов и тд.) адреса которых указываются в "gui". Сами же адреса (все которые известны) видны в исходном фале конфигурации.
      • quit - Выход из игры.
      • refresh - Обновить меню.
  • poxX и PosY - Это координаты расположения кнопки.
  • height и width - Соответственно высота и ширина кнопки.
  • alignment - Выравнивание кнопки на экране.

3. Группа "texts", которая выводит на экран различного рода текстовую информацию. Группа уже содержит 2 блока, один из которых информация о модах из forge, а другой копирайт Mojang, которые так же можно менять или удалять. Блоки принимают следующие параметры:
  • text - Сам текст который будет выводится.
  • color и hoverColor - Точно так же точно неизвестно для чего.
  • action - Изменяет поведение текста при нажатие на него. Тут уже есть небольшая под настройка.
    • type - Указывает тип поведение, а второй параметр зависит от того что указанно в этом.
      • openLink - Открывает определенный веб сайт, который указан в параметре "link".
      • loadWorld - Открывает карту одиночной игры, имя папки которой указывается в "dirName", а название сохранения в "saveName".
      • connectToServer - Заходит на сервер IP и ПОРТ которого указаны в "ip".
      • openGui - Открывает указанный GUI интерфейс (Настроки, список серверов и тд.) адреса которых указываются в "gui". Сами же адреса (все которые известны) видны в исходном фале конфигурации.
      • quit - Выход из игры.
      • refresh - Обновить меню.
  • hoverText - Текст на который будет заменятся при наведение.
  • alignment - Выравнивание текста на экране.
  • poxX и PosY - Это координаты расположения текста.
4. Ну и последняя группа. Группа "other", в ней расположены все другие элементы. В этой группе я так думаю расположены уже фиксированные элементы панорамы и текста над логотипом.
  • Слеш текст "splash-text".
    • poxX и PosY - Это координаты расположения кнопки.
    • alignment - Выравнивание текста на экране.
    • file - Путь до текстового файла с фразами который находится в minecraft.jar
  • Панорама "panorama".
    • images - Путь до картинок. Например "minecraft:textures/gui/title/background/panorama_%c.png", где %c обозначает порядковый номер картинки. Больше сказать не могу.
    • animate - Включить анимацию (true) или выключить (false).
    • animationSpeed - Скорость анимации.
Ну вот. На этом кажется все. Надеюсь понятно все объяснил.

Сам мод можно качнуть тут: [1.7.10] - [1.8.*]

Ах да, чуть не забыл. Идентификатор мода - это название папки которая находится в jar или zip файле мода в папке assets.

Жду комментариев и дополнений.
 
Последнее редактирование:
normalTextColor, hoverTextColor, wrappedButton, shadow, imageWidth и imageHeight - Так и не смог понять для чего они, но если кто-то разберется - дайте знать.

normalTextColor - цвет текста
hoverTextColor - цвет текста при наведении курсора
wrappedButton - цвет текста при нажатии на кнопку, вродь
shadow - ну тень как бы

Последние два, судя по названию, должны быть ширина и высота изображения.

А что делать, если такой артефакт вылезает? Картинки в текстурпаке лежат и он выбран. Кнопки не жмутся....
uytkCTw.png
 
normalTextColor - цвет текста
hoverTextColor - цвет текста при наведении курсора
wrappedButton - цвет текста при нажатии на кнопку, вродь
shadow - ну тень как бы

Последние два, судя по названию, должны быть ширина и высота изображения.
Спасибо за помощь с некоторыми обозначениями. Добавил в тутариал.
А что делать, если такой артефакт вылезает? Картинки в текстурпаке лежат и он выбран. Кнопки не жмутся....
uytkCTw.png

Саму текстуру и файл конфигурации мне =).
 
Конфиг с официального сайта: http://pastebin.com/AkfemDAE. Выглядеть должно вот так: https://imgur.com/d1ygrzj
Текстур они не дают, так что я рандомные поставила.

Эмм кстати я с текстурами не проверял. Я проверял только картинки которые лежат в файле мода или в minecraft.jar, они отлично выходят.
 
Скинь рабочий пример конфига со стандартными картинками, пожалуйста.
 
normalTextColor - цвет текста
hoverTextColor - цвет текста при наведении курсора
wrappedButton - цвет текста при нажатии на кнопку, вродь
shadow - ну тень как бы

Последние два, судя по названию, должны быть ширина и высота изображения.

А что делать, если такой артефакт вылезает? Картинки в текстурпаке лежат и он выбран. Кнопки не жмутся....
uytkCTw.png
Такая же фигня...как ее решить?
 
Скинь рабочий пример конфига со стандартными картинками, пожалуйста.
Код:
{
    "images":
    {
        "title":
        {
            "image" : "custommainmenu:textures/gui/minecraft.png",
            "posX" : -137,
            "posY" : 30,
            "width" : 512,
            "height" : 512,
            "alignment" : "top_center"
        }
    },
   
    "buttons":
    {
        "multiplayer":
        {
            "text" : "menu.multiplayer",
            "posX" : -85,
            "posY" : 48,
            "width" : 150,
            "height" : 20,
            "action" :
            {
                "type" : "connectToServer",
                "ip" : "178.206.92.194"
            }
        },
        "options":
        {
            "text" : "menu.options",
            "posX" : -85,
            "posY" : 82,
            "width" : 128,
            "height" : 20,
            "action" :
            {
                "type" : "openGui",
                "gui" : "options"
            }
        },
       
        "quit":
        {
            "text" : "menu.quit",
            "posX" : -85,
            "posY" : 106,
            "width" : 150,
            "height" : 20,
            "action" :
            {
                "type" : "quit"
            }
        },
       
       
        "language":
        {
            "text" : "",
            "posX" : 45,
            "posY" : 82,
            "width" : 20,
            "height" : 20,
            "action" :
            {
                "type" : "openGui",
                "gui" : "languages"
            }
        }
    },
   
    "texts":
    {
    },
   
    "other":
    {
        "panorama":
        {
            "images" : "minecraft:textures/gui/title/background/panorama_%c.png",
            "animate" : true,
            "animationSpeed" : 1,
            "blur" : true,
            "gradient" : false
        }
    }
}
 
Давно использую этот мод, очень полезный, не нужно юзать MCP :eek:
1111.png
 
Как исправить ошибку?2016-08-11_18.05.56.png( Я пытался сделать кнопки, в которых по нажатию, одна переносила на сервер, другая на сайт ) Если есть 2 кода(при нажатии переносит на сайт/сервер),дайте их мне плиз.
 
Как исправить ошибку?Посмотреть вложение 42456( Я пытался сделать кнопки, в которых по нажатию, одна переносила на сервер, другая на сайт ) Если есть 2 кода(при нажатии переносит на сайт/сервер),дайте их мне плиз.
Есть, сейчас дам
Как исправить ошибку?Посмотреть вложение 42456( Я пытался сделать кнопки, в которых по нажатию, одна переносила на сервер, другая на сайт ) Если есть 2 кода(при нажатии переносит на сайт/сервер),дайте их мне плиз.

Код:
        "local":
        {
            "text" : "Зайти на сервер",
            "posX" : 2,
            "posY" : 72,
            "width" : 98,
            "height" : 20,
            "action" : 
            {
                "type" : "connectToServer",
                "ip" : "localhost:25565"
            }
        },
       
        "site":
        {
            "text" : "Наш сайт",
            "posX" : -100,
            "posY" : 96,
            "width" : 98,
            "height" : 20,
            "action" : 
            {
                "type" : "openLink",
                "link" : "http://вашсайт.ру"
            }
        },
 
Как исправить ошибку?Посмотреть вложение 42456( Я пытался сделать кнопки, в которых по нажатию, одна переносила на сервер, другая на сайт ) Если есть 2 кода(при нажатии переносит на сайт/сервер),дайте их мне плиз.

Эта ошибка вылезает при том случае, если не верно составлен файл настройки. Учтите это.
 
Код выдаёт ошибку.
Скринщот предоставьте, у меня все нормально работает без ошибок
Код выдаёт ошибку.
И вообще фон находиться на таком пути: minecraft.jar!/assets/minecraft/textures/gui/title/background/ и сюда кинуть ваш фон и называйте как хотите но в конфиге указать "image" : "minecraft:textures/gui/title/background/Ваше название.png",
 
Ребят,а почему выходят иероглифы если ввести свой текст на русском?
 
Последнее редактирование:
Назад
Верх