Switch core to 1.14 (generated via ./gradlew :1.14:setCoreVersion)
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
//#if MC>=10800
|
||||
package com.replaymod.render.mixin;
|
||||
|
||||
import net.minecraft.client.renderer.chunk.ChunkRenderDispatcher;
|
||||
import net.minecraft.client.renderer.chunk.ChunkRenderTask;
|
||||
import net.minecraft.client.renderer.chunk.ChunkRenderWorker;
|
||||
import net.minecraft.client.render.chunk.ChunkBatcher;
|
||||
import net.minecraft.client.render.chunk.ChunkRenderTask;
|
||||
import net.minecraft.client.render.chunk.ChunkRenderWorker;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
@@ -14,15 +14,15 @@ import java.util.concurrent.PriorityBlockingQueue;
|
||||
//$$ import java.util.concurrent.BlockingQueue;
|
||||
//#endif
|
||||
|
||||
@Mixin(ChunkRenderDispatcher.class)
|
||||
@Mixin(ChunkBatcher.class)
|
||||
public interface ChunkRenderDispatcherAccessor {
|
||||
@Accessor
|
||||
@Accessor("workers")
|
||||
List<ChunkRenderWorker> getListThreadedWorkers();
|
||||
|
||||
//#if MC>=10904
|
||||
@Accessor
|
||||
@Accessor("pendingChunks")
|
||||
PriorityBlockingQueue<ChunkRenderTask> getQueueChunkUpdates();
|
||||
@Accessor
|
||||
@Accessor("pendingChunks")
|
||||
void setQueueChunkUpdates(PriorityBlockingQueue<ChunkRenderTask> value);
|
||||
//#else
|
||||
//$$ @Accessor
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
//#if MC>=11300
|
||||
package com.replaymod.render.mixin;
|
||||
|
||||
import net.minecraft.client.MainWindow;
|
||||
import net.minecraft.client.util.Window;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
@Mixin(MainWindow.class)
|
||||
@Mixin(Window.class)
|
||||
public interface MainWindowAccessor {
|
||||
@Accessor
|
||||
void setFramebufferWidth(int value);
|
||||
|
||||
@@ -14,20 +14,20 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
import static com.replaymod.core.versions.MCVer.*;
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ import net.minecraft.client.render.Camera;
|
||||
//$$ import net.minecraft.world.BlockView;
|
||||
import net.minecraft.client.render.Camera;
|
||||
import net.minecraft.world.BlockView;
|
||||
//#else
|
||||
import net.minecraft.client.renderer.GameRenderer;
|
||||
//$$ import net.minecraft.client.renderer.GameRenderer;
|
||||
//#endif
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ @Mixin(value = Camera.class)
|
||||
@Mixin(value = Camera.class)
|
||||
//#else
|
||||
@Mixin(value = GameRenderer.class)
|
||||
//$$ @Mixin(value = GameRenderer.class)
|
||||
//#endif
|
||||
public abstract class MixinCamera {
|
||||
private EntityRendererHandler getHandler() {
|
||||
return ((EntityRendererHandler.IEntityRenderer) getMinecraft().entityRenderer).replayModRender_getHandler();
|
||||
return ((EntityRendererHandler.IEntityRenderer) getMinecraft().gameRenderer).replayModRender_getHandler();
|
||||
}
|
||||
|
||||
private float orgYaw;
|
||||
@@ -37,16 +37,16 @@ public abstract class MixinCamera {
|
||||
private float orgRoll;
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ @Inject(method = "update", at = @At("HEAD"))
|
||||
@Inject(method = "update", at = @At("HEAD"))
|
||||
//#else
|
||||
@Inject(method = "setupCameraTransform", at = @At("HEAD"))
|
||||
//$$ @Inject(method = "setupCameraTransform", at = @At("HEAD"))
|
||||
//#endif
|
||||
private void replayModRender_beforeSetupCameraTransform(
|
||||
//#if MC>=11400
|
||||
//$$ BlockView blockView,
|
||||
//$$ Entity entity,
|
||||
//$$ boolean thirdPerson,
|
||||
//$$ boolean inverseView,
|
||||
BlockView blockView,
|
||||
Entity entity,
|
||||
boolean thirdPerson,
|
||||
boolean inverseView,
|
||||
//#endif
|
||||
float partialTicks,
|
||||
//#if MC<11300
|
||||
@@ -56,30 +56,30 @@ public abstract class MixinCamera {
|
||||
) {
|
||||
if (getHandler() != null) {
|
||||
//#if MC<11400
|
||||
Entity entity = getRenderViewEntity(getMinecraft());
|
||||
//$$ Entity entity = getRenderViewEntity(getMinecraft());
|
||||
//#endif
|
||||
orgYaw = entity.rotationYaw;
|
||||
orgPitch = entity.rotationPitch;
|
||||
orgPrevYaw = entity.prevRotationYaw;
|
||||
orgPrevPitch = entity.prevRotationPitch;
|
||||
orgYaw = entity.yaw;
|
||||
orgPitch = entity.pitch;
|
||||
orgPrevYaw = entity.prevYaw;
|
||||
orgPrevPitch = entity.prevPitch;
|
||||
orgRoll = entity instanceof CameraEntity ? ((CameraEntity) entity).roll : 0;
|
||||
}
|
||||
//#if MC<11400
|
||||
}
|
||||
|
||||
@Inject(method = "orientCamera", at = @At("HEAD"))
|
||||
private void replayModRender_resetRotationIfNeeded(float partialTicks, CallbackInfo ci) {
|
||||
//$$ }
|
||||
//$$
|
||||
//$$ @Inject(method = "orientCamera", at = @At("HEAD"))
|
||||
//$$ private void replayModRender_resetRotationIfNeeded(float partialTicks, CallbackInfo ci) {
|
||||
//#endif
|
||||
if (getHandler() != null) {
|
||||
//#if MC<11400
|
||||
Entity entity = getRenderViewEntity(getMinecraft());
|
||||
//$$ Entity entity = getRenderViewEntity(getMinecraft());
|
||||
//#endif
|
||||
RenderSettings settings = getHandler().getSettings();
|
||||
if (settings.isStabilizeYaw()) {
|
||||
entity.prevRotationYaw = entity.rotationYaw = 0;
|
||||
entity.prevYaw = entity.yaw = 0;
|
||||
}
|
||||
if (settings.isStabilizePitch()) {
|
||||
entity.prevRotationPitch = entity.rotationPitch = 0;
|
||||
entity.prevPitch = entity.pitch = 0;
|
||||
}
|
||||
if (settings.isStabilizeRoll() && entity instanceof CameraEntity) {
|
||||
((CameraEntity) entity).roll = 0;
|
||||
@@ -88,16 +88,16 @@ public abstract class MixinCamera {
|
||||
}
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ @Inject(method = "update", at = @At("RETURN"))
|
||||
@Inject(method = "update", at = @At("RETURN"))
|
||||
//#else
|
||||
@Inject(method = "setupCameraTransform", at = @At("RETURN"))
|
||||
//$$ @Inject(method = "setupCameraTransform", at = @At("RETURN"))
|
||||
//#endif
|
||||
private void replayModRender_afterSetupCameraTransform(
|
||||
//#if MC>=11400
|
||||
//$$ BlockView blockView,
|
||||
//$$ Entity entity,
|
||||
//$$ boolean thirdPerson,
|
||||
//$$ boolean inverseView,
|
||||
BlockView blockView,
|
||||
Entity entity,
|
||||
boolean thirdPerson,
|
||||
boolean inverseView,
|
||||
//#endif
|
||||
float partialTicks,
|
||||
//#if MC<11300
|
||||
@@ -107,12 +107,12 @@ public abstract class MixinCamera {
|
||||
) {
|
||||
if (getHandler() != null) {
|
||||
//#if MC<11400
|
||||
Entity entity = getRenderViewEntity(getMinecraft());
|
||||
//$$ Entity entity = getRenderViewEntity(getMinecraft());
|
||||
//#endif
|
||||
entity.rotationYaw = orgYaw;
|
||||
entity.rotationPitch = orgPitch;
|
||||
entity.prevRotationYaw = orgPrevYaw;
|
||||
entity.prevRotationPitch = orgPrevPitch;
|
||||
entity.yaw = orgYaw;
|
||||
entity.pitch = orgPitch;
|
||||
entity.prevYaw = orgPrevYaw;
|
||||
entity.prevPitch = orgPrevPitch;
|
||||
if (entity instanceof CameraEntity) {
|
||||
((CameraEntity) entity).roll = orgRoll;
|
||||
}
|
||||
@@ -120,16 +120,16 @@ public abstract class MixinCamera {
|
||||
}
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ @Inject(method = "update", at = @At("HEAD"))
|
||||
@Inject(method = "update", at = @At("HEAD"))
|
||||
//#else
|
||||
@Inject(method = "orientCamera", at = @At("HEAD"))
|
||||
//$$ @Inject(method = "orientCamera", at = @At("HEAD"))
|
||||
//#endif
|
||||
private void replayModRender_setupCubicFrameRotation(
|
||||
//#if MC>=11400
|
||||
//$$ BlockView blockView,
|
||||
//$$ Entity entity,
|
||||
//$$ boolean thirdPerson,
|
||||
//$$ boolean inverseView,
|
||||
BlockView blockView,
|
||||
Entity entity,
|
||||
boolean thirdPerson,
|
||||
boolean inverseView,
|
||||
//#endif
|
||||
float partialTicks,
|
||||
CallbackInfo ci
|
||||
|
||||
@@ -4,8 +4,8 @@ import com.replaymod.core.versions.MCVer;
|
||||
import com.replaymod.render.capturer.StereoscopicOpenGlFrameCapturer;
|
||||
import com.replaymod.render.hooks.EntityRendererHandler;
|
||||
import de.johni0702.minecraft.gui.utils.lwjgl.ReadableColor;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
@@ -15,15 +15,15 @@ import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ import net.minecraft.client.render.Camera;
|
||||
//$$ import net.minecraft.util.hit.HitResult;
|
||||
import net.minecraft.client.render.Camera;
|
||||
import net.minecraft.util.hit.HitResult;
|
||||
//#endif
|
||||
|
||||
//#if MC>=11300
|
||||
import net.minecraft.client.GameSettings;
|
||||
import net.minecraft.client.renderer.GameRenderer;
|
||||
import net.minecraft.client.renderer.Matrix4f;
|
||||
import net.minecraft.client.renderer.WorldRenderer;
|
||||
import net.minecraft.client.options.GameOptions;
|
||||
import net.minecraft.client.render.GameRenderer;
|
||||
import net.minecraft.client.util.math.Matrix4f;
|
||||
import net.minecraft.client.render.WorldRenderer;
|
||||
//#else
|
||||
//$$ import com.replaymod.replay.camera.CameraEntity;
|
||||
//$$ import net.minecraft.client.renderer.EntityRenderer;
|
||||
@@ -34,13 +34,13 @@ import net.minecraft.client.renderer.WorldRenderer;
|
||||
//#endif
|
||||
|
||||
//#if MC>=10904
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.world.RayTraceContext;
|
||||
//#else
|
||||
//$$ import net.minecraft.util.MovingObjectPosition;
|
||||
//#endif
|
||||
|
||||
//#if MC>=10800
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import com.mojang.blaze3d.platform.GlStateManager;
|
||||
//#else
|
||||
//$$ import net.minecraft.entity.EntityLivingBase;
|
||||
//$$ import com.replaymod.core.versions.MCVer.GlStateManager;
|
||||
@@ -55,7 +55,7 @@ import static com.replaymod.core.versions.MCVer.*;
|
||||
//#endif
|
||||
public abstract class MixinEntityRenderer implements EntityRendererHandler.IEntityRenderer {
|
||||
@Shadow
|
||||
public Minecraft mc;
|
||||
public MinecraftClient client;
|
||||
|
||||
private EntityRendererHandler replayModRender_handler;
|
||||
|
||||
@@ -94,7 +94,7 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
|
||||
@Inject(method = "renderHand", at = @At("HEAD"), cancellable = true)
|
||||
private void replayModRender_renderSpectatorHand(
|
||||
//#if MC>=11400
|
||||
//$$ Camera camera,
|
||||
Camera camera,
|
||||
//#endif
|
||||
float partialTicks,
|
||||
//#if MC<11300
|
||||
@@ -129,16 +129,16 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
|
||||
//#endif
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ @Redirect(method = "renderCenter", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/WorldRenderer;drawHighlightedBlockOutline(Lnet/minecraft/client/render/Camera;Lnet/minecraft/util/hit/HitResult;I)V"))
|
||||
//$$ private void replayModRender_drawSelectionBox(WorldRenderer instance, Camera camera, HitResult hitResult, int something) {
|
||||
//$$ if (replayModRender_handler == null) {
|
||||
//$$ instance.drawHighlightedBlockOutline(camera, hitResult, something);
|
||||
//$$ }
|
||||
//$$ }
|
||||
@Redirect(method = "renderCenter", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/WorldRenderer;drawHighlightedBlockOutline(Lnet/minecraft/client/render/Camera;Lnet/minecraft/util/hit/HitResult;I)V"))
|
||||
private void replayModRender_drawSelectionBox(WorldRenderer instance, Camera camera, HitResult hitResult, int something) {
|
||||
if (replayModRender_handler == null) {
|
||||
instance.drawHighlightedBlockOutline(camera, hitResult, something);
|
||||
}
|
||||
}
|
||||
//#else
|
||||
//#if MC>=11300
|
||||
@Redirect(method = "updateCameraAndRender(FJ)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/WorldRenderer;drawSelectionBox(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/math/RayTraceResult;IF)V"))
|
||||
private void replayModRender_drawSelectionBox(WorldRenderer instance, EntityPlayer player, RayTraceResult rtr, int alwaysZero, float partialTicks) {
|
||||
//$$ @Redirect(method = "updateCameraAndRender(FJ)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/WorldRenderer;drawSelectionBox(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/math/RayTraceResult;IF)V"))
|
||||
//$$ private void replayModRender_drawSelectionBox(WorldRenderer instance, EntityPlayer player, RayTraceResult rtr, int alwaysZero, float partialTicks) {
|
||||
//#else
|
||||
//#if MC>=10904
|
||||
//$$ @Redirect(method = "renderWorldPass", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/RenderGlobal;drawSelectionBox(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/math/RayTraceResult;IF)V"))
|
||||
@@ -152,19 +152,19 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
|
||||
//$$ private void replayModRender_drawSelectionBox(RenderGlobal instance, EntityPlayer player, MovingObjectPosition rtr, int alwaysZero, float partialTicks) {
|
||||
//#endif
|
||||
//#endif
|
||||
if (replayModRender_handler == null) {
|
||||
instance.drawSelectionBox(player, rtr, alwaysZero, partialTicks);
|
||||
}
|
||||
}
|
||||
//$$ if (replayModRender_handler == null) {
|
||||
//$$ instance.drawSelectionBox(player, rtr, alwaysZero, partialTicks);
|
||||
//$$ }
|
||||
//$$ }
|
||||
//#endif
|
||||
|
||||
private int orgRenderDistanceChunks;
|
||||
|
||||
//#if MC>=11300
|
||||
//#if MC>=11400
|
||||
//$$ @Inject(method = "renderCenter", at = @At(value = "JUMP", ordinal = 0))
|
||||
@Inject(method = "renderCenter", at = @At(value = "JUMP", ordinal = 0))
|
||||
//#else
|
||||
@Inject(method = "updateCameraAndRender(FJ)V", at = @At(value = "JUMP", ordinal = 0))
|
||||
//$$ @Inject(method = "updateCameraAndRender(FJ)V", at = @At(value = "JUMP", ordinal = 0))
|
||||
//#endif
|
||||
//#else
|
||||
//#if MC>=10800
|
||||
@@ -176,17 +176,17 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
|
||||
//#endif
|
||||
private void replayModRender_beforeRenderSky(CallbackInfo ci) {
|
||||
if (replayModRender_handler != null && replayModRender_handler.getSettings().getChromaKeyingColor() != null) {
|
||||
GameSettings settings = MCVer.getMinecraft().gameSettings;
|
||||
orgRenderDistanceChunks = settings.renderDistanceChunks;
|
||||
settings.renderDistanceChunks = 5; // Set render distance to 5 so we're always rendering sky when chroma keying
|
||||
GameOptions settings = MCVer.getMinecraft().options;
|
||||
orgRenderDistanceChunks = settings.viewDistance;
|
||||
settings.viewDistance = 5; // Set render distance to 5 so we're always rendering sky when chroma keying
|
||||
}
|
||||
}
|
||||
|
||||
//#if MC>=11300
|
||||
//#if MC>=11400
|
||||
//$$ @Redirect(method = "renderCenter", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/WorldRenderer;renderSky(F)V"))
|
||||
@Redirect(method = "renderCenter", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/WorldRenderer;renderSky(F)V"))
|
||||
//#else
|
||||
@Redirect(method = "updateCameraAndRender(FJ)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/WorldRenderer;renderSky(F)V"))
|
||||
//$$ @Redirect(method = "updateCameraAndRender(FJ)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/WorldRenderer;renderSky(F)V"))
|
||||
//#endif
|
||||
private void replayModRender_renderSky(WorldRenderer instance, float partialTicks) {
|
||||
//#else
|
||||
@@ -199,12 +199,12 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
|
||||
//#endif
|
||||
//#endif
|
||||
if (replayModRender_handler != null && replayModRender_handler.getSettings().getChromaKeyingColor() != null) {
|
||||
MCVer.getMinecraft().gameSettings.renderDistanceChunks = orgRenderDistanceChunks;
|
||||
MCVer.getMinecraft().options.viewDistance = orgRenderDistanceChunks;
|
||||
ReadableColor color = replayModRender_handler.getSettings().getChromaKeyingColor();
|
||||
GlStateManager.clearColor(color.getRed() / 255f, color.getGreen() / 255f, color.getBlue() / 255f, 1);
|
||||
GlStateManager.clear(GL11.GL_COLOR_BUFFER_BIT
|
||||
//#if MC>=11400
|
||||
//$$ , false
|
||||
, false
|
||||
//#endif
|
||||
);
|
||||
} else {
|
||||
@@ -225,7 +225,7 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
|
||||
*/
|
||||
|
||||
//#if MC>=10800
|
||||
@Inject(method = "setupCameraTransform", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/GlStateManager;loadIdentity()V", shift = At.Shift.AFTER, ordinal = 0))
|
||||
@Inject(method = "applyCameraTransformations", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/platform/GlStateManager;loadIdentity()V", shift = At.Shift.AFTER, ordinal = 0))
|
||||
//#else
|
||||
//$$ @Inject(method = "setupCameraTransform", at = @At(value = "INVOKE", target = "Lorg/lwjgl/opengl/GL11;glLoadIdentity()V", shift = At.Shift.AFTER, ordinal = 0, remap = false))
|
||||
//#endif
|
||||
@@ -246,7 +246,7 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
|
||||
}
|
||||
|
||||
//#if MC>=10800
|
||||
@Inject(method = "setupCameraTransform", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/GlStateManager;loadIdentity()V", shift = At.Shift.AFTER, ordinal = 1))
|
||||
@Inject(method = "applyCameraTransformations", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/platform/GlStateManager;loadIdentity()V", shift = At.Shift.AFTER, ordinal = 1))
|
||||
//#else
|
||||
//$$ @Inject(method = "setupCameraTransform", at = @At(value = "INVOKE", target = "Lorg/lwjgl/opengl/GL11;glLoadIdentity()V", shift = At.Shift.AFTER, ordinal = 1, remap = false))
|
||||
//#endif
|
||||
@@ -271,21 +271,21 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
|
||||
*/
|
||||
|
||||
//#if MC>=11300
|
||||
@Redirect(method = "setupCameraTransform", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/Matrix4f;perspective(DFFF)Lnet/minecraft/client/renderer/Matrix4f;"))
|
||||
@Redirect(method = "applyCameraTransformations", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/util/math/Matrix4f;method_4929(DFFF)Lnet/minecraft/client/util/math/Matrix4f;"))
|
||||
private Matrix4f replayModRender_perspective$0(double fovY, float aspect, float zNear, float zFar) {
|
||||
return replayModRender_perspective((float) fovY, aspect, zNear, zFar);
|
||||
}
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ @Redirect(method = "renderCenter", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/util/math/Matrix4f;method_4929(DFFF)Lnet/minecraft/client/util/math/Matrix4f;"))
|
||||
@Redirect(method = "renderCenter", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/util/math/Matrix4f;method_4929(DFFF)Lnet/minecraft/client/util/math/Matrix4f;"))
|
||||
//#else
|
||||
@Redirect(method = "updateCameraAndRender(FJ)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/Matrix4f;perspective(DFFF)Lnet/minecraft/client/renderer/Matrix4f;"))
|
||||
//$$ @Redirect(method = "updateCameraAndRender(FJ)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/Matrix4f;perspective(DFFF)Lnet/minecraft/client/renderer/Matrix4f;"))
|
||||
//#endif
|
||||
private Matrix4f replayModRender_perspective$1(double fovY, float aspect, float zNear, float zFar) {
|
||||
return replayModRender_perspective((float) fovY, aspect, zNear, zFar);
|
||||
}
|
||||
|
||||
@Redirect(method = "renderCloudsCheck", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/Matrix4f;perspective(DFFF)Lnet/minecraft/client/renderer/Matrix4f;"))
|
||||
@Redirect(method = "renderAboveClouds", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/util/math/Matrix4f;method_4929(DFFF)Lnet/minecraft/client/util/math/Matrix4f;"))
|
||||
private Matrix4f replayModRender_perspective$2(double fovY, float aspect, float zNear, float zFar) {
|
||||
return replayModRender_perspective((float) fovY, aspect, zNear, zFar);
|
||||
}
|
||||
@@ -295,7 +295,7 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
|
||||
fovY = 90;
|
||||
aspect = 1;
|
||||
}
|
||||
return Matrix4f.perspective(fovY, aspect, zNear, zFar);
|
||||
return Matrix4f.method_4929(fovY, aspect, zNear, zFar);
|
||||
}
|
||||
//#else
|
||||
//$$ @Redirect(method = "setupCameraTransform", at = @At(value = "INVOKE", target = "Lorg/lwjgl/util/glu/Project;gluPerspective(FFFF)V", remap = false))
|
||||
|
||||
@@ -3,31 +3,31 @@ package com.replaymod.render.mixin;
|
||||
|
||||
import com.replaymod.core.versions.MCVer;
|
||||
import com.replaymod.render.hooks.EntityRendererHandler;
|
||||
import net.minecraft.client.renderer.FogRenderer;
|
||||
import net.minecraft.client.render.BackgroundRenderer;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ import net.minecraft.client.render.Camera;
|
||||
import net.minecraft.client.render.Camera;
|
||||
//#endif
|
||||
|
||||
@Mixin(FogRenderer.class)
|
||||
@Mixin(BackgroundRenderer.class)
|
||||
public abstract class MixinFogRenderer {
|
||||
@Inject(method = "setupFog", at = @At("HEAD"), cancellable = true)
|
||||
@Inject(method = "applyFog", at = @At("HEAD"), cancellable = true)
|
||||
private void replayModRender_onSetupFog(
|
||||
//#if MC>=11400
|
||||
//$$ Camera camera,
|
||||
//$$ int something,
|
||||
Camera camera,
|
||||
int something,
|
||||
//#else
|
||||
int fogDistanceFlag,
|
||||
float partialTicks,
|
||||
//$$ int fogDistanceFlag,
|
||||
//$$ float partialTicks,
|
||||
//#endif
|
||||
CallbackInfo ci
|
||||
) {
|
||||
EntityRendererHandler handler =
|
||||
((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().entityRenderer).replayModRender_getHandler();
|
||||
((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().gameRenderer).replayModRender_getHandler();
|
||||
if (handler == null) return;
|
||||
if (handler.getSettings().getChromaKeyingColor() != null) {
|
||||
ci.cancel();
|
||||
|
||||
@@ -8,7 +8,7 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
//#if MC>=10800
|
||||
import net.minecraft.client.renderer.culling.Frustum;
|
||||
import net.minecraft.client.render.Frustum;
|
||||
//#else
|
||||
//$$ import net.minecraft.client.renderer.culling.Frustrum;
|
||||
//#endif
|
||||
@@ -19,9 +19,9 @@ import net.minecraft.client.renderer.culling.Frustum;
|
||||
//$$ @Mixin(Frustrum.class)
|
||||
//#endif
|
||||
public abstract class MixinFrustum {
|
||||
@Inject(method = "isBoxInFrustum", at = @At("HEAD"), cancellable = true)
|
||||
public void isBoxInFrustum(double minX, double minY, double minZ, double maxX, double maxY, double maxZ, CallbackInfoReturnable<Boolean> ci) {
|
||||
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().entityRenderer).replayModRender_getHandler();
|
||||
@Inject(method = "intersects", at = @At("HEAD"), cancellable = true)
|
||||
public void intersects(double minX, double minY, double minZ, double maxX, double maxY, double maxZ, CallbackInfoReturnable<Boolean> ci) {
|
||||
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().gameRenderer).replayModRender_getHandler();
|
||||
if (handler != null && handler.omnidirectional && handler.data == null) {
|
||||
// Normally the camera is always facing the direction of the omnidirectional image face that is currently
|
||||
// getting rendered. With ODS however, the camera is always facing forwards and the turning happens in the
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.replaymod.render.mixin;
|
||||
|
||||
import com.replaymod.render.hooks.FogStateCallback;
|
||||
import com.replaymod.render.hooks.Texture2DStateCallback;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import com.mojang.blaze3d.platform.GlStateManager;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
@@ -24,13 +24,13 @@ public abstract class MixinGlStateManager {
|
||||
FogStateCallback.EVENT.invoker().fogStateChanged(false);
|
||||
}
|
||||
|
||||
@Inject(method = "enableTexture2D", at = @At("HEAD"))
|
||||
private static void enableTexture2D(CallbackInfo ci) {
|
||||
@Inject(method = "enableTexture", at = @At("HEAD"))
|
||||
private static void enableTexture(CallbackInfo ci) {
|
||||
Texture2DStateCallback.EVENT.invoker().texture2DStateChanged(MixinGlStateManager.activeTexture, true);
|
||||
}
|
||||
|
||||
@Inject(method = "disableTexture2D", at = @At("HEAD"))
|
||||
private static void disableTexture2D(CallbackInfo ci) {
|
||||
@Inject(method = "disableTexture", at = @At("HEAD"))
|
||||
private static void disableTexture(CallbackInfo ci) {
|
||||
Texture2DStateCallback.EVENT.invoker().texture2DStateChanged(MixinGlStateManager.activeTexture, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,27 +8,27 @@ import com.replaymod.render.blend.mixin.ParticleAccessor;
|
||||
import com.replaymod.render.hooks.EntityRendererHandler;
|
||||
import net.minecraft.client.particle.Particle;
|
||||
import net.minecraft.client.particle.ParticleManager;
|
||||
import net.minecraft.client.renderer.BufferBuilder;
|
||||
import net.minecraft.client.render.BufferBuilder;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ import net.minecraft.client.render.Camera;
|
||||
import net.minecraft.client.render.Camera;
|
||||
//#else
|
||||
import net.minecraft.entity.Entity;
|
||||
//$$ import net.minecraft.entity.Entity;
|
||||
//#endif
|
||||
|
||||
@Mixin(ParticleManager.class)
|
||||
public abstract class MixinParticleManager {
|
||||
//#if MC>=11200
|
||||
//#if MC>=11400
|
||||
//$$ @Redirect(method = "renderParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;buildGeometry(Lnet/minecraft/client/render/BufferBuilder;Lnet/minecraft/client/render/Camera;FFFFFF)V"))
|
||||
//$$ private void renderNormalParticle(Particle particle, BufferBuilder vertexBuffer, Camera view, float partialTicks,
|
||||
@Redirect(method = "renderParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;buildGeometry(Lnet/minecraft/client/render/BufferBuilder;Lnet/minecraft/client/render/Camera;FFFFFF)V"))
|
||||
private void renderNormalParticle(Particle particle, BufferBuilder vertexBuffer, Camera view, float partialTicks,
|
||||
//#else
|
||||
@Redirect(method = "renderParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;renderParticle(Lnet/minecraft/client/renderer/BufferBuilder;Lnet/minecraft/entity/Entity;FFFFFF)V"))
|
||||
private void renderNormalParticle(Particle particle, BufferBuilder vertexBuffer, Entity view, float partialTicks,
|
||||
//$$ @Redirect(method = "renderParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;renderParticle(Lnet/minecraft/client/renderer/BufferBuilder;Lnet/minecraft/entity/Entity;FFFFFF)V"))
|
||||
//$$ private void renderNormalParticle(Particle particle, BufferBuilder vertexBuffer, Entity view, float partialTicks,
|
||||
//#endif
|
||||
//#else
|
||||
//$$ @Redirect(method = "renderParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;renderParticle(Lnet/minecraft/client/renderer/VertexBuffer;Lnet/minecraft/entity/Entity;FFFFFF)V"))
|
||||
@@ -41,33 +41,33 @@ public abstract class MixinParticleManager {
|
||||
// Seems to be gone by 1.14
|
||||
//#if MC<11400
|
||||
//#if MC>=11200
|
||||
@Redirect(method = "renderLitParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;renderParticle(Lnet/minecraft/client/renderer/BufferBuilder;Lnet/minecraft/entity/Entity;FFFFFF)V"))
|
||||
private void renderLitParticle(Particle particle, BufferBuilder vertexBuffer, Entity view, float partialTicks,
|
||||
//$$ @Redirect(method = "renderLitParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;renderParticle(Lnet/minecraft/client/renderer/BufferBuilder;Lnet/minecraft/entity/Entity;FFFFFF)V"))
|
||||
//$$ private void renderLitParticle(Particle particle, BufferBuilder vertexBuffer, Entity view, float partialTicks,
|
||||
//#else
|
||||
//$$ @Redirect(method = "renderLitParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;renderParticle(Lnet/minecraft/client/renderer/VertexBuffer;Lnet/minecraft/entity/Entity;FFFFFF)V"))
|
||||
//$$ private void renderLitParticle(Particle particle, VertexBuffer vertexBuffer, Entity view, float partialTicks,
|
||||
//#endif
|
||||
float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) {
|
||||
renderParticle(particle, vertexBuffer, view, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY);
|
||||
}
|
||||
//$$ float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) {
|
||||
//$$ renderParticle(particle, vertexBuffer, view, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY);
|
||||
//$$ }
|
||||
//#endif
|
||||
|
||||
private void renderParticle(Particle particle,
|
||||
BufferBuilder vertexBuffer,
|
||||
//#if MC>=11400
|
||||
//$$ Camera view,
|
||||
Camera view,
|
||||
//#else
|
||||
Entity view,
|
||||
//$$ Entity view,
|
||||
//#endif
|
||||
float partialTicks,
|
||||
float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) {
|
||||
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().entityRenderer).replayModRender_getHandler();
|
||||
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().gameRenderer).replayModRender_getHandler();
|
||||
if (handler != null && handler.omnidirectional) {
|
||||
// Align all particles towards the camera
|
||||
//#if MC>=11400
|
||||
//$$ Vec3d pos = view.getPos();
|
||||
Vec3d pos = view.getPos();
|
||||
//#else
|
||||
Vec3d pos = new Vec3d(view.posX, view.posY, view.posZ);
|
||||
//$$ Vec3d pos = new Vec3d(view.posX, view.posY, view.posZ);
|
||||
//#endif
|
||||
Vec3d d = MCVer.getPosition(particle, partialTicks).subtract(pos);
|
||||
double pitch = -Math.atan2(d.y, Math.sqrt(d.x * d.x + d.z * d.z));
|
||||
@@ -84,7 +84,7 @@ public abstract class MixinParticleManager {
|
||||
if (blendState != null) {
|
||||
blendState.get(ParticlesExporter.class).onRender(particle, partialTicks);
|
||||
}
|
||||
particle.renderParticle(vertexBuffer, view, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY);
|
||||
particle.buildGeometry(vertexBuffer, view, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY);
|
||||
}
|
||||
}
|
||||
//#endif
|
||||
|
||||
@@ -2,22 +2,22 @@ package com.replaymod.render.mixin;
|
||||
|
||||
import com.replaymod.core.versions.MCVer;
|
||||
import com.replaymod.render.hooks.EntityRendererHandler;
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.client.render.entity.EntityRenderer;
|
||||
import net.minecraft.entity.Entity;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(Render.class)
|
||||
@Mixin(EntityRenderer.class)
|
||||
public abstract class MixinRender {
|
||||
//#if MC>=11400
|
||||
//$$ @Inject(method = "renderLabel(Lnet/minecraft/entity/Entity;Ljava/lang/String;DDDI)V", at = @At("HEAD"), cancellable = true)
|
||||
@Inject(method = "renderLabel(Lnet/minecraft/entity/Entity;Ljava/lang/String;DDDI)V", at = @At("HEAD"), cancellable = true)
|
||||
//#else
|
||||
@Inject(method = "renderLivingLabel", at = @At("HEAD"), cancellable = true)
|
||||
//$$ @Inject(method = "renderLivingLabel", at = @At("HEAD"), cancellable = true)
|
||||
//#endif
|
||||
private void replayModRender_areAllNamesHidden(Entity entityIn, String str, double x, double y, double z, int maxDistance, CallbackInfo ci) {
|
||||
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().entityRenderer).replayModRender_getHandler();
|
||||
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().gameRenderer).replayModRender_getHandler();
|
||||
if (handler != null && !handler.getSettings().isRenderNameTags()) {
|
||||
ci.cancel();
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
package com.replaymod.render.mixin;
|
||||
|
||||
import com.replaymod.render.hooks.ChunkLoadingRenderGlobal;
|
||||
import net.minecraft.client.renderer.chunk.ChunkRenderDispatcher;
|
||||
import net.minecraft.client.renderer.culling.ICamera;
|
||||
import net.minecraft.client.render.chunk.ChunkBatcher;
|
||||
import net.minecraft.client.render.VisibleRegion;
|
||||
import net.minecraft.entity.Entity;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
@@ -12,11 +12,11 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ import net.minecraft.client.render.Camera;
|
||||
import net.minecraft.client.render.Camera;
|
||||
//#endif
|
||||
|
||||
//#if MC>=11300
|
||||
import net.minecraft.client.renderer.WorldRenderer;
|
||||
import net.minecraft.client.render.WorldRenderer;
|
||||
//#else
|
||||
//$$ import net.minecraft.client.renderer.RenderGlobal;
|
||||
//#endif
|
||||
@@ -37,41 +37,41 @@ public abstract class MixinRenderGlobal {
|
||||
private boolean replayModRender_passThroughSetupTerrain;
|
||||
|
||||
@Shadow
|
||||
public boolean displayListEntitiesDirty;
|
||||
public boolean terrainUpdateNecessary;
|
||||
|
||||
@Shadow
|
||||
public ChunkRenderDispatcher renderDispatcher;
|
||||
public ChunkBatcher chunkBatcher;
|
||||
|
||||
@Shadow
|
||||
public abstract void setupTerrain(
|
||||
public abstract void setUpTerrain(
|
||||
//#if MC>=11400
|
||||
//$$ Camera viewEntity,
|
||||
Camera viewEntity,
|
||||
//#else
|
||||
Entity viewEntity,
|
||||
//$$ Entity viewEntity,
|
||||
//#if MC>=11300
|
||||
float partialTicks,
|
||||
//$$ float partialTicks,
|
||||
//#else
|
||||
//$$ double partialTicks,
|
||||
//#endif
|
||||
//#endif
|
||||
ICamera camera,
|
||||
VisibleRegion camera,
|
||||
int frameCount,
|
||||
boolean playerSpectator
|
||||
);
|
||||
|
||||
@Inject(method = "setupTerrain", at = @At("HEAD"), cancellable = true)
|
||||
@Inject(method = "setUpTerrain", at = @At("HEAD"), cancellable = true)
|
||||
private void replayModRender_setupTerrain(
|
||||
//#if MC>=11400
|
||||
//$$ Camera viewEntity,
|
||||
Camera viewEntity,
|
||||
//#else
|
||||
Entity viewEntity,
|
||||
//$$ Entity viewEntity,
|
||||
//#if MC>=11300
|
||||
float partialTicks,
|
||||
//$$ float partialTicks,
|
||||
//#else
|
||||
//$$ double partialTicks,
|
||||
//#endif
|
||||
//#endif
|
||||
ICamera camera,
|
||||
VisibleRegion camera,
|
||||
int frameCount,
|
||||
boolean playerSpectator,
|
||||
CallbackInfo ci
|
||||
@@ -80,19 +80,19 @@ public abstract class MixinRenderGlobal {
|
||||
replayModRender_passThroughSetupTerrain = true;
|
||||
|
||||
do {
|
||||
setupTerrain(
|
||||
setUpTerrain(
|
||||
viewEntity,
|
||||
//#if MC<11400
|
||||
partialTicks,
|
||||
//$$ partialTicks,
|
||||
//#endif
|
||||
camera,
|
||||
replayModRender_hook.nextFrameId(),
|
||||
playerSpectator
|
||||
);
|
||||
replayModRender_hook.updateChunks();
|
||||
} while (this.displayListEntitiesDirty);
|
||||
} while (this.terrainUpdateNecessary);
|
||||
|
||||
this.displayListEntitiesDirty = true;
|
||||
this.terrainUpdateNecessary = true;
|
||||
|
||||
replayModRender_passThroughSetupTerrain = false;
|
||||
ci.cancel();
|
||||
@@ -118,7 +118,7 @@ public abstract class MixinRenderGlobal {
|
||||
|
||||
// Prior to 1.9.4, MC always uses the same ChunkRenderDispatcher instance
|
||||
//#if MC>=10904
|
||||
@Inject(method = "setWorldAndLoadRenderers", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/chunk/ChunkRenderDispatcher;stopWorkerThreads()V"))
|
||||
@Inject(method = "setWorld", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/chunk/ChunkBatcher;method_3619()V"))
|
||||
private void stopWorkerThreadsAndChunkLoadingRenderGlobal(CallbackInfo ci) {
|
||||
if (replayModRender_hook != null) {
|
||||
replayModRender_hook.updateRenderDispatcher(null);
|
||||
@@ -126,10 +126,10 @@ public abstract class MixinRenderGlobal {
|
||||
}
|
||||
//#endif
|
||||
|
||||
@Inject(method = "loadRenderers", at = @At(value = "RETURN"))
|
||||
@Inject(method = "reload", at = @At(value = "RETURN"))
|
||||
private void setupChunkLoadingRenderGlobal(CallbackInfo ci) {
|
||||
if (replayModRender_hook != null) {
|
||||
replayModRender_hook.updateRenderDispatcher(this.renderDispatcher);
|
||||
replayModRender_hook.updateRenderDispatcher(this.chunkBatcher);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.replaymod.render.mixin;
|
||||
|
||||
import com.replaymod.core.versions.MCVer;
|
||||
import com.replaymod.render.hooks.EntityRendererHandler;
|
||||
import net.minecraft.client.renderer.entity.RenderManager;
|
||||
import net.minecraft.client.render.entity.EntityRenderDispatcher;
|
||||
import net.minecraft.entity.Entity;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
@@ -15,19 +15,19 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
//$$ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
//#endif
|
||||
|
||||
@Mixin(RenderManager.class)
|
||||
@Mixin(EntityRenderDispatcher.class)
|
||||
public abstract class MixinRenderManager {
|
||||
@Shadow
|
||||
private float playerViewX;
|
||||
private float cameraPitch;
|
||||
|
||||
@Shadow
|
||||
private float playerViewY;
|
||||
private float cameraYaw;
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ @Inject(method = "render(Lnet/minecraft/entity/Entity;DDDFFZ)V", at = @At("HEAD"))
|
||||
@Inject(method = "render(Lnet/minecraft/entity/Entity;DDDFFZ)V", at = @At("HEAD"))
|
||||
//#else
|
||||
//#if MC>=11300
|
||||
@Inject(method = "renderEntity", at = @At("HEAD"))
|
||||
//$$ @Inject(method = "renderEntity", at = @At("HEAD"))
|
||||
//#else
|
||||
//$$ @Inject(method = "doRenderEntity", at = @At("HEAD"))
|
||||
//#endif
|
||||
@@ -37,12 +37,12 @@ public abstract class MixinRenderManager {
|
||||
//#else
|
||||
//$$ private void replayModRender_reorientForCubicRendering(Entity entity, double dx, double dy, double dz, float iDoNotKnow, float partialTicks, boolean iDoNotCare, CallbackInfoReturnable<Boolean> ci) {
|
||||
//#endif
|
||||
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().entityRenderer).replayModRender_getHandler();
|
||||
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().gameRenderer).replayModRender_getHandler();
|
||||
if (handler != null && handler.omnidirectional) {
|
||||
double pitch = -Math.atan2(dy, Math.sqrt(dx * dx + dz * dz));
|
||||
double yaw = -Math.atan2(dx, dz);
|
||||
this.playerViewX = (float) Math.toDegrees(pitch);
|
||||
this.playerViewY = (float) Math.toDegrees(yaw);
|
||||
this.cameraPitch = (float) Math.toDegrees(pitch);
|
||||
this.cameraYaw = (float) Math.toDegrees(yaw);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
package com.replaymod.render.mixin;
|
||||
|
||||
import net.minecraft.client.renderer.WorldRenderer;
|
||||
import net.minecraft.client.render.WorldRenderer;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
//#if MC>=10800
|
||||
import net.minecraft.client.renderer.chunk.ChunkRenderDispatcher;
|
||||
import net.minecraft.client.renderer.chunk.RenderChunk;
|
||||
import net.minecraft.client.render.chunk.ChunkBatcher;
|
||||
import net.minecraft.client.render.chunk.ChunkRenderer;
|
||||
//#endif
|
||||
|
||||
@Mixin(WorldRenderer.class)
|
||||
public interface WorldRendererAccessor {
|
||||
@Accessor
|
||||
@Accessor("field_4076")
|
||||
void setRenderEntitiesStartupCounter(int value);
|
||||
|
||||
//#if MC>=10800
|
||||
@Accessor
|
||||
ChunkRenderDispatcher getRenderDispatcher();
|
||||
@Accessor("chunkBatcher")
|
||||
ChunkBatcher getRenderDispatcher();
|
||||
|
||||
@Accessor
|
||||
@Accessor("terrainUpdateNecessary")
|
||||
void setDisplayListEntitiesDirty(boolean value);
|
||||
|
||||
@Accessor
|
||||
Set<RenderChunk> getChunksToUpdate();
|
||||
@Accessor("chunkRenderers")
|
||||
Set<ChunkRenderer> getChunksToUpdate();
|
||||
//#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user