Skip to content

Commit 21b4c62

Browse files
committed
feat: Neverlose ClickGUI 1/3
1 parent 95560f7 commit 21b4c62

File tree

118 files changed

+5186
-87
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+5186
-87
lines changed

src/main/java/net/ccbluex/liquidbounce/features/module/Category.kt

Lines changed: 51 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,23 @@ import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.fdpdropdown.util
1111
import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.fdpdropdown.utils.render.Scroll
1212
import net.minecraft.util.ResourceLocation
1313

14-
enum class Category(val displayName: String, val configName: String, val htmlIcon: String, initialPosX: Int, initialPosY: Int, val clicked: Boolean = false, val showMods: Boolean = true) {
15-
COMBAT("Combat", "Combat", "", 15, 15),
16-
PLAYER("Player", "Player", "", 15, 180),
17-
MOVEMENT("Movement", "Movement", "", 330, 15),
18-
VISUAL("Visual", "Visual", "", 225, 15),
19-
CLIENT("Client", "Client", "", 15, 330),
20-
OTHER("Other", "Other", "", 15, 330),
21-
EXPLOIT("Exploit", "Exploit", "", 120, 180);
14+
enum class Category(
15+
val displayName: String,
16+
val configName: String,
17+
val htmlIcon: String,
18+
initialPosX: Int,
19+
initialPosY: Int,
20+
val clicked: Boolean = false,
21+
val showMods: Boolean = true,
22+
val subCategories: Array<SubCategory>
23+
) {
24+
COMBAT("Combat", "Combat", "&#xe000;", 15, 15, subCategories = arrayOf(SubCategory.COMBAT_RAGE, SubCategory.COMBAT_LEGIT)),
25+
PLAYER("Player", "Player", "&#xe7fd;", 15, 180, subCategories = arrayOf(SubCategory.PLAYER_COUNTER, SubCategory.PLAYER_ASSIST)),
26+
MOVEMENT("Movement", "Movement", "&#xe566;", 330, 15, subCategories = arrayOf(SubCategory.MOVEMENT_MAIN, SubCategory.MOVEMENT_EXTRAS)),
27+
VISUAL("Visual", "Visual", "&#xe417;", 225, 15, subCategories = arrayOf(SubCategory.RENDER_SELF, SubCategory.RENDER_OVERLAY)),
28+
CLIENT("Client", "Client", "&#xe869;", 15, 330, subCategories = arrayOf(SubCategory.CLIENT_GENERAL, SubCategory.CONFIGS)),
29+
OTHER("Other", "Other", "&#xe5d3;", 15, 330, subCategories = arrayOf(SubCategory.MISCELLANEOUS)),
30+
EXPLOIT("Exploit", "Exploit", "&#xe868;", 120, 180, subCategories = arrayOf(SubCategory.EXPLOIT_EXTRAS));
2231

2332
var posX: Int = 40 + (Main.categoryCount * 120)
2433
var posY: Int = initialPosY
@@ -31,4 +40,37 @@ enum class Category(val displayName: String, val configName: String, val htmlIco
3140
}
3241

3342
val iconResourceLocation = ResourceLocation("${CLIENT_NAME.lowercase()}/texture/category/${name.lowercase()}.png")
34-
}
43+
44+
enum class SubCategory(val displayName: String, val icon: String) {
45+
// Combat
46+
COMBAT_RAGE("Rage", "a"),
47+
COMBAT_LEGIT("Legit", "e"),
48+
49+
// Movement
50+
MOVEMENT_MAIN("Main", "g"),
51+
MOVEMENT_EXTRAS("Extras", "f"),
52+
53+
// Visual
54+
RENDER_SELF("Self", "m"),
55+
RENDER_OVERLAY("Overlay", "h"),
56+
57+
// Player
58+
PLAYER_COUNTER("Counterattack", "n"),
59+
PLAYER_ASSIST("Assist", "l"),
60+
61+
// Client / Configs
62+
CLIENT_GENERAL("Client", "h"),
63+
CONFIGS("Configs", "x"),
64+
65+
// Other
66+
MISCELLANEOUS("Miscellaneous", "\ue5d3"),
67+
68+
// Exploit
69+
EXPLOIT_EXTRAS("Extras", "j"),
70+
71+
// Fallback
72+
GENERAL("General", "h");
73+
74+
override fun toString() = displayName
75+
}
76+
}

