Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
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
  • Loading branch information
beanbag44 committed Aug 19, 2025
commit 18ed215ca35f11d0b1515252b4c4dbac147a9630
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ import com.lambda.interaction.material.StackSelection.Companion.selectStack
import com.lambda.interaction.material.container.ContainerManager.containerWithMaterial
import com.lambda.interaction.material.container.MaterialContainer
import com.lambda.interaction.request.breaking.BreakConfig
import com.lambda.interaction.request.breaking.BreakManager
import com.lambda.interaction.request.inventory.InventoryConfig
import com.lambda.interaction.request.placing.PlaceConfig
import com.lambda.interaction.request.rotating.Rotation.Companion.rotation
Expand Down Expand Up @@ -850,7 +849,6 @@ object BuildSimulator {
val swapStack = swapCandidates.map { it.matchingStacks(stackSelection) }
.asSequence()
.flatten()
.filter { BreakManager.currentStackSelection.filterStack(it) }
.let { containerStacks ->
var bestStack = ItemStack.EMPTY
var bestBreakDelta = -1f
Expand Down
26 changes: 8 additions & 18 deletions src/main/kotlin/com/lambda/task/tasks/BuildTask.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ import com.lambda.interaction.construction.blueprint.Blueprint.Companion.toStruc
import com.lambda.interaction.construction.blueprint.PropagatingBlueprint
import com.lambda.interaction.construction.blueprint.StaticBlueprint.Companion.toBlueprint
import com.lambda.interaction.construction.blueprint.TickingBlueprint
import com.lambda.interaction.construction.context.BreakContext
import com.lambda.interaction.construction.context.BuildContext
import com.lambda.interaction.construction.result.BreakResult
import com.lambda.interaction.construction.result.BuildResult
Expand Down Expand Up @@ -140,24 +139,14 @@ class BuildTask @Ta5kBuilder constructor(
if (atMaxPendingInteractions) return@listen
when (bestResult) {
is BreakResult.Break -> {
val breakResults = resultsNotBlocked.filterIsInstance<BreakResult.Break>()
val requestContexts = arrayListOf<BreakContext>()

if (build.breaking.breaksPerTick > 1) {
breakResults
.filter { it.context.instantBreak }
.take(emptyPendingInteractionSlots)
.let { instantBreakResults ->
requestContexts.addAll(instantBreakResults.map { it.context })
}
}

if (requestContexts.isEmpty()) {
requestContexts.addAll(breakResults.map { it.context })
}
val breakResults = resultsNotBlocked
.filterIsInstance<BreakResult.Break>()
.distinctBy { it.blockPos }
.take(emptyPendingInteractionSlots)
.map { it.context }

breakRequest(
requestContexts, pendingInteractions, rotation, hotbar, interactionConfig, inventory, build,
breakResults, pendingInteractions, rotation, hotbar, interactionConfig, inventory, build,
) {
onStop { breaks++ }
onItemDrop?.let { onItemDrop ->
Expand All @@ -171,8 +160,9 @@ class BuildTask @Ta5kBuilder constructor(
.filterIsInstance<PlaceResult.Place>()
.distinctBy { it.blockPos }
.take(emptyPendingInteractionSlots)
.map { it.context }

PlaceRequest(placeResults.map { it.context }, build, rotation, hotbar, pendingInteractions) { placements++ }.submit()
PlaceRequest(placeResults, build, rotation, hotbar, pendingInteractions) { placements++ }.submit()
}
is InteractResult.Interact -> {
val interactResults = resultsNotBlocked
Expand Down