О чем речь?
В последних версиях Minecraft’a разработчики всеми способами борются против того, чтобы моддеры изменяли классы в minecraft.jar. Для этого была выстроена огромная система, с помощью которой можно изменять (трансформировать) классы во время запуска игры. Однако, чтобы этим пользоваться, нужны некоторые познания в устройстве JVM и её байткода, а так же умение использовать библиотеку ASM.
Я написал небольшой мод, с помощью которого возможно вставлять хуки (вызовы своих статических методов) в код майнкрафта, форджа и других модов, не обременяя себя лишними познаниями. Если вы встроите его в сборку своего мода, она вырастет меньше, чем на 100 КБ.

Что можно сделать с помощью таких хуков?
Практически всё. Если немного пораскинуть мозгами, то 95% требующихся изменений вполне реально сделать вставкой хука (личная статистика, а не число из головы!) без особых костылей, а оставшиеся 5% — заменив с помощью хука всё содержимое метода.
Примеры конструкций, которые можно вставить через этот мод:

КАК СТАТЬ ЧУЖИМ В МАЙНКРАФТ Чужой чужие в майнкрафт

public void foo(String someParameter)< MyHooksClass.onPreFoo(this, someParameter); // хук bar(); // тело метода MyHooksClass.onPostFoo(this, someParameter); // хук >
public void foo(String someParameter)< if (MyHooksClass.onPreFoo(someParameter)) return; // хук bar(); // тело метода >
public String foo(String someParameter)< String local = bar(); // тело метода return MyHooksClass.foo(local); // хук, передается значение, которое изначально шло в return // return local;
public int getSomeInt()< return 0; // return someInt

Короче говоря, вставить можно что угодно. Главное ограничение — код можно вставить только в начало или конец метода (точнее, в любую точку выхода, в том числе через return). Ну и в качестве костыля есть вставка по номеру строки, но я крайне не рекомендую ей пользоваться: она может сломаться от чего угодно.

Где мне взять этот мод и как его подключить?
GloomyFolken/HookLib
Чтобы подключить кормод в IDE, нужно закинуть в src сорцы с гитхаба, а потом открыть настройки запуска:
В IntelliJ IDEA: Run -> Edit configurations
В Eclipse: Run -> Run (Debug) configurations
И в VM arguments написать:

-Dfml.coreMods.load=gloomyfolken.hooklib.example.ExampleHookLoader

Указываются IFMLLoadingPlugin’ы через запятую. Замените название из примера на название своего HookLoader’a. О том, как его создать, читайте ниже.
Работает это на всех версиях майна, начиная с 1.6. Если вы используете 1.8+, замените импорты во всем пакете gloomyfolken.hooklib.minecraft: cpw.mods.fml на net.minecraftforge.fml.

Читайте также:  Anomalie une minecraft как найти

Как, собственно, вставлять хуки?
Не так быстро. Сначала нужно сделать кормод (мод, который запускается до майнкрафта). «Главный» класс кормода — это класс, реализующий интерфейс IFMLLoadingPlugin. На деле большая часть возможностей кормодов не понадобится, нам всего лишь нужно выполнить свой код до запуска майна. Поэтому удобно наследовать мою базовую реализацию этого класса. Всё, что нужно сделать — зарегистрировать класс с хуками.

ЗАРАЗИЛ МОБОВ ЛИЦЕХВАТОМ МАЙНКРАФТ ЧУЖОЙ ЧУЖИЕ МАЙНКРАФТ

  • returnCondition = ReturnCondition.ON_TRUE значит, что после вызова хук-метода вызывается return только если хук-метод вернул true.
  • intReturnConstant = 100 задаёт значение, которое вернет целевой метод. Объект нельзя сделать элементом аннотации, поэтому есть аналогичные элементы для остальных примитивов и для String.
  • Сам хук-метод проверяет измерение, в котором находится игрок, чтобы хук влиял только когда игрок в основном мире.
  • createMethod = true значит, что при провалившейся попытке найти целевой метод для вставки хука создается новый метод.
  • Список аргументов создаваемого метода берется из аргументов хук-метода.
  • Возвращаемый тип создаваемого метода можно задать через targetMethodReturnType.
  • Если targetMethodReturnType не указан, то возвращаемый тип берется из возвращаемого типа хук-метода.

