Files
TuffXOptimized/README.md
T
2026-07-24 02:09:19 +00:00

80 lines
3.3 KiB
Markdown

# TuffXPlus
> [!WARNING]
> This is not a "crack" for Minecraft, it simply allows for better TuffClient & ShadowNetClient integration on servers.
![preview](./img/showcase.png)
> [!WARNING]
> > This version of TuffXPlus is not maintained by the Creators of the [original](https://github.com/tuffNetwork/) TuffXPlus and is an optimized version by @ryan_norshare which uses way less memory.
TuffX+ is a single, unified plugin that combines:
- Below Y0 *[previousely TuffX]* (Below Y0 support for modern world depth)
- ViaBlocks (custom block palette + chunk updates for modern blocks)
- ViaEntities (modern entity sync without nametags)
- TuffActions (swimming sync + creative item handling + module restrictions)
---
## Installation
### Requirements
- Java 17+
- Spigot/Paper 1.18+
- [ViaVersion](https://hangar.papermc.io/ViaVersion/ViaVersion) and [ViaBackwards](https://hangar.papermc.io/ViaVersion/ViaBackwards) (on the *backend* server *only*; not proxy)
> PacketEvents, Jackson, and WebSocket libraries are shaded into the jar.
*DO NOT* install the old TuffX plugin; *only* this one
It is highly recommended to install [AxSmithing](https://hangar.papermc.io/Artillex-Studios/AxSmithing) for smithing table support (not specific to TuffClient).
### Steps
1. Download the latest release from the [Releases page](https://github.com/TuffNetwork/TuffXPlus/releases) (or the latest beta from [the builds directory](builds)).
2. Drop `TuffXPlus-x.x.x.jar` into your server's `plugins` folder.
3. Start the server to generate `plugins/TuffXPlus/config.yml`.
4. Configure features in `config.yml` (`y0`, `registry`, `viablocks`, `viaentities`, `swimming`, `creative-items`, `restrictions`).
5. Restart the server or run `/tuffx reload`.
---
## Features
- Below Y0: sends extra chunk data for Y < 0 so TuffX client can see and interact with modern world depth.
- ViaBlocks: synchronizes modern block states to TuffX client with a custom palette.
- ViaEntities: syncs modern entities to TuffX client without nametags.
- TuffActions: swimming state sync and creative item handling.
- Restrictions: disallow TuffClient modules: [module list](/docs/restrictions.md)
- Optional server registry over WebSocket (for discovery).
## Commands
- `/tuffx reload` - reload the config
- `/viablocks get` - give a set of custom blocks (creative)
- `/viablocks refresh` - resend ViaBlocks data in view distance
- `/restrictions disallow` - add a module to the disallow list and send an update to all TuffClient clients
- `/restrictions allow` - remove a module from the disallow list and send an update
## Permissions
- `tuffx.reload`
- `tuffx.viablocks.command.get`
- `tuffx.viablocks.command.refresh`
- `tuffx.restrictions.command.disallow`
- `tuffx.restrictions.command.allow`
## Compiling
```sh
git clone https://github.com/TuffNetwork/TuffXPlus.git
cd TuffXPlus
./gradlew build
```
Output jar: `build/libs/TuffXPlus-x.x.x.jar`.
## Support
For general issues, [make an issue here](https://git.shadownetwork.shop/MrNorshare/TuffXOptimized/issues)
For immediate issues, [join our Discord](https://discord.gg/shadownetwork) and make a ticket
NOTE: this is not maintained by the Tuff Community but you can check them out here: [Discord](https://discord.gg/2nvk9Rprwt) [Github](https://github.com/tuffNetwork/) [Original Repo](https://github.com/TuffNetwork/TuffXPlus)