提供: Minecraft Modding Wiki
2016年2月6日 (土) 10:50時点における新人もっだー (トーク | 投稿記録)による版 (ページの作成:「{{前提MOD|reqmod="Minecraft Forge Universal"}}{{チュートリアルカテゴリー ‎|type=TileEntity| difficulty=0}} ==チェストにアイテムを入れる== ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

この記事は"Minecraft Forge Universal"を前提MODとしています。

C none.png
TileEntityに関係のあるチュートリアルです。

チェストにアイテムを入れる

今回は右クリックされると、一つ上のチェスト(インベントリを持つTileEntity) にアイテムを入れる。

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;

                           }
                        }
                     }
                  }
               }
            }

解説

変数plにTileEntity毎のインベントリ情報を入れ、
空いているスロットに入れている。