Skip to content

Little Tiles support - #107

Open
DarkShadow44 wants to merge 4 commits into
masterfrom
lt_support
Open

DarkShadow44 wants to merge 4 commits into
masterfrom
lt_support

Conversation

@DarkShadow44

@DarkShadow44 DarkShadow44 commented Oct 8, 2026 •

Copy link
Copy Markdown

Summary

This PR extends the Chisel API so Chisel blocks get connected textures in LittleTiles.

Followed up by #107

Connections work as follows:

  • Tiles connect to real blocks, and real blocks connect to tiles.
  • Connections are symmetrical: either both sides connect or neither.
  • A tile connects towards a side if tiles of the same block and metadata fill the space between it and that side (a tile touching the side fills it trivially), and the neighbor continues them across the boundary.
  • Tiles inside one block render their part of the block's connected texture, so together they look like a single block.
  • Cutout tiles don't connect for now.

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:

image

Before:

before

After:

after

Checklist

  • I have tested this PR in DevEnv
  • I have tested this PR in Fullpack
  • This PR is in compliance with the GTNH AI Policy
  • This PR requires another PR in order to merge

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