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

MCP и Minecraft.java

Bars

Старожил
Девелопер
Пользователь
Баллы
173
Использую gradlew. Компилирую и обфусцирую Minecraft.java в bao.class, но когда закидываю в minecraft.jar, изменения не применяются. Нет, клиент не перекачивается, пользую Mojang с JVM параметрами -Dfml. Однако когда я делал бинды, правя этот класс, изменения применялись, а сейчас нит. Шта делоть?
 
Новое достижение!
Получить бан на Minecraft Forge Forums

Не получив ответа здесь, я пошёл туда. Сегодня заходил посмотреть ответы и смотрю - забанен, при чём без права смотреть форум. Сбросил куки, посмотрел: бан за редактирование внутриигровых классов! **ануться! Мы тут всю жизнь их воротим, тому примеры: фикс скинов от @alexandrage, изменение главного меню (удаление копирайтов, кнопка входа на сервер, скин, статичный фон...), удаление кнопок управления серверами в сетевой игре, etc.
А для них это 3.14здец, нонсенс, деление на 0, конец света! Я, честно, впал в ступор, увидев насколько же они придурошные, Бог ты мой, подумать только! Что туши свет.

Даже не разобрались. Я вообще-то как раз и хотел вернуть этот класс на стандартный, не тронутый мной, и спросил как. А они подумали, что я ещё только собираюсь совершить это "преступление" против всего человечества.

Прошу, скажите как это исправить. Уже год "дрочу" на 1.7 *это гипербола, означающая просиживание штанов на 1.5.2* :D
 
Ванга из меня никакой, может ты что то нето запускаешь?
Десять раз проверил, удалил другие клиенты. При чем засовываю свой ru_RU.lang и шрифты — они отображаются в игре, значит редактируется то что нужно. Согласен, бред какой-то. Кстати, потом доставал этот класс — все изменения на месте, а при запуске даже не стандартный, а один мой корявый, который тестил только.
 
Вы не пробовали перед сборкой удалить в папке build всё, кроме natives?
 
Вы не пробовали перед сборкой удалить в папке build всё, кроме natives?
Так там же мои sources, как я их удалю. И вряд ли это из-за компиляции, ибо полученные классы, именно нужные, находятся в джарнике, только не работают. В libraries/net/minecraftforge их не нашел.
Вот в чём магия, так это вот в чём.
В главном классе я исправил mojang png -> onlymc.png (дабы ресурспаки не могли повлиять на сплеш) и изменил клавишу 48 (B), чтобы при нажатии выполнялась команда /menu.
Однако бинд в игре работал, что свидетельствует об успешном изменении класса, но в качестве сплеша отображался всё равно mojang.png. Становится сразу ясно: при компиляции класс где-то проверяется, а не изменил ли я чего-нибудь моджанговского. Видимо этот «щит» и не даёт мне отказаться от биндов (я его вырезал, но когда заходишь на карту одиночки или на сервер, первым сообщением пишется «Неизвестная команда... Напишите хелп», типа она отправилась). Но это ещё что! Пользовался я поиском ВинРАРа, впечатал /menu и ни по одному классу он не был найден. Какая команда тогда может вообще отправляться? Что это за мэджик?
Магии нет, вот дубина :D
Уныло смотрю на полосу запуска LiteLoader в тайтл-скрине — и тут меня осиняет. Оукай, остались гр****ые бинды.
Всё-таки если команда не отсылается при нажатии B, то она успешно вырезана. Заодно проверял декомпилятором.
Но мне всё же удалось отдебажить, что за команда отсылается при входе...
[Server thread/INFO]: <iBars> _we cui
Java:
// EntityClientPlayerMP
    /**
     * Sends a chat message from the player. Args: chatMessage
     */
    public void sendChatMessage(String p_71165_1_)
    {
        this.sendQueue.addToSendQueue(new C01PacketChatMessage(p_71165_1_));
        this.sendChatMessage(p_71165_1_.replaceAll("/", "_"));//TODO
    }
Разве что только клиент крашнулся от такого мини-дебага :D
 

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

Назад
Верх