EssentialClient
EssentialClient is a client-side mod that adds many client utilities as well as providing a gui to modify carpet rules!
Usage
This mod requires the fabric-launcher, fabric-api, fabric-kotlin, and YetAnotherConfigLib.
Optionally, you can install fabric-carpet, mod-menu, ChunkDebug, and Kursive.
Once installed, you can access the EssentialClient menu through mod-menu, or by
pressing the EssentialClient Menu keybind, which is F7 by default and can be
changed in options.
From this menu you can:
- View and modify the EssentialClient settings.
- View and modify the Carpet server settings.
- Open the ChunkDebug map, provided you have ChunkDebug installed and are connected to a server which supports ChunkDebug.
- Open the Kursive scripting menu, provided you have Kursive installed.
EssentialClient's settings are saved to ./config/EssentialClient/config.json.
Carpet Client
EssentialClient lets you view and modify carpet
rules through a gui instead of having to use the /carpet command.
You do not need to have carpet installed on your client for this to work. Opening the Carpet Server Settings menu will show you every rule, sorted by category, with the rule's description and its extra info. Rules from carpet extensions (such as carpet-extra or carpet-fixes) are also shown, separated by mod.
You must have permission to modify carpet rules on the server for your changes to apply, otherwise the rules will just be displayed to you.

