Flower pots and potted objects have very poorly optimized models and strange texture mapping
This is a merge of MC-262427 and MC-262433 as requested by [Mojang] Maxime Lebrot in the comments of the latter.
Here is the latest revision of the resource pack to fix this: reworked-pot-models-and-texture-25w02a-v1.0.zip
The bug
The models for flower pots, as well as the models for objects inside of flower pots, are very poorly made:
- The shape is defined in a very wasteful way; currently the flower pot model itself uses 22 quads to define its mesh, but a visually identical result can be achieved using just 11 quads (similarly to how it was rendered prior to release 1.8).
- The texture mapping on the pot itself is also not done very well - the side texture shares a row of pixels with the top texture, and the bottom texture uses two planes to create a weird hodgepodge of the rim and side. It is extremely difficult to create a good texture for flower pots without outright replacing the model file.
It is possible to completely solve both of these problems simply by reworking the flower pot texture and the affected models.
How to reproduce
This concerns reproducing the render lag.
- Download the attached resource pack
- Set your render distance to 16 chunks
- Create this superflat world:
100*minecraft:flower_pot;minecraft:the_void
- Enter flying mode
/tp @s 0 64 0 0 90
- Compare performance with and without the resource pack using F3+2
Expected results
Flower pots would be optimal in vanilla already.
Actual results
We get much less lag with the resource pack, even though the pots ultimately look no different (MC-246224) aside.
How to fix
The fix should be simple:
- replace vanilla's current model files with the model files in the attached resource pack
- replace vanilla's flower pot texture with the texture provided in the resource pack
- replace Programmer Art's flower pot texture with the texture attached:

