Скачать gudASM — Minecraft Моды — MetaMods

gudASM

Активный

Установок

0

Последнее обновление

5 лет назад
Клиент
Библиотеки

gudASM

Модификация, которая привносит совершенно новый подход к созданию Fabric-модов - работу с байткодом на низком уровне.

В двух словах

Этот инструмент предоставляет возможность прямого манипулирования байткодом и стремится сделать этот процесс максимально простым. Рекомендуется использовать его только в тех случаях, когда стандартные миксины не способны решить поставленную задачу.

Возможности

С gudASM вы получаете практически безграничные возможности, поскольку можете редактировать классы на самом фундаментальном уровне. Главное - внимательно следить за тем, какие классы вы загружаете, и тогда всё будет работать стабильно.

Основные функции

  • Прямое преобразование классов
  • Обширная коллекция вспомогательных методов
  • Аннотации @ForceBootstrap и @ForceInline для ситуаций, когда требуется максимальная производительность
  • Настраиваемая точка входа

Как начать работу

Создайте класс, реализующий интерфейс AsmInitializer, и укажите его в конфигурационном файле вашего мода в качестве точки входа:

{
  ...
  "entrypoints": {
    "gud_asm": [
      "com.example.mod.ILikeBreakingThings"
    ]
  },
  ...
}

Затем реализуйте метод AsmInitializer.onInitializeAsm() следующим образом:

package com.example.mod;

import net.gudenau.asm.api.v0.AsmInitializer;
import net.gudenau.asm.api.v0.AsmRegistry;

public class ILikeBreakingThings implements AsmInitializer{
    @Override
    public void onInitializeAsm(){
        AsmRegistry.getInstance().registerTransformer(new AmazingTransformer());
    }
}

Дальнейшие шаги достаточно интуитивно понятны.

Важное замечание: не рекомендуется совмещать использование AsmInitializer с другими инициализаторами, так как это может привести к нестабильной работе и сбоям.

Участники проекта
gudenau

gudenau

Создан: 8 сен 2020

ID: 37310