Миксины

2,955
12
А я таки начал изучать Mixin от SpongePowered. Ну и ничего, оно очень крутое. Позволяет менять абсолютно все, от перезаписи метода до добавления имплементации интерфейсов, вставок по описанию опкода, отсутствия возни с обфускацией и прочих радостей жизни.
Код:
import net.minecraft.client.Minecraft;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin(Minecraft.class)
public abstract class TestMixin {

    @Inject(method = "resize", at = @At(value = "HEAD"))
    public void handleResize(int width, int height, CallbackInfo ci) {
        System.out.println("Resized: width=" + width + ", height=" + height);
    }

}
 

CumingSoon

Местный стендапер
1,634
12
269
И для форджа можно? Напоминает либу фолкена
 
808
3
124
Таки осилил пару статей из документации, годная штука. И где она была год назад, когда я начинал ковырять байткод...
 
2,955
12
В репозитории спонджа. В декабре прошлого года ее таки перенесли в отдельный репозиторий.
 
Сверху