Further notes
Why are flower pots like this, anyway?
In release 1.4, when flower pots were implemented, their model system was just about optimal. However, when blocks were converted over to using data-driven models in 1.8, the model that flower pots were made to use was of an inferior quality, a fate shared by many other blocks such as cauldrons. Two of the outer areas of the pot use a cuboid of six sides, and the other two use four, which already gets us 20 planes. The dirt is another plane, and the bottom texture to plug the gap is another, getting us up to the 22-faced mess we have today.
Notably, the top face now uses four texture planes to define the outer rim, even though it previously only used one before 1.8. Any retexturing of the inner area of the rim texture will not be visible in vanilla's current model.
And what's up with the mapping on the bottom?
Up until 1.13, block placement rules were far more restrictive. Flower pots required a supporting block, and could not be placed on a visually transparent block such as glass. So the bottom was never visible in normal gameplay.
When these placement rules were relaxed, it was noted that the mapping on the bottom was incorrect, and that an empty area of the texture was mapped to this area instead. This was eventually fixed in 1.16 (MC-120335, MC-170842), however only the model file was changed to fix this, and the texture was left completely untouched despite there not being a dedicated "bottom" part. This means that the bottom "texture" is actually a weird combination of the top texture and side texture, and cannot be changed independently of either of them. The potted cactus model doesn't even use it currectly anymore (MC-194192).
How is the mapping fixed?
We have enough space in a 16x16 texture file to fit a dedicated "rim" texture, a dedicated "side" texture, a dedicated "inside" texture and a dedicated "bottom" texture - so that's what I've done here. All of the potted object models have been updated to match it. This means that we can also make potted cactus's bottom look correct without needing to waste an extra plane on it. The outcomes, besides the fix for potted cactus, and ignoring clipping inside of the pots, should be 100% visually identical to how flower pots already look in-game; MC-246224 may cause discrepancies, but these are unnoticeable in most cases even if you're actively looking for them.
Since the new format will break any existing textures for flower pots, here's the new specification, and how to update an existing texture file to match it:
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
Linked Issues
is duplicated by1
relates to15
Created Issue:
Flower pot models are very unoptimised and have flawed texture mapping
The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I've tested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, or are a result of precision issues such as
MC-246224.Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
For further optimizations, refer to
MC-262433.The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I've tested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, or are a result of precision issues such as
MC-246224.Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
relates to
relates to
relates to
relates to
Relates to
MC-252693,MC-260296and MC-262527.For further optimizations, refer to
MC-262433.The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I've tested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, or are a result of precision issues such as
MC-246224.Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
Relates to
MC-252693,MC-260296andMC-262527.For further optimizations, refer to
MC-262433.The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I've tested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, or are a result of precision issues such as
MC-246224.Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
Relates to
MC-252693,MC-260296, MC-262527 andMC-262652.For further optimizations, refer to
MC-262433.The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I've tested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, or are a result of precision issues such as
MC-246224.Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
Relates to
MC-252693,MC-260296, MC-262527andMC-262652.For further optimizations, refer to
MC-262433.The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I've tested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, or are a result of precision issues such as
MC-246224.Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
Relates to
MC-252693,MC-260296, MC-262527,MC-262652and MC-262689.For further optimizations, refer to
MC-262433.The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I've tested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, or are a result of precision issues such as
MC-246224.Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
relates to
is duplicated by
relates to
relates to
relates to
relates to
Relates to
MC-252693,MC-260296, MC-262527,MC-262652and MC-262689.For further optimizations, refer to
MC-262433.[ticket pending rewrite]
The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I've tested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, or are a result of precision issues such as
MC-246224.Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
Flower pot models are very unoptimised and have flawed texture mappingFlower pot models are very unoptimized and have flawed texture mapping
relates to
Relates to
MC-252693,MC-260296, MC-262527,MC-262652and MC-262689.For further optimizations, refer to
MC-262433.[ticket pending rewrite - maybe later today?]
The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I've tested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, or are a result of precision issues such as
MC-246224.Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
Relates to
MC-252693,MC-260296,MC-262527,MC-262652and MC-262689.For further optimizations, refer to
MC-262433.[ticket pending rewrite - maybe later today?]
The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I've tested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, or are a result of precision issues such as
MC-246224.Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
Relates to
MC-252693,MC-260296and MC-262527.For further optimizations, refer to
MC-262433.[ticket pending rewrite - maybe later today?]
The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I've tested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, or are a result of precision issues such as
MC-246224.Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
Relates to
MC-252693,MC-260296and MC-262527.For further optimizations, refer to
MC-262433.[ticket pending rewrite - maybe later today?]
The bug
The model for flower pots (and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
- Create a superflat world with the following preset:
minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
- Open the FPS bars using Alt+F3
/tp @s 0 -42 0 0 90- Compare where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mapping
The other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attached to this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I've tested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, or are a result of precision issues such as
MC-246224.Info for resource pack creators
As this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
relates to
Flower potmodels are very unoptimized and have flawedtexture mappingFlower pots and potted objects have very poorly optimized models and strange texture mapping
relates to
For further optimizations, refer to
MC-262433.
[ticket pending rewrite - maybe latertoday?]The bug
The model for flower pots
(and by extension, the models for potted objects) are notably more convoluted than they need to be. This results in two seemingly unrelated, but fundamentally linked, issues:
- Flower pots are considerably more taxing to render, and can cause render lag if many are present (see also
MC-260296)- The texture mapping on flower pots is rather unintuitive, especially on the bottom
Optimisation
The current vanilla flower pot model, as of 23w18a and 1.19.4, uses five elements/cuboids: one uses the dirt texture on the top and the outside texture on the bottom, whereas the other four represent different edges of the pot. However, across those five elements, there are a total of 22 faces, which is less than optimal: many of these faces (specifically the outsides of the pot and the bottom) are coplanar with each other, appearing to be single faces when in fact they are composed of multiple. We can do better.
The resource pack attached to this issue achieves the exact same visual result with five elements, with 14 faces rather than 22. This is a considerable reduction (both in render lag and file size), and you can feel it.
How to reproduce
- Download the attached resource pack containing the optimized flower pot models
Create a superflat world with the following preset:minecraft:barrier,20*minecraft:flower_pot;minecraft:the_void- Set render distance to 2 and simulation distance to 5
Open the FPS bars using Alt+F3 /tp @s 0-420 0 90- Compare
where the FPS graph evens out with the vanilla flower pot model vs. the optimized flower pot model - the optimized flower pot will give better FPS
Texture mappingThe other major issue with the flower pot model is how the textures are applied to the block. The flower pot block texture, since their introduction in 1.4.2, has only ever had textures for the top and side - the bottom was never normally visible until 1.13, so a texture plane on the bottom was largely disregarded. In 1.16, the bug arising from this (
MC-120335,MC-170842) was fixed, however the actual texture file for the flower pot remained unchanged. As a result, the bottom "texture" is effectively a random mishmash of parts of the top and side texture from different elements of the model, and isn't consistent between different potted plants either as a result (MC-194192).
This issue is a fairly easy fix - there's enough space within a 16x16 texture file to accommodate textures for individual top, side and bottom textures, although things will need to be shuffled around to fit. The attached resource pack contains a texture file for flower pots with defined top, side and bottom regions, and a Programmer Art version of this texture is also attachedto this issue separately. The bottom texture has been made to visually match the current bottom "texture" perfectly in both cases.
I'vetested this model thoroughly using multiple texture resolutions and can confirm it is absolutely visually identical to the model currently used in vanilla - any visual differences are either only visible by clipping inside of the pot in Spectator mode or by other means, orarearesult of precision issues such asMC-246224.
Info for resource pack creatorsAs this new texture format will break compatibility with any previously created custom textures for flower pots, here is a brief explanation of the new format and a rough guide to how to convert existing textures to this format.
The new texture layout is composed of four 6x6 quadrants.
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The
bottom-left 6x6 region is for thesidetexture of the flower pot. Move thebottom-middle 6x6 regionof the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)- The
top-right 6x6 region is for theinside of the flower pot.By default, this visuallyduplicatestheoutside, so you can copy that region to here.- The
bottom-right 6x6 region is for thebottomof the flower pot.Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.How to fix
I've done all of the hard work here to my knowledge - all that needs done is for the flower pot block texture to be replaced with the new texture from the resource pack, for all of the models (flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json) to be replaced with the versions in the attached resource pack, and for Programmer Art's flower pot texture to also be replaced with the attached updated version of the texture.
If permission of some sort is required to have these models and textures implemented into the vanilla game, consider it granted (if this is not possible, then we can discuss this in the comments of this ticket).
Further notes
There may be other optimizations that can be made to flower pots and potted objects - I will discuss these in future tickets as to not overload this one and risk making it confusing.
This is a merge of MC-262427 and
MC-262433as requested by Maxime Lebrot in the comments of the latter.The bug
The models for flower pots, as well as the models for objects inside of flower pots, are very poorly made:
- The shape is defined in a very wasteful way; currently the flower pot model itself uses 22 quads to define its mesh, but a visually identical result can be achieved using just 11 quads (similarly to how it was rendered prior to release 1.8).
- The texture mapping on the pot itself is also not done very well - the side texture shares a row of pixels with the top texture, and the bottom texture uses two planes to create a weird hodgepodge of the rim and side. It is extremely difficult to create a good texture for flower pots without outright replacing the model file.
It is possible to completely solve both of these problems simply by reworking the flower pot texture and the affected models.
How to reproduce
This concerns reproducing the render lag.
- Download the attached resource pack
- Set your render distance to 16 chunks
- Create this superflat world:
100*minecraft:flower_pot;minecraft:the_void- Enter flying mode
/tp @s 0 64 0 0 90- Compare performance with and without the resource pack using F3+2
Expected results
Flower pots would be optimal in vanilla already.
Actual results
We get much less lag with the resource pack, even though the pots ultimately look no different (
MC-246224) aside.How to fix
The fix should be simple:
- replace vanilla's current model files with the model files in the attached resource pack
- replace vanilla's flower pot texture with the texture provided in the resource pack
- replace Programmer Art's flower pot texture with the texture attached
Further notes
Why are flower pots like this, anyway?
In release 1.4, when flower pots were implemented, their model system was just about optimal. However, when blocks were converted over to using data-driven models in 1.8, the model that flower pots were made to use was of an inferior quality, a fate shared by many other blocks such as cauldrons. Two of the outer areas of the pot use a cuboid of six sides, and the other two use four, which already gets us 20 planes. The dirt is another plane, and the bottom texture to plug the gap is another, getting us up to the 22-faced mess we have today.
Notably, the top face now uses four texture planes to define the outer rim, even though it previously only used one before 1.8. Any retexturing of the inner area of the rim texture will not be visible in vanilla's current model.
And what's up with the mapping on the bottom?
Up until 1.13, block placement rules were far more restrictive. Flower pots required a supporting block, and could not be placed on a visually transparent block such as glass. So the bottom was never visible in normal gameplay.
When these placement rules were relaxed, it was noted that the mapping on the bottom was incorrect, and that an empty area of the texture was mapped to this area instead. This was eventually fixed in 1.16 (
MC-120335,MC-170842), however only the model file was changed to fix this, and the texture was left completely untouched despite there not being a dedicated "bottom" part. This means that the bottom "texture" is actually a weird combination of the top texture and side texture, and cannot be changed independently of either of them. The potted cactus model doesn't even use it currectly anymore (MC-194192).How is the mapping fixed?
We have enough space in a 16x16 texture file to fit a dedicated "rim" texture, a dedicated "side" texture, a dedicated "inside" texture and a dedicated "bottom" texture - so that's what I've done here. All of the potted object models have been updated to match it. This means that we can also make potted cactus's bottom look correct without needing to waste an extra plane on it. The outcomes, besides the fix for potted cactus, and ignoring clipping inside of the pots, should be 100% visually identical to how flower pots already look in-game;
MC-246224may cause discrepancies, but these are unnoticeable in most cases even if you're actively looking for them.Since the new format will break any existing textures for flower pots, here's the new specification, and how to update an existing texture file to match it:
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
This is a merge of MC-262427 and
MC-262433as requested by Maxime Lebrot in the comments of the latter.The bug
The models for flower pots, as well as the models for objects inside of flower pots, are very poorly made:
- The shape is defined in a very wasteful way; currently the flower pot model itself uses 22 quads to define its mesh, but a visually identical result can be achieved using just 11 quads (similarly to how it was rendered prior to release 1.8).
- The texture mapping on the pot itself is also not done very well - the side texture shares a row of pixels with the top texture, and the bottom texture uses two planes to create a weird hodgepodge of the rim and side. It is extremely difficult to create a good texture for flower pots without outright replacing the model file.
It is possible to completely solve both of these problems simply by reworking the flower pot texture and the affected models.
How to reproduce
This concerns reproducing the render lag.
- Download the attached resource pack
- Set your render distance to 16 chunks
- Create this superflat world:
100*minecraft:flower_pot;minecraft:the_void- Enter flying mode
/tp @s 0 64 0 0 90- Compare performance with and without the resource pack using F3+2
Expected results
Flower pots would be optimal in vanilla already.
Actual results
We get much less lag with the resource pack, even though the pots ultimately look no different (
MC-246224) aside.How to fix
The fix should be simple:
- replace vanilla's current model files with the model files in the attached resource pack
- replace vanilla's flower pot texture with the texture provided in the resource pack
- replace Programmer Art's flower pot texture with the texture attached:
Further notes
Why are flower pots like this, anyway?
In release 1.4, when flower pots were implemented, their model system was just about optimal. However, when blocks were converted over to using data-driven models in 1.8, the model that flower pots were made to use was of an inferior quality, a fate shared by many other blocks such as cauldrons. Two of the outer areas of the pot use a cuboid of six sides, and the other two use four, which already gets us 20 planes. The dirt is another plane, and the bottom texture to plug the gap is another, getting us up to the 22-faced mess we have today.
Notably, the top face now uses four texture planes to define the outer rim, even though it previously only used one before 1.8. Any retexturing of the inner area of the rim texture will not be visible in vanilla's current model.
And what's up with the mapping on the bottom?
Up until 1.13, block placement rules were far more restrictive. Flower pots required a supporting block, and could not be placed on a visually transparent block such as glass. So the bottom was never visible in normal gameplay.
When these placement rules were relaxed, it was noted that the mapping on the bottom was incorrect, and that an empty area of the texture was mapped to this area instead. This was eventually fixed in 1.16 (
MC-120335,MC-170842), however only the model file was changed to fix this, and the texture was left completely untouched despite there not being a dedicated "bottom" part. This means that the bottom "texture" is actually a weird combination of the top texture and side texture, and cannot be changed independently of either of them. The potted cactus model doesn't even use it currectly anymore (MC-194192).How is the mapping fixed?
We have enough space in a 16x16 texture file to fit a dedicated "rim" texture, a dedicated "side" texture, a dedicated "inside" texture and a dedicated "bottom" texture - so that's what I've done here. All of the potted object models have been updated to match it. This means that we can also make potted cactus's bottom look correct without needing to waste an extra plane on it. The outcomes, besides the fix for potted cactus, and ignoring clipping inside of the pots, should be 100% visually identical to how flower pots already look in-game;
MC-246224may cause discrepancies, but these are unnoticeable in most cases even if you're actively looking for them.Since the new format will break any existing textures for flower pots, here's the new specification, and how to update an existing texture file to match it:
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
This is a merge of MC-262427 and
MC-262433as requested by Maxime Lebrot in the comments of the latter.Here is the latest revision of the resource pack to fix this: reworked-pot-models-and-texture-25w02a-v1.0.zip
![]()
The bug
The models for flower pots, as well as the models for objects inside of flower pots, are very poorly made:
- The shape is defined in a very wasteful way; currently the flower pot model itself uses 22 quads to define its mesh, but a visually identical result can be achieved using just 11 quads (similarly to how it was rendered prior to release 1.8).
- The texture mapping on the pot itself is also not done very well - the side texture shares a row of pixels with the top texture, and the bottom texture uses two planes to create a weird hodgepodge of the rim and side. It is extremely difficult to create a good texture for flower pots without outright replacing the model file.
It is possible to completely solve both of these problems simply by reworking the flower pot texture and the affected models.
How to reproduce
This concerns reproducing the render lag.
- Download the attached resource pack
- Set your render distance to 16 chunks
- Create this superflat world:
100*minecraft:flower_pot;minecraft:the_void- Enter flying mode
/tp @s 0 64 0 0 90- Compare performance with and without the resource pack using F3+2
Expected results
Flower pots would be optimal in vanilla already.
Actual results
We get much less lag with the resource pack, even though the pots ultimately look no different (
MC-246224) aside.How to fix
The fix should be simple:
- replace vanilla's current model files with the model files in the attached resource pack
- replace vanilla's flower pot texture with the texture provided in the resource pack
- replace Programmer Art's flower pot texture with the texture attached:
Further notes
Why are flower pots like this, anyway?
In release 1.4, when flower pots were implemented, their model system was just about optimal. However, when blocks were converted over to using data-driven models in 1.8, the model that flower pots were made to use was of an inferior quality, a fate shared by many other blocks such as cauldrons. Two of the outer areas of the pot use a cuboid of six sides, and the other two use four, which already gets us 20 planes. The dirt is another plane, and the bottom texture to plug the gap is another, getting us up to the 22-faced mess we have today.
Notably, the top face now uses four texture planes to define the outer rim, even though it previously only used one before 1.8. Any retexturing of the inner area of the rim texture will not be visible in vanilla's current model.
And what's up with the mapping on the bottom?
Up until 1.13, block placement rules were far more restrictive. Flower pots required a supporting block, and could not be placed on a visually transparent block such as glass. So the bottom was never visible in normal gameplay.
When these placement rules were relaxed, it was noted that the mapping on the bottom was incorrect, and that an empty area of the texture was mapped to this area instead. This was eventually fixed in 1.16 (
MC-120335,MC-170842), however only the model file was changed to fix this, and the texture was left completely untouched despite there not being a dedicated "bottom" part. This means that the bottom "texture" is actually a weird combination of the top texture and side texture, and cannot be changed independently of either of them. The potted cactus model doesn't even use it currectly anymore (MC-194192).How is the mapping fixed?
We have enough space in a 16x16 texture file to fit a dedicated "rim" texture, a dedicated "side" texture, a dedicated "inside" texture and a dedicated "bottom" texture - so that's what I've done here. All of the potted object models have been updated to match it. This means that we can also make potted cactus's bottom look correct without needing to waste an extra plane on it. The outcomes, besides the fix for potted cactus, and ignoring clipping inside of the pots, should be 100% visually identical to how flower pots already look in-game;
MC-246224may cause discrepancies, but these are unnoticeable in most cases even if you're actively looking for them.Since the new format will break any existing textures for flower pots, here's the new specification, and how to update an existing texture file to match it:
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
This is a merge of MC-262427 and
MC-262433as requested by Maxime Lebrot in the comments of the latter.Here is the latest revision of the resource pack to fix this: reworked-pot-models-and-texture-25w02a-v1.0.zip
![]()
The bug
The models for flower pots, as well as the models for objects inside of flower pots, are very poorly made:
- The shape is defined in a very wasteful way; currently the flower pot model itself uses 22 quads to define its mesh, but a visually identical result can be achieved using just 11 quads (similarly to how it was rendered prior to release 1.8).
- The texture mapping on the pot itself is also not done very well - the side texture shares a row of pixels with the top texture, and the bottom texture uses two planes to create a weird hodgepodge of the rim and side. It is extremely difficult to create a good texture for flower pots without outright replacing the model file.
It is possible to completely solve both of these problems simply by reworking the flower pot texture and the affected models.
How to reproduce
This concerns reproducing the render lag.
- Download the attached resource pack
- Set your render distance to 16 chunks
- Create this superflat world:
100*minecraft:flower_pot;minecraft:the_void- Enter flying mode
/tp @s 0 64 0 0 90- Compare performance with and without the resource pack using F3+2
Expected results
Flower pots would be optimal in vanilla already.
Actual results
We get much less lag with the resource pack, even though the pots ultimately look no different (
MC-246224) aside.How to fix
The fix should be simple:
- replace vanilla's current model files with the model files in the attached resource pack
- replace vanilla's flower pot texture with the texture provided in the resource pack
- replace Programmer Art's flower pot texture with the texture attached:
Further notes
Why are flower pots like this, anyway?
In release 1.4, when flower pots were implemented, their model system was just about optimal. However, when blocks were converted over to using data-driven models in 1.8, the model that flower pots were made to use was of an inferior quality, a fate shared by many other blocks such as cauldrons. Two of the outer areas of the pot use a cuboid of six sides, and the other two use four, which already gets us 20 planes. The dirt is another plane, and the bottom texture to plug the gap is another, getting us up to the 22-faced mess we have today.
Notably, the top face now uses four texture planes to define the outer rim, even though it previously only used one before 1.8. Any retexturing of the inner area of the rim texture will not be visible in vanilla's current model.
And what's up with the mapping on the bottom?
Up until 1.13, block placement rules were far more restrictive. Flower pots required a supporting block, and could not be placed on a visually transparent block such as glass. So the bottom was never visible in normal gameplay.
When these placement rules were relaxed, it was noted that the mapping on the bottom was incorrect, and that an empty area of the texture was mapped to this area instead. This was eventually fixed in 1.16 (
MC-120335,MC-170842), however only the model file was changed to fix this, and the texture was left completely untouched despite there not being a dedicated "bottom" part. This means that the bottom "texture" is actually a weird combination of the top texture and side texture, and cannot be changed independently of either of them. The potted cactus model doesn't even use it currectly anymore (MC-194192).How is the mapping fixed?
We have enough space in a 16x16 texture file to fit a dedicated "rim" texture, a dedicated "side" texture, a dedicated "inside" texture and a dedicated "bottom" texture - so that's what I've done here. All of the potted object models have been updated to match it. This means that we can also make potted cactus's bottom look correct without needing to waste an extra plane on it. The outcomes, besides the fix for potted cactus, and ignoring clipping inside of the pots, should be 100% visually identical to how flower pots already look in-game;
MC-246224may cause discrepancies, but these are unnoticeable in most cases even if you're actively looking for them.Since the new format will break any existing textures for flower pots, here's the new specification, and how to update an existing texture file to match it:
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
This is a merge of MC-262427 and
MC-262433as requested by Maxime Lebrot in the comments of the latter.Here is the latest revision of the resource pack to fix this: reworked-pot-models-and-texture-25w02a-v1.0.zip
![]()
The bug
The models for flower pots, as well as the models for objects inside of flower pots, are very poorly made:
- The shape is defined in a very wasteful way; currently the flower pot model itself uses 22 quads to define its mesh, but a visually identical result can be achieved using just 11 quads (similarly to how it was rendered prior to release 1.8).
- The texture mapping on the pot itself is also not done very well - the side texture shares a row of pixels with the top texture, and the bottom texture uses two planes to create a weird hodgepodge of the rim and side. It is extremely difficult to create a good texture for flower pots without outright replacing the model file.
It is possible to completely solve both of these problems simply by reworking the flower pot texture and the affected models.
How to reproduce
This concerns reproducing the render lag.
- Download the attached resource pack
- Set your render distance to 16 chunks
- Create this superflat world:
100*minecraft:flower_pot;minecraft:the_void- Enter flying mode
/tp @s 0 64 0 0 90- Compare performance with and without the resource pack using F3+2
Expected results
Flower pots would be optimal in vanilla already.
Actual results
We get much less lag with the resource pack, even though the pots ultimately look no different (
MC-246224) aside.How to fix
The fix should be simple:
- replace vanilla's current model files with the model files in the attached resource pack
- replace vanilla's flower pot texture with the texture provided in the resource pack
- replace Programmer Art's flower pot texture with the texture attached:
Further notes
Why are flower pots like this, anyway?
In release 1.4, when flower pots were implemented, their model system was just about optimal. However, when blocks were converted over to using data-driven models in 1.8, the model that flower pots were made to use was of an inferior quality, a fate shared by many other blocks such as cauldrons. Two of the outer areas of the pot use a cuboid of six sides, and the other two use four, which already gets us 20 planes. The dirt is another plane, and the bottom texture to plug the gap is another, getting us up to the 22-faced mess we have today.
Notably, the top face now uses four texture planes to define the outer rim, even though it previously only used one before 1.8. Any retexturing of the inner area of the rim texture will not be visible in vanilla's current model.
And what's up with the mapping on the bottom?
Up until 1.13, block placement rules were far more restrictive. Flower pots required a supporting block, and could not be placed on a visually transparent block such as glass. So the bottom was never visible in normal gameplay.
When these placement rules were relaxed, it was noted that the mapping on the bottom was incorrect, and that an empty area of the texture was mapped to this area instead. This was eventually fixed in 1.16 (
MC-120335,MC-170842), however only the model file was changed to fix this, and the texture was left completely untouched despite there not being a dedicated "bottom" part. This means that the bottom "texture" is actually a weird combination of the top texture and side texture, and cannot be changed independently of either of them. The potted cactus model doesn't even use it currectly anymore (MC-194192).How is the mapping fixed?
We have enough space in a 16x16 texture file to fit a dedicated "rim" texture, a dedicated "side" texture, a dedicated "inside" texture and a dedicated "bottom" texture - so that's what I've done here. All of the potted object models have been updated to match it. This means that we can also make potted cactus's bottom look correct without needing to waste an extra plane on it. The outcomes, besides the fix for potted cactus, and ignoring clipping inside of the pots, should be 100% visually identical to how flower pots already look in-game;
MC-246224may cause discrepancies, but these are unnoticeable in most cases even if you're actively looking for them.Since the new format will break any existing textures for flower pots, here's the new specification, and how to update an existing texture file to match it:
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
This is a merge of MC-262427 and
MC-262433as requested by Maxime Lebrotin the comments of the latter.Here is the latest revision of the resource pack to fix this: reworked-pot-models-and-texture-25w02a-v1.0.zip
![]()
The bug
The models for flower pots, as well as the models for objects inside of flower pots, are very poorly made:
- The shape is defined in a very wasteful way; currently the flower pot model itself uses 22 quads to define its mesh, but a visually identical result can be achieved using just 11 quads (similarly to how it was rendered prior to release 1.8).
- The texture mapping on the pot itself is also not done very well - the side texture shares a row of pixels with the top texture, and the bottom texture uses two planes to create a weird hodgepodge of the rim and side. It is extremely difficult to create a good texture for flower pots without outright replacing the model file.
It is possible to completely solve both of these problems simply by reworking the flower pot texture and the affected models.
How to reproduce
This concerns reproducing the render lag.
- Download the attached resource pack
- Set your render distance to 16 chunks
- Create this superflat world:
100*minecraft:flower_pot;minecraft:the_void- Enter flying mode
/tp @s 0 64 0 0 90- Compare performance with and without the resource pack using F3+2
Expected results
Flower pots would be optimal in vanilla already.
Actual results
We get much less lag with the resource pack, even though the pots ultimately look no different (
MC-246224) aside.How to fix
The fix should be simple:
- replace vanilla's current model files with the model files in the attached resource pack
- replace vanilla's flower pot texture with the texture provided in the resource pack
- replace Programmer Art's flower pot texture with the texture attached:
Further notes
Why are flower pots like this, anyway?
In release 1.4, when flower pots were implemented, their model system was just about optimal. However, when blocks were converted over to using data-driven models in 1.8, the model that flower pots were made to use was of an inferior quality, a fate shared by many other blocks such as cauldrons. Two of the outer areas of the pot use a cuboid of six sides, and the other two use four, which already gets us 20 planes. The dirt is another plane, and the bottom texture to plug the gap is another, getting us up to the 22-faced mess we have today.
Notably, the top face now uses four texture planes to define the outer rim, even though it previously only used one before 1.8. Any retexturing of the inner area of the rim texture will not be visible in vanilla's current model.
And what's up with the mapping on the bottom?
Up until 1.13, block placement rules were far more restrictive. Flower pots required a supporting block, and could not be placed on a visually transparent block such as glass. So the bottom was never visible in normal gameplay.
When these placement rules were relaxed, it was noted that the mapping on the bottom was incorrect, and that an empty area of the texture was mapped to this area instead. This was eventually fixed in 1.16 (
MC-120335,MC-170842), however only the model file was changed to fix this, and the texture was left completely untouched despite there not being a dedicated "bottom" part. This means that the bottom "texture" is actually a weird combination of the top texture and side texture, and cannot be changed independently of either of them. The potted cactus model doesn't even use it currectly anymore (MC-194192).How is the mapping fixed?
We have enough space in a 16x16 texture file to fit a dedicated "rim" texture, a dedicated "side" texture, a dedicated "inside" texture and a dedicated "bottom" texture - so that's what I've done here. All of the potted object models have been updated to match it. This means that we can also make potted cactus's bottom look correct without needing to waste an extra plane on it. The outcomes, besides the fix for potted cactus, and ignoring clipping inside of the pots, should be 100% visually identical to how flower pots already look in-game;
MC-246224may cause discrepancies, but these are unnoticeable in most cases even if you're actively looking for them.Since the new format will break any existing textures for flower pots, here's the new specification, and how to update an existing texture file to match it:
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
This is a merge of MC-262427 and
MC-262433as requested by [Mojang] Maxime Lebrot in the comments of the latter.Here is the latest revision of the resource pack to fix this: reworked-pot-models-and-texture-25w02a-v1.0.zip
![]()
The bug
The models for flower pots, as well as the models for objects inside of flower pots, are very poorly made:
- The shape is defined in a very wasteful way; currently the flower pot model itself uses 22 quads to define its mesh, but a visually identical result can be achieved using just 11 quads (similarly to how it was rendered prior to release 1.8).
- The texture mapping on the pot itself is also not done very well - the side texture shares a row of pixels with the top texture, and the bottom texture uses two planes to create a weird hodgepodge of the rim and side. It is extremely difficult to create a good texture for flower pots without outright replacing the model file.
It is possible to completely solve both of these problems simply by reworking the flower pot texture and the affected models.
How to reproduce
This concerns reproducing the render lag.
- Download the attached resource pack
- Set your render distance to 16 chunks
- Create this superflat world:
100*minecraft:flower_pot;minecraft:the_void- Enter flying mode
/tp @s 0 64 0 0 90- Compare performance with and without the resource pack using F3+2
Expected results
Flower pots would be optimal in vanilla already.
Actual results
We get much less lag with the resource pack, even though the pots ultimately look no different (
MC-246224) aside.How to fix
The fix should be simple:
- replace vanilla's current model files with the model files in the attached resource pack
- replace vanilla's flower pot texture with the texture provided in the resource pack
- replace Programmer Art's flower pot texture with the texture attached:
Further notes
Why are flower pots like this, anyway?
In release 1.4, when flower pots were implemented, their model system was just about optimal. However, when blocks were converted over to using data-driven models in 1.8, the model that flower pots were made to use was of an inferior quality, a fate shared by many other blocks such as cauldrons. Two of the outer areas of the pot use a cuboid of six sides, and the other two use four, which already gets us 20 planes. The dirt is another plane, and the bottom texture to plug the gap is another, getting us up to the 22-faced mess we have today.
Notably, the top face now uses four texture planes to define the outer rim, even though it previously only used one before 1.8. Any retexturing of the inner area of the rim texture will not be visible in vanilla's current model.
And what's up with the mapping on the bottom?
Up until 1.13, block placement rules were far more restrictive. Flower pots required a supporting block, and could not be placed on a visually transparent block such as glass. So the bottom was never visible in normal gameplay.
When these placement rules were relaxed, it was noted that the mapping on the bottom was incorrect, and that an empty area of the texture was mapped to this area instead. This was eventually fixed in 1.16 (
MC-120335,MC-170842), however only the model file was changed to fix this, and the texture was left completely untouched despite there not being a dedicated "bottom" part. This means that the bottom "texture" is actually a weird combination of the top texture and side texture, and cannot be changed independently of either of them. The potted cactus model doesn't even use it currectly anymore (MC-194192).How is the mapping fixed?
We have enough space in a 16x16 texture file to fit a dedicated "rim" texture, a dedicated "side" texture, a dedicated "inside" texture and a dedicated "bottom" texture - so that's what I've done here. All of the potted object models have been updated to match it. This means that we can also make potted cactus's bottom look correct without needing to waste an extra plane on it. The outcomes, besides the fix for potted cactus, and ignoring clipping inside of the pots, should be 100% visually identical to how flower pots already look in-game;
MC-246224may cause discrepancies, but these are unnoticeable in most cases even if you're actively looking for them.Since the new format will break any existing textures for flower pots, here's the new specification, and how to update an existing texture file to match it:
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
This is a merge of MC-262427 and MC-262433 as requested by [Mojang] Maxime Lebrot in the comments of the latter.
Here is the latest revision of the resource pack to fix this: reworked-pot-models-and-texture-25w02a-v1.0.zip
The bug
The models for flower pots, as well as the models for objects inside of flower pots, are very poorly made:
- The shape is defined in a very wasteful way; currently the flower pot model itself uses 22 quads to define its mesh, but a visually identical result can be achieved using just 11 quads (similarly to how it was rendered prior to release 1.8).
- The texture mapping on the pot itself is also not done very well - the side texture shares a row of pixels with the top texture, and the bottom texture uses two planes to create a weird hodgepodge of the rim and side. It is extremely difficult to create a good texture for flower pots without outright replacing the model file.
It is possible to completely solve both of these problems simply by reworking the flower pot texture and the affected models.
How to reproduce
This concerns reproducing the render lag.
- Download the attached resource pack
- Set your render distance to 16 chunks
- Create this superflat world:
100*minecraft:flower_pot;minecraft:the_void
- Enter flying mode
/tp @s 0 64 0 0 90
- Compare performance with and without the resource pack using F3+2
Expected results
Flower pots would be optimal in vanilla already.
Actual results
We get much less lag with the resource pack, even though the pots ultimately look no different (MC-246224) aside.
How to fix
The fix should be simple:
- replace vanilla's current model files with the model files in the attached resource pack
- replace vanilla's flower pot texture with the texture provided in the resource pack
- replace Programmer Art's flower pot texture with the texture attached:

