Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details
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"}
}
}
]
}



