CurseForge · Hytale mod
BetterGrass
Mod that makes grass cover the sides of blocks on hills and slopes, instead of leaving a strip of bare dirt
Quick answer
Which BetterGrass release should I use?
BetterGrass hiwire-bettergrass-mod-0.1.0.jar targets 0.6. Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer. No required dependencies listed for this file.
Where it goes
Where should BetterGrass be installed in Hytale?
Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.
Put Hytale mods on the world host or dedicated server. Singleplayer runs a local server too; Hytale does not use separate client mods.
What else does BetterGrass hiwire-bettergrass-mod-0.1.0.jar need?
hiwire-bettergrass-mod-0.1.0.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional project dependencies. Check the creator notes before changing an existing world.
Before you install it
Add BetterGrass without breaking your instance.
Built for BetterGrass hiwire-bettergrass-mod-0.1.0.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use hiwire-bettergrass-mod-0.1.0.jar. It targets 0.6; another release may target a different game build or dependency set.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Enable it on the world host
Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.
- 04
Pick the file you checked
Use the “Get this file” button beside hiwire-bettergrass-mod-0.1.0.jar. It opens that exact file at the source.
About this project
What does BetterGrass add?
HiWire - BetterGrass
Mod that makes grass cover the sides of blocks on hills and slopes, instead of leaving a strip of bare dirt.


Features
- Better Grass Sides - Grass blocks get full-grass sides where the terrain steps down, instead of a dirt edge on every slope
- Every Grass Type - Works on all seven grass families: normal, Lush, Dry, Cold, Sunny, Wet and Withered
- Leafy Soil Too - Leaf litter gets the same treatment, and reads as one continuous surface with grass
- Fixed Grass Blending - Corrects the transitions between grass types, which in vanilla blend both ways at once and stack two masks on the same edge
- Fixed Sunny Grass - Repairs a vanilla bug where Sunny Grass could not be tinted, leaving its blend a fixed green that clashed with grass, dirt and stone alike
- Works While You Build - Grass you place turns full when it qualifies, and the blocks around one you dig update straight away
- Automatic - No commands to run, no world pre-processing; terrain converts as players explore
Why this mod?
Hytale already ships the artwork for this. Every grass block has a _Full sibling whose sides use the grass texture instead of dirt-with-a-fringe, and worldgen places those variants by hand in a handful of zone definitions. Nothing swaps to them while you play, so a stepped hillside shows a band of dirt on every terrace instead of a continuous grass slope.
BetterGrass simply wires up what is already there.
Doing so exposed two vanilla asset bugs, which the mod also fixes:
- Grass types blend both ways at once. Every grass variant belongs to the same block group, so "blend onto other grass" and "blend onto my own kind" are the same instruction. Two neighbouring blocks each paint their edge onto the other, stacking two masks on one seam.
- Sunny Grass cannot be tinted. It is the only grass family shipping baked-colour textures with its tinting switched off, so its blend is stuck at one fixed green regardless of what it meets.
Requirements
- Hytale or Hytale Server
- Java 25
Installation
Using CurseForge App
The easiest way to install mods is via the CurseForge App, which handles installation and updates automatically.
Manual Installation
- Download the mod JAR file
- Place it in the mods directory:
- Windows:
%appdata%\Hytale\UserData\Mods - Mac:
~/Library/Application Support/Hytale/UserData/Mods - Linux (Flatpak):
~/.var/app/com.hypixel.HytaleLauncher/data/Hytale/UserData/Mods - Dedicated Server:
/modsfolder in your server directory
- Windows:
- Restart the game or server
Since Hytale uses a server internally for both singleplayer and multiplayer, this mod works in both modes.
Only the server or world host needs the mod. Players connecting to a modded server see the improved grass without installing anything.
How It Works
A grass block switches to its full-grass variant when every exposed side has grass diagonally below it - the stepped hillside case.
Conversion happens in three places, so there is nothing to run by hand:
| When | What |
|---|---|
| A chunk loads | The interior is converted before anyone is sent the chunk, so the change is invisible |
| A chunk becomes live | The edges are finished, which need the neighbouring chunk to decide |
| You place or break a block | The grass around it updates immediately |
Existing worlds convert as players explore them. Newly generated terrain arrives already converted.
Is it safe for my world?
The mod changes real blocks rather than only their appearance, because Hytale block textures are per block type and the renderer cannot be modded. That is safe here for three reasons:
- Both variants inherit from the same parent block, so material, group, tools and drops are identical. Nothing that reacts to block type can tell them apart.
- The mod refuses to convert any pair whose halves do not drop the same items, so an asset change in a future Hytale update cannot turn the conversion into an item duplication exploit.
- The rule is one-way. A full-grass block is never converted back, because it may be one a player crafted and placed deliberately.
Commands
| Command | Description | Executor | Permission |
|---|---|---|---|
/bettergrass |
Root command for BetterGrass | Any | hiwire.bettergrass.command.bettergrass |
/bettergrass enabled [true|false] |
Show or set whether conversion runs | Player only | hiwire.bettergrass.command.bettergrass.enabled |
/bettergrass explain <x> <y> <z> |
Explain why a block did or did not convert | Player only | hiwire.bettergrass.command.bettergrass.explain |
Examples
Check whether conversion is running:
/bettergrass enabled
Turn conversion off. Blocks already converted stay as they are:
/bettergrass enabled false
Find out why a particular block still has dirt sides:
/bettergrass explain -956 136 160
explain reports every side of the block: what is next to it, whether that hides the face, what sits diagonally below, and the verdict. It also prints to the server log.
Grass Blending
Vanilla lets grass types blend in both directions at once, so a seam between two types wears both of their edges. BetterGrass gives each family its own block group and a single blending direction, following the precedence the game already uses:
Cold > Lush > Sunny > Dry > Withered > Wet > Grass
Each type blends onto the ones below it and none above, so every boundary gets exactly one edge. Normal, Withered and Wet grass blend into each other as well, which vanilla does not do at all.
Blocks that blend onto grass from outside the family - snow, mud, leaf litter, moss, ice - keep working on every grass type.
Customization
Everything the mod changes lives in plain asset files inside the JAR, under Server/Item/Items/Soil/Grass. An asset pack of your own that overrides the same files takes precedence, so the blending order or any individual texture can be changed without rebuilding.
Building from Source
./gradlew build
The compiled mod JAR will be in mod/build/libs/.
Regenerating the asset overrides after a Hytale update:
python3 tools/generate_grass_overrides.py \
--assets /path/to/HytaleAssets/Server/Item/Items \
--out mod/src/main/resources/Server/Item/Items \
--textures-out mod/src/main/resources/Common/BlockTextures
Add --verify to check the shipped files are current without writing anything. The overrides are copies of the vanilla assets with two fields changed, so they need regenerating whenever Hytale updates those files.
License
MIT License
Copyright (c) 2026 HiWire Studio
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Support
- Author: HiWire-Nick
Project description from CurseForge.
Pick your setup
BetterGrass releases for each Hytale build.
Choose the version and loader you play, then open the matching release.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
BetterGrass releases and Hytale builds
hiwire-bettergrass-mod-0.1.0.jar
1 Sept 2026
Looking for an older file? The official CurseForge project page is in Resources.