Skip to content

Comments

Add support for Natural Textures#17

Merged
FalsePattern merged 34 commits intovfx-dev:masterfrom
Kynake:feature/natural-textures
Feb 18, 2026
Merged

Add support for Natural Textures#17
FalsePattern merged 34 commits intovfx-dev:masterfrom
Kynake:feature/natural-textures

Conversation

@Kynake
Copy link
Contributor

@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
@Kynake
Copy link
Contributor Author

Kynake commented Feb 12, 2026

Small TODO list so that I don't forget what we talked about in VC:

  • Replace regex parser with something else
  • Test compat with FalseTweaks (Might have done that before, but double-check anyways)
  • Enable by default
  • Make new resourcepack for testing that includes configs for all renderer cases (blocks, plants, crops, vines)

@Kynake
Copy link
Contributor Author

Kynake commented Feb 13, 2026

Also, here's the updated resourcepack for testing. You can read the comments in the natural.properties file for a more detailed explanation what each line changes

NaturalTextures.zip

@Kynake Kynake requested a review from basdxz February 13, 2026 03:07
@FalsePattern FalsePattern merged commit 61ed9cd into vfx-dev:master Feb 18, 2026
1 check passed
@Kynake Kynake deleted the feature/natural-textures branch February 18, 2026 23:41
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.

3 participants