Update to 1.12
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public abstract class MixinShaderRenderChunk {
|
||||
*/
|
||||
@Inject(method = "isPlayerUpdate", at = @At("HEAD"), cancellable = true)
|
||||
private void replayModCompat_disableIsPlayerUpdate(CallbackInfoReturnable<Boolean> ci) {
|
||||
// TODO: Update to 1.12 once optifine is available
|
||||
if (((EntityRendererHandler.IEntityRenderer) mc.entityRenderer).replayModRender_getHandler() == null) return;
|
||||
ci.setReturnValue(true);
|
||||
}
|
||||
|
||||
@@ -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<? extends GuiScreen> 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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<EntityPlayerSP> ci) {
|
||||
@Inject(method = "func_192830_a", at=@At("HEAD"), cancellable = true)
|
||||
private void replayModReplay_createReplayCamera(World worldIn, StatisticsManager statisticsManager, RecipeBook recipeBook, CallbackInfoReturnable<EntityPlayerSP> 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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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<Double, Double, Double> 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<Double, Double, Double> pos,
|
||||
Triple<Float, Float, Float> rot) {
|
||||
Tessellator tessellator = Tessellator.getInstance();
|
||||
VertexBuffer vertexBuffer = tessellator.getBuffer();
|
||||
BufferBuilder vertexBuffer = tessellator.getBuffer();
|
||||
vertexBuffer.setTranslation(0, 0, 0);
|
||||
|
||||
mc.renderEngine.bindTexture(CAMERA_HEAD);
|
||||
|
||||
Reference in New Issue
Block a user