Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

LiquidBounce Forum

Supporters

Community members who have proven to be competent supporters.

Private

Posts


  • Java Script Api
    C commandblock2

    Yes the currently script API can be sometimes very annoying to work with, like the calling a api that accepts a float with a number in js, etc. and the error usually is not very straight forward and needs a lot of experience to understand what's going on. we are still trying to improve it. At least you have https://liquidbounce.net/docs/script-api/debugging now, although you cannot create any named variable in the console. btw the docs looks much better than before.

    Requests

  • Java Script Api
    C commandblock2

    Just write a mod and put the LiquidBounce as a dependency if you need to use kotlin/java. The only limitations for the script api is that actually you cannot use mixin. Usually there are ways to workaround whatever you are trying to do, but sometimes there are indeed something wrong. typescript support and partial npm ecosystem might be supported soon™.

    Requests

  • I hope to fix the autoblock loophole issue in LiquidBounce.
    C commandblock2

    Hard to believe that's not a GPT written one but probably won't be able to fix what ever u say unless you give more information.

    By consistently you mean how much? Which server/anti cheat combination and what config are you using? There are a lot of configurable autoblock options in killaura. What client(s) are you refering as

    well-known hacked clients that exploit this flaw

    Requests

  • [GPLv3] transaction.js
    C commandblock2

    transactions.zip Also looking forward to our marketplace, I do know that some development happened on the branch recently, hope to see it soon.

    Scripts

  • Typescript definition for minecraft and LiquidBounce
    C commandblock2

    Update for LiquidBounce v0.29.0:
    What's new:

    • refined disclaimer in README.md
    • localStorage in definition (no java.utils class definition yet)
    • multiChoose in manually maintained patch
    Scripts

  • [GPLv3] transaction.js
    C commandblock2

    it was kinda weird, I never see any value starting maybe with -32768 or around, it's always that giant number, is it VFP or just everyone's using the same ac? Btw I even see some server like sending 300ish transactions per second and wtf is that.

    Scripts

  • Help with setting visibility
    C commandblock2

    By reading your post again I think I need to use ChoiceConfigurable. And I think that's definitely possible.

    ScriptAPI

  • Help with setting visibility
    C commandblock2

    Also I am not sure about if we have to pass a object that implements all those functions to Java.extend(). But I think that's it for graaljs's type gymnastics, if you think this is necessary please open a issue at github. Ah just found that I forgot to use the ReflectionUtils xD.

    ScriptAPI

  • Help with setting visibility
    C commandblock2

    @Soulplexis It's done. Although not supposed to be implemented this way but it can be.

    image.png

    
    
    function __require(path) {
        if (path.startsWith("@embedded")) {
            return globalThis
        }
    
        if (path.startsWith("@minecraft-yarn-definitions/types/")) {
            return {
                [path.substring(path.lastIndexOf("/") + 1)]: Java.type(path
                    .replaceAll("@minecraft-yarn-definitions/types/", "")
                    .replaceAll("/", ".")
                )
            }
        }
        return require(path);
    }
    var exports = {}
    
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    // imports
    /* eslint-disable unused-imports/no-unused-imports */
    const _embedded_1 = __require("@embedded");
    const ToggleableConfigurable_1 = __require("@minecraft-yarn-definitions/types/net/ccbluex/liquidbounce/config/types/ToggleableConfigurable");
    /* eslint-enable unused-imports/no-unused-imports */
    // DO NOT TOUCH ANYTHING ABOVE THIS LINE, also not sure why it didn't work
    const script = _embedded_1.registerScript.apply({
        name: "example-script-api-hacking",
        version: "1.0.0",
        authors: ["commandblock2"]
    });
    script.registerModule({
        name: "example-typescript-module-script-api-hacking",
        description: "Ths is an minimal example module generated in ts but with a setting that's not supposed to be here",
        category: "Client",
    }, (mod) => {
        // Assuming you're in a JavaScript environment that supports Java.extend (like Nashorn or GraalVM)
        // @ts-expect-error
        const MyToggleableConfig = Java.extend(ToggleableConfigurable_1.ToggleableConfigurable, {
            // Implement abstract methods from ToggleableConfigurable and its parent classes
            // Required method implementations from EventListener interface
            parent: function () {
                return this.parent; // Return the parent passed in constructor
            },
            children: function () {
                return []; // Return an array of child event listeners if any
            },
            unregister: function () {
                // Implementation for unregistering this event listener
            },
            // You can also override other methods like:
            enable: function () {
                // Custom enable logic
                // @ts-expect-error
                Java.super(this).enable(); // Call the parent method if needed
            },
            disable: function () {
                // Custom disable logic
                // @ts-expect-error
                Java.super(this).disable(); // Call the parent method if needed
            }
        });
        // Create an instance with required constructor parameters
        // constructor(parent: EventListener | null, name: string, enabled: boolean, aliases: string[])
        const myConfig = new MyToggleableConfig(mod, "MyConfig", true, ["alias1", "alias2"]);
        const testBoolean = myConfig.boolean("testBoolean", false);
        _embedded_1.Client.displayChatMessage(testBoolean.toString());
        // @ts-expect-error
        const field = mod.class.getDeclaredField("_values");
        field.setAccessible(true);
        const valuesMap = field.get(mod);
        // @ts-expect-error
        valuesMap.put("MyConfig", mod.value(myConfig));
        mod.on("enable", () => {
            _embedded_1.Client.displayChatMessage(`Hi, ${_embedded_1.mc.player}`);
        });
    });
    

    // imports
    /* eslint-disable unused-imports/no-unused-imports */
    import {
        Setting,
        Vec3i,
        Vec3d,
        MathHelper,
        BlockPos,
        Hand,
        RotationAxis,
        mc,
        Client,
        RotationUtil,
        ItemUtil,
        NetworkUtil,
        InteractionUtil,
        BlockUtil,
        MovementUtil,
        ReflectionUtil,
        ParameterValidator,
        UnsafeThread,
        registerScript
    } from "@embedded";
    import { Class } from "@minecraft-yarn-definitions/types/java/lang/Class";
    import { ToggleableConfigurable } from "@minecraft-yarn-definitions/types/net/ccbluex/liquidbounce/config/types/ToggleableConfigurable";
    import { ScriptModule } from "@minecraft-yarn-definitions/types/net/ccbluex/liquidbounce/script/bindings/features/ScriptModule";
    /* eslint-enable unused-imports/no-unused-imports */
    // DO NOT TOUCH ANYTHING ABOVE THIS LINE, also not sure why it didn't work
    
    
    const script = registerScript.apply({
        name: "example-script-api-hacking",
        version: "1.0.0",
        authors: ["commandblock2"]
    });
    
    script.registerModule({
        name: "example-typescript-module-script-api-hacking",
        description: "Ths is an minimal example module generated in ts but with a setting that's not supposed to be here",
        category: "Client",
    
    }, (mod) => {
    
        // Assuming you're in a JavaScript environment that supports Java.extend (like Nashorn or GraalVM)
        // @ts-expect-error
        const MyToggleableConfig = Java.extend(ToggleableConfigurable, {
            // Implement abstract methods from ToggleableConfigurable and its parent classes
    
            // Required method implementations from EventListener interface
            parent: function () {
                return this.parent; // Return the parent passed in constructor
            },
    
            children: function () {
                return []; // Return an array of child event listeners if any
            },
    
            unregister: function () {
                // Implementation for unregistering this event listener
            },
    
            // You can also override other methods like:
            enable: function () {
                // Custom enable logic
                // @ts-expect-error
                Java.super(this).enable(); // Call the parent method if needed
            },
    
            disable: function () {
                // Custom disable logic
                // @ts-expect-error
                Java.super(this).disable(); // Call the parent method if needed
            }
        });
    
        // Create an instance with required constructor parameters
        // constructor(parent: EventListener | null, name: string, enabled: boolean, aliases: string[])
        const myConfig = new MyToggleableConfig(mod, "MyConfig", true, ["alias1", "alias2"]);
        const testBoolean = myConfig.boolean("testBoolean", false);
        Client.displayChatMessage(testBoolean.toString());
    
        // @ts-expect-error
        const field = (mod.class as unknown as Class<ScriptModule>).getDeclaredField("_values");
        field.setAccessible(true);
        const valuesMap = field.get(mod);
        // @ts-expect-error
        valuesMap.put("MyConfig", mod.value(myConfig));
    
        mod.on("enable", () => {
            Client.displayChatMessage(`Hi, ${mc.player}`)
        })
    })
    
    ScriptAPI

  • Help with setting visibility
    C commandblock2

    This might be possible actually I think, if you put it in the lambda near mod.on that might even work, will try later

    ScriptAPI

Member List

P pOwOke
C commandblock2
  • Login

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups