- 771
- 5
Посадил значит скелета на лошадь, все норм.
Но мне нужно, чтобы скелет на лошади ехал к игроку, чтобы атаковать.
Но лошадь стоит и все.
Я вспомнил, что маленький зомби управляет курицей.
Нашел такой код и применяю его так:
Но это, почему-то, не работает.
Подскажите, в чем проблема, пожалуйста.
Код:
@SubscribeEvent
public void skeletonMountHorse(LivingSpawnEvent.SpecialSpawn event){
if(!(event.entityLiving instanceof EntitySkeleton)){
return;
}
EntitySkeleton mountable = (EntitySkeleton)event.entityLiving;
World world = mountable.worldObj;
for(int slotId = 1; slotId < 5; slotId++){
mountable.setCurrentItemOrArmor(slotId, new ItemStack(Item.getItemById(301 + slotId)));
}
EntityHorse horse = new EntityHorse(world);
horse.copyLocationAndAnglesFrom(mountable);
horse.setHorseType(4);
horse.setHorseTamed(true);
world.spawnEntityInWorld(horse);
mountable.mountEntity(horse);
}
Но мне нужно, чтобы скелет на лошади ехал к игроку, чтобы атаковать.
Но лошадь стоит и все.
Я вспомнил, что маленький зомби управляет курицей.
Нашел такой код и применяю его так:
Код:
@SubscribeEvent
public void updateToRider(LivingUpdateEvent event){
if(!(event.entityLiving instanceof EntitySkeleton)){
return;
}
EntityLiving skeleton = (EntityLiving)event.entityLiving;
if(skeleton.isRiding() && skeleton.getAttackTarget() != null && skeleton.ridingEntity instanceof EntityHorse){
((EntityLiving)skeleton.ridingEntity).getNavigator().setPath(skeleton.getNavigator().getPath(), 1.5D);
}
}
Подскажите, в чем проблема, пожалуйста.