Updated movement naming

This commit is contained in:
Howard Stark 2018-08-02 17:28:35 -04:00
parent 7eae7a86b5
commit 49cc61d2ca
No known key found for this signature in database
GPG Key ID: 9FA4E350B33067F3
6 changed files with 52 additions and 52 deletions

View File

@ -1,22 +0,0 @@
package baritone.bot.pathing.action.actions;
import baritone.bot.InputOverrideHandler;
import baritone.bot.pathing.action.Action;
import baritone.bot.pathing.action.ActionState;
import net.minecraft.util.math.BlockPos;
public class ActionAscend extends Action {
public ActionAscend(BlockPos src, BlockPos dest) {
super(src, dest);
}
@Override
public ActionState calcState() {
ActionState latestState = currentState.setInput(InputOverrideHandler.Input.JUMP, true).setInput(InputOverrideHandler.Input.MOVE_FORWARD, true);
if (mc.player.getPosition().equals(latestState.getGoal().position))
latestState.setStatus(ActionState.ActionStatus.SUCCESS);
return latestState;
}
}

View File

@ -1,4 +1,4 @@
package baritone.bot.pathing.action;
package baritone.bot.pathing.movement;
public interface ActionCosts {
/**

View File

@ -1,36 +1,36 @@
package baritone.bot.pathing.action;
package baritone.bot.pathing.movement;
import baritone.bot.Baritone;
import baritone.bot.event.AbstractGameEventListener;
import baritone.bot.pathing.action.ActionState.ActionStatus;
import baritone.bot.pathing.movement.MovementState.MovementStatus;
import baritone.bot.utils.Helper;
import baritone.bot.utils.Utils;
import net.minecraft.util.Tuple;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
public abstract class Action implements AbstractGameEventListener, Helper, ActionWorldHelper {
public abstract class Movement implements AbstractGameEventListener, Helper, MovementHelper {
protected ActionState currentState;
protected MovementState currentState;
protected final BlockPos src;
protected final BlockPos dest;
protected Action(BlockPos src, BlockPos dest) {
protected Movement(BlockPos src, BlockPos dest) {
this(src, dest, Utils.calcCenterFromCoords(dest, mc.world));
}
protected Action(BlockPos src, BlockPos dest, Vec3d rotationTarget) {
protected Movement(BlockPos src, BlockPos dest, Vec3d rotationTarget) {
this.src = src;
this.dest = dest;
currentState = new ActionState()
.setGoal(new ActionState.ActionGoal(dest, rotationTarget))
.setStatus(ActionStatus.WAITING);
currentState = new MovementState()
.setGoal(new MovementState.MovementGoal(dest, rotationTarget))
.setStatus(MovementStatus.WAITING);
}
/**
* Lowest denominator of the dynamic costs.
* TODO: Investigate performant ways to assign costs to action
* TODO: Investigate performant ways to assign costs to movement
*
* @return Cost
*/
@ -40,7 +40,7 @@ public abstract class Action implements AbstractGameEventListener, Helper, Actio
@Override
public void onTick() {
ActionState latestState = calcState();
MovementState latestState = calcState();
Tuple<Float, Float> rotation = Utils.calcRotationFromVec3d(mc.player.getPositionEyes(1.0F),
latestState.getGoal().rotation);
mc.player.setPositionAndRotation(mc.player.posX, mc.player.posY, mc.player.posZ,
@ -55,8 +55,8 @@ public abstract class Action implements AbstractGameEventListener, Helper, Actio
}
public boolean isFinished() {
return (currentState.getStatus() != ActionStatus.RUNNING
&& currentState.getStatus() != ActionStatus.WAITING);
return (currentState.getStatus() != MovementStatus.RUNNING
&& currentState.getStatus() != MovementStatus.WAITING);
}
public BlockPos getSrc() {
@ -68,10 +68,10 @@ public abstract class Action implements AbstractGameEventListener, Helper, Actio
}
/**
* Calculate latest action state.
* Calculate latest movement state.
* Gets called once a tick.
*
* @return
*/
public abstract ActionState calcState();
public abstract MovementState calcState();
}

View File

@ -1,4 +1,4 @@
package baritone.bot.pathing.action;
package baritone.bot.pathing.movement;
import baritone.bot.utils.BlockStateInterface;
import baritone.bot.utils.ToolSet;
@ -13,7 +13,7 @@ import net.minecraft.util.math.BlockPos;
*
* @author leijurv
*/
public interface ActionWorldHelper extends ActionCosts {
public interface MovementHelper extends ActionCosts {
Block waterFlowing = Block.getBlockById(8);
Block waterStill = Block.getBlockById(9);
Block lavaFlowing = Block.getBlockById(10);

View File

@ -1,4 +1,4 @@
package baritone.bot.pathing.action;
package baritone.bot.pathing.movement;
import baritone.bot.InputOverrideHandler.Input;
import net.minecraft.util.math.BlockPos;
@ -7,22 +7,22 @@ import net.minecraft.util.math.Vec3d;
import java.util.HashMap;
import java.util.Map;
public class ActionState {
public class MovementState {
protected ActionStatus status;
public ActionGoal goal;
protected MovementStatus status;
public MovementGoal goal;
protected final Map<Input, Boolean> inputState = new HashMap<>();
public ActionState setStatus(ActionStatus status) {
public MovementState setStatus(MovementStatus status) {
this.status = status;
return this;
}
public ActionStatus getStatus() {
public MovementStatus getStatus() {
return status;
}
public static class ActionGoal {
public static class MovementGoal {
/**
* Necessary movement to achieve
* <p>
@ -37,22 +37,22 @@ public class ActionState {
*/
public Vec3d rotation;
public ActionGoal(BlockPos position, Vec3d rotation) {
public MovementGoal(BlockPos position, Vec3d rotation) {
this.position = position;
this.rotation = rotation;
}
}
public ActionGoal getGoal() {
public MovementGoal getGoal() {
return goal;
}
public ActionState setGoal(ActionGoal goal) {
public MovementState setGoal(MovementGoal goal) {
this.goal = goal;
return this;
}
public ActionState setInput(Input input, boolean forced) {
public MovementState setInput(Input input, boolean forced) {
inputState.put(input, forced);
return this;
}
@ -61,7 +61,7 @@ public class ActionState {
return inputState.getOrDefault(input, false);
}
public enum ActionStatus {
public enum MovementStatus {
WAITING, RUNNING, SUCCESS, UNREACHABLE, FAILED;
}
}

View File

@ -0,0 +1,22 @@
package baritone.bot.pathing.movement.movements;
import baritone.bot.InputOverrideHandler;
import baritone.bot.pathing.movement.Movement;
import baritone.bot.pathing.movement.MovementState;
import net.minecraft.util.math.BlockPos;
public class MovementAscend extends Movement {
public MovementAscend(BlockPos src, BlockPos dest) {
super(src, dest);
}
@Override
public MovementState calcState() {
MovementState latestState = currentState.setInput(InputOverrideHandler.Input.JUMP, true).setInput(InputOverrideHandler.Input.MOVE_FORWARD, true);
if (mc.player.getPosition().equals(latestState.getGoal().position))
latestState.setStatus(MovementState.MovementStatus.SUCCESS);
return latestState;
}
}