[1.7.10] Ивенты, смерть игрока и проверка инвентаря.

svk

1,185
3
1 - ивенты, где их искать?
Надо отловить смерть игрока, и если есть предмет в инвентаре, делать действие.
[merge_posts_bbcode]Добавлено: 09.01.2015 12:30:11[/merge_posts_bbcode]

И ещё 1 вопрос - как причинить вред энтити, с учётом брони?
 
Код:
Forge
package net.minecraftforge.event; //Общие эвенты
package net.minecraftforge.client.event; //Клиенские эвенты
Forge Mod Loader
package cpw.mods.fml.client.event; //Клиенские эвенты
package cpw.mods.fml.common.event; //Общие эвенты
LivingDeathEvent
Код:
if (event.entity instanceof EntityPlayer) {

}
Ну как-то так.
[merge_posts_bbcode]Добавлено: 09.01.2015 13:39:13[/merge_posts_bbcode]

svk написал(а):
И ещё 1 вопрос - как причинить вред энтити, с учётом брони?
Что ты имеешь под смыслом: "причинить вред энтити"? Какое-то повреждение или какой-то эффект?
 
Не понял нечего...
Можете написать код, как выполнить действие, если игрок умер? Например, я хочу заспавнить на его координатах тнт.
 
О боже, ну ты и бревно. Без обид.

Код:
@SubscribeEvent
    public void lock(LivingDeathEvent e){
        if(e.entityLiving instanceof EntityPlayer){
            EntityPlayer player = (EntityPlayer)e.entityLiving;
            if(!player.worldObj.isRemote){
                EntityTNTPrimed tnt = new EntityTNTPrimed(player.worldObj);
                tnt.setPosition(player.posX, player.posY, player.posZ);
                player.worldObj.spawnEntityInWorld(tnt);
            }
        }
    }
 
А для блока так сделать можно? Вот тут через world.setBlock делаю, не получается
 
Я просто не знаю как правильно в таких условиях вписать world.setBlock. Постоянно выбивает ошибки. Хотел попробовать поставить не ентити, а блок.
 
(int) перед координатой игрока, типа:
Код:
world.setBlock((int)player.posX, (int)player.posY, (int)player.posZ, Blocks.stone)
 
Назад
Сверху