From 921c9e0098456dcf2a9aed0521eca0afed03ff9e Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Thu, 15 Jun 2017 12:17:43 +0200 Subject: [PATCH] Update to 1.12 --- ReplayStudio | 2 +- build.gradle | 11 ++++---- jGui | 2 +- .../compat/shaders/ShaderBeginRender.java | 2 +- .../shaders/mixin/MixinShaderRenderChunk.java | 1 + .../com/replaymod/core/gui/GuiFactory.java | 25 ++++++++----------- .../com/replaymod/core/utils/OpenGLUtils.java | 4 +-- .../replaymod/core/utils/WrappedTimer.java | 13 ++++------ .../api/replay/holders/MinecraftVersion.java | 3 ++- .../replaymod/online/gui/GuiReplayCenter.java | 2 +- .../player/AbstractTimelinePlayer.java | 12 ++++----- .../recording/packet/PacketListener.java | 2 +- .../render/mixin/MixinParticleManager.java | 12 ++++----- .../render/rendering/VideoRenderer.java | 7 +++--- .../com/replaymod/replay/NoGuiScreenshot.java | 2 +- .../com/replaymod/replay/ReplayHandler.java | 8 +++--- .../com/replaymod/replay/ReplaySender.java | 5 ++-- .../replaymod/replay/camera/CameraEntity.java | 5 ++-- .../replay/gui/screen/GuiReplayViewer.java | 2 +- .../replaymod/replay/handler/GuiHandler.java | 6 ++--- .../replay/mixin/MixinPlayerControllerMP.java | 7 +++--- .../replay/mixin/MixinRenderItem.java | 2 +- .../MixinTileEntityEndPortalRenderer.java | 2 +- .../preview/PathPreviewRenderer.java | 8 +++--- 24 files changed, 73 insertions(+), 72 deletions(-) diff --git a/ReplayStudio b/ReplayStudio index d066d7e2..9a631e76 160000 --- a/ReplayStudio +++ b/ReplayStudio @@ -1 +1 @@ -Subproject commit d066d7e210b5c24778f945c9882e027e50d278a4 +Subproject commit 9a631e76265c42086f0076b0dcd4429d01bdb614 diff --git a/build.gradle b/build.gradle index 6d51a6a4..9d297d2f 100755 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ buildscript { } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' + classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' classpath 'org.spongepowered:mixingradle:0.4-SNAPSHOT' } } @@ -34,7 +34,7 @@ archivesBaseName = "replaymod" minecraft { coreMod = 'com.replaymod.core.LoadingPlugin' - version = '1.11.2-13.20.0.2216' + version = '1.12-14.21.0.2327' runDir = "eclipse" mappings = "snapshot_20161220" replace '@MOD_VERSION@', project.version @@ -46,9 +46,6 @@ repositories { name = "SpongePowered Repo" url = "http://repo.spongepowered.org/maven/" } - maven { - url 'https://repo.spacehq.org/content/repositories/snapshots/' - } } configurations { @@ -59,7 +56,9 @@ configurations { dependencies { compile 'org.projectlombok:lombok:1.16.4' - compile 'org.spongepowered:mixin:0.6.8-SNAPSHOT' + compile('org.spongepowered:mixin:0.6.11-SNAPSHOT') { + exclude group: 'org.apache.logging.log4j' + } shade 'com.googlecode.mp4parser:isoparser:1.1.7' shade 'org.apache.commons:commons-exec:1.3' shade 'com.google.apis:google-api-services-youtube:v3-rev178-1.22.0' diff --git a/jGui b/jGui index bd3fa93d..78ebb77a 160000 --- a/jGui +++ b/jGui @@ -1 +1 @@ -Subproject commit bd3fa93d7d531792c97958795eddd27438d1635a +Subproject commit 78ebb77aedd6c9bf6865f58970590c1a0cad9212 diff --git a/src/main/java/com/replaymod/compat/shaders/ShaderBeginRender.java b/src/main/java/com/replaymod/compat/shaders/ShaderBeginRender.java index 8404801b..e8919846 100644 --- a/src/main/java/com/replaymod/compat/shaders/ShaderBeginRender.java +++ b/src/main/java/com/replaymod/compat/shaders/ShaderBeginRender.java @@ -30,7 +30,7 @@ public class ShaderBeginRender { // check if Shaders are enabled if (!(boolean) (ShaderReflection.config_isShaders.invoke(null))) return; - ShaderReflection.shaders_beginRender.invoke(null, mc, mc.timer.elapsedPartialTicks, 0); + ShaderReflection.shaders_beginRender.invoke(null, mc, mc.timer.field_194147_b, 0); } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } diff --git a/src/main/java/com/replaymod/compat/shaders/mixin/MixinShaderRenderChunk.java b/src/main/java/com/replaymod/compat/shaders/mixin/MixinShaderRenderChunk.java index 3b4e9bc2..986e8025 100644 --- a/src/main/java/com/replaymod/compat/shaders/mixin/MixinShaderRenderChunk.java +++ b/src/main/java/com/replaymod/compat/shaders/mixin/MixinShaderRenderChunk.java @@ -20,6 +20,7 @@ public abstract class MixinShaderRenderChunk { */ @Inject(method = "isPlayerUpdate", at = @At("HEAD"), cancellable = true) private void replayModCompat_disableIsPlayerUpdate(CallbackInfoReturnable ci) { + // TODO: Update to 1.12 once optifine is available if (((EntityRendererHandler.IEntityRenderer) mc.entityRenderer).replayModRender_getHandler() == null) return; ci.setReturnValue(true); } diff --git a/src/main/java/com/replaymod/core/gui/GuiFactory.java b/src/main/java/com/replaymod/core/gui/GuiFactory.java index ca770c82..2940f62c 100644 --- a/src/main/java/com/replaymod/core/gui/GuiFactory.java +++ b/src/main/java/com/replaymod/core/gui/GuiFactory.java @@ -14,9 +14,19 @@ public class GuiFactory implements IModGuiFactory { } + @Override + public boolean hasConfigGui() { + return true; + } + + @Override + public GuiScreen createConfigGui(GuiScreen parentScreen) { + return new GuiReplaySettings(parentScreen, ReplayMod.instance.getSettingsRegistry()).toMinecraft(); + } + @Override public Class mainConfigGuiClass() { - return ConfigGuiWrapper.class; + return null; } @Override @@ -28,17 +38,4 @@ public class GuiFactory implements IModGuiFactory { public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element) { return null; } - - public static class ConfigGuiWrapper extends GuiScreen { - private final GuiScreen parent; - - public ConfigGuiWrapper(GuiScreen parent) { - this.parent = parent; - } - - @Override - public void initGui() { - new GuiReplaySettings(parent, ReplayMod.instance.getSettingsRegistry()).display(); - } - } } diff --git a/src/main/java/com/replaymod/core/utils/OpenGLUtils.java b/src/main/java/com/replaymod/core/utils/OpenGLUtils.java index b7260b7a..a6982739 100644 --- a/src/main/java/com/replaymod/core/utils/OpenGLUtils.java +++ b/src/main/java/com/replaymod/core/utils/OpenGLUtils.java @@ -1,8 +1,8 @@ package com.replaymod.core.utils; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.VertexBuffer; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import org.lwjgl.BufferUtils; import org.lwjgl.opengl.GL11; @@ -35,7 +35,7 @@ public class OpenGLUtils { float f5 = 1.0F / textureHeight; Tessellator tessellator = Tessellator.getInstance(); - VertexBuffer vertexBuffer = tessellator.getBuffer(); + BufferBuilder vertexBuffer = tessellator.getBuffer(); GlStateManager.translate(x+(width/2), y+(width/2), 0); GlStateManager.rotate(rotation, 0, 0, 1); vertexBuffer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); diff --git a/src/main/java/com/replaymod/core/utils/WrappedTimer.java b/src/main/java/com/replaymod/core/utils/WrappedTimer.java index 93d2bebf..bc7e464a 100644 --- a/src/main/java/com/replaymod/core/utils/WrappedTimer.java +++ b/src/main/java/com/replaymod/core/utils/WrappedTimer.java @@ -3,6 +3,8 @@ package com.replaymod.core.utils; import net.minecraft.util.Timer; public class WrappedTimer extends Timer { + public static final float DEFAULT_MS_PER_TICK = 1000 / 20; + protected final Timer wrapped; public WrappedTimer(Timer wrapped) { @@ -19,15 +21,10 @@ public class WrappedTimer extends Timer { } protected void copy(Timer from, Timer to) { - to.ticksPerSecond = from.ticksPerSecond; - to.lastHRTime = from.lastHRTime; to.elapsedTicks = from.elapsedTicks; - to.renderPartialTicks = from.renderPartialTicks; - to.timerSpeed = from.timerSpeed; - to.elapsedPartialTicks = from.elapsedPartialTicks; + to.field_194147_b = from.field_194147_b; // elapsedPartialTicks to.lastSyncSysClock = from.lastSyncSysClock; - to.lastSyncHRClock = from.lastSyncHRClock; - to.counter = from.counter; - to.timeSyncAdjustment = from.timeSyncAdjustment; + to.field_194148_c = from.field_194148_c; // lastTickDiff + to.field_194149_e = from.field_194149_e; // msPerTick } } diff --git a/src/main/java/com/replaymod/online/api/replay/holders/MinecraftVersion.java b/src/main/java/com/replaymod/online/api/replay/holders/MinecraftVersion.java index 065a7439..4499866e 100644 --- a/src/main/java/com/replaymod/online/api/replay/holders/MinecraftVersion.java +++ b/src/main/java/com/replaymod/online/api/replay/holders/MinecraftVersion.java @@ -6,7 +6,8 @@ public enum MinecraftVersion { MC_1_9_4("Minecraft 1.9.4", "1.9.4"), MC_1_10_2("Minecraft 1.10.2", "1.10.2"), MC_1_11("Minecraft 1.11", "1.11"), - MC_1_11_2("Minecraft 1.11.2", "1.11.2"); + MC_1_11_2("Minecraft 1.11.2", "1.11.2"), + MC_1_12("Minecraft 1.12", "1.12"); private String niceName, apiName; diff --git a/src/main/java/com/replaymod/online/gui/GuiReplayCenter.java b/src/main/java/com/replaymod/online/gui/GuiReplayCenter.java index 2470bd2d..34a19070 100644 --- a/src/main/java/com/replaymod/online/gui/GuiReplayCenter.java +++ b/src/main/java/com/replaymod/online/gui/GuiReplayCenter.java @@ -39,7 +39,7 @@ import de.johni0702.minecraft.gui.utils.Colors; import de.johni0702.minecraft.gui.utils.Consumer; import net.minecraftforge.fml.common.FMLLog; import org.apache.commons.io.FilenameUtils; -import org.apache.logging.log4j.core.helpers.Strings; +import org.apache.logging.log4j.util.Strings; import org.lwjgl.util.Dimension; import org.lwjgl.util.ReadableDimension; diff --git a/src/main/java/com/replaymod/pathing/player/AbstractTimelinePlayer.java b/src/main/java/com/replaymod/pathing/player/AbstractTimelinePlayer.java index 367d28ee..b49d9a80 100644 --- a/src/main/java/com/replaymod/pathing/player/AbstractTimelinePlayer.java +++ b/src/main/java/com/replaymod/pathing/player/AbstractTimelinePlayer.java @@ -6,6 +6,7 @@ import com.google.common.collect.Ordering; import com.google.common.primitives.Longs; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.SettableFuture; +import com.replaymod.core.utils.WrappedTimer; import com.replaymod.replay.ReplayHandler; import com.replaymod.replaystudio.pathing.path.Keyframe; import com.replaymod.replaystudio.pathing.path.Path; @@ -68,8 +69,8 @@ public abstract class AbstractTimelinePlayer { MinecraftForge.EVENT_BUS.register(this); lastTime = 0; mc.timer = new ReplayTimer(mc.timer); - mc.timer.timerSpeed = 1; - mc.timer.elapsedPartialTicks = mc.timer.elapsedTicks = 0; + mc.timer.field_194149_e = WrappedTimer.DEFAULT_MS_PER_TICK; + mc.timer.field_194147_b = mc.timer.elapsedTicks = 0; return future = settableFuture = SettableFuture.create(); } @@ -107,10 +108,9 @@ public abstract class AbstractTimelinePlayer { float timeInTicks = replayTime / 50f; float previousTimeInTicks = lastTime / 50f; float passedTicks = timeInTicks - previousTimeInTicks; - mc.timer.elapsedPartialTicks += passedTicks; - mc.timer.elapsedTicks = (int) mc.timer.elapsedPartialTicks; - mc.timer.elapsedPartialTicks -= mc.timer.elapsedTicks; - mc.timer.renderPartialTicks = mc.timer.elapsedPartialTicks; + mc.timer.field_194147_b += passedTicks; + mc.timer.elapsedTicks = (int) mc.timer.field_194147_b; + mc.timer.field_194147_b -= mc.timer.elapsedTicks; lastTime = replayTime; diff --git a/src/main/java/com/replaymod/recording/packet/PacketListener.java b/src/main/java/com/replaymod/recording/packet/PacketListener.java index 6d5ace71..47861f60 100755 --- a/src/main/java/com/replaymod/recording/packet/PacketListener.java +++ b/src/main/java/com/replaymod/recording/packet/PacketListener.java @@ -197,7 +197,7 @@ public class PacketListener extends ChannelInboundHandlerAdapter { } @SuppressWarnings("unchecked") - private byte[] getPacketData(Packet packet) throws IOException { + private byte[] getPacketData(Packet packet) throws Exception { if (packet instanceof SPacketSpawnMob) { SPacketSpawnMob p = (SPacketSpawnMob) packet; if (p.dataManager == null) { diff --git a/src/main/java/com/replaymod/render/mixin/MixinParticleManager.java b/src/main/java/com/replaymod/render/mixin/MixinParticleManager.java index 867cf624..5f7f846d 100644 --- a/src/main/java/com/replaymod/render/mixin/MixinParticleManager.java +++ b/src/main/java/com/replaymod/render/mixin/MixinParticleManager.java @@ -4,7 +4,7 @@ import com.replaymod.render.hooks.EntityRendererHandler; import net.minecraft.client.Minecraft; import net.minecraft.client.particle.Particle; import net.minecraft.client.particle.ParticleManager; -import net.minecraft.client.renderer.VertexBuffer; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.entity.Entity; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -12,19 +12,19 @@ import org.spongepowered.asm.mixin.injection.Redirect; @Mixin(ParticleManager.class) public abstract class MixinParticleManager { - @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")) - private void renderNormalParticle(Particle particle, VertexBuffer 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, float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) { renderParticle(particle, vertexBuffer, view, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY); } - @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, + @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, float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) { renderParticle(particle, vertexBuffer, view, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY); } - private void renderParticle(Particle particle, VertexBuffer vertexBuffer, Entity view, float partialTicks, + private void renderParticle(Particle particle, BufferBuilder vertexBuffer, Entity view, float partialTicks, float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) { EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) Minecraft.getMinecraft().entityRenderer).replayModRender_getHandler(); if (handler != null && handler.omnidirectional) { diff --git a/src/main/java/com/replaymod/render/rendering/VideoRenderer.java b/src/main/java/com/replaymod/render/rendering/VideoRenderer.java index 2fea303a..953da3dd 100644 --- a/src/main/java/com/replaymod/render/rendering/VideoRenderer.java +++ b/src/main/java/com/replaymod/render/rendering/VideoRenderer.java @@ -1,5 +1,6 @@ package com.replaymod.render.rendering; +import com.replaymod.core.utils.WrappedTimer; import com.replaymod.pathing.player.AbstractTimelinePlayer; import com.replaymod.pathing.player.ReplayTimer; import com.replaymod.pathing.properties.TimestampProperty; @@ -111,8 +112,8 @@ public class VideoRenderer implements RenderInfo { if (videoStart > 1000) { int replayTime = videoStart - 1000; - timer.elapsedPartialTicks = timer.renderPartialTicks = 0; - timer.timerSpeed = 1; + timer.field_194147_b = 0; + timer.field_194149_e = WrappedTimer.DEFAULT_MS_PER_TICK; while (replayTime < videoStart) { timer.elapsedTicks = 1; replayTime += 50; @@ -167,7 +168,7 @@ public class VideoRenderer implements RenderInfo { mc.displayHeight = displayHeightBefore; framesDone++; - return mc.timer.renderPartialTicks; + return mc.timer.field_194147_b; } @Override diff --git a/src/main/java/com/replaymod/replay/NoGuiScreenshot.java b/src/main/java/com/replaymod/replay/NoGuiScreenshot.java index 1fdfff51..588269ff 100644 --- a/src/main/java/com/replaymod/replay/NoGuiScreenshot.java +++ b/src/main/java/com/replaymod/replay/NoGuiScreenshot.java @@ -43,7 +43,7 @@ public class NoGuiScreenshot { mc.getFramebuffer().bindFramebuffer(true); GlStateManager.enableTexture2D(); - mc.entityRenderer.updateCameraAndRender(mc.timer.renderPartialTicks, System.nanoTime()); + mc.entityRenderer.updateCameraAndRender(mc.timer.field_194147_b, System.nanoTime()); mc.getFramebuffer().unbindFramebuffer(); GlStateManager.popMatrix(); diff --git a/src/main/java/com/replaymod/replay/ReplayHandler.java b/src/main/java/com/replaymod/replay/ReplayHandler.java index cfcfc918..57d186df 100755 --- a/src/main/java/com/replaymod/replay/ReplayHandler.java +++ b/src/main/java/com/replaymod/replay/ReplayHandler.java @@ -3,6 +3,7 @@ package com.replaymod.replay; import com.google.common.base.Preconditions; import com.mojang.authlib.GameProfile; import com.replaymod.core.utils.Restrictions; +import com.replaymod.core.utils.WrappedTimer; import com.replaymod.replay.camera.CameraEntity; import com.replaymod.replay.camera.SpectatorCameraController; import com.replaymod.replay.events.ReplayCloseEvent; @@ -119,7 +120,7 @@ public class ReplayHandler { mc.loadWorld(null); } - mc.timer.timerSpeed = 1; + mc.timer.field_194149_e = WrappedTimer.DEFAULT_MS_PER_TICK; overlay.setVisible(false); ReplayModReplay.instance.replayHandler = null; @@ -141,13 +142,14 @@ public class ReplayHandler { networkManager.setNetHandler(netHandlerPlayClient); FMLClientHandler.instance().setPlayClient(netHandlerPlayClient); - channel = new EmbeddedChannel(networkManager); + channel = new EmbeddedChannel(); NetworkDispatcher networkDispatcher = new NetworkDispatcher(networkManager); channel.attr(NetworkDispatcher.FML_DISPATCHER).set(networkDispatcher); channel.pipeline().addFirst("ReplayModReplay_replaySender", replaySender); - channel.pipeline().addAfter("ReplayModReplay_replaySender", "fml:packet_handler", networkDispatcher); + channel.pipeline().addLast("packet_handler", networkManager); channel.pipeline().fireChannelActive(); + networkDispatcher.clientToServerHandshake(); } public ReplayFile getReplayFile() { diff --git a/src/main/java/com/replaymod/replay/ReplaySender.java b/src/main/java/com/replaymod/replay/ReplaySender.java index 213b63f4..b749d3a7 100755 --- a/src/main/java/com/replaymod/replay/ReplaySender.java +++ b/src/main/java/com/replaymod/replay/ReplaySender.java @@ -4,6 +4,7 @@ import com.google.common.base.Preconditions; import com.google.common.io.Files; import com.google.common.util.concurrent.ListenableFutureTask; import com.replaymod.core.utils.Restrictions; +import com.replaymod.core.utils.WrappedTimer; import com.replaymod.replay.camera.CameraEntity; import com.replaymod.replaystudio.replay.ReplayFile; import io.netty.buffer.ByteBuf; @@ -518,7 +519,7 @@ public class ReplaySender extends ChannelInboundHandlerAdapter { * @return {@code true} if it is paused, {@code false} otherwise */ public boolean paused() { - return mc.timer.timerSpeed == 0; + return mc.timer.field_194149_e == Float.POSITIVE_INFINITY; } /** @@ -538,7 +539,7 @@ public class ReplaySender extends ChannelInboundHandlerAdapter { */ public void setReplaySpeed(final double d) { if(d != 0) this.replaySpeed = d; - mc.timer.timerSpeed = (float) d; + mc.timer.field_194149_e = WrappedTimer.DEFAULT_MS_PER_TICK / (float) d; } ///////////////////////////////////////////////////////// diff --git a/src/main/java/com/replaymod/replay/camera/CameraEntity.java b/src/main/java/com/replaymod/replay/camera/CameraEntity.java index dc4f5a18..fb413090 100755 --- a/src/main/java/com/replaymod/replay/camera/CameraEntity.java +++ b/src/main/java/com/replaymod/replay/camera/CameraEntity.java @@ -19,6 +19,7 @@ import net.minecraft.entity.EntityLiving; import net.minecraft.entity.item.EntityItemFrame; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.EntityEquipmentSlot; +import net.minecraft.stats.RecipeBook; import net.minecraft.stats.StatisticsManager; import net.minecraft.util.EnumHand; import net.minecraft.util.ResourceLocation; @@ -66,8 +67,8 @@ public class CameraEntity extends EntityPlayerSP { */ private final EventHandler eventHandler = new EventHandler(); - public CameraEntity(Minecraft mcIn, World worldIn, NetHandlerPlayClient netHandlerPlayClient, StatisticsManager statisticsManager) { - super(mcIn, worldIn, netHandlerPlayClient, statisticsManager); + public CameraEntity(Minecraft mcIn, World worldIn, NetHandlerPlayClient netHandlerPlayClient, StatisticsManager statisticsManager, RecipeBook recipeBook) { + super(mcIn, worldIn, netHandlerPlayClient, statisticsManager, recipeBook); MinecraftForge.EVENT_BUS.register(eventHandler); if (ReplayModReplay.instance.getReplayHandler().getSpectatedUUID() == null) { cameraController = ReplayModReplay.instance.createCameraController(this); diff --git a/src/main/java/com/replaymod/replay/gui/screen/GuiReplayViewer.java b/src/main/java/com/replaymod/replay/gui/screen/GuiReplayViewer.java index b9ba3961..02c31a05 100755 --- a/src/main/java/com/replaymod/replay/gui/screen/GuiReplayViewer.java +++ b/src/main/java/com/replaymod/replay/gui/screen/GuiReplayViewer.java @@ -34,7 +34,7 @@ import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOCase; import org.apache.commons.io.filefilter.SuffixFileFilter; import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.core.helpers.Strings; +import org.apache.logging.log4j.util.Strings; import org.lwjgl.Sys; import org.lwjgl.util.Dimension; import org.lwjgl.util.ReadableDimension; diff --git a/src/main/java/com/replaymod/replay/handler/GuiHandler.java b/src/main/java/com/replaymod/replay/handler/GuiHandler.java index 25af1b22..5c15898a 100644 --- a/src/main/java/com/replaymod/replay/handler/GuiHandler.java +++ b/src/main/java/com/replaymod/replay/handler/GuiHandler.java @@ -17,7 +17,7 @@ import java.util.List; public class GuiHandler { private static final int BUTTON_EXIT_SERVER = 1; - private static final int BUTTON_ACHIEVEMENTS = 5; + private static final int BUTTON_ADVANCEMENTS = 5; private static final int BUTTON_STATS = 6; private static final int BUTTON_OPEN_TO_LAN = 7; @@ -55,8 +55,8 @@ public class GuiHandler { b.displayString = I18n.format("replaymod.gui.exit"); b.id = BUTTON_EXIT_REPLAY; break; - // Remove "Achievements", "Stats" and "Open to LAN" buttons - case BUTTON_ACHIEVEMENTS: + // Remove "Advancements", "Stats" and "Open to LAN" buttons + case BUTTON_ADVANCEMENTS: buttonList.remove(achievements = b); break; case BUTTON_STATS: diff --git a/src/main/java/com/replaymod/replay/mixin/MixinPlayerControllerMP.java b/src/main/java/com/replaymod/replay/mixin/MixinPlayerControllerMP.java index 9aefe1ac..2cb82659 100644 --- a/src/main/java/com/replaymod/replay/mixin/MixinPlayerControllerMP.java +++ b/src/main/java/com/replaymod/replay/mixin/MixinPlayerControllerMP.java @@ -6,6 +6,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.multiplayer.PlayerControllerMP; import net.minecraft.client.network.NetHandlerPlayClient; +import net.minecraft.stats.RecipeBook; import net.minecraft.stats.StatisticsManager; import net.minecraft.world.World; import org.spongepowered.asm.mixin.Mixin; @@ -23,10 +24,10 @@ public abstract class MixinPlayerControllerMP { @Shadow private NetHandlerPlayClient connection; - @Inject(method = "createClientPlayer", at=@At("HEAD"), cancellable = true) - private void replayModReplay_createReplayCamera(World worldIn, StatisticsManager statisticsManager, CallbackInfoReturnable ci) { + @Inject(method = "func_192830_a", at=@At("HEAD"), cancellable = true) + private void replayModReplay_createReplayCamera(World worldIn, StatisticsManager statisticsManager, RecipeBook recipeBook, CallbackInfoReturnable ci) { if (ReplayModReplay.instance.getReplayHandler() != null) { - ci.setReturnValue(new CameraEntity(mc, worldIn, connection, statisticsManager)); + ci.setReturnValue(new CameraEntity(mc, worldIn, connection, statisticsManager, recipeBook)); ci.cancel(); } } diff --git a/src/main/java/com/replaymod/replay/mixin/MixinRenderItem.java b/src/main/java/com/replaymod/replay/mixin/MixinRenderItem.java index 542aa978..5e09555d 100644 --- a/src/main/java/com/replaymod/replay/mixin/MixinRenderItem.java +++ b/src/main/java/com/replaymod/replay/mixin/MixinRenderItem.java @@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.Redirect; @Mixin(RenderItem.class) public class MixinRenderItem { - @Redirect(method = "renderEffect", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J")) + @Redirect(method = "func_191966_a", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J")) private long getEnchantmentTime() { ReplayHandler replayHandler = ReplayModReplay.instance.getReplayHandler(); if (replayHandler != null) { diff --git a/src/main/java/com/replaymod/replay/mixin/MixinTileEntityEndPortalRenderer.java b/src/main/java/com/replaymod/replay/mixin/MixinTileEntityEndPortalRenderer.java index aa824ec9..3c7ffc17 100644 --- a/src/main/java/com/replaymod/replay/mixin/MixinTileEntityEndPortalRenderer.java +++ b/src/main/java/com/replaymod/replay/mixin/MixinTileEntityEndPortalRenderer.java @@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.Redirect; @Mixin(TileEntityEndPortalRenderer.class) public class MixinTileEntityEndPortalRenderer { - @Redirect(method = "renderTileEntityAt", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J")) + @Redirect(method = "func_192841_a", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J")) private long replayModReplay_getEnchantmentTime() { ReplayHandler replayHandler = ReplayModReplay.instance.getReplayHandler(); if (replayHandler != null) { diff --git a/src/main/java/com/replaymod/simplepathing/preview/PathPreviewRenderer.java b/src/main/java/com/replaymod/simplepathing/preview/PathPreviewRenderer.java index 092c861a..3cfe26f4 100644 --- a/src/main/java/com/replaymod/simplepathing/preview/PathPreviewRenderer.java +++ b/src/main/java/com/replaymod/simplepathing/preview/PathPreviewRenderer.java @@ -15,9 +15,9 @@ import com.replaymod.simplepathing.ReplayModSimplePathing; import com.replaymod.simplepathing.SPTimeline; import com.replaymod.simplepathing.gui.GuiPathing; import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.VertexBuffer; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; @@ -204,7 +204,7 @@ public class PathPreviewRenderer { if (distanceSquared(view, pos2) > renderDistanceSquared) return; Tessellator tessellator = Tessellator.getInstance(); - VertexBuffer vertexBuffer = tessellator.getBuffer(); + BufferBuilder vertexBuffer = tessellator.getBuffer(); vertexBuffer.setTranslation(-view.getLeft(), -view.getMiddle(), -view.getRight()); vertexBuffer.begin(GL11.GL_LINES, DefaultVertexFormats.POSITION_COLOR); @@ -231,7 +231,7 @@ public class PathPreviewRenderer { Triple pos, Keyframe keyframe) { Tessellator tessellator = Tessellator.getInstance(); - VertexBuffer vertexBuffer = tessellator.getBuffer(); + BufferBuilder vertexBuffer = tessellator.getBuffer(); vertexBuffer.setTranslation(0, 0, 0); mc.renderEngine.bindTexture(TEXTURE); @@ -280,7 +280,7 @@ public class PathPreviewRenderer { Triple pos, Triple rot) { Tessellator tessellator = Tessellator.getInstance(); - VertexBuffer vertexBuffer = tessellator.getBuffer(); + BufferBuilder vertexBuffer = tessellator.getBuffer(); vertexBuffer.setTranslation(0, 0, 0); mc.renderEngine.bindTexture(CAMERA_HEAD);