提供: Minecraft Modding Wiki
(ページの作成:「{{前提MOD|reqmod="Minecraft Forge Universal"}}{{チュートリアルカテゴリー |type=TileEntity| difficulty=0}} ==チェストにアイテムを入れる== ...」) |
|||
1行目: | 1行目: | ||
{{前提MOD|reqmod="Minecraft Forge Universal"}}{{チュートリアルカテゴリー |type=TileEntity| difficulty=0}} | {{前提MOD|reqmod="Minecraft Forge Universal"}}{{チュートリアルカテゴリー |type=TileEntity| difficulty=0}} | ||
+ | |||
+ | <span style="color:red"><big>この記事は http://forum.minecraftuser.jp/viewtopic.php?f=39&t=29948 での質問の結果を流用しており、<br /> | ||
+ | コード内のコメントを削除されていて、解説として不適切です。<br /> | ||
+ | 修正されるまで参考にしないで下さい。<br /></big></span> | ||
+ | |||
==チェストにアイテムを入れる== | ==チェストにアイテムを入れる== | ||
今回は右クリックされると、一つ上のチェスト(インベントリを持つTileEntity) | 今回は右クリックされると、一つ上のチェスト(インベントリを持つTileEntity) |
2016年2月10日 (水) 12:28時点における版
この記事は"Minecraft Forge Universal"を前提MODとしています。 |
この記事は http://forum.minecraftuser.jp/viewtopic.php?f=39&t=29948 での質問の結果を流用しており、
コード内のコメントを削除されていて、解説として不適切です。
修正されるまで参考にしないで下さい。
チェストにアイテムを入れる
今回は右クリックされると、一つ上のチェスト(インベントリを持つ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毎のインベントリ情報を入れ、
空いているスロットに入れている。