Fix some render stuff but it's still broken
This commit is contained in:
@@ -20,6 +20,7 @@ package baritone.launch.mixins;
|
|||||||
import baritone.api.BaritoneAPI;
|
import baritone.api.BaritoneAPI;
|
||||||
import baritone.api.IBaritone;
|
import baritone.api.IBaritone;
|
||||||
import baritone.api.event.events.RenderEvent;
|
import baritone.api.event.events.RenderEvent;
|
||||||
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import net.minecraft.client.renderer.GameRenderer;
|
import net.minecraft.client.renderer.GameRenderer;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
@@ -30,14 +31,14 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|||||||
public class MixinGameRenderer {
|
public class MixinGameRenderer {
|
||||||
|
|
||||||
@Inject(
|
@Inject(
|
||||||
method = "updateCameraAndRender",
|
method = "func_228378_a_",
|
||||||
at = @At(
|
at = @At(
|
||||||
value = "INVOKE_STRING",
|
value = "INVOKE_STRING",
|
||||||
target = "Lnet/minecraft/profiler/IProfiler;endStartSection(Ljava/lang/String;)V",
|
target = "Lnet/minecraft/profiler/IProfiler;endStartSection(Ljava/lang/String;)V",
|
||||||
args = {"ldc=hand"}
|
args = {"ldc=hand"}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
private void renderWorldPass(float partialTicks, long finishTimeNano, boolean idfk, CallbackInfo ci) {
|
private void renderWorldPass(float partialTicks, long finishTimeNano, MatrixStack idfk, CallbackInfo ci) {
|
||||||
for (IBaritone ibaritone : BaritoneAPI.getProvider().getAllBaritones()) {
|
for (IBaritone ibaritone : BaritoneAPI.getProvider().getAllBaritones()) {
|
||||||
ibaritone.getGameEventHandler().onRenderPass(new RenderEvent(partialTicks));
|
ibaritone.getGameEventHandler().onRenderPass(new RenderEvent(partialTicks));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,19 +23,25 @@ import baritone.api.pathing.goals.GoalBlock;
|
|||||||
import baritone.api.pathing.goals.GoalTwoBlocks;
|
import baritone.api.pathing.goals.GoalTwoBlocks;
|
||||||
import baritone.api.utils.BetterBlockPos;
|
import baritone.api.utils.BetterBlockPos;
|
||||||
import baritone.api.utils.Helper;
|
import baritone.api.utils.Helper;
|
||||||
|
import com.mojang.blaze3d.platform.GlStateManager;
|
||||||
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
|
import net.minecraft.client.entity.player.ClientPlayerEntity;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.util.math.Vec3d;
|
import net.minecraft.util.math.*;
|
||||||
import net.minecraft.util.text.ITextComponent;
|
import net.minecraft.util.text.ITextComponent;
|
||||||
import net.minecraft.util.text.StringTextComponent;
|
import net.minecraft.util.text.StringTextComponent;
|
||||||
import net.minecraft.util.text.TextFormatting;
|
import net.minecraft.util.text.TextFormatting;
|
||||||
import net.minecraft.util.text.event.ClickEvent;
|
import net.minecraft.util.text.event.ClickEvent;
|
||||||
import org.lwjgl.BufferUtils;
|
import org.lwjgl.BufferUtils;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
import static baritone.api.command.IBaritoneChatControl.FORCE_COMMAND_PREFIX;
|
import static baritone.api.command.IBaritoneChatControl.FORCE_COMMAND_PREFIX;
|
||||||
|
import static org.lwjgl.opengl.GL11.*;
|
||||||
|
|
||||||
public class GuiClick extends Screen implements Helper {
|
public class GuiClick extends Screen implements Helper {
|
||||||
|
|
||||||
@@ -61,21 +67,21 @@ public class GuiClick extends Screen implements Helper {
|
|||||||
public void render(int mouseX, int mouseY, float partialTicks) {
|
public void render(int mouseX, int mouseY, float partialTicks) {
|
||||||
double mx = mc.mouseHelper.getMouseX();
|
double mx = mc.mouseHelper.getMouseX();
|
||||||
double my = mc.mouseHelper.getMouseY();
|
double my = mc.mouseHelper.getMouseY();
|
||||||
//FIXME this entire class
|
|
||||||
/*my = mc.mainWindow.getHeight() - my;
|
my = mc.func_228018_at_().getHeight() - my;
|
||||||
my *= mc.mainWindow.getFramebufferHeight() / (double) mc.mainWindow.getHeight();
|
my *= mc.func_228018_at_().getFramebufferHeight() / (double) mc.func_228018_at_().getHeight();
|
||||||
mx *= mc.mainWindow.getFramebufferWidth() / (double) mc.mainWindow.getWidth();
|
mx *= mc.func_228018_at_().getFramebufferWidth() / (double) mc.func_228018_at_().getWidth();
|
||||||
Vec3d near = toWorld(mx, my, 0);
|
Vec3d near = toWorld(mx, my, 0);
|
||||||
Vec3d far = toWorld(mx, my, 1); // "Use 0.945 that's what stack overflow says" - leijurv
|
Vec3d far = toWorld(mx, my, 1); // "Use 0.945 that's what stack overflow says" - leijurv
|
||||||
if (near != null && far != null) {
|
if (near != null && far != null) {
|
||||||
///
|
///
|
||||||
Vec3d viewerPos = new Vec3d(PathRenderer.getPositionVec().x(), PathRenderer.getPositionVec().y(), PathRenderer.getPositionVec().z());
|
Vec3d viewerPos = new Vec3d(PathRenderer.posX(), PathRenderer.posY(), PathRenderer.posZ());
|
||||||
ClientPlayerEntity player = BaritoneAPI.getProvider().getPrimaryBaritone().getPlayerContext().player();
|
ClientPlayerEntity player = BaritoneAPI.getProvider().getPrimaryBaritone().getPlayerContext().player();
|
||||||
RayTraceResult result = player.world.rayTraceBlocks(new RayTraceContext(near.add(viewerPos), far.add(viewerPos), RayTraceContext.BlockMode.OUTLINE, RayTraceContext.FluidMode.NONE, player));
|
RayTraceResult result = player.world.rayTraceBlocks(new RayTraceContext(near.add(viewerPos), far.add(viewerPos), RayTraceContext.BlockMode.OUTLINE, RayTraceContext.FluidMode.NONE, player));
|
||||||
if (result != null && result.getType() == RayTraceResult.Type.BLOCK) {
|
if (result != null && result.getType() == RayTraceResult.Type.BLOCK) {
|
||||||
currentMouseOver = ((BlockRayTraceResult) result).getPos();
|
currentMouseOver = ((BlockRayTraceResult) result).getPos();
|
||||||
}
|
}
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -110,33 +116,32 @@ public class GuiClick extends Screen implements Helper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onRender() {
|
public void onRender() {
|
||||||
//FIXME
|
glGetFloatv(GL_MODELVIEW_MATRIX, (FloatBuffer) MODELVIEW.clear());
|
||||||
/*GlStateManager.getMatrix(GL_MODELVIEW_MATRIX, (FloatBuffer) MODELVIEW.clear());
|
glGetFloatv(GL_PROJECTION_MATRIX, (FloatBuffer) PROJECTION.clear());
|
||||||
GlStateManager.getMatrix(GL_PROJECTION_MATRIX, (FloatBuffer) PROJECTION.clear());
|
glGetIntegerv(GL_VIEWPORT, (IntBuffer) VIEWPORT.clear());
|
||||||
GL11.glGetIntegerv(GL_VIEWPORT, (IntBuffer) VIEWPORT.clear());
|
|
||||||
|
|
||||||
if (currentMouseOver != null) {
|
if (currentMouseOver != null) {
|
||||||
Entity e = mc.getRenderViewEntity();
|
Entity e = mc.getRenderViewEntity();
|
||||||
// drawSingleSelectionBox WHEN?
|
// drawSingleSelectionBox WHEN?
|
||||||
PathRenderer.drawManySelectionBoxes(e, Collections.singletonList(currentMouseOver), Color.CYAN);
|
PathRenderer.drawManySelectionBoxes(e, Collections.singletonList(currentMouseOver), Color.CYAN);
|
||||||
if (clickStart != null && !clickStart.equals(currentMouseOver)) {
|
if (clickStart != null && !clickStart.equals(currentMouseOver)) {
|
||||||
GlStateManager.enableBlend();
|
RenderSystem.enableBlend();
|
||||||
GlStateManager.blendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ZERO);
|
RenderSystem.blendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ZERO);
|
||||||
GlStateManager.color4f(Color.RED.getColorComponents(null)[0], Color.RED.getColorComponents(null)[1], Color.RED.getColorComponents(null)[2], 0.4F);
|
RenderSystem.color4f(Color.RED.getColorComponents(null)[0], Color.RED.getColorComponents(null)[1], Color.RED.getColorComponents(null)[2], 0.4F);
|
||||||
GlStateManager.lineWidth(Baritone.settings().pathRenderLineWidthPixels.value);
|
RenderSystem.lineWidth(Baritone.settings().pathRenderLineWidthPixels.value);
|
||||||
GlStateManager.disableTexture();
|
RenderSystem.disableTexture();
|
||||||
GlStateManager.depthMask(false);
|
RenderSystem.depthMask(false);
|
||||||
GlStateManager.disableDepthTest();
|
RenderSystem.disableDepthTest();
|
||||||
BetterBlockPos a = new BetterBlockPos(currentMouseOver);
|
BetterBlockPos a = new BetterBlockPos(currentMouseOver);
|
||||||
BetterBlockPos b = new BetterBlockPos(clickStart);
|
BetterBlockPos b = new BetterBlockPos(clickStart);
|
||||||
IRenderer.drawAABB(new AxisAlignedBB(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.min(a.z, b.z), Math.max(a.x, b.x) + 1, Math.max(a.y, b.y) + 1, Math.max(a.z, b.z) + 1));
|
IRenderer.drawAABB(new AxisAlignedBB(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.min(a.z, b.z), Math.max(a.x, b.x) + 1, Math.max(a.y, b.y) + 1, Math.max(a.z, b.z) + 1));
|
||||||
GlStateManager.enableDepthTest();
|
RenderSystem.enableDepthTest();
|
||||||
|
|
||||||
GlStateManager.depthMask(true);
|
RenderSystem.depthMask(true);
|
||||||
GlStateManager.enableTexture();
|
RenderSystem.enableTexture();
|
||||||
GlStateManager.disableBlend();
|
RenderSystem.disableBlend();
|
||||||
}
|
}
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Vec3d toWorld(double x, double y, double z) {
|
private Vec3d toWorld(double x, double y, double z) {
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import baritone.api.BaritoneAPI;
|
|||||||
import baritone.api.Settings;
|
import baritone.api.Settings;
|
||||||
import baritone.api.utils.Helper;
|
import baritone.api.utils.Helper;
|
||||||
import baritone.utils.accessor.IEntityRenderManager;
|
import baritone.utils.accessor.IEntityRenderManager;
|
||||||
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import net.minecraft.client.renderer.BufferBuilder;
|
import net.minecraft.client.renderer.BufferBuilder;
|
||||||
import net.minecraft.client.renderer.Tessellator;
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
||||||
@@ -28,7 +29,7 @@ import net.minecraft.util.math.AxisAlignedBB;
|
|||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
import static org.lwjgl.opengl.GL11.GL_LINES;
|
import static org.lwjgl.opengl.GL11.*;
|
||||||
|
|
||||||
public interface IRenderer {
|
public interface IRenderer {
|
||||||
|
|
||||||
@@ -37,24 +38,23 @@ public interface IRenderer {
|
|||||||
IEntityRenderManager renderManager = (IEntityRenderManager) Helper.mc.getRenderManager();
|
IEntityRenderManager renderManager = (IEntityRenderManager) Helper.mc.getRenderManager();
|
||||||
Settings settings = BaritoneAPI.getSettings();
|
Settings settings = BaritoneAPI.getSettings();
|
||||||
|
|
||||||
//FIXME this entire class
|
|
||||||
static void glColor(Color color, float alpha) {
|
static void glColor(Color color, float alpha) {
|
||||||
float[] colorComponents = color.getColorComponents(null);
|
float[] colorComponents = color.getColorComponents(null);
|
||||||
//GlStateManager.color4f(colorComponents[0], colorComponents[1], colorComponents[2], alpha);
|
RenderSystem.color4f(colorComponents[0], colorComponents[1], colorComponents[2], alpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void startLines(Color color, float alpha, float lineWidth, boolean ignoreDepth) {
|
static void startLines(Color color, float alpha, float lineWidth, boolean ignoreDepth) {
|
||||||
/*GlStateManager.enableBlend();
|
RenderSystem.enableBlend();
|
||||||
GlStateManager.disableLighting();
|
RenderSystem.disableLighting();
|
||||||
GlStateManager.blendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ZERO);
|
RenderSystem.blendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ZERO);
|
||||||
glColor(color, alpha);
|
glColor(color, alpha);
|
||||||
GlStateManager.lineWidth(lineWidth);
|
RenderSystem.lineWidth(lineWidth);
|
||||||
GlStateManager.disableTexture();
|
RenderSystem.disableTexture();
|
||||||
GlStateManager.depthMask(false);
|
RenderSystem.depthMask(false);
|
||||||
|
|
||||||
if (ignoreDepth) {
|
if (ignoreDepth) {
|
||||||
GlStateManager.disableDepthTest();
|
RenderSystem.disableDepthTest();
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void startLines(Color color, float lineWidth, boolean ignoreDepth) {
|
static void startLines(Color color, float lineWidth, boolean ignoreDepth) {
|
||||||
@@ -62,14 +62,14 @@ public interface IRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void endLines(boolean ignoredDepth) {
|
static void endLines(boolean ignoredDepth) {
|
||||||
/*if (ignoredDepth) {
|
if (ignoredDepth) {
|
||||||
GlStateManager.enableDepthTest();
|
RenderSystem.enableDepthTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
GlStateManager.depthMask(true);
|
RenderSystem.depthMask(true);
|
||||||
GlStateManager.enableTexture();
|
RenderSystem.enableTexture();
|
||||||
GlStateManager.enableLighting();
|
RenderSystem.enableLighting();
|
||||||
GlStateManager.disableBlend();*/
|
RenderSystem.disableBlend();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void drawAABB(AxisAlignedBB aabb) {
|
static void drawAABB(AxisAlignedBB aabb) {
|
||||||
|
|||||||
@@ -26,7 +26,9 @@ import baritone.api.utils.Helper;
|
|||||||
import baritone.api.utils.interfaces.IGoalRenderPos;
|
import baritone.api.utils.interfaces.IGoalRenderPos;
|
||||||
import baritone.behavior.PathingBehavior;
|
import baritone.behavior.PathingBehavior;
|
||||||
import baritone.pathing.path.PathExecutor;
|
import baritone.pathing.path.PathExecutor;
|
||||||
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
|
import net.minecraft.client.renderer.tileentity.BeaconTileEntityRenderer;
|
||||||
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
@@ -245,11 +247,12 @@ public final class PathRenderer implements IRenderer, Helper {
|
|||||||
|
|
||||||
Helper.mc.getTextureManager().bindTexture(TEXTURE_BEACON_BEAM);
|
Helper.mc.getTextureManager().bindTexture(TEXTURE_BEACON_BEAM);
|
||||||
if (settings.renderGoalIgnoreDepth.value) {
|
if (settings.renderGoalIgnoreDepth.value) {
|
||||||
// FIXME
|
RenderSystem.disableDepthTest();
|
||||||
//GlStateManager.disableDepthTest();
|
|
||||||
}
|
}
|
||||||
//FIXME
|
|
||||||
/* BeaconTileEntityRenderer.renderBeamSegment(
|
// FIXME
|
||||||
|
/*
|
||||||
|
BeaconTileEntityRenderer.renderBeamSegment(
|
||||||
goalPos.getX() - renderPosX,
|
goalPos.getX() - renderPosX,
|
||||||
-renderPosY,
|
-renderPosY,
|
||||||
goalPos.getZ() - renderPosZ,
|
goalPos.getZ() - renderPosZ,
|
||||||
@@ -263,11 +266,11 @@ public final class PathRenderer implements IRenderer, Helper {
|
|||||||
// Arguments filled by the private method lol
|
// Arguments filled by the private method lol
|
||||||
0.2D,
|
0.2D,
|
||||||
0.25D
|
0.25D
|
||||||
);*/
|
);
|
||||||
|
*/
|
||||||
|
|
||||||
if (settings.renderGoalIgnoreDepth.value) {
|
if (settings.renderGoalIgnoreDepth.value) {
|
||||||
//FIXME
|
RenderSystem.enableDepthTest();
|
||||||
//GlStateManager.enableDepthTest();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
glPopAttrib();
|
glPopAttrib();
|
||||||
|
|||||||
Reference in New Issue
Block a user