src/main/java/net/ccbluex/liquidbounce/features/module/Module.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ open class Module(
3333

3434
name: String,
3535
val category: Category,
36+
val subCategory: Category.SubCategory = Category.SubCategory.GENERAL,
3637
defaultKeyBind: Int = Keyboard.KEY_NONE,
3738
private val canBeEnabled: Boolean = true,
3839
private val forcedDescription: String? = null,
@@ -184,4 +185,4 @@ open class Module(
184185
* Events should be handled when module is enabled
185186
*/
186187
override fun handleEvents() = state && isActive
187-
}
188+
}

src/main/java/net/ccbluex/liquidbounce/features/module/modules/client/ClickGUIModule.kt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,24 @@ import net.ccbluex.liquidbounce.features.module.Module
1313
import net.ccbluex.liquidbounce.ui.client.clickgui.ClickGui
1414
import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.BlackStyle
1515
import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.fdpdropdown.FDPDropdownClickGUI
16+
import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.nlclickgui.NeverloseGui
1617
import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.yzygui.YzYGui
1718
import net.ccbluex.liquidbounce.utils.client.ClientThemesUtils
1819
import net.ccbluex.liquidbounce.utils.render.ColorUtils.fade
1920
import net.minecraft.network.play.server.S2EPacketCloseWindow
2021
import org.lwjgl.input.Keyboard
2122
import java.awt.Color
2223

