aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions
diff options
context:
space:
mode:
authorsyeyoung <cyoung06@naver.com>2021-09-18 16:46:07 +0900
committersyeyoung <cyoung06@naver.com>2021-09-18 16:46:07 +0900
commit07f74480447495e6cd42237e4740fb082cb4b821 (patch)
tree0b1f61eac4e424f5adf924b94f67dfe71d57ba98 /src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions
parent44eef4302880c031465aae4d712f57ca366e2b44 (diff)
downloadSkyblock-Dungeons-Guide-07f74480447495e6cd42237e4740fb082cb4b821.tar.gz
Skyblock-Dungeons-Guide-07f74480447495e6cd42237e4740fb082cb4b821.tar.bz2
Skyblock-Dungeons-Guide-07f74480447495e6cd42237e4740fb082cb4b821.zip
Waypoints!
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions')
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMove.java14
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMoveNearestAir.java14
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree/ActionRoute.java8
3 files changed, 19 insertions, 17 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMove.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMove.java
index 26ab9176..f0b694b0 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMove.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMove.java
@@ -30,6 +30,7 @@ import net.minecraft.pathfinding.PathFinder;
import net.minecraft.pathfinding.PathPoint;
import net.minecraft.util.BlockPos;
import net.minecraft.util.MathHelper;
+import net.minecraft.util.Vec3;
import java.awt.*;
import java.util.ArrayList;
@@ -66,22 +67,23 @@ public class ActionMove extends AbstractAction {
float multiplier = distance / 120f; //mobs only render ~120 blocks away
float scale = 0.45f * multiplier;
scale *= 25.0 / 6.0;
+ if (FeatureRegistry.SECRET_BEACONS.isEnabled()) {
+ RenderUtils.renderBeaconBeam(pos.getX(), pos.getY(), pos.getZ(), FeatureRegistry.SECRET_BROWSE.getColor(), partialTicks);
+ RenderUtils.highlightBlock(pos, FeatureRegistry.SECRET_BROWSE.getColor(), partialTicks);
+ }
RenderUtils.drawTextAtWorld("Destination", pos.getX() + 0.5f, pos.getY() + 0.5f + scale, pos.getZ() + 0.5f, 0xFF00FF00, 1f, true, false, partialTicks);
RenderUtils.drawTextAtWorld(String.format("%.2f",MathHelper.sqrt_double(pos.distanceSq(Minecraft.getMinecraft().thePlayer.getPosition())))+"m", pos.getX() + 0.5f, pos.getY() + 0.5f - scale, pos.getZ() + 0.5f, 0xFFFFFF00, 1f, true, false, partialTicks);
if (!FeatureRegistry.SECRET_TOGGLE_KEY.isEnabled() || !Keybinds.togglePathfindStatus) {
if (poses != null){
- RenderUtils.drawLines(poses, FeatureRegistry.SECRET_BROWSE.getColor(), FeatureRegistry.SECRET_BROWSE.getThickness(), partialTicks, true);
+ RenderUtils.drawLinesVec3(poses, FeatureRegistry.SECRET_BROWSE.getColor(), FeatureRegistry.SECRET_BROWSE.getThickness(), partialTicks, true);
}
}
- if (FeatureRegistry.SECRET_BEACONS.isEnabled()) {
- RenderUtils.renderBeaconBeam(pos.getX(), pos.getY(), pos.getZ(), FeatureRegistry.SECRET_BROWSE.getColor(), partialTicks);
- }
}
private int tick = -1;
- private List<BlockPos> poses;
- private Future<List<BlockPos>> latestFuture;
+ private List<Vec3> poses;
+ private Future<List<Vec3>> latestFuture;
@Override
public void onTick(DungeonRoom dungeonRoom) {
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMoveNearestAir.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMoveNearestAir.java
index beaa4076..b2746157 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMoveNearestAir.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMoveNearestAir.java
@@ -29,6 +29,7 @@ import net.minecraft.pathfinding.PathEntity;
import net.minecraft.pathfinding.PathPoint;
import net.minecraft.util.BlockPos;
import net.minecraft.util.MathHelper;
+import net.minecraft.util.Vec3;
import java.awt.*;
import java.util.ArrayList;
@@ -64,22 +65,23 @@ public class ActionMoveNearestAir extends AbstractAction {
float multiplier = distance / 120f; //mobs only render ~120 blocks away
float scale = 0.45f * multiplier;
scale *= 25.0 / 6.0;
+ if (FeatureRegistry.SECRET_BEACONS.isEnabled()) {
+ RenderUtils.renderBeaconBeam(pos.getX(), pos.getY(), pos.getZ(), FeatureRegistry.SECRET_BROWSE.getColor(), partialTicks);
+ RenderUtils.highlightBlock(pos, FeatureRegistry.SECRET_BROWSE.getColor(), partialTicks);
+ }
RenderUtils.drawTextAtWorld("Destination", pos.getX() + 0.5f, pos.getY() + 0.5f + scale, pos.getZ() + 0.5f, 0xFF00FF00, 1f, true, false, partialTicks);
RenderUtils.drawTextAtWorld(String.format("%.2f",MathHelper.sqrt_double(pos.distanceSq(Minecraft.getMinecraft().thePlayer.getPosition())))+"m", pos.getX() + 0.5f, pos.getY() + 0.5f - scale, pos.getZ() + 0.5f, 0xFFFFFF00, 1f, true, false, partialTicks);
if (!FeatureRegistry.SECRET_TOGGLE_KEY.isEnabled() || !Keybinds.togglePathfindStatus) {
if (poses != null){
- RenderUtils.drawLines(poses, FeatureRegistry.SECRET_BROWSE.getColor(), FeatureRegistry.SECRET_BROWSE.getThickness(), partialTicks, true);
+ RenderUtils.drawLinesVec3(poses, FeatureRegistry.SECRET_BROWSE.getColor(), FeatureRegistry.SECRET_BROWSE.getThickness(), partialTicks, true);
}
}
- if (FeatureRegistry.SECRET_BEACONS.isEnabled()) {
- RenderUtils.renderBeaconBeam(pos.getX(), pos.getY(), pos.getZ(), FeatureRegistry.SECRET_BROWSE.getColor(), partialTicks);
- }
}
private int tick = -1;
- private List<BlockPos> poses;
- private Future<List<BlockPos>> latestFuture;
+ private List<Vec3> poses;
+ private Future<List<Vec3>> latestFuture;
@Override
public void onTick(DungeonRoom dungeonRoom) {
tick = (tick+1) % Math.max(1, FeatureRegistry.SECRET_BROWSE.getRefreshRate());
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree/ActionRoute.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree/ActionRoute.java
index cdfc5040..76fe5c85 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree/ActionRoute.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree/ActionRoute.java
@@ -18,10 +18,7 @@
package kr.syeyoung.dungeonsguide.dungeon.actions.tree;
-import kr.syeyoung.dungeonsguide.dungeon.actions.Action;
-import kr.syeyoung.dungeonsguide.dungeon.actions.ActionChangeState;
-import kr.syeyoung.dungeonsguide.dungeon.actions.ActionComplete;
-import kr.syeyoung.dungeonsguide.dungeon.actions.ActionMove;
+import kr.syeyoung.dungeonsguide.dungeon.actions.*;
import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom;
import kr.syeyoung.dungeonsguide.events.PlayerInteractEntityEvent;
import lombok.Getter;
@@ -80,7 +77,7 @@ public class ActionRoute {
getCurrentAction().onLivingDeath(dungeonRoom, event);
}
public void onRenderWorld(float partialTicks) {
- if (current -1 >= 0 && actions.get(current-1) instanceof ActionMove) actions.get(current-1).onRenderScreen(dungeonRoom, partialTicks);
+ if (current -1 >= 0 && (actions.get(current-1) instanceof ActionMove || actions.get(current-1) instanceof ActionMoveNearestAir)) actions.get(current-1).onRenderWorld(dungeonRoom, partialTicks);
getCurrentAction().onRenderWorld(dungeonRoom, partialTicks);
}
@@ -92,6 +89,7 @@ public class ActionRoute {
Action current = getCurrentAction();
current.onTick(dungeonRoom);
+ if (this.current -1 >= 0 && (actions.get(this.current-1) instanceof ActionMove || actions.get(this.current-1) instanceof ActionMoveNearestAir)) actions.get(this.current-1).onTick(dungeonRoom);
if (dungeonRoom.getMechanics().get(mechanic).getCurrentState(dungeonRoom).equals(state)) {
this.current = actions.size() - 1;