
CVTweaks
Tons of QOL features for the Cubeville server
Screenshots

About this Mod
CVTweaks is a collection of features designed to make playing on the Cubeville minecraft server (cubeville.org) more efficient.
CVTweaks is not affiliated with Cubeville in any way, this is an unofficial, player-made mod and is not endorsed by Cubeville
Features:
- RegionScript - a simple scripting language that allows you to make specific regions do different actions, like showing titles, playing music, and creating basic minigames, all on the client
- Toggle gamemode keybind - (default key is Y) lets you quickly change your Creative gamemode with the press of a key
- Fly speed changer - use the - and + keys to increase or decrease your creative fly speed, you can also press both to reset it to the default
/cvwiki <search>- allows you to search for any topic on the unofficial Cubeville wiki and get a link to it- AutoHome - when enabled with
/autohome <on/off>, it will automatically set your home in the Survival world when your health is low, to allow you to easily TP back incase you die - WCSafety - when toggled with
/wcsafety, if you are chatting in a group chat or private message and after send a message in global, it will make you send it twice to confirm whether you want to send it in global - Warp Menu - (default key is H) when pressed in the Creative world, it brings up a popup which allows you to quickly type the username of any person to warp to their plot
- /ignore <add/remove/list> - allows you to ignore players, hiding any global messages sent by them (does not hide private messages! if you're having issues with someone in your private messages, it's time to talk to staff instead)
- Channel Toggle - you can use /group or /global to toggle on and off only chatting in your group chat or global chat channels, without you needing to type /p or /y before the message
- Nearest Drop - you can use the command
/nearestdrop [coordinates]to get the closest drop or warpable location to those coordinates - And more to be added later!
RegionScript
RegionScript is a custom-coded, extremely basic, scripting language which you are able to apply to regions or subzones by using a greeting message
For instance:/rg flag AllergenX greeting !showTitle welcome to my plot | 1 | !showActionBar 1 second after wow
will show a title on the player's screen when they enter my plot, wait 1 second, and then show a message in the action bar as well
There are tons of other commands you can use
RegionScript Commands:
- !playsong
- plays sound from the url (url must be a direct link to an mp3 file!) - !stopall - stops all currently playing sounds from
!playsong - !showtitle
- shows a title - !showactionbar
- shows a message in the actionbar (the space above the player's hotbar) - !showsubtitle
- shows a subtitle - !gotohome
- goes to the player's creative plot - !showtimer
- shows a timer which is displayed in the player's actionbar and counts down in seconds based on the duration - !toggle
- !shake
<duration (in ticks)> - shakes the camera (for 1 second, the duration should be set to 20 as it is in ticks) - !popup
- shows a popup on the player's screen with an ok button - And more to come!
RegionScript 2 Lua Scripting
RegionScript 2 allows you to run custom Lua scripts directly in the client. Scripts are loaded from Pastebin and run in a sandboxed environment.
Getting Started
- Write your Lua script and upload it to Pastebin.
- Get the raw link for your paste.
- In game, type !script
to load and run your code. - To reload the script after making changes, type !reloadlua.
- To stop all scripts and audio, type !stopall.
Your script must include a tick() function if you want code to run repeatedly 20 times per second.
The Player Object
You can access player data using the player table.
- player.getX(), player.getY(), player.getZ(): Returns current coordinates.
- player.isSprinting(): Returns true if sprinting.
- player.isSneaking(): Returns true if sneaking.
- player.isOnGround(): Returns true if on the ground.
- player.getVelocityX(), player.getVelocityY(), player.getVelocityZ(): Returns current velocity values.
- player.getGameMode(): Returns the current game mode as a string.
- player.kill(): Kills the player (requires Creative mode).
- player.getHeldItem(): Returns the string ID of the item in the main hand.
- player.getInventorySlot(slot): Returns the string ID of an item in a specific inventory slot (0-8 for hotbar).
Global Functions
Chat and UI
- chat(message): Sends a message to your chat. Use % for color codes (e.g., chat("%aHello") makes it green).
- setActionBar(text): Sets the text above your hotbar.
- showTitle(title, subtitle): Displays a title and subtitle on screen.
World and Blocks
- getBlock(x, y, z): Returns the block ID at the coordinates (e.g., "minecraft:stone").
- fillGhostBlocks(x1, y1, z1, x2, y2, z2, blockId): Creates client side ghost blocks in a box. The range between coordinates cannot exceed 64 blocks.
- setTime(ticks): Sets the client side world time.
- setWeather(type): Sets weather. Use "clear", "rain", or "thunder".
Audio and Particles
- playSong(url): Streams an MP3 from a URL.
- playSound(soundId, volume, pitch): Plays a Minecraft sound (e.g., "minecraft:entity.experience_orb.pickup").
- spawnParticle(id, x, y, z, dx, dy, dz): Spawns a particle at a location.
Example Script
function tick()
local x = player.getX()
local y = player.getY()
local z = player.getZ()
-- Show your position in the action bar
setActionBar("Pos: " .. math.floor(x) .. ", " .. math.floor(y) .. ", " .. math.floor(z))
end
Available Versions
How to Install CVTweaks on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set fabric Loader
In the panel under "Egg", select the fabric loader and matching Minecraft version (1.21.8).
Install Mod
Open the mod browser in the dashboard and search for "CVTweaks". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21.8
Server-side
✗ UnsupportedRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
CVTweaks server crashes on startup – what to do?
Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.8). You can switch loaders with one click in the panel.
Is CVTweaks compatible with fabric?
CVTweaks officially supports fabric for Minecraft 1.21.8. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with CVTweaks – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if CVTweaks consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install CVTweaks with just one click on your server.