【Mod製作】草のようなテクスチャの表示方法について(1.7.10)

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

【Mod製作】草のようなテクスチャの表示方法について(1.7.10)

投稿記事by コンパス君2号 » 2016年10月09日(日) 19:18

Minecraftの草ブロックのようなテクスチャの表示をしたいのですが、
作りたいものは、草ブロックと同じテクスチャで光るようにしたいです。
光るようには、できます。
問題は、複数面のテクスチャの表示とバイオーム毎の色の暗さなどです。
作業台のテクスチャがわかりやすいとの記事を見つけたのですが、たぶん
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister p_149651_1_)
{
this.blockIcon = p_149651_1_.registerIcon(this.getTextureName() + "_side");
this.field_150035_a = p_149651_1_.registerIcon(this.getTextureName() + "_top");
this.field_150034_b = p_149651_1_.registerIcon(this.getTextureName() + "_front");
}

ここだと思うのですが「P_149651_1_」をどのようにすればいいのかわかりません。
バイオームごとに色が違うのは、よくわかりません。
サンプルのコードをくれたらうれしいです。(わがままですみません...)
Forgeのバージョンは、10.13.4.1558です
よろしくお願いします
Mod制作勉強中 簡単なMod制作なら受け付けます。こちらにどうぞ
YouTubeコンパス君
1.7.10永住民です
アバター
コンパス君2号
ID:d607ae50
木を殴ってる
 
記事: 34
登録日時: 2016年9月22日(木) 10:25
お住まい: クリーパーの中

  • (PostNo.285363)

Re: 【Mod製作】草のようなテクスチャの表示方法について(1.7.10)

投稿記事by gatya1129 » 2016年10月10日(月) 19:23

作業台のコードとは全く違う自己流の書き方なのですが、
コード: 全て選択
public class TestBlock extends Block
{
    //IIconの配列作成
    public IIcon[] icons = new IIcon[6];

    public TestBlock()
    {
        this.setCreativeTab(CreativeTabs.tabBlock");
        this.setBlockName(TestMod.MODID + "_" + "TestBlock");
        this.setBlockTextureName(TestMod.MODID + ":" + "TestBlock");
    }

    @Override
    public void registerBlockIcons(IIconRegister register){
        //配列にテクスチャ6面分を入れる
        for (int i = 0; i < 6; i++){
            this.icons[i] = register.registerIcon(textureName + "_" + i);
        }
    }

    @Override
    public IIcon getIcon(int side, int metadata){
        //その面に対応したテクスチャを返す
        return icons[side];
    }
}

と私はやっています。(package、import省略)
textureのフォルダに
TestBlock_0(下)
TestBlock_1(上)
TestBlock_2(東)
TestBlock_3(西)
TestBlock_4(南)
TestBlock_5(北)
とテクスチャを入れればいいです。
modの公開をしています。
ProactiveMod1.7.10対応版、整地系ツール追加modなど)
また、簡単なmodの制作依頼も受け付けています。
よかったらどうぞ
Modding歴=Java歴<プログラム歴ッ!
gatya1129
ID:fa4b0917
大工さん
 
記事: 63
登録日時: 2015年2月21日(土) 21:01
お住まい: どこだと思う?ねえ、どこだと思う?

  • (PostNo.285408)

Re: 【Mod製作】草のようなテクスチャの表示方法について(1.7.10)

投稿記事by コンパス君2号 » 2016年10月11日(火) 14:38

gatya1129 さんが書きました:作業台のコードとは全く違う自己流の書き方なのですが、
コード: 全て選択
public class TestBlock extends Block
{
    //IIconの配列作成
    public IIcon[] icons = new IIcon[6];

    public TestBlock()
    {
        this.setCreativeTab(CreativeTabs.tabBlock");
        this.setBlockName(TestMod.MODID + "_" + "TestBlock");
        this.setBlockTextureName(TestMod.MODID + ":" + "TestBlock");
    }

    @Override
    public void registerBlockIcons(IIconRegister register){
        //配列にテクスチャ6面分を入れる
        for (int i = 0; i < 6; i++){
            this.icons[i] = register.registerIcon(textureName + "_" + i);
        }
    }

    @Override
    public IIcon getIcon(int side, int metadata){
        //その面に対応したテクスチャを返す
        return icons[side];
    }
}

と私はやっています。(package、import省略)
textureのフォルダに
TestBlock_0(下)
TestBlock_1(上)
TestBlock_2(東)
TestBlock_3(西)
TestBlock_4(南)
TestBlock_5(北)
とテクスチャを入れればいいです。

ありがとうございます。
エラーがでるのですが...
添付ファイル
エラー画像.png
Mod制作勉強中 簡単なMod制作なら受け付けます。こちらにどうぞ
YouTubeコンパス君
1.7.10永住民です
アバター
コンパス君2号
ID:c9f93fe4
木を殴ってる
 
記事: 34
登録日時: 2016年9月22日(木) 10:25
お住まい: クリーパーの中

  • (PostNo.285424)

Re: 【Mod製作】草のようなテクスチャの表示方法について(1.7.10)

投稿記事by ☭Destroy//Accuracy☭ » 2016年10月11日(火) 18:52

コンパス君2号 さんが書きました:
gatya1129 さんが書きました:

ありがとうございます。
エラーがでるのですが...


"registerBlockIcons"には東西南北上下のテクスチャ名を指定、
"getIcon"にはどの部分にどのテクスチャが貼られるかの指定をすれば大丈夫かと思われます。
ちなみに私はこんな感じで書いてます。作りたいブロックに合わせて、必要なテクスチャの枚数も
面の指定も変わってくるのでそこはご自分で試行錯誤してみてください。

コード: 全て選択
 --前略--
@Override
      @SideOnly(Side.CLIENT)
      public void registerBlockIcons(IIconRegister iicon) {
         //この部分でテクスチャを指定
         this.iicon[0] = iicon.registerIcon(this.getTextureName() + "_top");
         this.iicon[1] = iicon.registerIcon(this.getTextureName() + "_side");
      }

@Override
      @SideOnly(Side.CLIENT)
      public IIcon getIcon(int side, int meta) {
         //そのテクスチャをどの面に表示するかを決める
         int k = meta & 12;
         int l = meta & 3;
         return k == 0 && (side == 1 || side == 0) ? this.getTopIcon(l) : (k == 4 && (side == 5 || side == 4) ? this.getTopIcon(l) : (k == 8 && (side == 2 || side == 3) ? this.getTopIcon(l) : this.getSideIcon(l)));
      }
和風はお好き?
  • 1.7.10永住民です。1.8? 1.9? 1.10? 知らんな。
  • 趣味の範囲でModの開発を手がけています。過去VerのModのサルベージ希望とかを見かけたら規約に違反しない範囲で配布するかも。
  • テクスチャ書くの上手い人って羨ましいですよね。上手になりたい。
アバター
☭Destroy//Accuracy☭
ID:53c5c913
石掘り
 
記事: 78
登録日時: 2015年11月03日(火) 08:46
お住まい: 京の町


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

x