[チュートリアル]複数テクスチャを持つブロック追加MODの作り方[初~中級][1.8.1]

クライアント/サーバーMODの開発に関する話題、技術交換はこちらで。質問は質問フォーラムへお願いします。
  • (PostNo.11991)

[チュートリアル]複数テクスチャを持つブロック追加MODの作り方[初~中級][1.8.1]

投稿記事by laco0416 » 2011年11月07日(月) 23:42

ModLoaderを利用しています。
MOD製作環境についてはWikiのMOD製作のページ(こちら)を参考にしてください。

・上下面と横面でテクスチャが違うブロックの追加
・用意するもの
mod_Tutorial.java
BlockTutorial2.java
ttrtop.png(上下面のテクスチャ,16x16)
ttrside.png(側面のテクスチャ,16x16)

mod_Tutorial.java
コード: 全て選択
package net.minecraft.src;

public class mod_Tutorial extends BaseMod {
   
   public String Version() {
      return "1.0.0";
   }

   public static Block ttrBlock2;
   public static int block2ID = 203;
   public static int imageIDTop;
   public static int imageIDSide;

   public mod_Tutorial() {

      ttrBlock2 = new BlockTutorial2(block2ID,0).setBlockName("ttrBlock2");
      ModLoader.RegisterBlock(ttrBlock2);
      imageIDTop = ModLoader.addOverride("/terrain.png", "/ttr/ttrtop.png");
      imageIDSide = ModLoader.addOverride("/terrain.png", "/ttr/ttrside.png");
      ModLoader.AddName(ttrBlock2,"Tutorial Block 2");

      ModLoader.AddRecipe(new ItemStack(ttrBlock2, 1),
            new Object[] { "XXX","X X","XXX",
         Character.valueOf('X'),Block.dirt});      
   }   
}

解説
public static int imageIDTop; public static int imageIDSide;
二種類のテクスチャデータを格納する変数です。

BlockTutorial.java
コード: 全て選択
package net.minecraft.src;

import java.util.Random;

public class BlockTutorial extends Block {
   
   public BlockTutorial(int i, int j)
   {
      super(i, j, Material.ground);         
   }

   public int getBlockTextureFromSide(int i)
    {
        if(i == 1)
        {
            return mod_Tutorial.imageIDTop;
        }
        if(i == 0)
        {
            return mod_Tutorial.imageIDTop;
        }else
        {
            return mod_Tutorial.imageIDSide;
        }
    }
   
}

解説
public int getBlockTextureFromSide(int i)
面ごとに違うテクスチャを設定するときのメソッドです。
iは0~5まであり、6面に割り振られています。0が上、1が下です。
今回は0と1にimageIDTopのテクスチャを、それ以外にimageIDSideのテクスチャを割り当てています。

・ttrtop.pngとttrside.pngをMCPフォルダのbin/minecraftの中にttrフォルダを作り、その中に入れてください

これで終わりです。ここからの手順はWikiを参照してください。
ソースコードと、modsに導入できる形にしたzipを公開しておきます。
添付ファイル
TutorialMOD_6.zip
マルチテクスチャブロック追加
(8.06 KiB) ダウンロード数: 456 回
最後に編集したユーザー tsuttsu305 [ 2013年3月18日(月) 20:58 ], 累計 2 回
理由: トピック主の申請により閉鎖(申請理由: 情報が古いため)
MOD作ったりしてます。らこと呼んでください
http://forum.minecraftuser.jp/viewtopic.php?f=13&t=1047
アバター
laco0416
ID:f991a69e
石炭掘り
 
記事: 150
登録日時: 2011年9月17日(土) 19:58

  • (PostNo.13876)

Re: [チュートリアル]複数テクスチャを持つブロック追加MODの作り方[初級~中級]

投稿記事by クリッパー » 2011年11月24日(木) 17:42

こんにちは。
MOD作成トピック、とても参考にしています。
質問なのですが、1つの面に2つの異なるテクスチャを貼りつけることは可能でしょうか。
例えば、
□■
■□
のように、チェッカーフラッグのような模様のブロックで、□と■に素材に従ったテクスチャを各々反映させるブロック
という感じです。
そういったことは、はたして可能でしょうか?
クリッパー
ID:c1cb6e2d
 

  • (PostNo.16742)

Re: [チュートリアル]複数テクスチャを持つブロック追加MODの作り方[初~中級][1.8.1]

投稿記事by SpringMine » 2011年12月15日(木) 23:07

横から失礼。
3Dモデルとテクスチャの関係について関わる問題だと思います。おそらくブロックは8頂点の単純な立方体と思われますので、そこにチェック模様のテクスチャを張るにはテクスチャ側をチェック模様にするのが一般的かと思います。(それこそ描画エンジン部分をいじるとかすれば別ですが・・・・)
可能か不可能かというなら可能なんでしょうが。簡単には出来ないと思います。
SpringMine
ID:7bacda2c
石炭掘り
 
記事: 177
登録日時: 2011年12月07日(水) 22:14

  • (PostNo.85820)

Re: [チュートリアル]複数テクスチャを持つブロック追加MODの作り方[初~中級][1.8.1]

投稿記事by Climber_22 » 2013年3月13日(水) 23:11

質問させいてたいただきます。

今、瓦ブロックのようなものをつくろうとしていて、形は階段のようなものにしたいと考えているのですが、その場合階段の側面、全面、裏面のテクスチャを用意するだけで大丈夫でしょうか?それだけで階段の形をしたブロックを作ることは可能ですか?
まだまだ初心者で至らない所も多いと思いますが、よろしくお願いします。
アバター
Climber_22
ID:363c3a63
木を殴ってる
 
記事: 21
登録日時: 2013年1月20日(日) 15:03


Return to 開発関連

x