To get rule descriptions when playing on a server, EssentialClient downloads a rule
database which is cached in ./config/EssentialClient/carpet_rules.json. A massive
thank you to RubixDev for creating his carpet database
which EssentialClient pulls from.
Separate Mods
ChunkDebug and Kursive used to be features of EssentialClient but have since been split into their own mods. You can still access both of them from the EssentialClient menu, but they must be installed separately:
- ChunkDebug lets you view the chunk loading status of all the chunks in a world, this requires the mod to be installed on the server as well.
- Kursive is the successor to EssentialClient's client-side scripting, letting you write and run scripts on your client.
If either mod is not installed then its button in the EssentialClient menu will be disabled.
Settings
All the settings below can be found in the EssentialClient settings menu, they are split into the same categories that you will find in game.
Gameplay
| Setting | Description |
|---|---|
| Auto Walk | This will hold your forward key after you have held it for the set amount of ticks |
| Better Accurate Block Placement | This is the same as accurate block placement for tweakeroo but without the need for any server-side mods This uses some packet hacking, which may flag anti-cheat on some servers |
| Crafting Hax | Allows you to drop crafted recipes by holding control when crafting a recipe |
| Sneak To Not Waterlog | Allows you to sneak when using a bucket on a waterloggable block to avoid waterlogging |
| Increase Spectator Scroll Speed | Increases the limit at which you can scroll to go faster in spectator |
| Increase Spectator Scroll Sensitivity | Increases the sensitivity at which you can scroll to go faster in spectator |
| Tick Rate Affects Chat Key | Whether the tick rate affects your chat key, when true, with a lower tick rate it will take longer to open chat (vanilla behaviour) |
| Fix MacOS Cursor Jumping | Fixes the position of where the cursor jumps in text boxes when holding command or option to be consistent with MacOS |
| Ignore Invalid Chat Messages | Ignores invalid chat messages and outputs them as system messages instead |
Technical
| Setting | Description |
|---|---|
| Announce AFK | This announces when you become AFK after a set amount of time (in ticks) |
| Announce AFK Message | This is the message you announce after you are AFK Requires 'Announce AFK' to be enabled |
| Announce Back Message | This is the message you announce after you are back from being AFK Requires 'Announce AFK' to be enabled |
| Carpet Always Set Default | This makes it so whenever you set a carpet rule, it automatically sets it to default |
| Creative Walk Speed | This allows you to override the vanilla walk speed in creative mode |
| Custom Time Out | This lets you change the amount of seconds until you timeout when connected to a server |
| Disable Hotbar Scrolling | Prevents you from scrolling to use your hotbar, learn your keybinds! |
Rendering
| Setting | Description |
|---|---|
| Disable Armor Rendering | This allows you to disable armor rendering for the specified entities |
| Disable Damage Tilt | Disables the camera tilt effect when taking damage |
| Disable Bossbar Rendering | This will disable any bossbars from rendering |
| Disable Display Text Rendering | This will disable any display texts from rendering |
| Disable Hand Swinging | Disables player hand swinging |
| Disable Map Rendering | Disables maps in item frames from rendering |
| Disable Nametag Rendering | This disables all name tags from rendering |
| Disable Night Vision Flashing | Disables the flash that occurs when night vision is about to run out |
| Disable Recipe Toasts | Disables the recipe toast notifications from showing |
| Disable Advancement Toasts | Disables the advancement toast notifications from showing |
| Disable Tutorial Toasts | Disables the tutorial toast notifications from showing |
| Disable Join/Leave Messages | This will prevent player join/leave messages from displaying |
| Disable Screenshot Messages | Removes the message that pops up when you take a screenshot |
| Display Play Time | Displays the amount of time your client has been running in the corner of the pause menu |
| EssentialClient Button | This renders the EssentialClient Menu on the main menu screen and pause screen |
| Ignore Server Render Distance | Ignores the server's render distance when rendering |
| Lava Opacity | Changes the opacity of lava |
| Highlight Lava Sources | Changes the texture for lava sources to make them more visible |
| Highlight Water Sources | Changes the texture for water sources to make them more visible |
| Persistent Chat History | This prevents the chat from being cleared, also applies when changing worlds/servers |
| Toggle Tab | This allows you to toggle tab instead of holding it to see the tab menu |
Miscellaneous
| Setting | Description |
|---|---|
| Remove Warn Invalid Chunk | Removes invalid chunk warnings from your logs |
Keybinds
These can be changed in the EssentialClient settings menu, or in the vanilla controls screen under the EssentialClient category.
| Setting | Description |
|---|---|
| EssentialClient Menu Keybind | This is the keybind to open the EssentialClient Menu |
| Accurate Reverse Keybind | This is the keybind to activate reverse accurate block placement |
| Accurate Into keybind | This is the keybind to activate into accurate block placement |
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 |
- Update to 26.3
- Update to 26.2
- Update dependencies
- Support 26.1.x
- Add fabric language kotlin to dependency list
- Fix compatibility with sodium 8.7
- Fix fabric language kotlin dependency
- Fix fixMacOSCursorJumping not working correctly
- Update to 26.1
- Update to 1.21.11
- Added Ignore Server Render Distance option
- Updated to 1.21.9
- Fix a crash with latest fabric language kotlin
- Fix a crash when scrolling in the controls' menu
- Backport newest features/fixes to 1.21.1
- Update to 1.21.6
- Re-implement crafting hax
- Added
IgnoreInvalidChatoption which stops the client from dcing after receiving invalid chat messages
- Fix a bug where Long typed rules would crash when opening CarpetClient gui
- Updated to 1.21.5
- Added "Fix MacOs Cursor Jumping" which fixes an issue where jumping around with the cursor
- Fixed deadlocking issue with Carpet
- Fixed remapping issue causing a crash when opening a world
- Fixed highlight liquids not working with sodium
- Fixed error with carpet client
Added:
sneakToNotWaterlogwhich allows you to bypass waterlogging by holding your sneak keytickRateAffectsChatKeywhich allows you to bypass the delay when opening chat with lower tick rates
Custom Time Out config which lets you set how long until yourclient times out your connection to the server while it hangs.
Started re-writing EssentialClient.
EssentialClient had many major design flaws making it challenging to maintain,
thus this rewrite aims to keep the mod more maintainable throughout the future
updates of the game.
Some features from previous versions have been removed, either because I do not
believe them to fit into this mod or because they are challenging to maintain.
I have completely removed the scripting ability from EssentialClient as it had
major flaws in its design that made it awkward to maintain and also work with.
The long-term goal is to implement a better solution; however, this will take some
time.
### Improvements:
- Shifted to using YACL for managing configs
highlightWaterSourcesandhighlightLavaSourceshas been improved- CarpetClient has been vastly improved
- Better implementation of many features (better compatability)
Started re-writing EssentialClient.
EssentialClient had many major design flaws making it challenging to maintain,
thus this rewrite aims to keep the mod more maintainable throughout the future
updates of the game.
Some features from previous versions have been removed, either because I do not
believe them to fit into this mod or because they are challenging to maintain.
I have completely removed the scripting ability from EssentialClient as it had
major flaws in its design that made it awkward to maintain and also work with.
The long-term goal is to implement a better solution; however, this will take some
time.
### Improvements:
- Shifted to using YACL for managing configs
highlightWaterSourcesandhighlightLavaSourceshas been improved- CarpetClient has been vastly improved
- Better implementation of many features (better compatability)
- Updated to 1.21
- Updated to 1.20.6
- Updated to 1.20.5
There are still a number of issues with this update, namely clientscript issues (to do with item nbt).
As well as networking issues. GameRule syncing between EssentialAddons and EssentialClient will work
however ChunkDebug is not fully supported yet and will be ported later.
- Fixed a conflict with ViaFabricPlus
- Fixed some obfuscation issues with clientscript