Immersive Portals mod
BeeSpeedWay opened this issue ยท 2 comments
Here's a crash log, hope I sent this right. The whole setup works just fine without Immersive Portals, but as soon as I remove that or Better Combat, it gives me this. Would be huge if fixable!
crash-2022-07-22_18.12.42-client.txt
Thanks for the report, made it easy to find the issue my end. Same story, different error.
Crashes on boot with Immersive Portals Mod installed. Launches find without Immersive Portals Mod.
crash-2022-07-26_11.19.49-client.txt
Both mods are targeting the exact same render function with a @Redirect
mixin.
From Immersive Portals source:
//render player itself when rendering portal
@Redirect(
method = "Lnet/minecraft/client/renderer/LevelRenderer;renderLevel(Lcom/mojang/blaze3d/vertex/PoseStack;FJZLnet/minecraft/client/Camera;Lnet/minecraft/client/renderer/GameRenderer;Lnet/minecraft/client/renderer/LightTexture;Lcom/mojang/math/Matrix4f;)V",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/client/renderer/LevelRenderer;renderEntity(Lnet/minecraft/world/entity/Entity;DDDFLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;)V"
)
)
private void redirectRenderEntity(
LevelRenderer worldRenderer,
Entity entity,
double cameraX,
double cameraY,
double cameraZ,
float tickDelta,
PoseStack matrixStack,
MultiBufferSource vertexConsumerProvider
) {
Camera camera = Minecraft.getInstance().gameRenderer.getMainCamera();
if (entity == camera.getEntity() && WorldRenderInfo.isRendering()) { //player
if (CrossPortalEntityRenderer.shouldRenderEntityNow(entity)) {
MyGameRenderer.renderPlayerItself(() -> {
if (CrossPortalEntityRenderer.shouldRenderPlayerNormally(entity)) {
CrossPortalEntityRenderer.beforeRenderingEntity(entity, matrixStack);
renderEntity(
entity,
cameraX, cameraY, cameraZ,
tickDelta,
matrixStack, vertexConsumerProvider
);
CrossPortalEntityRenderer.afterRenderingEntity(entity);
}
});
return;
}
}
CrossPortalEntityRenderer.beforeRenderingEntity(entity, matrixStack);
renderEntity(
entity,
cameraX, cameraY, cameraZ,
tickDelta,
matrixStack, vertexConsumerProvider
);
CrossPortalEntityRenderer.afterRenderingEntity(entity);
}