Skip to content

Conversation

@Kynake
Copy link

@Kynake Kynake commented Dec 24, 2025

NaturalTextures is not one of the features originally included in MCPatcher (though it is often conflated as one), but I heard that NotFine plans to remove it's resource pack features in the future, so I think this might be as good a place as any to add support for this.

If you feel that this feature is not a good fit for the mod then that's fine too, as I can convert this into a separate mod with a little extra work.

Pictures, with the feature off and on:
off
on

Best way to test this is to open up a dev instance on this branch and add the following resourcepack:
NaturalTextures.zip
This should toggle the rotation of grass and stone textures when enabling / disabling the Modules/Natural Textures setting.

I still have a few things I'd like to improve on this, but I think that it's a good time to show my work, and also because the core of the code and mixins are ready enough for a review.

TODO list:

  • Make Natural Textures disabled by default
  • Add default natural.properties to assets
    (template file supporting vanilla textures and maybe ones from Et Futurum Requiem and other backports)
  • Add support for vanilla blocks with custom renders
    (such as vines and crossed-squares blocks. Specific support might depend on the relevance that the block has with natural looking textures, and could be added later if the need arises)
    UPDATE: Additional support added for vines, crossed square blocks (tall grass, flowers, saplings, etc) and crops
  • Use RPMCP's own Side class instead of ForgeDirection
  • Test with Beddium
  • Test compatibility with Hodgepodge PR #676 specifically
  • Improve discovery of the natural.properties asset. Allow files from different resourcepacks to 'stack', like lang files do.
    (This is not a feature that the original Natural Textures supported, but would allow for texture packs to configure rotations for their own textures without overriding others, similar to how it works in modern MC. Also add a toggle for the old behavior)

Also add placeholder code that mirrors the UV
Add mixin prefix to some variables in Nat Textures mixin
Add placeholder use of configured HashMap
…ce names

To keep backwards compatibility with older resourcepacks
- Simplify side and salt into one variable
- Ensure salt gets mixed in to the hash from the very start
Was unused, can be re-added if ever needed in future
@Kynake Kynake force-pushed the feature/natural-textures branch from d63c35c to 72297f0 Compare December 31, 2025 21:35
@Kynake Kynake marked this pull request as ready for review January 3, 2026 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant