php エディターの Youzi が提供する Java Q&A トピックでは、Minecraft の既存のブロックを覆う構造に関する質問に対する詳細な回答が得られます。ゲームにおいては、この機能をいかに効果的に操作・活用できるかが、ゲーム体験やプレイの楽しさに直結します。この記事の解釈とガイダンスを通じて、このテクニックをよりよく習得し、ゲームでより良い結果と経験を達成するのに役立つことを願っています。
Minecraft Fabricで既存のブロックとそのプロパティを変更する方法をネットで探しているのですが、新しいブロックを作成する方法しか見つかりません。 私が見つけたバージョンはすべて 1.20 未満です。
実際には、既存のブロック プロパティをオーバーライドする方法がまったく見つかりません。上書きも機能しません。
あなたが本質的にやりたいことは、すでに登録されているminecraftのblock
インスタンスを再登録することです。しかし、これを行う方法を誰も文書化していないのには理由があります。そうすべきではありません。
Minecraft でチャンクを再登録すると、特に MOD が大規模な MODPack で使用される場合、奇妙な問題が発生する可能性があります。これは他の MOD や Minecraft 自体との互換性にも関係します。これは避けたほうが良いでしょう。あまり問題を引き起こすことなく特定のブロックの動作を変更できるソリューションは他にも多数あります。これらには以下が含まれますが、これらに限定されません:
minecraft:stone
に age
属性 (何らかの理由で役立つ可能性があります) を与えたい場合は、minecraft:stone
を age =0 として扱います。
そして、age
を使用してカスタム ブロック (例: modid:ged_stone
) を作成します。zqb 属性は、年齢範囲を 1
から任意の最大年齢まで拡張します。 もう 1 つのより一般的なアプローチは、ミックスインを block
クラスまたは適切なサブクラスに構築し、次のようなことを実行して特定のブロック (この場合は石) をターゲットにすることです。
ただし、ブロック インスタンスを本当に完全に置き換えたい場合は、次の提案があります。ミックスイン インジェクション registry.register
を使用して、特定のブロック インスタンスをカスタム ブロック インスタンスに置き換えます。
リーリー
この記事の執筆時点では変更された環境が手元になかったため、コード スニペットはテストしていないことに注意してください。動作するには調整が必要な場合があります。 また、mojang の公式マッピングを使用しましたが、yarn マッピングを使用する場合は、名前が異なる可能性があります。たとえば、
resourcelocation は、yarn では
identifier という名前になります。
以上がMinecraft の構造が既存のブロックを上書きする 1.20の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。