Для того чтобы мобы оставались неподвижными при спавне и начинали двигаться только после того, как их ударит игрок, вы можете использовать следующий подход в Minecraft с помощью плагина на Java (например, с использованием Bukkit или Spigot).
Вот пример кода, который показывает, как это можно реализовать:
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
public class NoMoveOnSpawn extends JavaPlugin implements Listener {
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onCreatureSpawn(CreatureSpawnEvent event) {
Entity entity = event.getEntity();
if (entity instanceof LivingEntity) {
entity.setAI(false); // Отключаем ИИ
}
}
@EventHandler
public void onEntityDamage(EntityDamageByEntityEvent event) {
if (event.getEntity() instanceof LivingEntity) {
LivingEntity entity = (LivingEntity) event.getEntity();
entity.setAI(true); // Включаем ИИ после удара
}
}
}
Этот код делает следующее:
1. При спавне сущности (моба) отключается её ИИ, что делает её неподвижной.
2. Когда игрок наносит урон мобу, ИИ включается, и моб начинает действовать как обычно.
Не забудьте добавить необходимые зависимости и зарегистрировать плагин в вашем сервере Minecraft.