23-
object ClickGUIModule : Module("ClickGUI", Category.CLIENT, Keyboard.KEY_RSHIFT, canBeEnabled = false) {
24+
object ClickGUIModule : Module("ClickGUI", Category.CLIENT, Category.SubCategory.CLIENT_GENERAL, Keyboard.KEY_RSHIFT, canBeEnabled = false) {
2425
var lastScale = 0
2526

2627
private var fdpDropdownGui: FDPDropdownClickGUI? = null
2728
private var yzyGui: YzYGui? = null
29+
private var neverloseGui: NeverloseGui? = null
2830

2931
private val style by choices(
3032
"Style",
31-
arrayOf("Black", "Zywl", "FDP"),
33+
arrayOf("Black", "Zywl", "FDP", "Neverlose"),
3234
"FDP"
3335
).onChanged {
3436
updateStyle()
@@ -84,6 +86,13 @@ object ClickGUIModule : Module("ClickGUI", Category.CLIENT, Keyboard.KEY_RSHIFT,
8486
mc.displayGuiScreen(fdpDropdownGui)
8587
this.state = false
8688
}
89+
style.equals("Neverlose", ignoreCase = true) -> {
90+
if (neverloseGui == null) {
91+
neverloseGui = NeverloseGui()
92+
}
93+
mc.displayGuiScreen(neverloseGui)
94+
this.state = false
95+
}
8796
else -> {
8897
updateStyle()
8998
mc.displayGuiScreen(clickGui)
@@ -106,6 +115,7 @@ object ClickGUIModule : Module("ClickGUI", Category.CLIENT, Keyboard.KEY_RSHIFT,
106115
try {
107116
fdpDropdownGui?.onGuiClosed()
108117
yzyGui?.onGuiClosed()
118+
neverloseGui = null
109119
} catch (e: Exception) {
110120
println("Error during GUI cleanup: ${e.message}")
111121
}

src/main/java/net/ccbluex/liquidbounce/features/module/modules/combat/Aimbot.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import net.minecraft.entity.Entity
2626
import java.util.*
2727
import kotlin.math.atan
2828

29-
object Aimbot : Module("Aimbot", Category.COMBAT) {
29+
object Aimbot : Module("Aimbot", Category.COMBAT, Category.SubCategory.COMBAT_LEGIT) {
3030

3131
private val range by float("Range", 4.4F, 1F..8F)
3232
private val horizontalAim by boolean("HorizontalAim", true)

src/main/java/net/ccbluex/liquidbounce/features/module/modules/combat/AutoArmor.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import net.minecraft.entity.EntityLiving.getArmorPosition
3333
import net.minecraft.item.ItemStack
3434
import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement
3535

36-
object AutoArmor : Module("AutoArmor", Category.COMBAT) {
36+
object AutoArmor : Module("AutoArmor", Category.COMBAT, Category.SubCategory.COMBAT_LEGIT) {
3737
private val delay by intRange("Delay", 50..50, 0..1000)
3838
private val minItemAge by int("MinItemAge", 0, 0..2000)
3939

src/main/java/net/ccbluex/liquidbounce/features/module/modules/combat/AutoBow.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import net.minecraft.network.play.client.C07PacketPlayerDigging.Action.RELEASE_U
1616
import net.minecraft.util.BlockPos
1717
import net.minecraft.util.EnumFacing
1818

19-
object AutoBow : Module("AutoBow", Category.COMBAT, subjective = true) {
19+
object AutoBow : Module("AutoBow", Category.COMBAT, Category.SubCategory.COMBAT_LEGIT, subjective = true) {
2020

2121
private val waitForBowAimbot by boolean("WaitForBowAimbot", true)
2222

src/main/java/net/ccbluex/liquidbounce/features/module/modules/combat/AutoClicker.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import net.minecraft.item.EnumAction
2828
import net.minecraft.item.ItemBlock
2929
import kotlin.random.Random.Default.nextBoolean
3030

31-
object AutoClicker : Module("AutoClicker", Category.COMBAT) {
31+
object AutoClicker : Module("AutoClicker", Category.COMBAT, Category.SubCategory.COMBAT_LEGIT) {
3232

3333
private val simulateDoubleClicking by boolean("SimulateDoubleClicking", false)
3434
private val cps by intRange("CPS", 5..8, 1..50)

src/main/java/net/ccbluex/liquidbounce/features/module/modules/combat/AutoProjectile.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import net.ccbluex.liquidbounce.utils.timing.MSTimer
1717
import net.minecraft.init.Items.egg
1818
import net.minecraft.init.Items.snowball
1919

20-
object AutoProjectile : Module("AutoProjectile", Category.COMBAT) {
20+
object AutoProjectile : Module("AutoProjectile", Category.COMBAT, Category.SubCategory.COMBAT_LEGIT) {
2121
private val facingEnemy by boolean("FacingEnemy", true)
2222

2323
private val range by float("Range", 8F, 1F..20F)

src/main/java/net/ccbluex/liquidbounce/features/module/modules/combat/AutoRod.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import net.minecraft.entity.Entity
2020
import net.minecraft.entity.EntityLivingBase
2121
import net.minecraft.init.Items
2222

23-
object AutoRod : Module("AutoRod", Category.COMBAT) {
23+
object AutoRod : Module("AutoRod", Category.COMBAT, Category.SubCategory.COMBAT_LEGIT) {
2424

2525
private val facingEnemy by boolean("FacingEnemy", true)
2626

src/main/java/net/ccbluex/liquidbounce/features/module/modules/combat/AutoWeapon.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import net.minecraft.item.ItemTool
1818
import net.minecraft.network.play.client.C02PacketUseEntity
1919
import net.minecraft.network.play.client.C02PacketUseEntity.Action.ATTACK
2020

21-
object AutoWeapon : Module("AutoWeapon", Category.COMBAT, subjective = true) {
21+
object AutoWeapon : Module("AutoWeapon", Category.COMBAT, Category.SubCategory.COMBAT_LEGIT, subjective = true) {
2222

2323
private val onlySword by boolean("OnlySword", false)
2424

0 commit comments

Comments
 (0)