murkuu
Игрок
=======================================
Всё что понадобится это сам клиент и MCP подходящий под версию клиента.
Покажу на примере MC 1.2.5 добавление кнопки в главное меню.
Декомпилируем MC с помощью MCP. В папке src получаем исходники.
Находим файл src/minecraft/net/minecraft/src/GuiMainMenu.class
Там есть метод public void initGui(). Он то нам и нужен
Как видим из кода добавление кнопок происходит с помощью следующего метода.
=======================================
И так добавим кнопку выше кнопки одиночной игры.
например так:
Здесь происходит создание объекта GuiButton
Его параметры:
=======================================
Таким образом мы добавили кнопку.
Теперь ей нужно добавить обработчик.
Смотрим ниже. Видим protected void actionPerformed(GuiButton par1GuiButton);
Это метод обработки действий
Добавляем обработчик своей кнопки, например так:
Здесь происходит просто открытие сайта в окне браузера по умолчанию.
Осталось добавить необходимые инклуды
Сохраняем. Жмём recompile, reobfuscate. Находим скомпилированный класс в папке reobf. заменяем его в minecraft.jar. PROFIT!!!
=======================================
Всё что понадобится это сам клиент и MCP подходящий под версию клиента.
Покажу на примере MC 1.2.5 добавление кнопки в главное меню.
Декомпилируем MC с помощью MCP. В папке src получаем исходники.
Находим файл src/minecraft/net/minecraft/src/GuiMainMenu.class
Там есть метод public void initGui(). Он то нам и нужен
Как видим из кода добавление кнопок происходит с помощью следующего метода.
=======================================
Код:
controlList.add(<GuiButton>);
например так:
Код:
controlList.add(new GuiButton(6, width / 2 - 100, i-24,"Мой сайт"));
Его параметры:
Код:
GuiButton(<id>,<x>,<y>,<text>)
Таким образом мы добавили кнопку.
Теперь ей нужно добавить обработчик.
Смотрим ниже. Видим protected void actionPerformed(GuiButton par1GuiButton);
Это метод обработки действий
Добавляем обработчик своей кнопки, например так:
Код:
if (par1GuiButton.id == 6)
{
try {
Process p = Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler http://www.moysait.ru");
}
catch (IOException e) {
e.printStackTrace();
}
}
Осталось добавить необходимые инклуды
Код:
import java.lang.Runtime;
import java.io.IOException;
=======================================