diff --git a/src/main/java/turniplabs/halplibe/mixin/MinecraftMixin.java b/src/main/java/turniplabs/halplibe/mixin/MinecraftMixin.java index 04dd80f..090eddb 100644 --- a/src/main/java/turniplabs/halplibe/mixin/MinecraftMixin.java +++ b/src/main/java/turniplabs/halplibe/mixin/MinecraftMixin.java @@ -7,8 +7,11 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import turniplabs.halplibe.util.BlockInitEntrypoint; import turniplabs.halplibe.util.ClientStartEntrypoint; import turniplabs.halplibe.util.GameStartEntrypoint; +import turniplabs.halplibe.util.ItemInitEntrypoint; import turniplabs.halplibe.util.RecipeEntrypoint; @Mixin( @@ -36,6 +39,16 @@ public void afterGameStartEntrypoint(CallbackInfo ci){ FabricLoader.getInstance().getEntrypoints("afterClientStart", ClientStartEntrypoint.class).forEach(ClientStartEntrypoint::afterClientStart); } + @Inject(method = "startGame", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/block/Blocks;init()V", shift = At.Shift.AFTER)) + public void afterBlockInitEntrypoint(CallbackInfo callbackInfo) { + FabricLoader.getInstance().getEntrypoints("afterBlockInit", BlockInitEntrypoint.class).forEach(BlockInitEntrypoint::afterBlockInit);; + } + + @Inject(method = "startGame", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/item/Items;init()V", shift = At.Shift.AFTER)) + public void afterItemInitEntrypoint(CallbackInfo callbackInfo) { + FabricLoader.getInstance().getEntrypoints("afterItemInit", ItemInitEntrypoint.class).forEach(ItemInitEntrypoint::afterItemInit);; + } + @Inject(method = "printWrongJavaVersionInfo", at = @At("HEAD"), cancellable = true) private void printWrongJavaVersionInfo(CallbackInfo ci) { if (Minecraft.getOs() == EnumOS.linux){ diff --git a/src/main/java/turniplabs/halplibe/util/BlockInitEntrypoint.java b/src/main/java/turniplabs/halplibe/util/BlockInitEntrypoint.java new file mode 100644 index 0000000..512b25c --- /dev/null +++ b/src/main/java/turniplabs/halplibe/util/BlockInitEntrypoint.java @@ -0,0 +1,5 @@ +package turniplabs.halplibe.util; + +public interface BlockInitEntrypoint { + void afterBlockInit(); +} diff --git a/src/main/java/turniplabs/halplibe/util/ItemInitEntrypoint.java b/src/main/java/turniplabs/halplibe/util/ItemInitEntrypoint.java new file mode 100644 index 0000000..8365d1b --- /dev/null +++ b/src/main/java/turniplabs/halplibe/util/ItemInitEntrypoint.java @@ -0,0 +1,5 @@ +package turniplabs.halplibe.util; + +public interface ItemInitEntrypoint { + void afterItemInit(); +} \ No newline at end of file