Further notes
Why are flower pots like this, anyway?
In release 1.4, when flower pots were implemented, their model system was just about optimal. However, when blocks were converted over to using data-driven models in 1.8, the model that flower pots were made to use was of an inferior quality, a fate shared by many other blocks such as cauldrons. Two of the outer areas of the pot use a cuboid of six sides, and the other two use four, which already gets us 20 planes. The dirt is another plane, and the bottom texture to plug the gap is another, getting us up to the 22-faced mess we have today.
Notably, the top face now uses four texture planes to define the outer rim, even though it previously only used one before 1.8. Any retexturing of the inner area of the rim texture will not be visible in vanilla's current model.
And what's up with the mapping on the bottom?
Up until 1.13, block placement rules were far more restrictive. Flower pots required a supporting block, and could not be placed on a visually transparent block such as glass. So the bottom was never visible in normal gameplay.
When these placement rules were relaxed, it was noted that the mapping on the bottom was incorrect, and that an empty area of the texture was mapped to this area instead. This was eventually fixed in 1.16 (MC-120335, MC-170842), however only the model file was changed to fix this, and the texture was left completely untouched despite there not being a dedicated "bottom" part. This means that the bottom "texture" is actually a weird combination of the top texture and side texture, and cannot be changed independently of either of them. The potted cactus model doesn't even use it currectly anymore (MC-194192).
How is the mapping fixed?
We have enough space in a 16x16 texture file to fit a dedicated "rim" texture, a dedicated "side" texture, a dedicated "inside" texture and a dedicated "bottom" texture - so that's what I've done here. All of the potted object models have been updated to match it. This means that we can also make potted cactus's bottom look correct without needing to waste an extra plane on it. The outcomes, besides the fix for potted cactus, and ignoring clipping inside of the pots, should be 100% visually identical to how flower pots already look in-game; MC-246224 may cause discrepancies, but these are unnoticeable in most cases even if you're actively looking for them.
Since the new format will break any existing textures for flower pots, here's the new specification, and how to update an existing texture file to match it:
- The top-left 6x6 region is for the top texture of the flower pot, so move the middle 6x6 region to the top left.
- The bottom-left 6x6 region is for the side texture of the flower pot. Move the bottom-middle 6x6 region of the old texture to this quadrant. (The top row of pixels should be a duplicate of the bottom row of pixels for the top texture.)
- The top-right 6x6 region is for the inside of the flower pot. By default, this visually duplicates the outside, so you can copy that region to here.
- The bottom-right 6x6 region is for the bottom of the flower pot. Resource pack creators will probably want to create their own bottom texture, but if the previous appearance is desired it can be recreated by placing the top texture here, and filling in its central 4x4 gap with the bottom-middle 4x4 region of the side texture.
This ticket is effectively an extension of MC-262427.
The bug
Extra planes exist inside of the flower pot model, as well as many other potted plant models, which cannot be seen without clipping into the block model somehow. In addition, the top rim is composed of four planes, when it can be achieved in just one.
MC-262427 has already discussed how the current flower pot models are unoptimized, and has proposed an improved model. However, some further testing has revealed that unifying the top four planes into one can boost frames even more, to the point where the framerate with these planes removed is roughly twice that of vanilla in the testing conditions described in said ticket.
Implementation
Three of the four resource packs attached to this ticket include an optimized version of the flower pot (and the flower pot only). The "5-14" version is identical to the flower pot improvement included in MC-262427, based on the existing flower pot model, which has 14 texture planes distributed across elements.
Also included are resource packs for "6-11" and "2-11" optimized versions of the flower pot. These versions are the focus of this ticket, and are more reflective of flower pots from release 1.4.2 to 1.7.10 prior to their conversion to proper block models: a 6x6x6 cube is used for displaying the outermost faces. The 6-11 model uses five more elements to render the four inner pot faces and the inner dirt texture, meaning that it has more elements than the 5-14 model but fewer planes. The 2-11 model uses an inside-out element (where one or three of the "to" coordinates are greater than their corresponding "from" positions) to render all five inner faces in one shot, meaning that the flower pot as a whole can have all eleven faces rendered using only two elements. However, there doesn't appear to be any rendering/performance benefit for the 2-11 model compared to the 6-11 model, and I'm not sure if "inverted" elements are even supported in the first place.
Drawbacks
There is one thing worth pointing about both the 6-11 and 2-11 versions of the flower pot model: due to tiny precision issues, very small gaps can be seen in some of the inner edges of the flower pot rim due to MC-73186. It may be possible to mitigate this by extending some of the faces further, however it'd probably be more worthwhile to spend time looking into why these precision errors occur in the first place.
How to reproduce
MC-262427's reproduction steps can be used with the attached resource packs for the 5-14, 6-11 and 2-11 flower pot models to see how they compare in rendering performance. The spectator gamemode can be used to clip inside of the flower pots to check for the presence of interior faces.
How to fix
Also attached to this ticket is a resource pack which makes flower pots and all potted objects use the 6-11 flower pot model. Fixing this should be as simple as replacing the flower pot texture file in the default resources with the texture file in the attached resource pack, replacing Programmer Art's flower pot texture with the updated Programmer Art flower pot texture, and replacing the model files flower_pot.json, flower_pot_cross.json, potted_bamboo.json, potted_cactus.json, potted_mangrove_propagule.json, template_potted_azalea_bush.json, tinted_flower_pot_cross.json with the model files in the resource pack attached.
I give Mojang full permission to use the assets inside of the attached resource pack in Minecraft, either as-is or with any modifications deemed appropiate.
The bug
Cauldrons are perhaps one of the most complex block models in vanilla Minecraft, using 58 texture planes. We can therefore expect pretty much any situation which uses a lot of cauldrons, such as an automatic dripstone lava farm, to cause quite a significant amount of rendering lag due to having to render several tens of planes per cauldron. We, however, can do better.
Attached to this ticket is a resource pack which perfectly recreates the vanilla cauldron (and I've thoroughly tested this to be sure; there are no visual differences unless you clip inside of the cauldron) using just 46 texture planes instead, cutting out 12 unneccessary texture planes. This resource pack also fixes the three cauldrons containing a fluid level (adding in one extra plane to fix MC-205095).
It would be possible to optimize cauldrons even further using an approach described in MC-262427 and also utilized in MC-262452. However, due to MC-262462, this cannot currently be done.
How to reproduce
Refer to MC-262427, MC-262452 and/or MC-262461 and extrapolate.
How to fix
Replace the "cauldron.json", "template_cauldron_level1.json", "template_cauldron_level2.json" and "template_cauldron_full.json" files currently in Minecraft with the model files in the resource pack. Mojang have my full permission to use these optimized model files. Optimization is always a good thing.
Discovered while testing MC-262427.
The bug
In model files, it's possible to specify the same rotated model elements using methods that should mathematically and geometrically result in something visually identical regardless of which method is used. For example, a plane with faces on the west and east which spans the YZ plane rotated -45 degrees around the Y axis should look identical to a plane with faces on the north and south spanning the XY plane rotated +45 degrees around the Y axis, provided that both map the texture in the correct fashion.
However, in Minecraft: Java Edition, this does not appear to actually be the case, and very noticeable visual differences can be seen.
How to reproduce
- Download and apply the attached resource pack
- Place a torch on the ground
- Place a redstone torch on the ground
- Place a soul torch on the ground
- Inspect
Expected results
All three torches would look identical with these custom models.
Actual results
The soul torch is noticeably darker than the normal torch, and the redstone torch uses two different brightnesses for each half of the block.
Explanation of the resource pack
Each of the torch models in this resource pack uses two elements with four texture planes (two each). The torch model has these planes spanning the yz plane, with both rotated -45 degrees. The soul torch model has these planes spanning xy, with both rotated +45 degrees. The redstone torch has one xy plane rotated +45 degrees and one yz plane rotated -45 degrees. All are mapped such that the texture matches up correctly.
Notes
This issue can be observed on a few vanilla models such as sloped rails, and is more noticeable on potted flowers.
Can confirm. Relates to MC-262427
Relates to: MC-260296 MC-262427 MC-262452 MC-262461 MC-262470 MC-262527 MC-262641 MC-262652 MC-262689 MC-262953 MC-267127 MC-267315 MC-267864 MC-279350
The bug
The current multipart system for walls can use more quads than are necessary to achieve an identical visual result. Making Minecraft render more quads increases render lag, so decreasing the amount needed will improve performance.
The case in question is much the same as MC-267281, arising where two opposite connections of a wall are either both "low" or both "tall". Minecraft, by default, will render one model in each direction, with a total of two. However, the exact same visual outcome can be achieved using a single, continuous model, reducing the amount of quads used for this case from 10 to 6. Since there are no texture mapping issues on walls (unlike MC-109478 and MC-225819/MC-267871), this fix also completely preserves their appearance, so we get no bonus fixes.
How to reproduce
- Create this superflat world:
minecraft:barrier;minecraft:the_void
- Initiate flying mode
/fill -30 -63 -30 30 -56 30 cobblestone_wall
/fill -30 -55 -30 30 -48 30 cobblestone_wall
/tp @s 0 0 0 0 90
- Compare framerates with and without the attached resource pack using F3+2
Expected results
Vanilla's framerates would be ideal.
Actual results
The resource pack gives better results.
How to fix
Adopt the system demonstrated by this resource pack for walls. I give Mojang full permission to use this resource pack to fix this optimization problem.
Relates to: MC-260296 MC-262427 MC-262452 MC-262461 MC-262470 MC-262527 MC-262641 MC-262652 MC-262689 MC-262953 MC-267127 MC-267281 MC-267315 MC-267864 MC-279350 MC-279354
The bug
Bamboo fences, like other fence types (see MC-267281), are not modelled in a way which is optimal for rendering performances. As a result, areas which use large amounts of bamboo fences will decrease framerate much more than otherwise should be the case.
Bamboo fences use a fundamentally different system for modelling compared to other fences, which is why I'm reporting this separately from the other fences. Tragically the issues with the normal fence model have carried over to the system used for bamboo fences.
The model system bamboo fences use is also more complicated than is neccessary - it uses four models for orthogonal connections, whereas this optimized system achieves a visually identical outcome using just three.
Note that since bamboo models use a unique texture rather than just copying the bamboo planks texture, the texture mapping will need to be shifted around. A modified version is found within the attached resource pack - the visual outcome will be identical, but existing resource packs will need to be changed by their authors to fit around it (assuming they don't take the lazy route and just copy over the old, terrible models).
How to reproduce
- Create a creative Superflat world with the following preset:
minecraft:barrier;minecraft:the_void
- Enter flying mode by double pressing the jump button
- Run the command
/tp @s 0 -20 0 0 90
- Run the command
/fill -30 -63 -30 30 -56 30 bamboo_fence
- Open the performance graphs via F3+2
- Switch between the default resources and the attached resource pack, comparing the performance
Expected results
Good framerates in vanilla.
Actual results
We can do far better.
How to fix
Simply implement the resources in the attached resource pack into vanilla. I give Mojang my full permission and encouragement to use these files to make vanilla Minecraft run better.
Further notes
Mipmapping will be affected, however this is a non-issue.
The bamboo fence item model is also updated to fit the new system.
Many of the old model files can be safely deleted once the new ones are added, as this improved system renders them completely superseded.



