MixinClientPlayNetworkHandler.java 1.1 KB

1234567891011121314151617181920212223242526
  1. package me.shedaniel.rei.mixin;
  2. import me.shedaniel.rei.RoughlyEnoughItemsCore;
  3. import me.shedaniel.rei.listeners.RecipeSync;
  4. import net.minecraft.client.network.ClientPlayNetworkHandler;
  5. import net.minecraft.client.network.packet.SynchronizeRecipesClientPacket;
  6. import net.minecraft.recipe.RecipeManager;
  7. import org.apache.logging.log4j.core.Core;
  8. import org.spongepowered.asm.mixin.Final;
  9. import org.spongepowered.asm.mixin.Mixin;
  10. import org.spongepowered.asm.mixin.Shadow;
  11. import org.spongepowered.asm.mixin.injection.At;
  12. import org.spongepowered.asm.mixin.injection.Inject;
  13. import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
  14. @Mixin(ClientPlayNetworkHandler.class)
  15. public class MixinClientPlayNetworkHandler {
  16. @Shadow @Final private RecipeManager recipeManager;
  17. @Inject(method = "onSynchronizeRecipes", at = @At("RETURN"))
  18. private void onUpdateRecipes(SynchronizeRecipesClientPacket packetIn, CallbackInfo ci) {
  19. RoughlyEnoughItemsCore.getListeners(RecipeSync.class).forEach(recipeSync -> recipeSync.recipesLoaded(this.recipeManager));
  20. }
  21. }