diff options
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils/NEURepoManager.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/NEURepoManager.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/utils/NEURepoManager.java b/src/main/java/de/hysky/skyblocker/utils/NEURepoManager.java index f8716ca4..0ecfe623 100644 --- a/src/main/java/de/hysky/skyblocker/utils/NEURepoManager.java +++ b/src/main/java/de/hysky/skyblocker/utils/NEURepoManager.java @@ -2,6 +2,7 @@ package de.hysky.skyblocker.utils; import com.mojang.brigadier.Command; import de.hysky.skyblocker.SkyblockerMod; +import de.hysky.skyblocker.events.SkyblockEvents; import de.hysky.skyblocker.skyblock.itemlist.ItemRepository; import de.hysky.skyblocker.utils.scheduler.Scheduler; import io.github.moulberry.repo.NEURepository; @@ -9,6 +10,7 @@ import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; import net.minecraft.client.MinecraftClient; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.network.packet.s2c.play.SynchronizeRecipesS2CPacket; import net.minecraft.text.Text; import org.apache.commons.lang3.function.Consumers; import org.eclipse.jgit.api.Git; @@ -49,6 +51,23 @@ public class NEURepoManager { })) ) ); + SkyblockEvents.JOIN.register(NEURepoManager::handleRecipeSynchronization); + } + + /** + * load the recipe manually because Hypixel doesn't send any vanilla recipes to the client + */ + private static void handleRecipeSynchronization() { + MinecraftClient client = MinecraftClient.getInstance(); + if (client.world != null && client.getNetworkHandler() != null) { + SynchronizeRecipesS2CPacket packet = new SynchronizeRecipesS2CPacket(List.of()); + + try { + client.getNetworkHandler().onSynchronizeRecipes(packet); + } catch (Exception e) { + LOGGER.info("[Skyblocker] recipe sync error" , e); + } + } } public static boolean isLoading() { |