From 4c4bce35611a4978b15c34b61a7574ad4cab0568 Mon Sep 17 00:00:00 2001 From: Leijurv Date: Wed, 6 Feb 2019 22:10:52 -0800 Subject: [PATCH] define origin --- .../java/baritone/process/BuilderProcess.java | 4 ++-- .../baritone/utils/ExampleBaritoneControl.java | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/baritone/process/BuilderProcess.java b/src/main/java/baritone/process/BuilderProcess.java index 5718ea27..bfc8c3b9 100644 --- a/src/main/java/baritone/process/BuilderProcess.java +++ b/src/main/java/baritone/process/BuilderProcess.java @@ -65,10 +65,10 @@ public class BuilderProcess extends BaritoneProcessHelper implements IBuilderPro private Vec3i origin; private int ticks; - public boolean build(String schematicFile) { + public boolean build(String schematicFile, BlockPos origin) { File file = new File(new File(Minecraft.getMinecraft().gameDir, "schematics"), schematicFile); System.out.println(file + " " + file.exists()); - return build(schematicFile, file, ctx.playerFeet()); + return build(schematicFile, file, origin); } @Override diff --git a/src/main/java/baritone/utils/ExampleBaritoneControl.java b/src/main/java/baritone/utils/ExampleBaritoneControl.java index 427bc83a..b2114ad2 100644 --- a/src/main/java/baritone/utils/ExampleBaritoneControl.java +++ b/src/main/java/baritone/utils/ExampleBaritoneControl.java @@ -255,8 +255,19 @@ public class ExampleBaritoneControl extends Behavior implements Helper { return true; } if (msg.startsWith("build")) { - String file = msg.substring(6) + ".schematic"; - logDirect("" + baritone.getBuilderProcess().build(file)); + String file; + BlockPos origin; + try { + String[] coords = msg.substring("build".length()).split(" "); + file = coords[0] + ".schematic"; + origin = new BlockPos(Integer.parseInt(coords[1]), Integer.parseInt(coords[2]), Integer.parseInt(coords[3])); + } catch (Exception ex) { + file = msg.substring(5) + ".schematic"; + origin = ctx.playerFeet(); + } + logDirect("Loading '" + file + "' to build from origin " + origin); + boolean success = baritone.getBuilderProcess().build(file, origin); + logDirect(success ? "Loaded" : "Unable to load"); return true; } if (msg.equals("axis")) {