Спойлер: Решение для Minecraft 1.6.x

Просто измените модификатор доступа в сорцах — фордж объявляет всё public при запуске. Это абсолютно безопасно.

Спойлер: Решение для Minecraft 1.7+ (Access Transformers)

За этот мини-гайд спасибо Dahaka.
Инструкция по использованию Access Transformers (>= 1.7.10)

1. Создать папку src/main/resourses/META-INF.
2. Создать в ней файл _at.cfg.
3. Заполнить файл:

Спойлер: Spoiler

# Это комментарий # Все поля в классе Item будут публичными public net.minecraft.item.Item * # Все методы в классе Item будут публичными (опасно, может не собраться из-за того, что в производных классах эти методы будут приватными) public net.minecraft.item.Item *() # # Следущие скопипащены из TinkersConstruct # Если указывать поля и методы по одиночке, то процесс сборки не будет столь долгим, но это не точно # # Какое-то конкретное поле public net.minecraft.item.ItemPickaxe field_150915_c # Какой-то конкретный метод public net.minecraft.entity.monster.EntitySlime func_70799_a(I)V # Какой-то конкретный метод protected net.minecraft.entity.item.EntityItemFrame func_110131_b(Lnet/minecraft/item/ItemStack;)V
4. Добавить в build.gradle
Спойлер: Spoiler
jar < manifest < attributes ‘FMLAT’: ‘_at.cfg’ > >
Если 1.10.2, то еще и это:
artifacts
5. Пересобрать проект.
gradlew clean setupDecompWorkspace —refresh-dependencies

Какие ещё есть фичи?
Спойлер: Advanced фичи
-Dlegacy.debugClassLoading=true -Dlegacy.debugClassLoadingSave=true

  • Регистрация хука вручную, без аннотации. Удобно использовать из вашего HookLoader’а, делается это как-то так:
Читайте также:  Не могу ставить блоки в minecraft

HookLoader.registerHook(AsmHook.newBuilder() .setTargetClass(«net.minecraft.client.renderer.texture.TextureManager») .setTargetMethod(«bindTexture») .addTargetMethodParameters(«net.minecraft.util.ResourceLocation») .setHookClass(HOOKS_CLASS) .setHookMethod(«bindTexture») .addHookMethodParameter(«net.minecraft.util.ResourceLocation», 1) .setReturnCondition(ReturnCondition.ALWAYS) .build());

Как запаковать получившийся кормод в .jar?
Практически также, как обычный мод, нужно лишь добавить в кормод два файла:
1) META-INF/MANIFEST.MF с таким содержимым:

Manifest-Version: 1.0 FMLCorePlugin: name.of.YourHookLoader FMLCorePluginContainsFMLMod: true Created-By: 1.7.0 (Oracle Corporation)

2) methods.bin (в корне архива с модом). Это файл, который содержит обфусцированные названия методов. Копируете из src/gloomyfolken/hooklib/helper файл methods.bin (в зависимости от нужной вам версии майнкрафта), переименовываете и кладете в архив с модом.

А в идеале — сгенерируйте methods.bin для нужной вам версии MCP самостоятельно. Для этого в сорцах лежит скриптик DictionaryGenerator. Без этого могут возникнуть внезапные ошибки уровня «can not find target method of hook» из-за того, что я генерировал для другой версии MCP.

Саму хуклибу придется паковать в ваш мод, так как в фордже нет механизма зависимостей для coremod’ов. Из-за этого убедительно прошу сменить название пакета gloomyfolken.hooklib, если вы собираетесь выкладывать мод в паблик, чтобы избежать конфиликтов между разными версиями хуклибы.

Спойлер: Инструкция по сборке для 1.7+ (через gradle)
1) Чтобы в MANIFEST.MF появились нужные вам строки, добавьте в build.gradle следующий код:
2) Положите methods.bin в папку src/main/resources.

