Add Baritone, Gamma, No Sprinting Packet, and ensure Unknit blocks Fabric registration handshake
parent
461d343362
commit
3265282b30
|
@ -55,6 +55,7 @@ dependencies {
|
||||||
runtimeOnly("org.joml:joml:1.10.2")
|
runtimeOnly("org.joml:joml:1.10.2")
|
||||||
runtimeOnly("org.anarres:jcpp:1.4.14")
|
runtimeOnly("org.anarres:jcpp:1.4.14")
|
||||||
|
|
||||||
|
modImplementation(files("vendor/mods/baritone-unoptimized-fabric-1.8.2.jar"))
|
||||||
modRuntimeOnly(files("vendor/mods/iris-mc1.18.1-1.2.0-pre.jar"))
|
modRuntimeOnly(files("vendor/mods/iris-mc1.18.1-1.2.0-pre.jar"))
|
||||||
modRuntimeOnly(files("vendor/mods/sodium-fabric-mc1.18.1-0.4.0-alpha6+build.14.jar"))
|
modRuntimeOnly(files("vendor/mods/sodium-fabric-mc1.18.1-0.4.0-alpha6+build.14.jar"))
|
||||||
modRuntimeOnly(files("vendor/mods/lazydfu-0.1.2.jar"))
|
modRuntimeOnly(files("vendor/mods/lazydfu-0.1.2.jar"))
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
package site.hackery.unknit.mixin;
|
||||||
|
|
||||||
|
import net.fabricmc.fabric.impl.networking.AbstractChanneledNetworkAddon;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
|
@Mixin(value = AbstractChanneledNetworkAddon.class, remap = false)
|
||||||
|
public class MixinFabricAbstractChanneledNetworkAddon {
|
||||||
|
@Inject(method = "sendInitialChannelRegistrationPacket", at = @At("HEAD"), cancellable = true, remap = false)
|
||||||
|
private void onSendRegistration(CallbackInfo ci) {
|
||||||
|
ci.cancel();
|
||||||
|
}
|
||||||
|
}
|
|
@ -9,6 +9,7 @@ import codes.som.hibiscus.features.FeaturesRegistry
|
||||||
import codes.som.hibiscus.features.combat.Criticals
|
import codes.som.hibiscus.features.combat.Criticals
|
||||||
import codes.som.hibiscus.features.exploits.AntiGhost
|
import codes.som.hibiscus.features.exploits.AntiGhost
|
||||||
import codes.som.hibiscus.features.player.NoFallDamage
|
import codes.som.hibiscus.features.player.NoFallDamage
|
||||||
|
import codes.som.hibiscus.features.player.NoSprintingPacket
|
||||||
import codes.som.hibiscus.gui.ImGuiScreen
|
import codes.som.hibiscus.gui.ImGuiScreen
|
||||||
import codes.som.hibiscus.util.command.ChatCommandListener
|
import codes.som.hibiscus.util.command.ChatCommandListener
|
||||||
import codes.som.hibiscus.util.input.KeybindDispatcher
|
import codes.som.hibiscus.util.input.KeybindDispatcher
|
||||||
|
@ -69,5 +70,6 @@ object HibiscusMod : ModInitializer {
|
||||||
features.getFeature<AntiGhost>().enabled = true
|
features.getFeature<AntiGhost>().enabled = true
|
||||||
features.getFeature<NoFallDamage>().enabled = true
|
features.getFeature<NoFallDamage>().enabled = true
|
||||||
features.getFeature<Criticals>().enabled = true
|
features.getFeature<Criticals>().enabled = true
|
||||||
|
features.getFeature<NoSprintingPacket>().enabled = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
@file:Suppress("UNCHECKED_CAST")
|
||||||
|
|
||||||
|
package codes.som.hibiscus.api.command.handler
|
||||||
|
|
||||||
|
sealed interface CommandHandler {
|
||||||
|
fun handle(vararg args: Any?)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun interface CommandHandler0 : CommandHandler {
|
||||||
|
fun handle()
|
||||||
|
override fun handle(vararg args: Any?) {
|
||||||
|
handle()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun interface CommandHandler1<A> : CommandHandler {
|
||||||
|
fun handle(p1: A)
|
||||||
|
override fun handle(vararg args: Any?) {
|
||||||
|
handle(args[0] as A)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun interface CommandHandler2<A, B> : CommandHandler {
|
||||||
|
fun handle(p1: A, p2: B)
|
||||||
|
override fun handle(vararg args: Any?) {
|
||||||
|
handle(args[0] as A, args[1] as B)
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,6 +6,7 @@ import codes.som.hibiscus.api.command.CommandManager
|
||||||
fun allCommandClasses(): Array<() -> Command> = arrayOf(
|
fun allCommandClasses(): Array<() -> Command> = arrayOf(
|
||||||
::Reload,
|
::Reload,
|
||||||
::Vclip,
|
::Vclip,
|
||||||
|
::Gamma,
|
||||||
)
|
)
|
||||||
|
|
||||||
class CommandRegistry : CommandManager() {
|
class CommandRegistry : CommandManager() {
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
package codes.som.hibiscus.commands
|
||||||
|
|
||||||
|
import codes.som.hibiscus.api.command.Command
|
||||||
|
import codes.som.hibiscus.mc
|
||||||
|
|
||||||
|
class Gamma : Command("gamma") {
|
||||||
|
init {
|
||||||
|
branch { gamma: Double ->
|
||||||
|
mc.options.gamma = gamma
|
||||||
|
Unit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -8,6 +8,7 @@ import codes.som.hibiscus.features.movement.Flight
|
||||||
import codes.som.hibiscus.features.movement.Speed
|
import codes.som.hibiscus.features.movement.Speed
|
||||||
import codes.som.hibiscus.features.overlay.Overlay
|
import codes.som.hibiscus.features.overlay.Overlay
|
||||||
import codes.som.hibiscus.features.player.NoFallDamage
|
import codes.som.hibiscus.features.player.NoFallDamage
|
||||||
|
import codes.som.hibiscus.features.player.NoSprintingPacket
|
||||||
import codes.som.hibiscus.features.visual.Freecam
|
import codes.som.hibiscus.features.visual.Freecam
|
||||||
import codes.som.hibiscus.util.Resettable
|
import codes.som.hibiscus.util.Resettable
|
||||||
|
|
||||||
|
@ -20,6 +21,7 @@ fun allFeatureClasses(): Array<() -> Feature> = arrayOf(
|
||||||
::Ghost,
|
::Ghost,
|
||||||
::AntiGhost,
|
::AntiGhost,
|
||||||
::Freecam,
|
::Freecam,
|
||||||
|
::NoSprintingPacket,
|
||||||
)
|
)
|
||||||
|
|
||||||
class FeaturesRegistry : Resettable {
|
class FeaturesRegistry : Resettable {
|
||||||
|
|
|
@ -34,6 +34,7 @@ class Overlay : Feature("Overlay", FeatureCategory.OVERLAY) {
|
||||||
ImGui.popStyleColor()
|
ImGui.popStyleColor()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hiddenInOverlay = true
|
||||||
enabled = true
|
enabled = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
package codes.som.hibiscus.features.player
|
||||||
|
|
||||||
|
import codes.som.hibiscus.api.feature.Feature
|
||||||
|
import codes.som.hibiscus.api.feature.FeatureCategory
|
||||||
|
import codes.som.hibiscus.events.SendPacketEvent
|
||||||
|
import codes.som.hibiscus.player
|
||||||
|
import net.minecraft.network.packet.c2s.play.ClientCommandC2SPacket
|
||||||
|
|
||||||
|
class NoSprintingPacket : Feature("No Sprinting Packet", FeatureCategory.PLAYER) {
|
||||||
|
init {
|
||||||
|
on { event: SendPacketEvent ->
|
||||||
|
val (packet) = event
|
||||||
|
if (packet is ClientCommandC2SPacket) {
|
||||||
|
if (packet.mode == ClientCommandC2SPacket.Mode.START_SPRINTING && !player.isSubmergedInWater) {
|
||||||
|
event.cancel()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hiddenInOverlay = true
|
||||||
|
}
|
||||||
|
}
|
|
@ -5,9 +5,11 @@
|
||||||
"injectors": {
|
"injectors": {
|
||||||
"defaultRequire": 1
|
"defaultRequire": 1
|
||||||
},
|
},
|
||||||
"mixins": [],
|
"mixins": [
|
||||||
|
],
|
||||||
"client": [
|
"client": [
|
||||||
"MixinClientBrandRetriever",
|
"MixinClientBrandRetriever",
|
||||||
|
"MixinFabricAbstractChanneledNetworkAddon",
|
||||||
"MixinMinecraftClient",
|
"MixinMinecraftClient",
|
||||||
"MixinMinecraftMain"
|
"MixinMinecraftMain"
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in New Issue