Built-in connected texture implementation#4791
Open
screret wants to merge 70 commits intoGregTechCEu:1.20.1from
Open
Built-in connected texture implementation#4791screret wants to merge 70 commits intoGregTechCEu:1.20.1from
screret wants to merge 70 commits intoGregTechCEu:1.20.1from
Conversation
… fresh (commented!) copies from CTM proper. \*: LDLMetadataSection is still missing, but that's easy enough to solve.
cf02ad9 to
8e54f0e
Compare
836a167 to
89ebb4f
Compare
…methods out of it
…lacer) to ModelEventHelper#initInternalAssetReloadListeners
Contributor
Author
|
I don't think making a wiki page for that is very useful. Most problems people may have using it aren't easily explained in a general case guide like that. But, if you want a page for it, I can just copy |
Contributor
|
Yeah please, and honestly if other guides suffice you can also link one of those and mention what changes should be made, and/or have an example mcmeta file |
Contributor
Author
|
Done. |
jurrejelle
approved these changes
Apr 24, 2026
Revert "Apply patch" This reverts commit 0758c32.
1ce9bf1 to
b280f01
Compare
# Conflicts: # src/main/java/com/gregtechceu/gtceu/client/renderer/block/LampItemRenderer.java # src/main/java/com/gregtechceu/gtceu/client/renderer/cover/FacadeCoverRenderer.java # src/main/java/com/gregtechceu/gtceu/common/item/LampBlockItem.java # src/main/resources/assets/gtceu/textures/block/lamps/black.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/black_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/black_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/blue.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/blue_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/blue_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/brown.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/brown_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/brown_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/cyan.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/cyan_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/cyan_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/gray.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/gray_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/gray_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/green.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/green_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/green_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/light_blue.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/light_blue_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/light_blue_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/light_gray.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/light_gray_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/light_gray_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/lime.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/lime_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/lime_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/magenta.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/magenta_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/magenta_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/orange.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/orange_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/orange_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/pink.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/pink_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/pink_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/purple.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/purple_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/purple_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/red.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/red_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/red_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/white.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/white_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/white_off.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/yellow.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/yellow_emissive.png.mcmeta # src/main/resources/assets/gtceu/textures/block/lamps/yellow_off.png.mcmeta
d11e49a to
09ad0c3
Compare
because of a rounding error.
… of breaking things
…tom state comparators so having instances of it around did nothing except waste RAM.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Bring the connected texture implementation into GTM proper.
Implementation Details
Most of the implementation is copied from:
Outcome
"In-house" connected texture implementation with properly documented code and generally better maintainability all around. Also, less dependencies on LowDragLib, which is no longer supported. Once this PR (and a couple closely related ones) are merged, there is exactly ONE usage of LDLib in the codebase outside of UI:
WorldSceneRenderer. 🎉🎉🎉🎉🎉How Was This Tested
Additional Information
I took the liberty to pre-emptively replace shimmer mentions in the resource metadata files with the same key, but for GTM. That shouldn't cause any issues, as (AFAIK) bloom is planned for 8.0.
Slabs, as well as other 'variant' blocks, are practically impossible to add automatic support for in a simple implementation such as this one, as most (vanilla included!) do not override the Forge API method that this uses to check connections (
IForgeBlock#getAppearanceBlock). If you want your slabs to connect with full blocks, you should instead use ConnectedTexturesMod proper, as it has support for that. I chose to leave it out of this PR for simplicity's sake.Potential Compatibility Issues
Texture packs, addons, and modpacks will have to change exactly TWO lines of JSON field names for every texture they're using connected textures on. This can be done very easily with a basic search-and-replace and is not an issue.
Shimmer hasn't been properly supported for almost two years now, and as such I do not believe there is an expectation of its support in GTM continuing.
A regex for fixing the MCMeta files
Match:
"ldlib":([\s\{]*)"connection"(:\s".*?")(?:,\s.*)?Replace with:
"gtceu":$1"connection_texture"$2Also run these after to fix bloom (this is simpler to do now rather than when the bloom PR is merged):
Match:
\s*\},\s*"shimmer":\s*\{(\s*"bloom":.*)Replace with:
,$1And for files with bloom but without CTM:
Match:
(\{\s*)"shimmer":(\s*\{\s*"bloom":.*)Replace with:
$1"gtceu":$2