From 4c3aa2f33e0840c1f46d47ab12a7e527c7c7fe08 Mon Sep 17 00:00:00 2001 From: Michael Zangl Date: Tue, 12 Jan 2016 13:21:14 +0100 Subject: [PATCH] Use logger at more places. --- .../minebot/ai/strategy/TaskStrategy.java | 32 ++++++++++++------- .../minebot/ai/task/DestroyInRangeTask.java | 12 ++++++- .../minecraft/minebot/ai/task/DoFishTask.java | 6 +++- .../ai/task/inventory/GetOnHotBarTask.java | 6 +++- .../ai/task/move/DownwardsMoveTask.java | 1 - .../ai/task/place/JumpingPlaceAtHalfTask.java | 6 +++- 6 files changed, 46 insertions(+), 17 deletions(-) diff --git a/Minebot/src/net/famzangl/minecraft/minebot/ai/strategy/TaskStrategy.java b/Minebot/src/net/famzangl/minecraft/minebot/ai/strategy/TaskStrategy.java index 0c955787..befec6a8 100644 --- a/Minebot/src/net/famzangl/minecraft/minebot/ai/strategy/TaskStrategy.java +++ b/Minebot/src/net/famzangl/minecraft/minebot/ai/strategy/TaskStrategy.java @@ -19,6 +19,11 @@ import java.util.LinkedList; import java.util.List; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.Marker; +import org.apache.logging.log4j.MarkerManager; + import net.famzangl.minecraft.minebot.ai.AIHelper; import net.famzangl.minecraft.minebot.ai.command.AIChatController; import net.famzangl.minecraft.minebot.ai.path.TaskReceiver; @@ -41,6 +46,11 @@ */ public abstract class TaskStrategy extends AIStrategy implements TaskOperations, TaskReceiver { + private static final Marker MARKER_PREFACING = MarkerManager + .getMarker("preface"); + private static final Marker MARKER_TASK = MarkerManager + .getMarker("task"); + private static final Logger LOGGER = LogManager.getLogger(AIStrategy.class); private static final int MAX_LOOKAHEAD = 9; private static final int DESYNC_TIME = 5; // Maximum distance for aiming at blocks to destroy. @@ -72,8 +82,8 @@ public void addTask(AITask task) { @Override public void desync(TaskError error) { - System.out.println("Desync. This is an error. Did the server lag?"); - System.out.println("Error: " + error); + LOGGER.error(MARKER_TASK, "Task sent desync. This is an error. Did the server lag?"); + LOGGER.error(MARKER_TASK, "Error: " + error); Thread.dumpStack(); if (!LESS_ERRORS || !lastErrors.contains(error)) { @@ -91,7 +101,7 @@ public boolean faceAndDestroyForNextTask() { boolean found = false; for (int i = 1; i < MAX_LOOKAHEAD && i < tasks.size() && !found; i++) { final AITask task = tasks.get(i); - // System.out.println("Prefetching with: " + task); + LOGGER.trace(MARKER_PREFACING, "Prefetching with: " + task); if (tasks.get(i).getClass() .isAnnotationPresent(SkipWhenSearchingPrefetch.class)) { continue; @@ -109,10 +119,8 @@ public boolean faceAndDestroyForNextTask() { break; } } - // System.out.println("Prefacing: " + found + " for " + - // positions); } else { - // System.out.println("Prefetching showstopper: " + task); + LOGGER.trace(MARKER_PREFACING, "Prefetching showstopper: " + task); break; } } @@ -140,7 +148,7 @@ protected TickResult onGameTick(AIHelper helper) { t.onCanceled(); } tasks.clear(); - System.out.println("Waiting because of desync... " + desyncTimer); + LOGGER.debug(MARKER_TASK, "Waiting because of desync... " + desyncTimer); desyncTimer--; // pause for a tick, to reset all buttons, jump, ... return TickResult.TICK_HANDLED; @@ -150,7 +158,7 @@ protected TickResult onGameTick(AIHelper helper) { activeTask = null; searchAndPrintTasks(helper); if (tasks.isEmpty()) { - System.out.println("No more tasks found."); + LOGGER.debug(MARKER_TASK, "No more tasks found."); return TickResult.NO_MORE_WORK; } taskTimeout = 0; @@ -163,19 +171,19 @@ protected TickResult onGameTick(AIHelper helper) { final AITask task = tasks.peekFirst(); if (task.isFinished(helper)) { - System.out.println("Task done: " + task); + LOGGER.trace(MARKER_TASK,"Task done: " + task); tasks.removeFirst(); - System.out.println("Next will be: " + tasks.peekFirst()); + LOGGER.debug(MARKER_TASK,"Next task will be: " + tasks.peekFirst()); taskTimeout = 0; activeTask = null; return TickResult.TICK_AGAIN; } else { int tickTimeout = task.getGameTickTimeout(helper); if (taskTimeout > tickTimeout) { + LOGGER.error(MARKER_TASK, "Task timeout for: " + task); desync(new StringTaskError( "Task timed out. It should have been completed in " + (tickTimeout / 20f) + "s")); - System.out.println("Task was: " + task); activeTask = null; return TickResult.TICK_HANDLED; } else { @@ -192,7 +200,7 @@ protected TickResult onGameTick(AIHelper helper) { private void searchAndPrintTasks(AIHelper helper) { searchTasks(helper); if (!tasks.isEmpty()) { - System.out.println("Found " + tasks.size() + " tasks, first task: " + LOGGER.trace(MARKER_TASK, "Found " + tasks.size() + " tasks, first task: " + tasks.peekFirst()); } } diff --git a/Minebot/src/net/famzangl/minecraft/minebot/ai/task/DestroyInRangeTask.java b/Minebot/src/net/famzangl/minecraft/minebot/ai/task/DestroyInRangeTask.java index 5beb2f9f..c42c0365 100644 --- a/Minebot/src/net/famzangl/minecraft/minebot/ai/task/DestroyInRangeTask.java +++ b/Minebot/src/net/famzangl/minecraft/minebot/ai/task/DestroyInRangeTask.java @@ -21,6 +21,9 @@ import java.util.Collections; import java.util.List; +import org.apache.logging.log4j.Marker; +import org.apache.logging.log4j.MarkerManager; + import net.famzangl.minecraft.minebot.ai.AIHelper; import net.famzangl.minecraft.minebot.ai.path.world.BlockSets; import net.famzangl.minecraft.minebot.ai.path.world.WorldData; @@ -43,6 +46,7 @@ * */ public class DestroyInRangeTask extends AITask implements CanPrefaceAndDestroy { + private static final Marker MARKER_DESTROY_IN_RANGE = MarkerManager.getMarker("destroy_in_range"); private class ClosestBlockFinder implements AreaVisitor { BlockPos next = null; double currentMin = Float.POSITIVE_INFINITY; @@ -64,6 +68,7 @@ public void visit(WorldData world, int x, int y, int z) { private class ApplyToDelta implements AreaVisitor { + public ApplyToDelta() { } @@ -72,8 +77,13 @@ public void visit(WorldData world, int x, int y, int z) { if (isSafeToDestroy(world, x, y, z)) { // FIXME: Use generics instead of cast. ((WorldWithDelta) world).setBlock(x, y, z, 0, 0); + y++; + while (isSafeFallingBlock(world, x, y, z)) { + ((WorldWithDelta) world).setBlock(x, y, z, 0, 0); + y++; + } } else { - System.out.println("No destruction for " + x + "," + y + "," + LOGGER.error(MARKER_DESTROY_IN_RANGE, "Cannot destroy for " + x + "," + y + "," + z + ", block is: " + world.getBlockId(x, y, z)); } } diff --git a/Minebot/src/net/famzangl/minecraft/minebot/ai/task/DoFishTask.java b/Minebot/src/net/famzangl/minecraft/minebot/ai/task/DoFishTask.java index fa89b278..45e551f4 100644 --- a/Minebot/src/net/famzangl/minecraft/minebot/ai/task/DoFishTask.java +++ b/Minebot/src/net/famzangl/minecraft/minebot/ai/task/DoFishTask.java @@ -16,6 +16,9 @@ *******************************************************************************/ package net.famzangl.minecraft.minebot.ai.task; +import org.apache.logging.log4j.Marker; +import org.apache.logging.log4j.MarkerManager; + import net.famzangl.minecraft.minebot.ai.AIHelper; import net.famzangl.minecraft.minebot.ai.net.NetworkHelper; import net.minecraft.entity.projectile.EntityFishHook; @@ -28,6 +31,7 @@ * */ public class DoFishTask extends AITask { + private static final Marker MARKER_FISH = MarkerManager.getMarker("fish"); private boolean revoked; private int rightMotion = 2; @@ -83,7 +87,7 @@ private boolean fishIsCapturedSP(AIHelper helper) { return false; } if (fishEntity.motionY < -0.05) { - System.out.println(fishEntity.motionY + ", " + fishEntity.posY); + LOGGER.trace(MARKER_FISH, "Fish motion: " + fishEntity.motionY + ", " + fishEntity.posY); rightMotion--; } else { rightMotion = 2; diff --git a/Minebot/src/net/famzangl/minecraft/minebot/ai/task/inventory/GetOnHotBarTask.java b/Minebot/src/net/famzangl/minecraft/minebot/ai/task/inventory/GetOnHotBarTask.java index 9fbbd455..e2adadbf 100644 --- a/Minebot/src/net/famzangl/minecraft/minebot/ai/task/inventory/GetOnHotBarTask.java +++ b/Minebot/src/net/famzangl/minecraft/minebot/ai/task/inventory/GetOnHotBarTask.java @@ -16,6 +16,9 @@ *******************************************************************************/ package net.famzangl.minecraft.minebot.ai.task.inventory; +import org.apache.logging.log4j.Marker; +import org.apache.logging.log4j.MarkerManager; + import net.famzangl.minecraft.minebot.ai.AIHelper; import net.famzangl.minecraft.minebot.ai.ItemFilter; import net.famzangl.minecraft.minebot.ai.task.AITask; @@ -37,6 +40,7 @@ */ @SkipWhenSearchingPrefetch public class GetOnHotBarTask extends AITask { + private static final Marker MARKER_GET_ON_HOTBAR = MarkerManager.getMarker("get_on_hotbar"); private final ItemFilter itemFiler; private boolean inventoryOpened; @@ -63,7 +67,7 @@ public void runTick(AIHelper h, TaskOperations o) { || !itemFiler.matches(stack)) { continue; } - System.out.println("Swapping inventory slot " + i); + LOGGER.trace(MARKER_GET_ON_HOTBAR, "Swapping inventory slot " + i); swap(h, screen, i); h.getMinecraft().displayGuiScreen(null); break; diff --git a/Minebot/src/net/famzangl/minecraft/minebot/ai/task/move/DownwardsMoveTask.java b/Minebot/src/net/famzangl/minecraft/minebot/ai/task/move/DownwardsMoveTask.java index c5f438bb..1d6375cf 100644 --- a/Minebot/src/net/famzangl/minecraft/minebot/ai/task/move/DownwardsMoveTask.java +++ b/Minebot/src/net/famzangl/minecraft/minebot/ai/task/move/DownwardsMoveTask.java @@ -57,7 +57,6 @@ public void runTick(AIHelper h, TaskOperations o) { h.faceAndDestroy(pos.add(0, 1, 0)); } else if (!BlockSets.AIR.isAt(world, pos)) { if (!h.isStandingOn(pos.add(0, 1, 0))) { - System.out.println("Not standing on the right block."); o.desync(new PositionTaskError(pos.add(0, 1, 0))); } if (hardBlocks.isAt(world, pos)) { diff --git a/Minebot/src/net/famzangl/minecraft/minebot/ai/task/place/JumpingPlaceAtHalfTask.java b/Minebot/src/net/famzangl/minecraft/minebot/ai/task/place/JumpingPlaceAtHalfTask.java index a6b793ad..7ce44f15 100644 --- a/Minebot/src/net/famzangl/minecraft/minebot/ai/task/place/JumpingPlaceAtHalfTask.java +++ b/Minebot/src/net/famzangl/minecraft/minebot/ai/task/place/JumpingPlaceAtHalfTask.java @@ -16,6 +16,9 @@ *******************************************************************************/ package net.famzangl.minecraft.minebot.ai.task.place; +import org.apache.logging.log4j.Marker; +import org.apache.logging.log4j.MarkerManager; + import net.famzangl.minecraft.minebot.ai.AIHelper; import net.famzangl.minecraft.minebot.ai.ItemFilter; import net.famzangl.minecraft.minebot.ai.path.world.BlockSets; @@ -34,6 +37,7 @@ * */ public class JumpingPlaceAtHalfTask extends JumpingPlaceBlockAtFloorTask { + private static final Marker MARKER_JUMPING_PLACE_HALF = MarkerManager.getMarker("jumping_place_half"); public final static EnumFacing[] TRY_FOR_LOWER = new EnumFacing[] { EnumFacing.DOWN, EnumFacing.EAST, EnumFacing.NORTH, @@ -70,7 +74,7 @@ protected EnumFacing[] getBuildDirs() { } protected boolean faceSideBlock(AIHelper h, EnumFacing dir) { - System.out.println("Facing side " + dir); + LOGGER.trace(MARKER_JUMPING_PLACE_HALF, "Facing side " + dir); BlockPos facingBlock = getPlaceAtPos().offset(dir); if (BlockSets.AIR.isAt(h.getWorld(), facingBlock)) { return false;