最新版 |
編集中の文章 |
2行目: |
2行目: |
| | | |
| | | |
− | == カスタムレンダーを使用するブロックの追加 == | + | == カスタムレンダーのブロックの追加 == |
| <p>独自に作成したレンダーを持つブロックの追加方法<br> | | <p>独自に作成したレンダーを持つブロックの追加方法<br> |
− | ブロックの追加などは他のチュートリアルを参照してください</p>
| + | ブロックの追加などは他のチュートリアルを参照vしてください</p> |
| | | |
| ===ソースコード=== | | ===ソースコード=== |
266行目: |
266行目: |
| </source> | | </source> |
| | | |
− | *ClientProxy.java | + | *ServerProxy.java |
| <source lang = "java"> | | <source lang = "java"> |
− | package mods.sample.bench.client; | + | package mods.sample.bench; |
| | | |
− | import cpw.mods.fml.client.registry.RenderingRegistry;
| + | public class ServerProxy implements IBenchProxy |
− | import mods.sample.bench.IBenchProxy;
| |
− | | |
− | public class ClientProxy implements IBenchProxy | |
| { | | { |
− | //レンダーIDの取得
| |
| @Override | | @Override |
| public int getNewRenderType() | | public int getNewRenderType() |
| { | | { |
− | return RenderingRegistry.getNextAvailableRenderId(); | + | return -1; |
| } | | } |
| | | |
− | //カスタムレンダーの登録
| |
| @Override | | @Override |
− | public void registerRenderers() | + | public void registerRenderers(){} |
− | {
| + | |
− | RenderingRegistry.registerBlockHandler(new RenderBenchBlock());
| |
− | } | |
| } | | } |
| </source> | | </source> |
− |
| |
− | ==解説==
| |
− | ===BenchCore.java===
| |
− | <source lang = "java">
| |
− | blockRenderId = proxy.getNewRenderType();
| |
− | proxy.registerRenderers();
| |
− | </source>
| |
− | プロキシを使用して、カスタムレンダーのIDの取得や、カスタムレンダーの登録を行う。<br>
| |
− | プロキシ以外にも、クライアント側でしか行われないようにすれば、Core部分での登録も可能
| |
− |
| |
− | ===BlockBench.java===
| |
− | <source lang = "java">
| |
− | public int getRenderType()
| |
− | {
| |
− | return BenchCore.blockRenderId;
| |
− | }
| |
− |
| |
− | public boolean isOpaqueCube()
| |
− | {
| |
− | return false;
| |
− | }
| |
− |
| |
− | public boolean renderAsNormalBlock()
| |
− | {
| |
− | return false;
| |
− | }
| |
− | </source>
| |
− | 当たり判定などを気にしないなら、この3つを設定すればOK
| |
− |
| |
− | ===RenderBenchBlock.java===
| |
− | コピペ祭りで大体OK(オイ)<br>
| |
− | 詳しい事や、もっと複雑なことを知りたいなら、RenderBlocksの闇に進むのじゃ!
| |
− |
| |
− | ===ClientProxy.java===
| |
− | <source lang = "java">
| |
− | RenderingRegistry.getNextAvailableRenderId();
| |
− | RenderingRegistry.registerBlockHandler(new RenderBenchBlock());
| |
− | </source>
| |
− | この2つを行えばOK
| |