Move remaining mixins to replay module

This commit is contained in:
johni0702
2016-09-03 11:56:12 +02:00
parent 31eed8801a
commit 4de933516e
9 changed files with 35 additions and 59 deletions

View File

@@ -16,7 +16,6 @@ public class LoadingPlugin implements IFMLLoadingPlugin {
public LoadingPlugin() {
MixinBootstrap.init();
MixinEnvironment.getDefaultEnvironment().addConfiguration("mixins.replaymod.json");
MixinEnvironment.getDefaultEnvironment().addConfiguration("mixins.recording.replaymod.json");
MixinEnvironment.getDefaultEnvironment().addConfiguration("mixins.render.replaymod.json");
MixinEnvironment.getDefaultEnvironment().addConfiguration("mixins.replay.replaymod.json");

View File

@@ -1,4 +1,4 @@
package eu.crushedpixel.replaymod.mixin;
package com.replaymod.replay.mixin;
import com.replaymod.replay.camera.CameraEntity;
import net.minecraft.client.Minecraft;
@@ -16,6 +16,7 @@ public abstract class MixinGuiSpectator {
@Inject(method = "func_175260_a", at = @At("HEAD"), cancellable = true)
public void isInReplay(int i, CallbackInfo ci) {
// Prevent spectator gui from opening while in a replay
if (field_175268_g.thePlayer instanceof CameraEntity) {
ci.cancel();
}

View File

@@ -0,0 +1,22 @@
package com.replaymod.replay.mixin;
import com.replaymod.replay.ReplayModReplay;
import net.minecraft.client.renderer.culling.ICamera;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderArrow;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.Entity;
import org.spongepowered.asm.mixin.Mixin;
@Mixin(RenderArrow.class)
public abstract class MixinRenderArrow extends Render {
protected MixinRenderArrow(RenderManager renderManager) {
super(renderManager);
}
@Override
public boolean shouldRender(Entity entity, ICamera camera, double camX, double camY, double camZ) {
// Force arrows to always render, otherwise they stop rendering when you get close to them
return ReplayModReplay.instance.getReplayHandler() != null || super.shouldRender(entity, camera, camX, camY, camZ);
}
}

View File

@@ -1,4 +1,4 @@
package eu.crushedpixel.replaymod.mixin;
package com.replaymod.replay.mixin;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.entity.RenderManager;

View File

@@ -1,5 +1,6 @@
package eu.crushedpixel.replaymod.mixin;
package com.replaymod.replay.mixin;
import com.replaymod.replay.ReplayModReplay;
import net.minecraft.client.renderer.RenderGlobal;
import net.minecraft.client.renderer.ViewFrustum;
import net.minecraft.client.renderer.chunk.IRenderChunkFactory;
@@ -38,10 +39,9 @@ public abstract class MixinViewFrustum {
*/
@Inject(method = "updateChunkPositions", at = @At("HEAD"), cancellable = true)
public void fixedUpdateChunkPositions(double viewEntityX, double viewEntityZ, CallbackInfo ci) {
// TODO
// if (!ReplayHandler.isInReplay()) {
// return;
// }
if (ReplayModReplay.instance.getReplayHandler() == null) {
return;
}
int i = MathHelper.floor_double(viewEntityX) - 8;
int j = MathHelper.floor_double(viewEntityZ) - 8;

View File

@@ -1,17 +0,0 @@
package eu.crushedpixel.replaymod.mixin;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.SoundHandler;
import net.minecraft.entity.player.EntityPlayer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(Minecraft.class)
public class MixinMinecraft {
@Redirect(method = "runGameLoop", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/audio/SoundHandler;setListener(Lnet/minecraft/entity/player/EntityPlayer;F)V"))
public void setSoundSystemListener(SoundHandler soundHandler, EntityPlayer listener, float renderPartialTicks) {
//TODO might no longer be necessary?
// soundHandler.setListener(ReplayHandler.isInReplay() ? ReplayHandler.getCameraEntity() : listener, renderPartialTicks);
}
}

View File

@@ -1,19 +0,0 @@
package eu.crushedpixel.replaymod.mixin;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderArrow;
import net.minecraft.client.renderer.entity.RenderManager;
import org.spongepowered.asm.mixin.Mixin;
@Mixin(RenderArrow.class)
public abstract class MixinRenderArrow extends Render {
protected MixinRenderArrow(RenderManager renderManager) {
super(renderManager);
}
// TODO
// @Override
// public boolean shouldRender(Entity entity, ICamera camera, double camX, double camY, double camZ) {
// return ReplayHandler.isInReplay() || super.shouldRender(entity, camera, camX, camY, camZ);
// }
}

View File

@@ -2,9 +2,13 @@
"required": true,
"package": "com.replaymod.replay.mixin",
"mixins": [
"MixinGuiSpectator",
"MixinPlayerControllerMP",
"MixinRenderArrow",
"MixinRenderItem",
"MixinTileEntityEndPortalRenderer"
"MixinRenderManager",
"MixinTileEntityEndPortalRenderer",
"MixinViewFrustum"
],
"server": [],
"client": [],

View File

@@ -1,14 +0,0 @@
{
"required": true,
"package": "eu.crushedpixel.replaymod.mixin",
"mixins": [
"MixinGuiSpectator",
"MixinMinecraft",
"MixinRenderArrow",
"MixinRenderManager",
"MixinViewFrustum"
],
"server": [],
"client": [],
"refmap": "mixins.replaymod.refmap.json"
}