.github | ||
config/checkstyle | ||
deviousmod-api | ||
gradle/wrapper | ||
src/main | ||
.gitignore | ||
build.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
README.md | ||
settings.gradle.kts |
DeviousMod v3
This is the premiere creative utility client.
Features
- Crash prevention (decorated pot crash, double text array crash, null component exception, component stack overflow exploit)
- Freeze prevention (particle freeze, translation placeholder freeze, area effect cloud freeze, map icon count/name length freeze)
- Clientside/serverside kick prevention (completion kick)
- Higher packet priority
- Watchdog (currently only watches the main thread)
- Chat tweaking (infinite chat, no "chat normalization")
- Username changer
Modules
- AntiAnnoying (Prevents common annoyances)
- AntiIcu (Prevents you from being icu controlled)
- AntiMute (Prevents you from being muted)
- AutoAfk (Automatically un/marks you as AFK when you un/focus the window)
- AutoCommandSpy (Automatically re/enables CommandSpy)
- AutoOp (Automatically re-ops you when you lose operator status)
- AutoVanish (Automatically maintains vanish status)
- ClientsideBookViewer (Views books fully clientside to evade TotalFreedomMod restrictions on the reading of books)
- ClientsideInventory (does not inform the server of any updates you make to your inventory unless necessary and ignores any updates it may make) (creative only)
- CommandPlaceholders (executes every command suggestion)
- ConnectionErrorCanceller (ignores connection errors)
- DiscardScreenCloses (Discards screen close packets sent by the server)
- GamemodeEnforcer (Enforces the player's requested gamemode)
- Interceptor (Prints the raw bytes received by/sent to the client in console output)
- ItemLogger (logs the NBT of items that other players hold)
- KaboomPanoramas (Replaces the vanilla panoramas with those of Kaboom clones)
- Logos (Displays a DeviousMod watermark in the top left of your screen)
- Monitor (displays gamemode changes & server lag status)
- MovementEnforcer (Prevents you from being teleported)
- NoItemUseCooldown (removes the cooldown between using items)
- NoRender (Disables rendering of certain game aspects)
- OurWorldInNBT (experimental module which allows you to see the NBT of tile entities) (requires operator)
- TrueSight (allows you to see invisible entities)
Commands
- /bval - Use the hashing system of a Kaboom bot.
- /cnear - Displays the distance between you and every entity in your render distance.
- /cusername - Re/sets your username.
- /keyring - Manage your Kaboom bot keys.
- /getnbt - Displays the NBT of any items in your hand/offhand(s)
- /prettynbt - Pretty prints a given NBT tag
- /modules - Displays all modules and allows you to toggle them
- /panorama - Captures a panorma of the current world/view
Building
Please execute the following command after cloning this repository, in the same directory as the cloned repository, depending on your operating system, after configuring your environment variables to use a Java 17 JDK.
Windows
.\gradlew.bat --no-daemon build
Linux
./gradlew --no-daemon build
Other
Please use the Linux build instructions.
Usage
Commands
DeviousMod does not opt to have a hackish command system like other clients. Instead, it uses the clientside Brigadier command manager. You use commands with DeviousMod as you would with the server. Please note that there is a possibility that incorrect command parameters will have the command you tried to execute sent to the server.
Modules
Open RSHIFT to open the ClickGUI. You can enable, disable and configure the modules in their respective categories. Click the arrow to open the settings of a module, if it has one, and click anywhere else on the module's button to toggle it.
Keyring
WARNING: PLEASE ONLY USE THIS COMMAND IN SINGLEPLAYER TO AVOID SECRET LEAKING IF YOU MISTYPE THE COMMAND'S NAME!!!
You can use the following command to add a bot's key to the keyring.
The identifier parameter denotes the name you want to give to the key. This will be what you use in /bval
when you use
the bot.
The algorithm parameter tells the client what hashing algorithm to use to compute the hash.
The template parameter tells the client what is to be hashed. Available templates:
- UUID - the UUID of your current session
- NAME - the username of your current session
- TIMESTAMP - The current timestamp, modified by the forgivenessSeconds parameter
- KEY - The shared secret specified by the key parameter
- COMMAND - The actual command you want to execute
The hash length parameter denotes how many bytes should be retained from the digest. Use -1 to not trim anything.
The forgiveness seconds parameter tells the client how many seconds it should remove from the timestamp. This is used in authentication algorithms for allowing a person with a clock that isn't aligned exactly with the clock of the bot to use the bot's privileged commands. Use 0 to disable.
The key parameter (is obviously) the shared secret of the bot.
Example (HBot)
/keyring add HBot sha-256 COMMAND;NAME;TIMESTAMP;KEY UTF-8 4 10 <KEY>