diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/misc/antibot/modes/CustomAntiBotMode.kt b/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/misc/antibot/modes/CustomAntiBotMode.kt index 80ef618713b..824bed7db77 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/misc/antibot/modes/CustomAntiBotMode.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/misc/antibot/modes/CustomAntiBotMode.kt @@ -30,13 +30,11 @@ import net.ccbluex.liquidbounce.event.handler import net.ccbluex.liquidbounce.event.tickHandler import net.ccbluex.liquidbounce.features.module.modules.misc.antibot.ModuleAntiBot import net.ccbluex.liquidbounce.features.module.modules.misc.antibot.ModuleAntiBot.isADuplicate -import net.ccbluex.liquidbounce.utils.collection.Filter import net.ccbluex.liquidbounce.utils.item.material import net.ccbluex.liquidbounce.utils.math.sq import net.minecraft.entity.player.PlayerEntity import net.minecraft.item.ArmorItem import net.minecraft.item.Item -import net.minecraft.item.equipment.ArmorMaterial import net.minecraft.item.equipment.ArmorMaterials import net.minecraft.item.equipment.EquipmentType import net.minecraft.network.packet.s2c.play.EntitiesDestroyS2CPacket @@ -74,37 +72,25 @@ object CustomAntiBotMode : Choice("Custom"), ModuleAntiBot.IAntiBotMode { val minimum by int("Minimum", 20, 0..120, "ticks") } - private object Armor : ToggleableConfigurable(ModuleAntiBot, "Armor", false) { - - @Suppress("unused") - private enum class ArmorMaterialChoice( - override val choiceName: String, - val material: ArmorMaterial, - ) : NamedChoice { - LEATHER("Leather", ArmorMaterials.LEATHER), - GOLD("Gold", ArmorMaterials.GOLD), - CHAIN("Chain", ArmorMaterials.CHAIN), - IRON("Iron", ArmorMaterials.IRON), - DIAMOND("Diamond", ArmorMaterials.DIAMOND), - NETHERITE("Netherite", ArmorMaterials.NETHERITE) - } + private object Armor : ToggleableConfigurable(ModuleAntiBot, "ArmorMaterial", false) { private class ArmorConfigurable( name: String, val equipmentType: EquipmentType ) : ToggleableConfigurable(this, name, false) { - val mode by enumChoice("Mode", Filter.BLACKLIST) - - // TODO: replace with multiple choice - val materialChoice by enumChoice("Material", ArmorMaterialChoice.LEATHER) + private val materialValues = mapOf( + null to boolean("Nothing", true), + ArmorMaterials.LEATHER to boolean("Leather", true), + ArmorMaterials.GOLD to boolean("Gold", true), + ArmorMaterials.CHAIN to boolean("Chain", true), + ArmorMaterials.IRON to boolean("Iron", true), + ArmorMaterials.DIAMOND to boolean("Diamond", true), + ArmorMaterials.NETHERITE to boolean("Netherite", true) + ) fun isValid(item: Item): Boolean { - with((item as? ArmorItem)?.material() == materialChoice.material) { - return when (mode) { - Filter.WHITELIST -> this - Filter.BLACKLIST -> !this - } - } + // TURTLE_SCUTE or ARMADILLO_SCUTE -> valid + return materialValues[(item as? ArmorItem)?.material()]?.get() ?: true } }