提供: Minecraft Modding Wiki
移動先: 案内検索
(ページの白紙化)
1行目: 1行目:
{{前提MOD|reqmod="Minecraft Forge Universal"}}
 
{{チュートリアル難易度|difficulty=1|clear=none}}
 
{{チュートリアルカテゴリー|difficulty=1|type=Item|clear=none}}
 
{{チュートリアルカテゴリー ‎|type=Block|difficulty=1}}
 
  
 
<span style="color:red"><big>この記事は http://forum.minecraftuser.jp/viewtopic.php?f=39&t=29948 での質問の結果を流用しており、<br />
 
コード内のコメントを削除されていて、解説として不適切です。<br />
 
修正されるまで参考にしないで下さい。<br /></big></span>
 
 
==チェストにアイテムを入れる==
 
今回は右クリックされると、一つ上のチェスト(インベントリを持つTileEntity)
 
にアイテムを入れる。
 
<source lang="java">
 
package sample;
 
 
//import省略
 
 
public class chestinitem extends Block {
 
@SideOnly(Side.CLIENT)
 
    private IIcon TopIcon;
 
 
    @SideOnly(Side.CLIENT)
 
    private IIcon SideIcon;
 
 
public open() {
 
        super(Material.rock);
 
        //省略
 
    }
 
@Override
 
    public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float posX, float posY, float posZ){
 
if (!world.isRemote)
 
            {
 
              Block block = world.getBlock(x, y+1, z);
 
              int meta = world.getBlockMetadata(x, y+1, z);
 
 
 
              if (block.hasTileEntity(meta))
 
              {
 
                  TileEntity tile = world.getTileEntity(x, y+1, z);
 
 
                  if (tile != null)
 
                  {
 
 
                    if (tile instanceof IInventory)
 
                    {
 
                        IInventory inventory = (IInventory)tile;
 
 
 
                        for (int pl = 0; pl < inventory.getSizeInventory(); ++pl)
 
                        {
 
                          ItemStack itemstack = inventory.getStackInSlot(pl);
 
 
 
                          if (itemstack == null)
 
                          {
 
 
 
                              inventory.setInventorySlotContents(pl, new ItemStack(items.diamond));//ダイヤを一個入れる
 
                              return true;
 
 
                          }
 
                        }
 
                    }
 
                  }
 
              }
 
            }
 
</source>
 
 
==解説==
 
変数plにTileEntity毎のインベントリ情報を入れ、<br>
 
空いているスロットに入れている。
 

2016年2月10日 (水) 17:38時点における版