Доброго времени суток, может кто подскажет, как сделать, чтоб моб следил(головой) за игроком постоянно, как житель, а то я сделал и он поворачивает голову раз в несколько тиков.
MJaroslav
1,188 37 227
!Не проверял в среде, а только посмотрел исходиники!
Смотри класс net.minecraft.entity.ai.EntityAIWatchClosest . Тебе всего лишь нужно сделать такой же, но без таймера lookTime и оставить только логику где watchedClass является игроком (в таком случае моб будет смотреть только на близжайшего игрока, либо на свою цель атаки, если оставишь код с ней).
Если же окажется, что нужно сделать так, чтобы моб смотрел на всех игроков (у каждого клиента моб должен смотреть именно на своего игрока), то, скорее всего, придется переделывать модель так, чтобы голова всегда смотрела на игрока из класса Minecraft .
Заказы не принимаю. Оффлайн с 12.2022 до 12.2023.
Glosarik
Убрал lookTime, перестал за мной следить -_-
public class EntityWatch extends EntityAIBase < private static final String __OBFID = «CL_00001590»; private EntityLiving theWatcher; /** Ближайшая сущность, за которой наблюдает этот человек. */ protected Entity closestEntity; /** Это максимальное расстояние, на котором ИИ будет искать объект */ private float maxDistanceForPlayer; private float field_75331_e; private Class watchedClass; public EntityWatch(EntityLiving p_i1631_1_, Class p_i1631_2_, float p_i1631_3_)< this.theWatcher = p_i1631_1_; this.watchedClass = p_i1631_2_; this.maxDistanceForPlayer = p_i1631_3_; this.field_75331_e = 0.02F; this.setMutexBits(3); >public EntityWatch(EntityLiving p_i1632_1_, Class p_i1632_2_, float p_i1632_3_, float p_i1632_4_) < this.theWatcher = p_i1632_1_; this.watchedClass = p_i1632_2_; this.maxDistanceForPlayer = p_i1632_3_; this.field_75331_e = p_i1632_4_; this.setMutexBits(3); >/** * Возвращает, должна ли EntityAIBase начать выполнение. */ public boolean shouldExecute()< if (this.theWatcher.getRNG().nextFloat() >= this.field_75331_e) < return false; >else < if (this.theWatcher.getAttackTarget() != null) < this.closestEntity = this.theWatcher.getAttackTarget(); >if (this.watchedClass == EntityPlayer.class) < this.closestEntity = this.theWatcher.worldObj.getClosestPlayerToEntity(this.theWatcher, (double)this.maxDistanceForPlayer); >else < this.closestEntity = this.theWatcher.worldObj.findNearestEntityWithinAABB(this.watchedClass, this.theWatcher.boundingBox.expand((double)this.maxDistanceForPlayer, 3.0D, (double)this.maxDistanceForPlayer), this.theWatcher); >return this.closestEntity != null; > > /** * Возвращает, следует ли продолжать выполнение текущей EntityAIBase */ public boolean continueExecuting() < return !this.closestEntity.isEntityAlive() ? false : (this.theWatcher.getDistanceSqToEntity(this.closestEntity) >(double)(this.maxDistanceForPlayer * this.maxDistanceForPlayer)); > /** * Выполнить одно задание снято или начала выполнения непрерывной задачи */ public void startExecuting() < // this.lookTime = 60 + this.theWatcher.getRNG().nextInt(60); >/** * Сброс задания */ public void resetTask() < this.closestEntity = null; >/** * Обновления задания */ public void updateTask() < this.theWatcher.getLookHelper().setLookPosition(this.closestEntity.posX, this.closestEntity.posY + (double)this.closestEntity.getEyeHeight(), this.closestEntity.posZ, 0.0F, (float)this.theWatcher.getVerticalFaceSpeed()); // —this.lookTime; >>
Источник: forum.mcmodding.ru
СЛЕЖКА ЗА ИГРОКАМИ НА СЕРВЕРЕ MINECRAFT | ЧТО ОНИ ДЕЛАЮТ?
WatchDog — слежка за игроками [1.12.2 — 1.8]
WatchDog — плагин для персонала сервера(Модераторы, Администраторы и т.д.). Персонал может добавить подозрительного игрока под наблюдение. Плагин будет следить за игроком и передавать данные персоналу сервера. Если игрок добавлен в список нарушителей администраторы(имеющие ОП на сервере) или игроки с правами.
/wd add [Ник Игрока] [Причина] — Добавляет игрока в список наблюдения с указанием причины.
/wd remove [Ник Игрока] — Удалить игрока из списка нарушителей.
/wd notify [status|on|off] — Включит или выключить уведомление о онлайне игрока который является под наблюдением.
/wd info [Ник Игрока] — Отображает список наблюдения информацию для данного игрока.
/wd search [Ник Игрока] — Ищет список наблюдений за игроком, соответствующих заданной строке.
/wd count — Отображает подсчет общего количества игроков в список наблюдения
watchdog.use — Позволяет пользователю использовать WatchDog
watchdog.add — Позволяет пользователю добавить игрока в список наблюдения
watchdog.remove — Позволяет пользователю удалить игрока из списока наблюдения
watchdog.statusupdates — Позволяет пользователю получать информацию при добавление нарушителя в базу нарушителей.
1.Скачать плагин для своей версии
2.Переместить скачанный файл с расширением .jar папку /plugins/ Вашего сервера.
3.Перезагрузить сервер.
4.Готово!
cursehref
1.8-1.9: watchdog-1.1.0.jar [7,35 Kb]
1.101.111.12: watchdog.jar [15,96 Kb]
Источник: ru-minecraft.ru
The Magic Mirror слежка за другим игроком при помощи зеркала
Мод The Magic Mirror добавит в игру магическое зеркало при помощи которого можно будет шпионить за ближайшим к Вам игроком. Можно будет увидеть его силуэт и узнать чем именно он занимается. Таким образом вы можете следить за своими друзьями или врагами, узнавать о их замыслах и секретах. Помимо этого можно превратить сове изображение в скелета.
Версии![The Magic Mirror слежка за другим игрокомч]()
Установка
- Устанавливаем Minecraft Forge;
- Не распаковывая, копируем в C:UsersИМЯ_ПОЛЬЗОВАТЕЛЯAppDataRoaming.minecraftmods;
- Играем.
Видео обзор
Источник: game-roblox.ru