From 87b9d3915c24767f2e79753779341318f7c52718 Mon Sep 17 00:00:00 2001 From: Brady Date: Fri, 8 Mar 2019 15:03:58 -0600 Subject: [PATCH] Fix compiler errors unproject needs to be resolved --- .../java/baritone/utils/GuiClickMeme.java | 35 ++++++++++--------- .../java/baritone/utils/PathRenderer.java | 2 +- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/main/java/baritone/utils/GuiClickMeme.java b/src/main/java/baritone/utils/GuiClickMeme.java index 1163b1b0..f4077533 100644 --- a/src/main/java/baritone/utils/GuiClickMeme.java +++ b/src/main/java/baritone/utils/GuiClickMeme.java @@ -24,14 +24,13 @@ import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.entity.Entity; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceFluidMode; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.Vec3d; import org.lwjgl.BufferUtils; -import org.lwjgl.input.Mouse; -import org.lwjgl.util.glu.GLU; +import org.lwjgl.opengl.GL11; import java.awt.*; -import java.io.IOException; import java.nio.FloatBuffer; import java.nio.IntBuffer; import java.util.Collections; @@ -54,34 +53,35 @@ public class GuiClickMeme extends GuiScreen { } @Override - public void drawScreen(int mouseX, int mouseY, float partialTicks) { - int mx = Mouse.getX(); - int my = Mouse.getY(); + public void render(int mouseX, int mouseY, float partialTicks) { + double mx = mc.mouseHelper.getMouseX(); + double my = mc.mouseHelper.getMouseY(); Vec3d near = toWorld(mx, my, 0); Vec3d far = toWorld(mx, my, 1); // "Use 0.945 that's what stack overflow says" - Leijurv if (near != null && far != null) { Vec3d viewerPos = new Vec3d(mc.getRenderManager().viewerPosX, mc.getRenderManager().viewerPosY, mc.getRenderManager().viewerPosZ); - RayTraceResult result = mc.world.rayTraceBlocks(near.add(viewerPos), far.add(viewerPos), false, false, true); - if (result != null && result.typeOfHit == RayTraceResult.Type.BLOCK) { + RayTraceResult result = mc.world.rayTraceBlocks(near.add(viewerPos), far.add(viewerPos), RayTraceFluidMode.NEVER, false, true); + if (result != null && result.type == RayTraceResult.Type.BLOCK) { meme = result.getBlockPos(); } } } @Override - protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException { + public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) { super.mouseClicked(mouseX, mouseY, mouseButton); if (mouseButton == 0) { BaritoneAPI.getProvider().getPrimaryBaritone().getCustomGoalProcess().setGoalAndPath(new GoalTwoBlocks(meme)); } else if (mouseButton == 1) { BaritoneAPI.getProvider().getPrimaryBaritone().getCustomGoalProcess().setGoalAndPath(new GoalBlock(meme.up())); } + return false; } - public void onRender(float partialTicks) { - GlStateManager.getFloat(GL_MODELVIEW_MATRIX, (FloatBuffer) MODELVIEW.clear()); - GlStateManager.getFloat(GL_PROJECTION_MATRIX, (FloatBuffer) PROJECTION.clear()); - GlStateManager.glGetInteger(GL_VIEWPORT, (IntBuffer) VIEWPORT.clear()); + public void onRender() { + GlStateManager.getFloatv(GL_MODELVIEW_MATRIX, (FloatBuffer) MODELVIEW.clear()); + GlStateManager.getFloatv(GL_PROJECTION_MATRIX, (FloatBuffer) PROJECTION.clear()); + GL11.glGetIntegerv(GL_VIEWPORT, (IntBuffer) VIEWPORT.clear()); if (meme != null) { Entity e = mc.getRenderViewEntity(); @@ -91,10 +91,11 @@ public class GuiClickMeme extends GuiScreen { } public Vec3d toWorld(double x, double y, double z) { - boolean result = GLU.gluUnProject((float) x, (float) y, (float) z, MODELVIEW, PROJECTION, VIEWPORT, (FloatBuffer) TO_WORLD_BUFFER.clear()); - if (result) { - return new Vec3d(TO_WORLD_BUFFER.get(0), TO_WORLD_BUFFER.get(1), TO_WORLD_BUFFER.get(2)); - } + // TODO: Fix unproject +// boolean result = GLU.gluUnProject((float) x, (float) y, (float) z, MODELVIEW, PROJECTION, VIEWPORT, (FloatBuffer) TO_WORLD_BUFFER.clear()); +// if (result) { +// return new Vec3d(TO_WORLD_BUFFER.get(0), TO_WORLD_BUFFER.get(1), TO_WORLD_BUFFER.get(2)); +// } return null; } } diff --git a/src/main/java/baritone/utils/PathRenderer.java b/src/main/java/baritone/utils/PathRenderer.java index 5a474ea7..c64fcda6 100644 --- a/src/main/java/baritone/utils/PathRenderer.java +++ b/src/main/java/baritone/utils/PathRenderer.java @@ -62,7 +62,7 @@ public final class PathRenderer implements Helper { float partialTicks = event.getPartialTicks(); Goal goal = behavior.getGoal(); if (mc.currentScreen instanceof GuiClickMeme) { - ((GuiClickMeme) mc.currentScreen).onRender(partialTicks); + ((GuiClickMeme) mc.currentScreen).onRender(); } int thisPlayerDimension = behavior.baritone.getPlayerContext().world().getDimension().getType().getId();