Refactoring
This commit is contained in:
		| @@ -7,13 +7,13 @@ package baritone.bot.event.events.type; | ||||
| public enum EventState { | ||||
|  | ||||
|     /** | ||||
|      * Indicates that whatever action the event is being | ||||
|      * Indicates that whatever movement the event is being | ||||
|      * dispatched as a result of is about to occur. | ||||
|      */ | ||||
|     PRE, | ||||
|  | ||||
|     /** | ||||
|      * Indicates that whatever action the event is being | ||||
|      * Indicates that whatever movement the event is being | ||||
|      * dispatched as a result of has already occured. | ||||
|      */ | ||||
|     POST | ||||
|   | ||||
| @@ -1,5 +1,9 @@ | ||||
| package baritone.bot.pathing.calc; | ||||
|  | ||||
| <<<<<<< Updated upstream | ||||
| ======= | ||||
| import baritone.bot.pathing.movement.Movement; | ||||
| >>>>>>> Stashed changes | ||||
| import baritone.bot.pathing.goals.Goal; | ||||
| import baritone.bot.pathing.movement.Movement; | ||||
| import net.minecraft.util.math.BlockPos; | ||||
|   | ||||
| @@ -45,7 +45,7 @@ public abstract class Movement implements AbstractGameEventListener, Helper, Mov | ||||
|  | ||||
|     @Override | ||||
|     public void onTick() { | ||||
|         MovementState latestState = calcState(); | ||||
|         MovementState latestState = updateState(); | ||||
|         Optional<Vec3d> orientation = latestState.getGoal().rotation; | ||||
|         if (orientation.isPresent()) { | ||||
|             Tuple<Float, Float> rotation = Utils.calcRotationFromVec3d(mc.player.getPositionEyes(1.0F), | ||||
| @@ -60,6 +60,7 @@ public abstract class Movement implements AbstractGameEventListener, Helper, Mov | ||||
|         currentState = latestState; | ||||
|  | ||||
|         if (isFinished()) | ||||
|             onFinish(); | ||||
|             return; | ||||
|     } | ||||
|  | ||||
| @@ -76,11 +77,16 @@ public abstract class Movement implements AbstractGameEventListener, Helper, Mov | ||||
|         return dest; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Run cleanup on state finish | ||||
|      */ | ||||
|     public abstract void onFinish(); | ||||
|  | ||||
|     /** | ||||
|      * Calculate latest movement state. | ||||
|      * Gets called once a tick. | ||||
|      * | ||||
|      * @return | ||||
|      */ | ||||
|     public abstract MovementState calcState(); | ||||
|     public abstract MovementState updateState(); | ||||
| } | ||||
|   | ||||
| @@ -18,7 +18,7 @@ public class MovementAscend extends Movement { | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public MovementState calcState() { | ||||
|     public MovementState updateState() { | ||||
|         MovementState latestState = currentState.setInput(InputOverrideHandler.Input.JUMP, true).setInput(InputOverrideHandler.Input.MOVE_FORWARD, true); | ||||
|         if (playerFeet().equals(dest)) | ||||
|             latestState.setStatus(MovementState.MovementStatus.SUCCESS); | ||||
|   | ||||
| @@ -191,7 +191,7 @@ public class Baritone { | ||||
|                 } | ||||
|             } else { | ||||
|                 if (Action.isWater(theWorld.getBlockState(playerFeet).getBlock())) { | ||||
|                     //if (Action.isWater(theWorld.getBlockState(playerFeet.down()).getBlock()) || !Action.canWalkOn(playerFeet.down()) || Action.isWater(theWorld.getBlockState(playerFeet.up()).getBlock())) { | ||||
|                     //if (Movement.isWater(theWorld.getBlockState(playerFeet.down()).getBlock()) || !Movement.canWalkOn(playerFeet.down()) || Movement.isWater(theWorld.getBlockState(playerFeet.up()).getBlock())) { | ||||
|                     //if water is deeper than one block, or we can't walk on what's below the water, or our head is in water, jump | ||||
|                     Out.log("Jumping because in water"); | ||||
|                     MovementManager.jumping = true; | ||||
|   | ||||
| @@ -57,7 +57,7 @@ public class Path { | ||||
|         } | ||||
|         path.add(0, start.pos); | ||||
|         /*Out.log("Final path: " + path); | ||||
|          Out.log("Final action: " + action); | ||||
|          Out.log("Final movement: " + movement); | ||||
|          for (int i = 0; i < path.size() - 1; i++) {//print it all out | ||||
|          int oldX = path.get(i).getX(); | ||||
|          int oldY = path.get(i).getY(); | ||||
| @@ -68,7 +68,7 @@ public class Path { | ||||
|          int xDiff = newX - oldX; | ||||
|          int yDiff = newY - oldY; | ||||
|          int zDiff = newZ - oldZ; | ||||
|          Out.log(action.get(i) + ": " + xDiff + "," + yDiff + "," + zDiff);//print it all out | ||||
|          Out.log(movement.get(i) + ": " + xDiff + "," + yDiff + "," + zDiff);//print it all out | ||||
|          }*/ | ||||
|     } | ||||
|  | ||||
| @@ -96,7 +96,7 @@ public class Path { | ||||
|         } | ||||
|     } | ||||
|     /** | ||||
|      * Where are we in the path? This is an index in the action list | ||||
|      * Where are we in the path? This is an index in the movement list | ||||
|      */ | ||||
|     int pathPosition = 0; | ||||
|  | ||||
| @@ -141,12 +141,12 @@ public class Path { | ||||
|      */ | ||||
|     static final int MAX_TICKS_AWAY = 20 * 10; | ||||
|     /** | ||||
|      * How many ticks have elapsed on this action | ||||
|      * How many ticks have elapsed on this movement | ||||
|      */ | ||||
|     int ticksOnCurrent = 0; | ||||
|     /** | ||||
|      * Did I fail, either by being too far away for too long, or by having an | ||||
|      * action take too long | ||||
|      * movement take too long | ||||
|      */ | ||||
|     public boolean failed = false; | ||||
|  | ||||
| @@ -201,7 +201,7 @@ public class Path { | ||||
|             if ((actions.get(pathPosition) instanceof ActionBridge) && (actions.get(pathPosition + 1) instanceof ActionBridge)) { | ||||
|                 ActionBridge curr = (ActionBridge) actions.get(pathPosition); | ||||
|                 ActionBridge next = (ActionBridge) actions.get(pathPosition + 1); | ||||
|                 if (curr.dx() != next.dx() || curr.dz() != next.dz()) {//two action are not parallel, so this is a right angle | ||||
|                 if (curr.dx() != next.dx() || curr.dz() != next.dz()) {//two movement are not parallel, so this is a right angle | ||||
|                     if (curr.amIGood() && next.amIGood()) {//nothing in the way | ||||
|                         BlockPos cornerToCut1 = new BlockPos(next.to.getX() - next.from.getX() + curr.from.getX(), next.to.getY(), next.to.getZ() - next.from.getZ() + curr.from.getZ()); | ||||
|                         BlockPos cornerToCut2 = cornerToCut1.up(); | ||||
| @@ -230,19 +230,19 @@ public class Path { | ||||
|         MovementManager.clearMovement(); | ||||
|         Action action = actions.get(pathPosition); | ||||
|         if (action.calculateCost0(new ToolSet()) >= Action.COST_INF) { | ||||
|             Out.gui("Something has changed in the world and this action has become impossible. Cancelling.", Out.Mode.Standard); | ||||
|             Out.gui("Something has changed in the world and this movement has become impossible. Cancelling.", Out.Mode.Standard); | ||||
|             pathPosition = path.size() + 3; | ||||
|             failed = true; | ||||
|             return true; | ||||
|         } | ||||
|         if (action.tick()) { | ||||
|             Out.log("Action done, next path"); | ||||
|             Out.log("Movement done, next path"); | ||||
|             pathPosition++; | ||||
|             ticksOnCurrent = 0; | ||||
|         } else { | ||||
|             ticksOnCurrent++; | ||||
|             if (ticksOnCurrent > action.cost(null) + 100) { | ||||
|                 Out.gui("This action has taken too long (" + ticksOnCurrent + " ticks, expected " + action.cost(null) + "). Cancelling.", Out.Mode.Standard); | ||||
|                 Out.gui("This movement has taken too long (" + ticksOnCurrent + " ticks, expected " + action.cost(null) + "). Cancelling.", Out.Mode.Standard); | ||||
|                 pathPosition = path.size() + 3; | ||||
|                 failed = true; | ||||
|                 return true; | ||||
|   | ||||
| @@ -97,7 +97,7 @@ public class PathFinder { | ||||
|                 return new Path(startNode, currentNode, goal, numNodes); | ||||
|             } | ||||
|             //long constructStart = System.nanoTime(); | ||||
|             Action[] possibleActions = getConnectedPositions(currentNodePos);//action that we could take that start at myPos, in random order | ||||
|             Action[] possibleActions = getConnectedPositions(currentNodePos);//movement that we could take that start at myPos, in random order | ||||
|             shuffle(possibleActions); | ||||
|             //long constructEnd = System.nanoTime(); | ||||
|             //System.out.println(constructEnd - constructStart); | ||||
|   | ||||
| @@ -199,7 +199,7 @@ public abstract class Action { | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Tick this action | ||||
|      * Tick this movement | ||||
|      * | ||||
|      * @return is it done | ||||
|      */ | ||||
|   | ||||
| @@ -26,7 +26,7 @@ import net.minecraft.util.math.BlockPos; | ||||
|  */ | ||||
| public abstract class ActionPlaceOrBreak extends Action { | ||||
|  | ||||
|     public final BlockPos[] positionsToBreak;//the positions that need to be broken before this action can ensue | ||||
|     public final BlockPos[] positionsToBreak;//the positions that need to be broken before this movement can ensue | ||||
|     public final BlockPos[] positionsToPlace;//the positions where we need to place a block before this aciton can ensue | ||||
|     public final Block[] blocksToBreak;//the blocks at those positions | ||||
|     public final Block[] blocksToPlace; | ||||
| @@ -45,7 +45,7 @@ public abstract class ActionPlaceOrBreak extends Action { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public double getTotalHardnessOfBlocksToBreak() {//of all the blocks we need to break before starting this action, what's the sum of how hard they are (phrasing) | ||||
|     public double getTotalHardnessOfBlocksToBreak() {//of all the blocks we need to break before starting this movement, what's the sum of how hard they are (phrasing) | ||||
|         ToolSet ts = new ToolSet(); | ||||
|         return this.getTotalHardnessOfBlocksToBreak(ts); | ||||
|     } | ||||
| @@ -148,7 +148,7 @@ public abstract class ActionPlaceOrBreak extends Action { | ||||
|                 //one of the blocks that needs to be there isn't there | ||||
|                 //so basically someone mined out our path from under us | ||||
|                 // | ||||
|                 //this doesn't really do anything, because all the cases for positionToPlace are handled in their respective action tick0s (e.g. pillar and bridge) | ||||
|                 //this doesn't really do anything, because all the cases for positionToPlace are handled in their respective movement tick0s (e.g. pillar and bridge) | ||||
|             } | ||||
|         } | ||||
|         return tick0(); | ||||
|   | ||||
| @@ -33,24 +33,24 @@ public class LookManager extends Manager { | ||||
|     static float desiredNextYaw = 0; | ||||
|     static float desiredNextPitch = 0; | ||||
|     /** | ||||
|      * The desired yaw, as set by whatever action is happening. Remember to also | ||||
|      * The desired yaw, as set by whatever movement is happening. Remember to also | ||||
|      * set lookingYaw to true if you really want the yaw to change | ||||
|      * | ||||
|      */ | ||||
|     static float desiredYaw; | ||||
|     /** | ||||
|      * The desired pitch, as set by whatever action is happening. Remember to | ||||
|      * The desired pitch, as set by whatever movement is happening. Remember to | ||||
|      * also set lookingPitch to true if you really want the yaw to change | ||||
|      * | ||||
|      */ | ||||
|     static float desiredPitch; | ||||
|     /** | ||||
|      * Set to true if the action wants the player's yaw to be moved towards | ||||
|      * Set to true if the movement wants the player's yaw to be moved towards | ||||
|      * desiredYaw | ||||
|      */ | ||||
|     static boolean lookingYaw = false; | ||||
|     /** | ||||
|      * Set to true if the action wants the player's pitch to be moved towards | ||||
|      * Set to true if the movement wants the player's pitch to be moved towards | ||||
|      * desiredPitch | ||||
|      */ | ||||
|     static boolean lookingPitch = false; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user