Skip to content

Commit 3a577cf

Browse files
committed
Working drop collection
1 parent c50ad7b commit 3a577cf

File tree

3 files changed

+29
-16
lines changed

3 files changed

+29
-16
lines changed

common/src/main/kotlin/com/lambda/module/modules/network/PacketLimiter.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ object PacketLimiter : Module(
1717
defaultTags = setOf(ModuleTag.NETWORK)
1818
) {
1919
private var packetQueue = LimitedDecayQueue<PacketEvent.Send.Pre>(99, 1000)
20-
private val limit by setting("Limit", 99, 1..100, 1, "The maximum amount of packets to send per given time interval").apply {
20+
private val limit by setting("Limit", 99, 1..100, 1, "The maximum amount of packets to send per given time interval", unit = " packets").apply {
2121
onValueChange { _, to ->
2222
packetQueue.setMaxSize(to)
2323
}
2424
}
25-
private val interval by setting("Duration", 1000L, 1L..1000L, 50L, "The interval / duration in milliseconds to limit packets for").apply {
25+
private val interval by setting("Duration", 1000L, 1L..1000L, 50L, "The interval / duration in milliseconds to limit packets for", unit = " ms").apply {
2626
onValueChange { _, to ->
2727
packetQueue.setInterval(to)
2828
}

common/src/main/kotlin/com/lambda/task/tasks/BreakBlock.kt

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,17 @@ import com.lambda.task.tasks.GoalTask.Companion.moveToBlock
1616
import com.lambda.task.tasks.GoalTask.Companion.moveToBlockUntil
1717
import com.lambda.task.tasks.GoalTask.Companion.moveToGoal
1818
import com.lambda.task.tasks.GoalTask.Companion.moveToGoalUntil
19+
import com.lambda.util.BaritoneUtils
1920
import com.lambda.util.BlockUtils.blockState
21+
import com.lambda.util.BlockUtils.item
22+
import com.lambda.util.item.ItemUtils.defaultDisposables
23+
import com.lambda.util.player.SlotUtils.clickSlot
24+
import com.lambda.util.player.SlotUtils.hotbarAndStorage
25+
import com.lambda.util.primitives.extension.inventorySlots
2026
import com.lambda.util.world.raycast.RayCastUtils.blockResult
2127
import net.minecraft.block.BlockState
2228
import net.minecraft.entity.ItemEntity
29+
import net.minecraft.screen.slot.SlotActionType
2330
import net.minecraft.util.math.BlockPos
2431
import net.minecraft.util.math.Direction
2532

@@ -37,6 +44,7 @@ class BreakBlock @Ta5kBuilder constructor(
3744
val SafeContext.state: BlockState get() = blockPos.blockState(world)
3845
override var cooldown = Int.MAX_VALUE
3946
get() = maxOf(TaskFlow.build.breakCoolDown, TaskFlow.taskCooldown)
47+
private var drop: ItemEntity? = null
4048

4149
override fun SafeContext.onStart() {
4250
parent?.let {
@@ -67,6 +75,23 @@ class BreakBlock @Ta5kBuilder constructor(
6775
}
6876

6977
listener<TickEvent.Pre> {
78+
drop?.let { itemDrop ->
79+
if (!world.entities.contains(itemDrop)) {
80+
success(itemDrop)
81+
return@listener
82+
}
83+
84+
if (player.hotbarAndStorage.none { it.isEmpty }) {
85+
player.currentScreenHandler.inventorySlots.firstOrNull {
86+
it.stack.item in defaultDisposables
87+
}?.let {
88+
clickSlot(it.index, 1, SlotActionType.THROW)
89+
}
90+
}
91+
92+
BaritoneUtils.setGoalAndPath(GoalBlock(itemDrop.blockPos))
93+
}
94+
7095
if (finish()) {
7196
success(null)
7297
return@listener
@@ -80,17 +105,12 @@ class BreakBlock @Ta5kBuilder constructor(
80105

81106
listener<WorldEvent.EntitySpawn> {
82107
if (collectDrop
108+
&& drop == null
83109
&& it.entity is ItemEntity
84110
&& it.entity.pos.isInRange(blockPos.toCenterPos(), 1.0)
85111
// && it.entity.stack.item == beginState?.block?.item // ToDo: The item entities are all air??
86112
) {
87-
moveToGoalUntil(
88-
{ GoalBlock(it.entity.blockPos) },
89-
{ !world.entities.contains(it.entity) }
90-
).onSuccess { _, _ ->
91-
success(it.entity)
92-
}.start(this@BreakBlock)
93-
// success(it.entity)
113+
drop = it.entity
94114
}
95115
}
96116
}

common/src/main/kotlin/com/lambda/task/tasks/BuildStructure.kt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package com.lambda.task.tasks
22

3-
import baritone.api.pathing.goals.Goal
43
import baritone.api.pathing.goals.GoalNear
54
import com.lambda.Lambda.LOG
6-
import com.lambda.Lambda.mc
75
import com.lambda.context.SafeContext
86
import com.lambda.event.events.TickEvent
97
import com.lambda.event.listener.SafeListener.Companion.listener
@@ -16,13 +14,8 @@ import com.lambda.interaction.construction.simulation.BuildSimulator.simulate
1614
import com.lambda.interaction.construction.verify.TargetState
1715
import com.lambda.module.modules.client.TaskFlow
1816
import com.lambda.task.Task
19-
import com.lambda.threading.runConcurrent
20-
import com.lambda.threading.runGameScheduled
2117
import com.lambda.util.BaritoneUtils
22-
import net.minecraft.block.BlockState
23-
import net.minecraft.util.math.BlockBox
2418
import net.minecraft.util.math.BlockPos
25-
import net.minecraft.world.chunk.WorldChunk
2619

2720
class BuildStructure @Ta5kBuilder constructor(
2821
private val blueprint: Blueprint,

0 commit comments

Comments
 (0)