Skip to content

Commit 18ed215

Browse files
committed
pass all contexts over to the break manager for it to decide which it can take for optimal efficiency and leave stack selection check to the break manager too
1 parent ca55381 commit 18ed215

File tree

2 files changed

+8
-20
lines changed

2 files changed

+8
-20
lines changed

src/main/kotlin/com/lambda/interaction/construction/simulation/BuildSimulator.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ import com.lambda.interaction.material.StackSelection.Companion.selectStack
3838
import com.lambda.interaction.material.container.ContainerManager.containerWithMaterial
3939
import com.lambda.interaction.material.container.MaterialContainer
4040
import com.lambda.interaction.request.breaking.BreakConfig
41-
import com.lambda.interaction.request.breaking.BreakManager
4241
import com.lambda.interaction.request.inventory.InventoryConfig
4342
import com.lambda.interaction.request.placing.PlaceConfig
4443
import com.lambda.interaction.request.rotating.Rotation.Companion.rotation
@@ -850,7 +849,6 @@ object BuildSimulator {
850849
val swapStack = swapCandidates.map { it.matchingStacks(stackSelection) }
851850
.asSequence()
852851
.flatten()
853-
.filter { BreakManager.currentStackSelection.filterStack(it) }
854852
.let { containerStacks ->
855853
var bestStack = ItemStack.EMPTY
856854
var bestBreakDelta = -1f

src/main/kotlin/com/lambda/task/tasks/BuildTask.kt

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import com.lambda.interaction.construction.blueprint.Blueprint.Companion.toStruc
2929
import com.lambda.interaction.construction.blueprint.PropagatingBlueprint
3030
import com.lambda.interaction.construction.blueprint.StaticBlueprint.Companion.toBlueprint
3131
import com.lambda.interaction.construction.blueprint.TickingBlueprint
32-
import com.lambda.interaction.construction.context.BreakContext
3332
import com.lambda.interaction.construction.context.BuildContext
3433
import com.lambda.interaction.construction.result.BreakResult
3534
import com.lambda.interaction.construction.result.BuildResult
@@ -140,24 +139,14 @@ class BuildTask @Ta5kBuilder constructor(
140139
if (atMaxPendingInteractions) return@listen
141140
when (bestResult) {
142141
is BreakResult.Break -> {
143-
val breakResults = resultsNotBlocked.filterIsInstance<BreakResult.Break>()
144-
val requestContexts = arrayListOf<BreakContext>()
145-
146-
if (build.breaking.breaksPerTick > 1) {
147-
breakResults
148-
.filter { it.context.instantBreak }
149-
.take(emptyPendingInteractionSlots)
150-
.let { instantBreakResults ->
151-
requestContexts.addAll(instantBreakResults.map { it.context })
152-
}
153-
}
154-
155-
if (requestContexts.isEmpty()) {
156-
requestContexts.addAll(breakResults.map { it.context })
157-
}
142+
val breakResults = resultsNotBlocked
143+
.filterIsInstance<BreakResult.Break>()
144+
.distinctBy { it.blockPos }
145+
.take(emptyPendingInteractionSlots)
146+
.map { it.context }
158147

159148
breakRequest(
160-
requestContexts, pendingInteractions, rotation, hotbar, interactionConfig, inventory, build,
149+
breakResults, pendingInteractions, rotation, hotbar, interactionConfig, inventory, build,
161150
) {
162151
onStop { breaks++ }
163152
onItemDrop?.let { onItemDrop ->
@@ -171,8 +160,9 @@ class BuildTask @Ta5kBuilder constructor(
171160
.filterIsInstance<PlaceResult.Place>()
172161
.distinctBy { it.blockPos }
173162
.take(emptyPendingInteractionSlots)
163+
.map { it.context }
174164

175-
PlaceRequest(placeResults.map { it.context }, build, rotation, hotbar, pendingInteractions) { placements++ }.submit()
165+
PlaceRequest(placeResults, build, rotation, hotbar, pendingInteractions) { placements++ }.submit()
176166
}
177167
is InteractResult.Interact -> {
178168
val interactResults = resultsNotBlocked

0 commit comments

Comments
 (0)