- 198
- 1
- 24
Хочу сделать так, чтобы зомби собирались возле факелов, фонарей и т.д.
Для этого решил переделать ИИ поиска воды, чтобы вместо воды искать более освещённые блоки, чем тот, где стоит зомби:
Добавил в RegisterGoals в классе своего зомби:
Но зомби, похоже, никак не реагируют на факел... Что я делаю неправильно?
Для этого решил переделать ИИ поиска воды, чтобы вместо воды искать более освещённые блоки, чем тот, где стоит зомби:
SeekLitAreaGoal.java:
public class SeekLitAreaGoal extends Goal {
private final MonsterEntity mob;
public SeekLitAreaGoal(MonsterEntity p_i48936_1_) {
this.mob = p_i48936_1_;
}
public boolean canUse() {
return true;
}
public void start() {
BlockPos blockpos = null;
for (BlockPos blockpos1 : BlockPos.betweenClosed(new BlockPos(this.mob.getX()-16,this.mob.getY()-8, this.mob.getZ()-16), new BlockPos(this.mob.getX()+16,this.mob.getY()+8, this.mob.getZ()+16)))
if (this.mob.level.getBrightness(LightType.BLOCK,blockpos1) > this.mob.level.getBrightness(LightType.BLOCK,this.mob.blockPosition())) {
blockpos = blockpos1;
break;
}
if (blockpos != null) {
this.mob.getMoveControl().setWantedPosition((double) blockpos.getX(), (double) blockpos.getY(), (double) blockpos.getZ(), 1.0D);
}
}
}
Добавил в RegisterGoals в классе своего зомби:
Zombie1.registerGoals():
@Override
public void registerGoals() {
super.registerGoals();
this.goalSelector.addGoal(2,new SeekLitAreaGoal(this));
}
Но зомби, похоже, никак не реагируют на факел... Что я делаю неправильно?