@@ -24,10 +24,12 @@ import com.lambda.interaction.handlers.ContainerHandler.findSlotsWithMaterial
2424import com.lambda.interaction.material.StackSelection.Companion.select
2525import com.lambda.interaction.material.container.ExternalContainer
2626import com.lambda.interaction.material.container.MaterialContainer
27- import com.lambda.task.TaskGenerator
27+ import com.lambda.task.wrappers.TaskSupplier
2828import com.lambda.task.tasks.BuildTask.Companion.breakAndCollectBlock
2929import com.lambda.task.tasks.OpenContainerTask
3030import com.lambda.task.tasks.PlaceContainerTask
31+ import com.lambda.task.wrappers.thenAction
32+ import com.lambda.task.wrappers.thenOrNull
3133import com.lambda.util.extension.containerSlots
3234import com.lambda.util.text.buildText
3335import com.lambda.util.text.literal
@@ -47,14 +49,14 @@ object EnderChestContainer : MaterialContainer(Rank.EnderChest), ExternalContain
4749 override val description = buildText { literal(" Ender Chest" ) }
4850
4951 context(automatedSafeContext: AutomatedSafeContext )
50- override fun accessThen (exitAfter : Boolean , taskGenerator : TaskGenerator < Unit >) =
52+ override fun accessThen (exitAfter : Boolean , taskSupplier : TaskSupplier < Unit , Unit >) =
5153 Items .ENDER_CHEST
5254 .select()
5355 .findSlotsWithMaterial()
5456 .firstOrNull()?.let { slot ->
55- PlaceContainerTask (slot, automatedSafeContext).then { pos ->
56- OpenContainerTask (pos, automatedSafeContext).then {
57- taskGenerator .invoke(automatedSafeContext, Unit ).thenOrNull {
57+ PlaceContainerTask (slot, automatedSafeContext).thenAction { pos ->
58+ OpenContainerTask (pos, automatedSafeContext).thenAction {
59+ taskSupplier .invoke(automatedSafeContext, Unit ).thenOrNull {
5860 if (exitAfter) automatedSafeContext.breakAndCollectBlock(pos, lifeMaintenance = false )
5961 else null
6062 }
0 commit comments