1.7.10 インベントリ内のブロックのテクスチャ

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

1.7.10 インベントリ内のブロックのテクスチャ

投稿記事by いりぢうむ » 2018年12月15日(土) 10:52

Forge 1.7.10,10.13.4.1614でModdingをしています。メタデータを使用したフェンスを作っていたのですが、インベントリ内でのテクスチャがメタ0として描画されます。設置すればしっかり描画されています。解決法、アドバイス等をしていただけると助かります。
TestMod
コード: 全て選択
package main.test;

import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;

@Mod(modid = TestMod.MOD_ID, name = "TestMod", version = "1.0")
public class TestMod {
   public static final String MOD_ID = "TestMod";

   public static Block blockTestFence;

   @EventHandler
   public void preInit(FMLPreInitializationEvent event) {

   blockTestFence = new BlockTestFence("", Material.rock)
         .setBlockName("testfence").setBlockTextureName("planks").setCreativeTab(CreativeTabs.tabBlock);
   GameRegistry.registerBlock(blockTestFence, ItemTestFence.class, "blockTestFence");
   }
}

BlockTestFence
コード: 全て選択
package main.test;

import java.util.List;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.BlockFence;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;

public class BlockTestFence extends BlockFence {
   public static final String[] fenceType = { "spruce", "birch", "jungle", "acacia", "big_oak" };
   private IIcon[] iicon;

   public BlockTestFence(String string, Material material) {
      super(string, material);
   }

   @Override
   @SideOnly(Side.CLIENT)
   public void registerBlockIcons(IIconRegister register) {
      iicon = new IIcon[fenceType.length];
      for (int i = 0; i < fenceType.length; i++) {
         iicon[i] = register.registerIcon(this.getTextureName() + "_" + fenceType[i]);
      }
   }

   @Override
   @SideOnly(Side.CLIENT)
   public IIcon getIcon(int side, int meta) {
      return iicon[meta];
   }

   @Override
   @SideOnly(Side.CLIENT)
   public void getSubBlocks(Item item, CreativeTabs creativeTab, List list) {
      for (int i = 0; i < fenceType.length; i++) {
         list.add(new ItemStack(item, 1, i));
      }
   }

   @Override
   public int damageDropped(int meta) {
      return meta;
   }
}

ItemTestFence
コード: 全て選択
package main.test;

import net.minecraft.block.Block;
import net.minecraft.item.ItemBlockWithMetadata;
import net.minecraft.item.ItemStack;

public class ItemTestFence extends ItemBlockWithMetadata {


   public ItemTestFence(Block block) {

      super(block, block);
      this.setMaxDamage(0);
      this.setHasSubtypes(true);
   }

   @Override
   public String getUnlocalizedName(ItemStack par1ItemStack) {
         return super.getUnlocalizedName() + "_" + BlockTestFence.fenceType[par1ItemStack.getItemDamage()];
   }

   @Override
   public int getMetadata(int meta) {
      return meta;
   }
}
添付ファイル
2018-12-15_10.36.22.png
左から松,白樺,ジャングル,アカシア,ダークオークです。
2018-12-15_10.36.22.png (7.59 KiB) 表示数: 126 回
アバター
いりぢうむ
ID:4d3aaf85
石掘り
 
記事: 92
登録日時: 2015年12月19日(土) 16:58

  • (PostNo.322678)

Re: 1.7.10 インベントリ内のブロックのテクスチャ

投稿記事by defeatedcrow » 2018年12月15日(土) 15:11

1.6とあまり差のない部分だと思いますから、1.6チュートリアルの読み替えで対応できますね

https://mcmodding.jp/modding/index.php/ ... 3%E3%82%AF
カラスの敗残兵です。AppleMilkTea他、少々のMODを作成しています。
トピック: AppleMilkTea(~1.7.10) / HeatAndClimate(1.10.2)
作者Wiki / github / twitter
アバター
defeatedcrow
ID:69e3e707
ラピスラズリ収集家
 
記事: 1143
登録日時: 2014年1月08日(水) 13:48


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

x