Repository navigation
Little Tiles support - #107
Open
DarkShadow44 wants to merge 4 commits into
Open
DarkShadow44 wants to merge 4 commits into
DarkShadow44 wants to merge 4 commits into
Conversation
4 tasks done
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.
Summary
This PR extends the Chisel API so Chisel blocks get connected textures in LittleTiles.
Followed up by #107
Connections work as follows:
IFacade:
Tells Chisel that a block shows other blocks. New default overloads of getFacade/getFacadeMetadata receive the position, block and metadata of the block asking for a connection, so a facade can answer per neighbor. LittleTiles uses this to check which of its tiles touch that neighbor. The defaults call the old methods, so existing implementations are unaffected.
IConnectionAccess:
LittleTiles renders each tile in a fake world, because mods break when IBlockAccess.getBlock() at their own position isn't themselves. Chisel would then treat every tile as a full block, so tiles not touching any side would connect to neighboring blocks too. An IBlockAccess implementing IConnectionAccess decides each connection check itself. In such a world, render bounds smaller than the block show their part of the connected texture instead of the whole texture squeezed into the bounds.
API change: CTM.isConnected(...) now takes the position of the block being rendered (fromX/fromY/fromZ). The old overloads are removed.
Concept:
Before:
After:
Checklist