Radius-Antibot-Script for Jartex/Matrix/Other



  • Removes Bots allways staying in range.
    Default values work for JartexSW.

    Todo: Add time check to decrease radius

    Download:
    RadiusAntiBot v1.0

    Code:

    /// api_version=2
    var script = registerScript({
        name: "RadiusAntiBot",
        version: "1.0",
        authors: ["BestNub"]
    });
    
    var EntityPlayer = Java.type("net.minecraft.entity.player.EntityPlayer");
    var EventState = Java.type("net.ccbluex.liquidbounce.event.EventState");
    var notAlwaysInRadius = [];
    
    script.registerModule({
        name: "RadiusAntiBot",
        description: "Removes bots always in radius.",
        category: "Misc",
        settings: {
            radius: Setting.float({
                name: "Radius",
                default: 20.0,
                min: 10.0,
                max: 100.0
            }),
            removeRadius: Setting.float({
                name: "RemoveRadius",
                default: 10.0,
                min: 0.0,
                max: 10.0
            }),
            chatLog: Setting.boolean({
                name: "ChatLog",
                default: false
            }),
        }
    }, function (module) {
        module.on("enable", function () {
            notAlwaysInRadius = [];
        });
    
        module.on("world", function (event) {
            notAlwaysInRadius = [];
        });
    
        module.on("update", function () {
            var entityList = mc.theWorld.getLoadedEntityList();
            var playerList = [];
    
            for (var i in entityList)
                if (entityList[i] instanceof EntityPlayer)
                    playerList.push(entityList[i]);
    
            for (var i in playerList) {
                var currentEntity = playerList[i];
    
                if (notAlwaysInRadius.indexOf(currentEntity.getEntityId()) == -1 && mc.thePlayer.getDistanceToEntity(currentEntity) > module.settings.radius.get()) {
                    notAlwaysInRadius.push(currentEntity.getEntityId());
                    if (module.settings.chatLog.get())
                        Chat.print("[RadiusAntiBot] " + currentEntity.getName() + " is a Player");
                }
    
                if (currentEntity != mc.thePlayer && notAlwaysInRadius.indexOf(currentEntity.getEntityId()) == -1 && mc.thePlayer.getDistanceToEntity(currentEntity) < module.settings.removeRadius.get()) {
                    mc.theWorld.removeEntity(currentEntity);
                    if (module.settings.chatLog.get())
                        Chat.print("[RadiusAntiBot] Removed " + currentEntity.getName());
                }
            }
        });
    });
    


  • whatta smart idea ❤

    edit: lol my first useable script

    https://prnt.sc/tm1dep



  • @bestnub I think your script needs a bit more work, or I've used it wrongly:

    Before enabling RadiusAntiBot:
    Base Profile Screenshot 2020.07.21 - 19.43.32.39.png
    After enabling RadiusAntiBot:
    Base Profile Screenshot 2020.07.21 - 19.43.37.71.png



  • @mems In lobbys it removes other players. But once you joined a round it works



  • @bestnub So what you tell me is that it first removes all the players to confirm they're not bots, then adds them back ?



  • @mems no it removes players that spawn in your set radius. if they appear on the screen over 20 [default] blocks away the script knows it is a player, if not it removes them if they get closer than 10 [default]blocks.



  • @bestnub I just tried playing bedwars and it removed the opponent next to me.. And it still wouldn't be confirmed as a player, leading to me losing against him in "invisibility" mode lol

    EDIT: @bestnub Seems like whoever I run up to, the script removes them, no matter what settings I use.



  • @mems try changeing the range value. But i don't recomend it lower than 15 blocks. I only tested it in SkyWars where the Players allways start far away.



  • its working pretty good for me in skywars from jartex without problems ?



  • I had it on, and the bot was still visible, no other AntiBots enabled, only this..



  • This antibot isn't the ideal one because it will remove any player that isn't moving when ur not moving as well....

    Edit: I though it checked for constant distance but it checks for radius so it will remove any player that is closer than radius value and wasn't blacklisted by being further



  • @CzechHek Why would this happen?



  • What radius for Matrix?



  • Made an errorless AntiBot for Jartex.

    JartexAntiBot.js

    module = {
        name: "JartexAntiBot",
        author: "CzechHek",
        category: "Combat",
        version: 1.1,
        onPacket: function (e) {
            e.getPacket() instanceof S38PacketPlayerListItem && mc.thePlayer.capabilities.allowEdit && e.getPacket().getAction() == "ADD_PLAYER" && (info = e.getPacket().getEntries().get(0)).getGameMode() == "SURVIVAL" && info.getDisplayName() && (e.cancelEvent(), chat.print("§2Removed bot§a: " + info.getDisplayName().getUnformattedText()));
        }
    }
    
    script.import("Core.lib");
    


  • @CzechHek That. was. all? 😮



  • @CzechHek but how do you get the entity from the info. It correctly identifies the bot, but doesn't remove it.



  • @bestnub Why would you remove it? This works perfectly and removing it is just a cosmetic feature



  • @bestnub It cancels the packet adding the entity, if you look closely.



  • When I get kicked with CzechHek's AntiBot enabled on JartexNetwork and rejoin, bots are gone, and if I rejoin Bedwars, everyone will be gone, most likely invisible to me. Anyone else having the issue?



  • @CzechHek oh i didn't notice it. One-Line-Coding-Style is not my favorite


Log in to reply