追加ブロックのテクスチャ

Modding・サーバPlugin制作・ツール制作など、開発関連の質問があればこちらにお願い致します。
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.6656)

追加ブロックのテクスチャ

投稿記事by こども店長 » 2011年9月22日(木) 08:38

追加したブロックにテクスチャに関して、6面とも同じテクスチャではなく、
ブロックの上面と底面には"a.png"を、側面には"b.png"を
というように、面によってテクスチャを変えるにはどうすればよいでしょうか?

ぶしつけな質問ではありますが、よろしくお願いします。
ひっそりとMOD作ってます。
和風の世界にタイムスリップ!---和風MOD
さまざまなロボットで進攻せよ!---ロボットMOD
非公式フォーラムのEdoCraftにも技術協力しています。
こども店長
ID:4dd3d296
大工さん
 
記事: 52
登録日時: 2011年7月27日(水) 00:09

  • (PostNo.6665)

Re: 追加ブロックのテクスチャ

投稿記事by Reroutes » 2011年9月22日(木) 11:40

自分もこの作り方に四苦八苦してましたが、何とかできましたので書きます
この方法で合ってるかわかりませんので、そこをよろしくお願いします。

(1.7.3の時に作ったものです)

長いのでたたんでおきます
自分が作ったのはジャンプ台でした。(練習も兼ねて)

で、まずそれぞれの画像を読みこませます

mod_Juper.java
コード: 全て選択
   Juper.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/mod/Juper_top.png");
   BlockJuper.a = ModLoader.addOverride("/terrain.png", "/mod/Juper_bottom.png");
   BlockJuper.b = ModLoader.addOverride("/terrain.png", "/mod/Juper_side.png");

MODLoaderを使用して、上面(1行目)・側面(3行目)・底面(2行目)のテクスチャをそれぞれの変数に読み込ませます。
aとbはもうひとつの[BlockJuper.java]で変数を設定しておきます。
コード: 全て選択
public static int a = 0;
public static int b = 0;


で貼り付ける作業は[BlockJuper.java]内にgetBlockTextureFromSide関数を使います。
コード: 全て選択
   public int getBlockTextureFromSide(int side)
   {
      if(side==0)
      {
         return a;
      }else if (side == 1)
      {
         return blockIndexInTexture;
      }else{
         return b;
      }
   }

まず、getBlockTextureFromSide(int side)のside変数に以下の数字が入ります。
0=底面
1=上面
2=東向き
3=西向き
4=北向き
5=南向き
これをif文で場合を分けてreturnで画像IDが入った変数(aとかbとか)をそれぞれ入れていく
上のコードのようにすると、底面、次に上面を先に設定して、残りのサイドを設定する流れになります。

これでできたのが下の絵です。

385587463.png
下にも別の絵を設定しています


ここまで書いておいて、間違っていましたら申し訳ありません
自分はこの方法でどうにかできました。
--==--
なにしようか考え中
--==--
アバター
Reroutes
ID:34757b32
木を殴ってる
 
記事: 17
登録日時: 2011年7月17日(日) 09:19

  • (PostNo.6691)

Re: 追加ブロックのテクスチャ

投稿記事by こども店長 » 2011年9月22日(木) 16:07

newBlock.a = ModLoader.addOverride("/terrain.png", "/mod/block-side.png");
と書いてみてるのですが、
シンボルを見つけられません とエラーが…OTL

やはり初歩からJAVAを学ばないと駄目なのか…
ひっそりとMOD作ってます。
和風の世界にタイムスリップ!---和風MOD
さまざまなロボットで進攻せよ!---ロボットMOD
非公式フォーラムのEdoCraftにも技術協力しています。
こども店長
ID:4dd3d296
大工さん
 
記事: 52
登録日時: 2011年7月27日(水) 00:09

  • (PostNo.6743)

Re: 追加ブロックのテクスチャ

投稿記事by Reroutes » 2011年9月22日(木) 20:41

こども店長 さんが書きました:newBlock.a = ModLoader.addOverride("/terrain.png", "/mod/block-side.png");
と書いてみてるのですが、
シンボルを見つけられません とエラーが…OTL

やはり初歩からJAVAを学ばないと駄目なのか…


エラーなどは調べてみるとすぐ出てくることがあります。
ただ対処法はある程度学ばないと難しいですね

今回の「シンボルを見つけられません」ですが
一度どうなったらなるか、再現してみたのですが
おそらくnewBlockのファイルがない?
あるいはnewBlockというクラス名には、なってないのかも

うーん・・・
もしかしたら変数を書いた場所とか?
自分はクラス名の直下に書いているのですが、どうなんでしょう
sorcehobomie.png
ひだり:(mod_Newblock)mod_Juper.java みぎ:(NewBlock)BlockJuper.java



正直自分でもちょっとわからない点が多いです
どなたか力を貸していただければ・・・。

自分ももう少し勉強してきます
--==--
なにしようか考え中
--==--
アバター
Reroutes
ID:34757b32
木を殴ってる
 
記事: 17
登録日時: 2011年7月17日(日) 09:19

  • (PostNo.8498)

Re: 追加ブロックのテクスチャ

投稿記事by kumo » 2011年10月04日(火) 18:00

こちらのコードで試したところうまく表示することが出来ました。
http://www.minecraftforum.net/topic/536227-creating-mods-multitextured-block/

が、自分のコードの場合だけなのか不明ですがAddNameの文があると起動時にクライアントがクラッシュしてしまうようです。
なので名前を付ける部分が不明ですね。
スキン、テクスチャつくってます。
最近はMODにも手をだしていたり・・・・。
アバター
kumo
ID:614f126b
木を殴ってる
 
記事: 31
登録日時: 2011年10月04日(火) 13:52

  • (PostNo.9450)

Re: 追加ブロックのテクスチャ

投稿記事by kumo » 2011年10月11日(火) 23:11

↑の追記.setBlockName("???")

ModLoader.AddName(???,"???");
でブロック名の表示ができました!
スキン、テクスチャつくってます。
最近はMODにも手をだしていたり・・・・。
アバター
kumo
ID:614f126b
木を殴ってる
 
記事: 31
登録日時: 2011年10月04日(火) 13:52

  • (PostNo.9488)

Re: 追加ブロックのテクスチャ

投稿記事by こども店長 » 2011年10月12日(水) 13:23

返信が遅くなってすみません。
皆さんのおかげで、無事解決いたしました。
コード: 全て選択
newBlock.a = ModLoader.addOverride("/terrain.png", "/mod/block-side.png");

では無く、
コード: 全て選択
 ModLoader.addOverride("/terrain.png","/mod/block-side.png", a);

とすることで解決する事が出来ました。
お手数をおかけして申し訳ありませんでした。
ひっそりとMOD作ってます。
和風の世界にタイムスリップ!---和風MOD
さまざまなロボットで進攻せよ!---ロボットMOD
非公式フォーラムのEdoCraftにも技術協力しています。
こども店長
ID:4dd3d296
大工さん
 
記事: 52
登録日時: 2011年7月27日(水) 00:09


Return to 質問:開発・制作関連

x