Skip to content

fix: ガラスのモデル置き換えを絞り、チャンク組み立て中は描画データを読む - #64

Merged
Yuru-Yurufu merged 5 commits into
mainfrom
fix/render-compat
Oct 24, 2026
Merged

Yuru-Yurufu merged 5 commits into
mainfrom
fix/render-compat

Conversation

@Yuru-Yurufu

@Yuru-Yurufu Yuru-Yurufu commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

描画互換性の調査メモ(AyaNote)にあった P1 の2点を直します。

1. ガラスのモデルの置き換え範囲(#41 の原因候補)

  • これまで:バニラのガラスに加えて、StainedGlassBlock を継承した他の MOD のガラスも Slabee のモデルに置き換えていた。そのため形や面の違うガラス(窓など)の見た目が崩れうる。
  • 変更後:置き換えるのは minecraft のガラス(ガラス・色付きガラス16色・遮光ガラス)だけ。
  • 接続オフ用のモデルが cullFace のない面を捨てていたのをやめた。単体のハーフ・フルブロックでは必ず描き、ダブルハーフの内側の面は fix: 描画まわりのレビュー指摘(#7・#10・#11・#12)を修正 #62 と同じ「元のブロックどうしを並べたとき」の判定に従う。

2. チャンクの組み立て中に Block Entity を直接読まない

  • 隣のダブルハーフの中身を調べる処理(ガラスの接続・面の省略・AO・shouldDrawSide の Mixin)を、getBlockEntityRenderData で読むように統一した。
  • 描画データ DoubleSlabRenderData に縦の向き(isX)を追加した。

確認

  • GameTest 19件すべて成功。
  • 撮影比較(128枚 × ガラスの接続オン/オフ):変更前後で違いあり 0枚(最大の差 1/255)。Slabee 自身の見た目は変わらない。
  • 未確認:他の MOD のガラス(Macaw's Windows など)での実機確認。Last update making all others glass blocks becoming bugged / untextured / unlinked #41 が直ったかは、それを入れて確かめる必要がある。

#63 の上に積んでいます。


Generated by Claude Code

追加(2026-10-24)

  • ./gradlew runCompat:他の MOD と一緒に試すための起動設定。run-compat/(Git 管理外)を使い、普段の run/ と混ざらない。
  • Fabric Loader を 0.16.5 → 0.16.14 に更新(Macaw's Windows が 0.16.10 以上を要求するため)。fabric.mod.json の最低バージョンもこれに連動するので、beta.4 から遊ぶ人も 0.16.14 以上が必要(あやの判断で了承済み)。GameTest 19件成功。

Generated by Claude Code

Yuru-Yurufu and others added 5 commits October 24, 2026 15:47
…build

- Only replace models of vanilla glass; other mods' StainedGlassBlock
  subclasses keep their own models (#41).
- Keep quads without a cullface in the non-connected glass models. In
  doubles they are the inner face and follow the full-block rule.
- Chunk-build paths (neighbour checks, inner faces, AO) read
  getBlockEntityRenderData instead of the live block entity. The render
  data now also carries the vertical axis.
Uses its own run directory (run-compat/, ignored by git) so mods added
for compatibility checks never mix with the normal runClient setup.
Needed to run compatibility checks with mods that require 0.16.10 or
newer. The minimum loader version in fabric.mod.json follows this value,
so players need 0.16.14 or newer from beta.4.
runSceneCompat runs the scene capture with the mods in run-compat/mods.
Block IDs come from SLABEE_SCENE_COMPAT_BLOCKS, and SLABEE_SCENE_ONLY=compat
skips the catalog shots and the performance stages.
Each pair gets a crack_XX shot with breaking stage 9 on one full block
and one double slab, plus a crack_XX_none twin from the same spot so the
crack overlay can be diffed out.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Yuru-Yurufu
Yuru-Yurufu changed the base branch from fix/double-slab-light-refresh to main October 24, 2026 16:57
@Yuru-Yurufu
Yuru-Yurufu merged commit 7bcc2e3 into main Oct 24, 2026
2 checks passed
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