Switch core to 1.14 (generated via ./gradlew :1.14:setCoreVersion)

This commit is contained in:
Jonas Herzig
2019-05-10 14:09:22 +02:00
parent 7f7d33def8
commit 7cbf7f7c94
183 changed files with 3250 additions and 3250 deletions

View File

@@ -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

View File

@@ -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);

View File

@@ -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

View File

@@ -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))

View File

@@ -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();

View File

@@ -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

View File

@@ -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);
}
}

View File

@@ -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

View File

@@ -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();
}

View File

@@ -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);
}
}
}

View File

@@ -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);
}
}
}

View File

@@ -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
}