ForgeAPI > PlayerDestroyItemEvent

プレイヤーが装備しているアイテムが壊れたときに呼ばれるイベント. 旧IDestroyToolHandler.

クラス

public class PlayerDestroyItemEvent extends PlayerEvent
{
    public final ItemStack original;
    public PlayerDestroyItemEvent(EntityPlayer player, ItemStack original)
    {
        super(player);
        this.original = original;
    }
}
 

使用例

public class onToolDestroyedEventHook
{
    @ForgeSubscribe
    public void onToolDestroyed(PlayerDestroyItemEvent event)
    {
        EntityPlayer player = event.entityPlayer;
        ItemStack itemstack = event.original;
 
        if (event.isCancelable())
        {
            event.setCanceled(true);
        }
 
        ItemStack dropItem = null;
        if (itemstack.itemID == @Mod.itemBrokenTool.shiftedIndex)
        {
            dropItem = new ItemStack(@Mod.itemBrokenTool, 1);
        }
 
        if (dropItem != null)
        {
            player.worldObj.spawnEntityInWorld(new EntityItem(@Mod.proxy.getServerWorld(), player.posX, player.posY, player.posZ, dropItem));
        }
    }
}
 
ツールが壊れたら, 壊れたツールというアイテムをドロップするイベント. これ以外にも使い方は可能なので, 特定のツールが壊れたら大爆発, 特定のツールが壊れたら目の前に敵がスポーン, など想像力次第で色々できる.
最終更新:2012年08月25日 22:36