I need to inject some code to method register(String id, Item item), but there're overloads there.
How can I do this?
register overloads
I tried this:
@Inject(at = @At("HEAD"), method = "register(Ljava/lang/String;Lnet/minecraft/item/Item;)V")
private static void register(String id, Item item, CallbackInfoReturnable<Item> info) {
//...
info.setReturnValue(Items.register(new Identifier(id), i));
}
Or this:
@Inject(at = @At("HEAD"), method = "register")
private static void register(String id, Item item, CallbackInfoReturnable<Item> info) {
//...
info.setReturnValue(Items.register(new Identifier(id), i));
}
But it's not working...
Invalid descriptor on mixin->@Inject::register(Ljava/lang/String;Lnet/minecraft/item/Item;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V!
Expected
(Lnet/minecraft/block/Block;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V
but found
(Ljava/lang/String;Lnet/minecraft/item/Item;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V