MixinRecipeManager.java 997 B

1234567891011121314151617181920212223242526
  1. package me.shedaniel.mixins;
  2. import me.shedaniel.Core;
  3. import me.shedaniel.listenerdefinitions.RecipeLoadListener;
  4. import net.minecraft.client.network.ClientPlayNetworkHandler;
  5. import net.minecraft.client.network.packet.SynchronizeRecipesClientPacket;
  6. import net.minecraft.recipe.RecipeManager;
  7. import org.spongepowered.asm.mixin.Mixin;
  8. import org.spongepowered.asm.mixin.Shadow;
  9. import org.spongepowered.asm.mixin.injection.At;
  10. import org.spongepowered.asm.mixin.injection.Inject;
  11. import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
  12. @Mixin(ClientPlayNetworkHandler.class)
  13. public class MixinRecipeManager {
  14. @Shadow
  15. RecipeManager recipeManager;
  16. @Inject(method = "onSynchronizeRecipes", at = @At("RETURN"))
  17. private void onUpdateRecipies(SynchronizeRecipesClientPacket packetIn, CallbackInfo ci) {
  18. for(RecipeLoadListener listener : Core.getListeners(RecipeLoadListener.class)) {
  19. listener.recipesLoaded(recipeManager);
  20. }
  21. }
  22. }