Всё сломалось. Почему?
Спойлер: Известные грабли

P.S: текущая версия библиотеки тщательно тестировалась только с Minecraft 1.6.4, могут быть проблемы с более новыми версиями игры. Про все возникающие проблемы пишите здесь или на гитхабе.

Источник: forum.mcmodding.ru

Мод на Чужих

Мод Alien Expansion добавляет Чужих в игровой мир. Есть разные породы и варианты. Они достаточно опасные и страшные. Чужих знает практически каждый. Эти космические монстры появились в одноименных фильмах и постепенно дошли даже до игр. Настала очередь кубических просторов.

После установки мода на чужих в игре появятся 16 вариантов новых монстров . Автор хорошо поработал над их модельками. Они действительно устрашают.

Чужие в игре стоят на камне

Чужие в игре стоят на камне перед игроком

Большой и маленький вариант Чужого

Маленький Чужой в игре

Два монстра Чужих стоят в игре

Чужие стоят перед пользователем

Часть монстров будет жить даже в воде в Майнкрафт. Некоторые из них имеют полный цикл роста. Т.е. игроки смогут встретить даже маленьких монстров.

Чужой плавает в воде

Указатель на зону скачивания

Скачать мод на Чужих (.mcaddon)

  • Проверено на вирусы
Читайте также:  Если в Майнкрафте центр земли

Источник: mcpemods.org

Скачать мод на чужих для Minecraft PE

Скачивайте мод на чужих на Майнкрафт для Android: встречайте новых невероятно страшных и сильных существ, готовых уничтожить игрока.

Скачать мод на чужих для Minecraft PE

Особенности мода на чужих на MCPE

Alien, или Чужой , это фильм 1979 года, который стал культовым благодаря своему главному злодею. Им является непонятное и очень жуткое существо из космоса — чужой.

В современных реалиях же этот монстр приобрёл большую популярность, став одним из самых узнаваемых существ медиа.

Особенности мода на чужих для Minecraft PE

Поэтому появление его в Майнкрафт ПЕ вовсе не удивительно.

У пользователей станет гораздо больше проблем, учитывая то, что чужой невероятно сильный .

Поведение чужого

Сам по себе чужой, или ксеноморф, как его ещё называют, моб не из приятных. Его форма напоминает смесь насекомого и непонятной чёрной жижи в Minecraft PE.

Ксеноморф без устали охотится на людей. Причём его целью не является поиск людей — они питаются иным.

Чужие хотят уничтожить всё живое во вселенной. При этом человечество входит в этот список.

Ксеноморфы в Minecraft PE

Кстати, чужие появляются не только ночью, но и днём .

Таким образом, ваши шансы выжить стали ещё меньше, учитывая ещё и то, что видят они игроков Майнкрафт издалека.

Плюс ко всему ксеноморфы будут также атаковать железных големов. Несмотря на свою массивность и силу, шансы големов на выживание всё же малы.

Характеристика ксеноморфа

По словам создателя этого аддона на Minecraft PE, он подошёл к созданию этого моба настолько серьёзно, что его модель состоит из 525 элементов, из которых 366 двигаются.

Таким образом, настоящий монстр как в техническом, так и прочих планах будет разгуливать по планете, пытаясь найти беспечных игроков.

Чужой в Minecraft PE

Причём чужой настолько сильный, что убьёт пользователя за два-три удара, и это всё учитывая показатели брони. Лучше всего будет создать нескольких железных големов и запастись стрелами в Майнкрафт ПЕ.

После смерти ксеноморф дропает кости и ящик шалкера с шансом в 50 процентов.

Скачать мод на чужих на Майнкрафт ПЕ

Имя Для версии MCPE Файл
Чужой 0.14.0 – 1.16.10

Такое вам определённо понравится:

  • Мод на светящийся факел в руке для Майнкрафт ПЕ
  • Аддоны на бомбы в Minecraft PE
  • Модификации на криперов на MCPE

Источник: planet-mcpe.com