mirror of https://github.com/kami-blue/client
[enhancement] Added option to StashLogger to Disable AutoWalk/Cancels Baritone on stash found
closes #1794
This commit is contained in:
parent
1facfed7e6
commit
7e763ffb2f
|
@ -4,7 +4,9 @@ import kotlinx.coroutines.coroutineScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import me.zeroeightsix.kami.manager.managers.WaypointManager
|
import me.zeroeightsix.kami.manager.managers.WaypointManager
|
||||||
import me.zeroeightsix.kami.module.Module
|
import me.zeroeightsix.kami.module.Module
|
||||||
|
import me.zeroeightsix.kami.module.modules.movement.AutoWalk
|
||||||
import me.zeroeightsix.kami.setting.ModuleConfig.setting
|
import me.zeroeightsix.kami.setting.ModuleConfig.setting
|
||||||
|
import me.zeroeightsix.kami.util.BaritoneUtils
|
||||||
import me.zeroeightsix.kami.util.TickTimer
|
import me.zeroeightsix.kami.util.TickTimer
|
||||||
import me.zeroeightsix.kami.util.TimeUnit
|
import me.zeroeightsix.kami.util.TimeUnit
|
||||||
import me.zeroeightsix.kami.util.math.CoordinateConverter.asString
|
import me.zeroeightsix.kami.util.math.CoordinateConverter.asString
|
||||||
|
@ -42,6 +44,8 @@ object StashLogger : Module(
|
||||||
private val dispenserDensity by setting("MinDispensers", 5, 1..20, 1, { logDispensers })
|
private val dispenserDensity by setting("MinDispensers", 5, 1..20, 1, { logDispensers })
|
||||||
private val logHoppers by setting("Hoppers", true)
|
private val logHoppers by setting("Hoppers", true)
|
||||||
private val hopperDensity by setting("MinHoppers", 5, 1..20, 1, { logHoppers })
|
private val hopperDensity by setting("MinHoppers", 5, 1..20, 1, { logHoppers })
|
||||||
|
private val disableAutoWalk by setting("DisableAutoWalk", false, description = "Disables AutoWalk when a stash is found")
|
||||||
|
private val cancelBaritone by setting("CancelBaritone", false, description = "Cancels Baritone when a stash is found")
|
||||||
|
|
||||||
private val chunkData = LinkedHashMap<Long, ChunkStats>()
|
private val chunkData = LinkedHashMap<Long, ChunkStats>()
|
||||||
private val knownPositions = HashSet<BlockPos>()
|
private val knownPositions = HashSet<BlockPos>()
|
||||||
|
@ -55,35 +59,47 @@ object StashLogger : Module(
|
||||||
coroutineScope {
|
coroutineScope {
|
||||||
launch {
|
launch {
|
||||||
world.loadedTileEntityList.toList().forEach(::logTileEntity)
|
world.loadedTileEntityList.toList().forEach(::logTileEntity)
|
||||||
|
notification()
|
||||||
for (chunkStats in chunkData.values) {
|
|
||||||
if (!chunkStats.hot) continue
|
|
||||||
|
|
||||||
chunkStats.hot = false
|
|
||||||
val center = chunkStats.center()
|
|
||||||
val string = chunkStats.toString()
|
|
||||||
|
|
||||||
if (saveToFile) {
|
|
||||||
WaypointManager.add(center, string)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (playSound) {
|
|
||||||
onMainThread {
|
|
||||||
mc.soundHandler.playSound(PositionedSoundRecord.getRecord(SoundEvents.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0f, 1.0f))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (logToChat) {
|
|
||||||
val positionString = center.asString()
|
|
||||||
MessageSendHelper.sendChatMessage("$chatName $positionString $string")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun notification() {
|
||||||
|
var found = false
|
||||||
|
|
||||||
|
for (chunkStats in chunkData.values) {
|
||||||
|
if (!chunkStats.hot) continue
|
||||||
|
|
||||||
|
chunkStats.hot = false
|
||||||
|
val center = chunkStats.center()
|
||||||
|
val string = chunkStats.toString()
|
||||||
|
|
||||||
|
if (saveToFile) {
|
||||||
|
WaypointManager.add(center, string)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (playSound) {
|
||||||
|
onMainThread {
|
||||||
|
mc.soundHandler.playSound(PositionedSoundRecord.getRecord(SoundEvents.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0f, 1.0f))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (logToChat) {
|
||||||
|
val positionString = center.asString()
|
||||||
|
MessageSendHelper.sendChatMessage("$chatName $positionString $string")
|
||||||
|
}
|
||||||
|
|
||||||
|
found = found || true
|
||||||
|
}
|
||||||
|
|
||||||
|
if (found) {
|
||||||
|
if (disableAutoWalk && AutoWalk.isEnabled) AutoWalk.disable()
|
||||||
|
if (cancelBaritone && (BaritoneUtils.isPathing || BaritoneUtils.isActive)) BaritoneUtils.cancelEverything()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun logTileEntity(tileEntity: TileEntity) {
|
private fun logTileEntity(tileEntity: TileEntity) {
|
||||||
if (!checkTileEntityType(tileEntity)) return
|
if (!checkTileEntityType(tileEntity)) return
|
||||||
if (!knownPositions.add(tileEntity.pos)) return
|
if (!knownPositions.add(tileEntity.pos)) return
|
||||||
|
|
Loading…
Reference in New Issue