Замена ванильных классов в игре.

Версия Minecraft
1.7.10
Доброго всем! Не так давно решил подправить рендер игрока, чтобы скины грузились не из сети, а с клиента.(т.е. каждый может установить себе скин посредством добавления его в папку skins в ресурспаке, назвав нужным ником) В еклиспе все работает, позади уже и постройка мода(gradlew build). А зашел в файл версии в клиенте, да не увидел там никакого net/minecraft/client****, а только бесчисленное множество классов с странными названиями. Раньше я делал подобную систему через локалхост и in-class editor'ом заменял ссылки на ресурс со скинам, а теперь вот пошёл дальше. 

   Итак вопрос: куда же кидать теперь полученные классы типа "RenderPlayer.class"?

   Спасибо!
 
RE: Замена ванных классов в клиенте игры.

Dahaka написал(а):
После замены "ванных" классов будет уже не minecraft. Лучше делать через мод легальными способами

Полностью поддерживаю! Лучше использовать Forge чем изменять сам Minecraft, это может как минимум увеличить количество тех кому этот мод будет нужен, ибо играть без других модификаций не так уж и интересно.
 
RE: Замена ванных классов в клиенте игры.

Dahaka написал(а):
После замены "ванных" классов будет уже не minecraft. Лучше делать через мод легальными способами

Хх, ну чтож, и каков список "легальных способов"?  Добавить свой рендер игрока как для любого ентити в пре-инициализации, например? Скажу не тая: мне и впрямь интересно. Есть способы - поделитесь?


virysD написал(а):
ибо играть без других модификаций не так уж и интересно.

Ну почему же сразу без других? Зайдите на сайт любой пиратской системы скинов. Как думаете, что увидите? Встретят вас там патчи, не моды - а патчи! А среди таковых и на forge найдутся, и смею вас заверить, что после установки их на версию (т.е. именно замены некоторых ванильных классов") майнкрафт не чурается запускать моды как и раньше. Не все замены предполагают переписывание игры с нуля  ;) .


Да, как переименовать тему? Классы-то не ванные, а ванильные) Как-то не заметил, когда создавал. Спасибо.
 
RE: Замена ванных классов в клиенте игры.

Зачем делать какие-то костыльные патчи, когда можно просто оформить все в отдельный мод? Все равно minecraft без forge - useless.
Какие легальные способы? Да, можно зарегать рендер. А можно с помощью asm вставлять хуки ванильные классы и что-нибудь сотворить.
 
RE: Замена ванных классов в клиенте игры.

Dahaka написал(а):
Какие легальные способы? Да, можно зарегать рендер. А можно с помощью asm вставлять хуки ванильные классы и что-нибудь сотворить.
А почему кор-моды считаются легальными? это все равно, что редактировать код майна, только на лету перед инициализацией и без декомпиляции.
 
RE: Замена ванных классов в клиенте игры.

Потому что мы изменяем класс, но как бы не заменяем его.
То бишь если просто изменить класс, закинуть его в джарник, то все будет работать, да.
Но если другой мод сделает так же - все сломается.
 
Agravaine написал(а):
Потому что мы изменяем класс, но как бы не заменяем его.
То бишь если просто изменить класс, закинуть его в джарник, то все будет работать, да.
Но если другой мод сделает так же - все сломается.
Это понятно, что сломается.

Вот так я понимаю работу кор-мода:
Загрузка байтов класса->редактирование в том виде, в каком есть->ClassLoader

Но если в память класс был загружен и далее изменен, это выглядит аналогично процессу: Загрузка бйтов класса->декомпиляция->редактирование кода->ClassLoader

Почему разрабы не сделали 2 вариант? Для тех кому пофиг, сколько времени будет грузится его мод))
 
Назад
Сверху