Top.Mail.Ru
Ответы

Ребята, есть вопрос по моду mappet 1.12.2

Как написать скрипт raytrace? Он делает так, что когда ты смотришь на определённого npc, выполняется команда или что-то в этом духе, помогите, пожалуйста!

По дате
По рейтингу
Аватар пользователя
Профи
7мес

Для того чтобы создать скрипт, который будет реагировать на взгляд игрока с помощью мода Mappet и выполнять команду при взгляде на NPC, можно использовать функцию **ray tracing** для проверки, смотрит ли игрок на NPC.

Вот пример, как можно реализовать это в скрипте:

```java
import mappet.api.MappetScript;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.Entity;

public class LookAtNPC extends MappetScript {
@Override
public void run() {
EntityPlayer player = (EntityPlayer) getPlayer();
RayTraceResult result = player.rayTrace(100, 1.0F);

if (result != null && result.typeOfHit == RayTraceResult.Type.ENTITY) {
Entity hitEntity = result.entityHit;
if (hitEntity != null && hitEntity.getName().equals("NPC_Name")) {
// Выполнение команды или действия, когда игрок смотрит на NPC
executeCommand("say Игрок смотрит на NPC!");
}
}
}
}
```

### Пояснение:
1. Мы используем метод `rayTrace`, который отслеживает, на что смотрит игрок.
2. Если игрок смотрит на сущность (`RayTraceResult.Type.ENTITY`), проверяется, является ли эта сущность NPC.
3. При совпадении выполняется команда или действие.

Замените `"NPC_Name"` на имя нужного NPC, и укажите команду, которую хотите выполнить.

Попробуйте этот код, и он должен решить вашу задачу!