mirror of https://github.com/kami-blue/client
Fix AutoMend bugs and close #786
This commit is contained in:
parent
7396b50bcc
commit
2efdf0663f
|
@ -3,18 +3,21 @@ package me.zeroeightsix.kami.module.modules.combat
|
|||
import me.zero.alpine.listener.EventHandler
|
||||
import me.zero.alpine.listener.EventHook
|
||||
import me.zero.alpine.listener.Listener
|
||||
import me.zeroeightsix.kami.event.events.GuiScreenEvent.Displayed
|
||||
import me.zeroeightsix.kami.event.events.PacketEvent
|
||||
import me.zeroeightsix.kami.module.Module
|
||||
import me.zeroeightsix.kami.setting.Settings
|
||||
import me.zeroeightsix.kami.util.MathsUtils.reverseNumber
|
||||
import me.zeroeightsix.kami.util.MessageSendHelper
|
||||
import net.minecraft.init.Items
|
||||
import net.minecraft.util.EnumHand
|
||||
|
||||
|
||||
/**
|
||||
* Created 17 October 2019 by hub
|
||||
* Updated 21 November 2019 by hub
|
||||
* Updated by dominikaaaa on 07/04/20
|
||||
* Rewritten by dominikaaaa on 07/04/20
|
||||
* Updated by dominikaaaa on 07/05/20
|
||||
*/
|
||||
@Module.Info(
|
||||
name = "AutoMend",
|
||||
|
@ -24,14 +27,17 @@ import net.minecraft.init.Items
|
|||
class AutoMend : Module() {
|
||||
private val autoThrow = register(Settings.b("Auto Throw", true))
|
||||
private val autoSwitch = register(Settings.b("Auto Switch", true))
|
||||
private val autoDisable = register(Settings.booleanBuilder("Auto Disable").withValue(false).withVisibility { o: Boolean? -> autoSwitch.value }.build())
|
||||
private val autoDisable = register(Settings.booleanBuilder("Auto Disable").withValue(false).withVisibility { autoSwitch.value }.build())
|
||||
private val threshold = register(Settings.integerBuilder("Repair %").withMinimum(1).withMaximum(100).withValue(75))
|
||||
private val fast = register(Settings.b("FastUse", true))
|
||||
private val gui = register(Settings.b("Run in GUIs", false))
|
||||
|
||||
private var initHotbarSlot = -1
|
||||
private var isGuiOpened = false
|
||||
|
||||
@EventHandler
|
||||
private val receiveListener = Listener(EventHook { event: PacketEvent.Receive? ->
|
||||
if (mc.player != null && mc.player.heldItemMainhand.getItem() === Items.EXPERIENCE_BOTTLE) {
|
||||
if (mc.player != null && fast.value && mc.player.heldItemMainhand.getItem() === Items.EXPERIENCE_BOTTLE) {
|
||||
mc.rightClickDelayTimer = 0
|
||||
}
|
||||
})
|
||||
|
@ -54,6 +60,7 @@ class AutoMend : Module() {
|
|||
|
||||
override fun onUpdate() {
|
||||
if (mc.player == null) return
|
||||
if (isGuiOpened && !gui.value) return
|
||||
|
||||
if (shouldMend(0) || shouldMend(1) || shouldMend(2) || shouldMend(3)) {
|
||||
if (autoSwitch.value && mc.player.heldItemMainhand.getItem() !== Items.EXPERIENCE_BOTTLE) {
|
||||
|
@ -69,7 +76,7 @@ class AutoMend : Module() {
|
|||
mc.player.inventory.currentItem = xpSlot
|
||||
}
|
||||
if (autoThrow.value && mc.player.heldItemMainhand.getItem() === Items.EXPERIENCE_BOTTLE) {
|
||||
mc.rightClickMouse()
|
||||
mc.playerController.processRightClick(mc.player, mc.world, EnumHand.MAIN_HAND)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -89,4 +96,7 @@ class AutoMend : Module() {
|
|||
return if (mc.player.inventory.armorInventory[i].maxDamage == 0) false
|
||||
else 100 * mc.player.inventory.armorInventory[i].getItemDamage() / mc.player.inventory.armorInventory[i].maxDamage > reverseNumber(threshold.value, 1, 100)
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
var listener = Listener(EventHook { event: Displayed -> isGuiOpened = event.screen != null })
|
||||
}
|
Loading…
Reference in New Issue