@@ -20,7 +20,6 @@ package com.lambda.task.tasks
2020import com.lambda.Lambda.LOG
2121import com.lambda.config.groups.BuildConfig
2222import com.lambda.config.groups.InteractionConfig
23- import com.lambda.config.groups.InteractionSettings
2423import com.lambda.config.groups.InventoryConfig
2524import com.lambda.interaction.request.rotation.RotationConfig
2625import com.lambda.context.SafeContext
@@ -40,7 +39,6 @@ import com.lambda.interaction.construction.simulation.BuildGoal
4039import com.lambda.interaction.construction.simulation.BuildSimulator.simulate
4140import com.lambda.interaction.construction.simulation.Simulation.Companion.simulation
4241import com.lambda.interaction.construction.verify.TargetState
43- import com.lambda.interaction.request.rotation.visibilty.PointSelection
4442import com.lambda.module.modules.client.TaskFlowModule
4543import com.lambda.task.Task
4644import com.lambda.util.BaritoneUtils
@@ -86,12 +84,13 @@ class BuildTask @Ta5kBuilder constructor(
8684 }
8785
8886 currentPlacement?.let { context ->
89- currentPlacement = null
9087 if (build.rotateForPlace && ! context.rotation.done) return @listen
9188 context.place(interact.swingHand)
9289 pendingPlacements.add(context)
9390 }
91+ }
9492
93+ listen<TickEvent .Post > {
9594 (blueprint as ? DynamicBlueprint )?.update()
9695
9796 if (finishOnDone && blueprint.structure.isEmpty()) {
@@ -100,7 +99,7 @@ class BuildTask @Ta5kBuilder constructor(
10099 }
101100
102101 // ToDo: Simulate for each pair player positions that work
103- val results = blueprint.simulate(player.getCameraPosVec(mc.tickDelta) , interact, rotation, inventory)
102+ val results = blueprint.simulate(player.eyePos , interact, rotation, inventory)
104103 TaskFlowModule .drawables = results.filterIsInstance<Drawable >().plus(pendingPlacements.toList())
105104
106105 val instantResults = results.filterIsInstance<BreakResult .Break >()
@@ -115,12 +114,12 @@ class BuildTask @Ta5kBuilder constructor(
115114 return @listen
116115 }
117116
118- val resultsWithoutPending = results.filterNot { res ->
117+ val resultsWithoutPending = results.filterNot { result ->
119118 val blockedPositions = pendingPlacements.map { it.expectedPos }
120- res is PlaceResult .Place && res .context.expectedPos in blockedPositions
119+ result is PlaceResult .Place && result .context.expectedPos in blockedPositions
121120 }
122- val result = resultsWithoutPending.minOrNull() ? : return @listen
123- when (result ) {
121+ val bestResult = resultsWithoutPending.minOrNull() ? : return @listen
122+ when (bestResult ) {
124123 is BuildResult .Done ,
125124 is BuildResult .Ignored ,
126125 is BuildResult .Unbreakable ,
@@ -151,23 +150,23 @@ class BuildTask @Ta5kBuilder constructor(
151150 }
152151
153152 is Navigable -> {
154- if (build.pathing) BaritoneUtils .setGoalAndPath(result .goal)
153+ if (build.pathing) BaritoneUtils .setGoalAndPath(bestResult .goal)
155154 }
156155
157156 is PlaceResult .Place -> {
158157 if (pendingPlacements.size >= build.maxPendingPlacements) return @listen
159158
160- currentPlacement = result .context
159+ currentPlacement = bestResult .context
161160 }
162161
163162 is Resolvable -> {
164- LOG .info(" Resolving: ${result .name} " )
163+ LOG .info(" Resolving: ${bestResult .name} " )
165164
166- if (result is BreakResult .Break ) {
167- result .collectDrop = collectDrops
165+ if (bestResult is BreakResult .Break ) {
166+ bestResult .collectDrop = collectDrops
168167 }
169168
170- result .resolve().execute(this @BuildTask, pauseParent = result .pausesParent)
169+ bestResult .resolve().execute(this @BuildTask, pauseParent = bestResult .pausesParent)
171170 }
172171 }
173172 }
0 commit comments