
Well Greased
Adds animations to doors, trapdoors, fence gates and lever!
Screenshots




About this Mod
Well Greased
Adds Animations to doors, trapdoors, fence gates and lever!




Works with redstone too!
Resource Pack Friendly!
For doors and trapdoors, everything is handled automatically.
For the lever and fence gates, there are two possibilities:
- If the resource pack doesn't change the vanilla models (only the textures), then you don't need to do anything.
- If the resource pack changes the vanilla models, you'll have to create a resource pack as follows (under assets/well_greased/models/block):
Lever
Basically, you'll have to separate the model to permit the animation of only the handle of the lever because the base is standing still. So one model for the base, one for the handle and one for the handle when the player has clicked on it.
The following shows an example for the vanilla lever:
lever_base.json :
{
"ambientocclusion": false,
"textures": {
"base": "minecraft:block/cobblestone",
"particle": "#base"
},
"elements": [
{ "from": [ 5, -0.02, 4 ],
"to": [ 11, 2.98, 12 ],
"faces": {
"down": { "uv": [ 5, 4, 11, 12 ], "texture": "#base", "cullface": "down" },
"up": { "uv": [ 5, 4, 11, 12 ], "texture": "#base" },
"north": { "uv": [ 5, 0, 11, 3 ], "texture": "#base" },
"south": { "uv": [ 5, 0, 11, 3 ], "texture": "#base" },
"west": { "uv": [ 4, 0, 12, 3 ], "texture": "#base" },
"east": { "uv": [ 4, 0, 12, 3 ], "texture": "#base" }
}
}
]
}
lever_handle.json :
{
"ambientocclusion": false,
"textures": {
"lever": "minecraft:block/lever",
"particle": "#lever"
},
"elements": [
{ "from": [ 7, 1, 7 ],
"to": [ 9, 11, 9 ],
"rotation": { "origin": [ 8, 1, 8 ], "axis": "x", "angle": -45 },
"faces": {
"up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lever" },
"north": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" },
"south": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" },
"west": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" },
"east": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" }
}
}
]
}
lever_handle_on.json :
{
"ambientocclusion": false,
"textures": {
"lever": "minecraft:block/lever",
"particle": "#lever"
},
"elements": [
{ "from": [ 7, 1, 7 ],
"to": [ 9, 11, 9 ],
"rotation": { "origin": [ 8, 1, 8 ], "axis": "x", "angle": 45 },
"faces": {
"up": { "uv": [ 7, 6, 9, 8 ], "texture": "#lever" },
"north": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" },
"south": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" },
"west": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" },
"east": { "uv": [ 7, 6, 9, 16 ], "texture": "#lever" }
}
}
]
}
Fence Gate
Basically, you'll have to separate the model to permit the animation of the left part and the right part of the fence gate separately. So 4 models for the left part (one close, one close next to a wall, one open and one open next to a wall) and 4 for the right part (one close, one close next to a wall, one open and one open next to a wall).
The following shows an example for the vanilla oak fence gate (it's the same for other types of woods, replace just oak with your wood):
oak_fence_gate_left.json :
{
"textures": {
"particle": "#texture"
},
"elements": [
{
"from": [0, 5, 7],
"to": [2, 16, 9],
"faces": {
"north": {"uv": [14, 2, 16, 13], "texture": "#texture"},
"east": {"uv": [14, 2, 16, 13], "texture": "#texture"},
"south": {"uv": [14, 2, 16, 13], "texture": "#texture"},
"west": {"uv": [14, 2, 16, 13], "texture": "#texture", "cullface": "west"},
"up": {"uv": [14, 0, 16, 2], "texture": "#texture"},
"down": {"uv": [16, 13, 14, 15], "texture": "#texture"}
}
},
{
"from": [6, 6, 7],
"to": [8, 15, 9],
"faces": {
"north": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"south": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"west": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"up": {"uv": [8, 1, 10, 3], "texture": "#texture"},
"down": {"uv": [8, 14, 10, 12], "texture": "#texture"}
}
},
{
"from": [2, 6, 7],
"to": [6, 9, 9],
"faces": {
"north": {"uv": [10, 3, 14, 6], "texture": "#texture"},
"south": {"uv": [10, 9, 14, 12], "texture": "#texture"},
"up": {"uv": [10, 1, 14, 3], "texture": "#texture"},
"down": {"uv": [10, 14, 14, 12], "texture": "#texture"}
}
},
{
"from": [2, 12, 7],
"to": [6, 15, 9],
"faces": {
"north": {"uv": [10, 3, 14, 6], "texture": "#texture"},
"south": {"uv": [10, 9, 14, 12], "texture": "#texture"},
"up": {"uv": [10, 1, 14, 3], "texture": "#texture"},
"down": {"uv": [10, 14, 14, 12], "texture": "#texture"}
}
}
]
}
oak_fence_gate_left_open.json :
{
"textures": {
"particle": "#texture"
},
"elements": [
{
"from": [0, 5, 7],
"to": [2, 16, 9],
"faces": {
"north": {"uv": [14, 2, 16, 13], "texture": "#texture"},
"east": {"uv": [14, 2, 16, 13], "texture": "#texture"},
"south": {"uv": [14, 2, 16, 13], "texture": "#texture"},
"west": {"uv": [14, 2, 16, 13], "texture": "#texture", "cullface": "west"},
"up": {"uv": [14, 0, 16, 2], "texture": "#texture"},
"down": {"uv": [16, 13, 14, 15], "texture": "#texture"}
}
},
{
"from": [0, 6, 13],
"to": [2, 15, 15],
"faces": {
"north": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"east": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"south": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"west": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"up": {"uv": [8, 1, 10, 3], "texture": "#texture"},
"down": {"uv": [8, 14, 10, 12], "texture": "#texture"}
}
},
{
"from": [0, 6, 9],
"to": [2, 9, 13],
"faces": {
"east": {"uv": [2, 9, 6, 12], "texture": "#texture"},
"west": {"uv": [2, 3, 6, 6], "texture": "#texture"},
"up": {"uv": [2, 1, 6, 3], "rotation": 270, "texture": "#texture"},
"down": {"uv": [2, 12, 6, 14], "rotation": 270, "texture": "#texture"}
}
},
{
"from": [0, 12, 9],
"to": [2, 15, 13],
"faces": {
"east": {"uv": [2, 9, 6, 12], "texture": "#texture"},
"west": {"uv": [2, 3, 6, 6], "texture": "#texture"},
"up": {"uv": [2, 1, 6, 3], "rotation": 270, "texture": "#texture"},
"down": {"uv": [2, 12, 6, 14], "rotation": 270, "texture": "#texture"}
}
}
]
}
oak_fence_gate_left_wall.json :
{
"ambientocclusion": true,
"textures": {
"particle": "#texture"
},
"elements": [
{
"from": [0, 2, 7],
"to": [2, 13, 9],
"faces": {
"north": {"uv": [14, 2, 16, 13], "texture": "#texture"},
"east": {"uv": [14, 2, 16, 13], "texture": "#texture"},
"south": {"uv": [14, 2, 16, 13], "texture": "#texture"},
"west": {"uv": [14, 2, 16, 13], "texture": "#texture", "cullface": "west"},
"up": {"uv": [14, 0, 16, 2], "texture": "#texture"},
"down": {"uv": [16, 13, 14, 15], "texture": "#texture"}
}
},
{
"from": [6, 3, 7],
"to": [8, 12, 9],
"faces": {
"north": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"south": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"west": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"up": {"uv": [8, 1, 10, 3], "texture": "#texture"},
"down": {"uv": [8, 14, 10, 12], "texture": "#texture"}
}
},
{
"from": [2, 3, 7],
"to": [6, 6, 9],
"faces": {
"north": {"uv": [10, 3, 14, 6], "texture": "#texture"},
"south": {"uv": [10, 9, 14, 12], "texture": "#texture"},
"up": {"uv": [10, 1, 14, 3], "texture": "#texture"},
"down": {"uv": [10, 14, 14, 12], "texture": "#texture"}
}
},
{
"from": [2, 9, 7],
"to": [6, 12, 9],
"faces": {
"north": {"uv": [10, 3, 14, 6], "texture": "#texture"},
"south": {"uv": [10, 9, 14, 12], "texture": "#texture"},
"up": {"uv": [10, 1, 14, 3], "texture": "#texture"},
"down": {"uv": [10, 14, 14, 12], "texture": "#texture"}
}
}
]
}
oak_fence_gate_left_wall_open.json :
{
"ambientocclusion": true,
"textures": {
"particle": "#texture"
},
"elements": [
{
"from": [0, 2, 7],
"to": [2, 13, 9],
"faces": {
"north": {"uv": [14, 2, 16, 13], "texture": "#texture"},
"east": {"uv": [14, 2, 16, 13], "texture": "#texture"},
"south": {"uv": [14, 2, 16, 13], "texture": "#texture"},
"west": {"uv": [14, 2, 16, 13], "texture": "#texture", "cullface": "west"},
"up": {"uv": [14, 0, 16, 2], "texture": "#texture"},
"down": {"uv": [16, 13, 14, 15], "texture": "#texture"}
}
},
{
"from": [0, 3, 13],
"to": [2, 12, 15],
"faces": {
"north": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"east": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"south": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"west": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"up": {"uv": [8, 1, 10, 3], "texture": "#texture"},
"down": {"uv": [8, 14, 10, 12], "texture": "#texture"}
}
},
{
"from": [0, 3, 9],
"to": [2, 6, 13],
"faces": {
"east": {"uv": [2, 9, 6, 12], "texture": "#texture"},
"west": {"uv": [2, 3, 6, 6], "texture": "#texture"},
"up": {"uv": [2, 1, 6, 3], "rotation": 270, "texture": "#texture"},
"down": {"uv": [2, 12, 6, 14], "rotation": 270, "texture": "#texture"}
}
},
{
"from": [0, 9, 9],
"to": [2, 12, 13],
"faces": {
"east": {"uv": [2, 9, 6, 12], "texture": "#texture"},
"west": {"uv": [2, 3, 6, 6], "texture": "#texture"},
"up": {"uv": [2, 1, 6, 3], "rotation": 270, "texture": "#texture"},
"down": {"uv": [2, 12, 6, 14], "rotation": 270, "texture": "#texture"}
}
}
]
}
oak_fence_gate_right.json :
{
"textures": {
"particle": "#texture"
},
"elements": [
{
"from": [14, 5, 7],
"to": [16, 16, 9],
"faces": {
"north": {"uv": [0, 2, 2, 13], "texture": "#texture"},
"east": {"uv": [0, 2, 2, 13], "texture": "#texture", "cullface": "east"},
"south": {"uv": [0, 2, 2, 13], "texture": "#texture"},
"west": {"uv": [0, 2, 2, 13], "texture": "#texture"},
"up": {"uv": [0, 0, 2, 2], "texture": "#texture"},
"down": {"uv": [2, 13, 0, 15], "texture": "#texture"}
}
},
{
"from": [8, 6, 7],
"to": [10, 15, 9],
"faces": {
"north": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"east": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"south": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"up": {"uv": [6, 1, 8, 3], "texture": "#texture"},
"down": {"uv": [6, 14, 8, 12], "texture": "#texture"}
}
},
{
"from": [10, 6, 7],
"to": [14, 9, 9],
"faces": {
"north": {"uv": [2, 3, 6, 6], "texture": "#texture"},
"south": {"uv": [2, 9, 6, 12], "texture": "#texture"},
"up": {"uv": [2, 1, 6, 3], "texture": "#texture"},
"down": {"uv": [2, 14, 6, 12], "texture": "#texture"}
}
},
{
"from": [10, 12, 7],
"to": [14, 15, 9],
"faces": {
"north": {"uv": [2, 3, 6, 6], "texture": "#texture"},
"south": {"uv": [2, 9, 6, 12], "texture": "#texture"},
"up": {"uv": [2, 1, 6, 3], "texture": "#texture"},
"down": {"uv": [2, 14, 6, 12], "texture": "#texture"}
}
}
]
}
oak_fence_gate_right_open.json :
{
"textures": {
"particle": "#texture"
},
"elements": [
{
"from": [14, 5, 7],
"to": [16, 16, 9],
"faces": {
"north": {"uv": [0, 2, 2, 13], "texture": "#texture"},
"east": {"uv": [0, 2, 2, 13], "texture": "#texture", "cullface": "east"},
"south": {"uv": [0, 2, 2, 13], "texture": "#texture"},
"west": {"uv": [0, 2, 2, 13], "texture": "#texture"},
"up": {"uv": [0, 0, 2, 2], "texture": "#texture"},
"down": {"uv": [2, 13, 0, 15], "texture": "#texture"}
}
},
{
"from": [14, 6, 13],
"to": [16, 15, 15],
"faces": {
"north": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"east": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"south": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"west": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"up": {"uv": [6, 1, 8, 3], "texture": "#texture"},
"down": {"uv": [6, 14, 8, 12], "texture": "#texture"}
}
},
{
"from": [14, 6, 9],
"to": [16, 9, 13],
"faces": {
"east": {"uv": [10, 9, 14, 12], "texture": "#texture"},
"west": {"uv": [10, 3, 14, 6], "texture": "#texture"},
"up": {"uv": [10, 1, 14, 3], "rotation": 270, "texture": "#texture"},
"down": {"uv": [10, 12, 14, 14], "rotation": 270, "texture": "#texture"}
}
},
{
"from": [14, 12, 9],
"to": [16, 15, 13],
"faces": {
"east": {"uv": [10, 9, 14, 12], "texture": "#texture"},
"west": {"uv": [14, 3, 10, 6], "texture": "#texture"},
"up": {"uv": [10, 1, 14, 3], "rotation": 270, "texture": "#texture"},
"down": {"uv": [10, 12, 14, 14], "rotation": 270, "texture": "#texture"}
}
}
]
}
oak_fence_gate_right_wall.json :
{
"ambientocclusion": true,
"textures": {
"particle": "#texture"
},
"elements": [
{
"from": [14, 2, 7],
"to": [16, 13, 9],
"faces": {
"north": {"uv": [0, 2, 2, 13], "texture": "#texture"},
"east": {"uv": [0, 2, 2, 13], "texture": "#texture", "cullface": "east"},
"south": {"uv": [0, 2, 2, 13], "texture": "#texture"},
"west": {"uv": [0, 2, 2, 13], "texture": "#texture"},
"up": {"uv": [0, 0, 2, 2], "texture": "#texture"},
"down": {"uv": [2, 13, 0, 15], "texture": "#texture"}
}
},
{
"from": [8, 3, 7],
"to": [10, 12, 9],
"faces": {
"north": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"east": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"south": {"uv": [8, 3, 10, 12], "texture": "#texture"},
"up": {"uv": [6, 1, 8, 3], "texture": "#texture"},
"down": {"uv": [6, 14, 8, 12], "texture": "#texture"}
}
},
{
"from": [10, 3, 7],
"to": [14, 6, 9],
"faces": {
"north": {"uv": [2, 3, 6, 6], "texture": "#texture"},
"south": {"uv": [2, 9, 6, 12], "texture": "#texture"},
"up": {"uv": [2, 1, 6, 3], "texture": "#texture"},
"down": {"uv": [2, 14, 6, 12], "texture": "#texture"}
}
},
{
"from": [10, 9, 7],
"to": [14, 12, 9],
"faces": {
"north": {"uv": [2, 3, 6, 6], "texture": "#texture"},
"south": {"uv": [2, 9, 6, 12], "texture": "#texture"},
"up": {"uv": [2, 1, 6, 3], "texture": "#texture"},
"down": {"uv": [2, 14, 6, 12], "texture": "#texture"}
}
}
]
}
oak_fence_gate_right_wall_open.json :
{
"ambientocclusion": true,
"textures": {
"particle": "#texture"
},
"elements": [
{
"from": [14, 2, 7],
"to": [16, 13, 9],
"faces": {
"north": {"uv": [0, 2, 2, 13], "texture": "#texture"},
"east": {"uv": [0, 2, 2, 13], "texture": "#texture", "cullface": "east"},
"south": {"uv": [0, 2, 2, 13], "texture": "#texture"},
"west": {"uv": [0, 2, 2, 13], "texture": "#texture"},
"up": {"uv": [0, 0, 2, 2], "texture": "#texture"},
"down": {"uv": [2, 13, 0, 15], "texture": "#texture"}
}
},
{
"from": [14, 3, 13],
"to": [16, 12, 15],
"faces": {
"north": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"east": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"south": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"west": {"uv": [6, 3, 8, 12], "texture": "#texture"},
"up": {"uv": [6, 1, 8, 3], "texture": "#texture"},
"down": {"uv": [6, 14, 8, 12], "texture": "#texture"}
}
},
{
"from": [14, 3, 9],
"to": [16, 6, 13],
"faces": {
"east": {"uv": [10, 9, 14, 12], "texture": "#texture"},
"west": {"uv": [10, 3, 14, 6], "texture": "#texture"},
"up": {"uv": [10, 1, 14, 3], "rotation": 270, "texture": "#texture"},
"down": {"uv": [10, 12, 14, 14], "rotation": 270, "texture": "#texture"}
}
},
{
"from": [14, 9, 9],
"to": [16, 12, 13],
"faces": {
"east": {"uv": [10, 9, 14, 12], "texture": "#texture"},
"west": {"uv": [14, 3, 10, 6], "texture": "#texture"},
"up": {"uv": [10, 1, 14, 3], "rotation": 270, "texture": "#texture"},
"down": {"uv": [10, 12, 14, 14], "rotation": 270, "texture": "#texture"}
}
}
]
}
Available Versions
How to Install Well Greased 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.4).
Install Mod
Open the mod browser in the dashboard and search for "Well Greased". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21.4
Server-side
✗ UnsupportedRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Well Greased 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.4). You can switch loaders with one click in the panel.
Is Well Greased compatible with fabric?
Well Greased officially supports fabric for Minecraft 1.21.4. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Well Greased – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Well Greased 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 Well Greased with just one click on your server.