提供: Minecraft Modding Wiki
2012年7月16日 (月) 03:52時点におけるLinoal (トーク | 投稿記録)による版 (ページ作成)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

概要

アイテムの入ったチェストを自動で生成するために、以下のクラスを使用します。

TileEntityChest
チェストを開くと出てくるアイテム欄です。
ItemStack
アイテム欄の1項目単位です。

TileEntityChestにItemStackをセット

次のコードでアイテム欄にレッドストーンダストと金ブロックをセットします。

TileEntityChest tEntity = new TileEntityChest();
ItemStack redstoneStack = new ItemStack( Item.redstone, 15);  // 第2引数でアイテムの数を指定します。
ItemStack goldStack = new ItemStack( Block.blockGold, 20);
tEntity.setInventorySlotContents(0, redstoneStack);     // 第1引数はアイテム欄のスロット番号です。左上が0で、右方向に連番が振られています。
tEntity.setInventorySlotContents(1, goldStack);

チェストをワールドに配置

まず何も入っていないチェストを置いてから、TileEntityChestを貼り付けてアイテムを格納します。

world.setBlock(Xc, Yc, Zc, 54);
world.setBlockTileEntity(Xc, Yc, Zc, tEntity);

変数world,Xc,Yc,Zcは各自で適切なものを用意してください。(world:チェストを置くワールド, (Xc,Yc,Zc):チェストを置く座標)

コード全体

TileEntityChest tEntity = new TileEntityChest();
ItemStack redstoneStack = new ItemStack( Item.redstone, 15);
ItemStack goldStack = new ItemStack( Block.blockGold, 20);
tEntity.setInventorySlotContents(0, redstoneStack);
tEntity.setInventorySlotContents(1, goldStack);
world.setBlock(Xc, Yc, Zc, 54);
world.setBlockTileEntity(Xc, Yc, Zc, tEntity);