нужно чтобы предмет на его голове был перпендикулярен земле
Для того, чтобы поставить предмет на голову `ArmorStand`, который будет расположен перпендикулярно земле, можно использовать метод `setHelmet`, в который передать предмет, который будет использоваться в качестве головного убора, например, `BARRIER` для невидимого предмета.
Для того, чтобы расположить этот предмет перпендикулярно земле, нужно создать специальный объект `Vector`, который будет выступать в качестве направления взгляда `ArmorStand`. Затем, этот вектор передается методу `setHeadPose`, который устанавливает ориентацию головы `ArmorStand`.
```
Location loc = e.getBlock().getLocation();
ArmorStand a = (ArmorStand) loc.getWorld().spawnEntity((loc.clone().add(0.5, -0.3, 0)), EntityType.ARMOR_STAND);
// Наклоняем голову вниз (-75 градусов)
a.setHeadPose(new EulerAngle(Math.toRadians(-75), 0, 0));
// Определяем вектор направления взгляда (1, 0, 0), чтобы предмет был перпендикулярен земле
Vector direction = new Vector(1, 0, 0);
a.setHeadPose(direction.clone().multiply(Math.PI / 2).toEulerAngle());
// Устанавливаем предмет BARRIER на голову
a.setHelmet(new ItemStack(Material.BARRIER));
a.setSmall(false);
a.setInvulnerable(true);
a.setCanMove(false);
a.setGravity(false);
```
В этом примере мы используем метод `setHelmet` для установки предмета на голову `ArmorStand`. Для того, чтобы расположить предмет перпендикулярно земле, мы определяем вектор направления взгляда, где первая компонента вектора `1` для того, чтобы предмет был перпендикулярен земле по горизонтали. Затем мы устанавливаем это направление взгляда в метод `setHeadPose`.
Дополнительно, мы создаем копию `direction` и умножаем ее на `Math.PI / 2`, чтобы повернуть вектор направления взгляда на 90 градусов, чтобы предмет был перпендикулярен земле по вертикали. Этот повернутый вектор передается методу `toEulerAngle`, чтобы получить объект `EulerAngle`.