diff options
Diffstat (limited to 'src/main/java/me/shedaniel/mixins/MixinRecipeManager.java')
| -rwxr-xr-x | src/main/java/me/shedaniel/mixins/MixinRecipeManager.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/mixins/MixinRecipeManager.java b/src/main/java/me/shedaniel/mixins/MixinRecipeManager.java new file mode 100755 index 000000000..8eddf9d1f --- /dev/null +++ b/src/main/java/me/shedaniel/mixins/MixinRecipeManager.java @@ -0,0 +1,26 @@ +package me.shedaniel.mixins; + +import me.shedaniel.listenerdefinitions.RecipeLoadListener; +import net.minecraft.client.network.NetHandlerPlayClient; +import net.minecraft.item.crafting.RecipeManager; +import net.minecraft.network.play.server.SPacketUpdateRecipes; +import org.dimdev.riftloader.RiftLoader; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(NetHandlerPlayClient.class) +public class MixinRecipeManager { + + @Shadow + RecipeManager recipeManager; + + @Inject(method = "handleUpdateRecipes", at = @At("RETURN")) + private void onUpdateRecipies(SPacketUpdateRecipes packetIn, CallbackInfo ci) { + for(RecipeLoadListener listener : RiftLoader.instance.getListeners(RecipeLoadListener.class)) { + listener.recipesLoaded(recipeManager); + } + } +} |
