- 93
- 0
Как сделать чтобы был и предмет при нажатии ПКМ он призывал молнию(и если можно чтобы за один призыв снималось сколько-то прочности).
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
@Override
public boolean onItemUse(ItemStack is, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) {
Entity entity = new EntityLightningBolt(world, (double)x + 0.5D, (double)y + 0.5D, (double)z + 0.5D);
world.addWeatherEffect(entity);
is.damageItem(1, player);
return true;
}
Писать свою молнию с параметром summoner в конструкторе, туда сохранить игрока и бить всех, кроме него --ExcludingEntity(summoner) - смотри в зелькеdimagor555 написал(а):Спасибо всё работает, но если я призываю молния ближе чем на 3 блока от себя(не считаю тот на котором я стою) то мне наносится урон. Нельзя ли это как-то исправить.
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
MovingObjectPosition mop = block(player, 1.0F, 13.0D, false);
if (mop != null) {
EntityLightningBolt entity_l = new EntityLightningBolt(world, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord);
world.addWeatherEffect(entity_l);
}
return stack;
}
public static MovingObjectPosition block(EntityLivingBase entity_base, float fasc, double dist, boolean interact) {
Vec3 vec3 = Vec3.createVectorHelper(entity_base.posX, entity_base.posY + entity_base.getEyeHeight(), entity_base.posZ);
Vec3 vec31 = entity_base.getLook(fasc);
Vec3 vec32 = vec3.addVector(vec31.xCoord * dist, vec31.yCoord * dist, vec31.zCoord * dist);
MovingObjectPosition mop = entity_base.worldObj.rayTraceBlocks(vec3, vec32, interact);
return mop;
}
А ещё это дыра, которую можно юзать для читов.timaxa007 написал(а):Мой метод ищет блоки, а не Entity. Нужно сделать метод взяв за пример Minecraft#getMouseOver() и переделать под себя. У меня был пример, но он у меня для клиента.
А чтобы он работал и для серверной стороны, то его ещё нужно по изменять (т.е. он у меня ещё не готов).Можно с клиентской стороны отправить ид Entity, на который мы смотрим, и по координатам Entity спавнить молнию.