use of net.minecraft.screen.ForgingScreenHandler in project Polymorph by TheIllusiveC4.
the class PolymorphNetwork method handlePlayerSelect.
private static void handlePlayerSelect(MinecraftServer pServer, ServerPlayerEntity pPlayer, ServerPlayNetworkHandler pHandler, PacketByteBuf pBuf, PacketSender pResponseSender) {
Identifier identifier = pBuf.readIdentifier();
pServer.execute(() -> {
ScreenHandler screenHandler = pPlayer.currentScreenHandler;
pPlayer.world.getRecipeManager().get(identifier).ifPresent(recipe -> {
PolymorphApi.common().getRecipeData(pPlayer).ifPresent(recipeData -> recipeData.selectRecipe(recipe));
for (AbstractCompatibilityModule integration : PolymorphIntegrations.get()) {
if (integration.selectRecipe(screenHandler, recipe)) {
return;
}
}
screenHandler.onContentChanged(pPlayer.getInventory());
if (screenHandler instanceof ForgingScreenHandler) {
((ForgingScreenHandler) screenHandler).updateResult();
}
});
});
}
Aggregations