All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bukkit.craftbukkit.entity.CraftArmorStand Maven / Gradle / Ivy

package org.bukkit.craftbukkit.entity;

import net.minecraft.server.EntityArmorStand;
import net.minecraft.server.Vector3f;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.ArmorStand;
import org.bukkit.entity.EntityType;
import org.bukkit.inventory.ItemStack;
import org.bukkit.util.EulerAngle;

public class CraftArmorStand extends CraftLivingEntity implements ArmorStand {

  public CraftArmorStand(CraftServer server, EntityArmorStand entity) {
    super(server, entity);
  }

  private static EulerAngle fromNMS(Vector3f old) {
    return new EulerAngle(
      Math.toRadians(old.getX()),
      Math.toRadians(old.getY()),
      Math.toRadians(old.getZ())
    );
  }

  private static Vector3f toNMS(EulerAngle old) {
    return new Vector3f(
      (float) Math.toDegrees(old.getX()),
      (float) Math.toDegrees(old.getY()),
      (float) Math.toDegrees(old.getZ())
    );
  }

  @Override
  public String toString() {
    return "CraftArmorStand";
  }

  @Override
  public EntityType getType() {
    return EntityType.ARMOR_STAND;
  }

  @Override
  public EntityArmorStand getHandle() {
    return (EntityArmorStand) super.getHandle();
  }

  @Override
  public ItemStack getItemInHand() {
    return getEquipment().getItemInHand();
  }

  @Override
  public void setItemInHand(ItemStack item) {
    getEquipment().setItemInHand(item);
  }

  @Override
  public ItemStack getBoots() {
    return getEquipment().getBoots();
  }

  @Override
  public void setBoots(ItemStack item) {
    getEquipment().setBoots(item);
  }

  @Override
  public ItemStack getLeggings() {
    return getEquipment().getLeggings();
  }

  @Override
  public void setLeggings(ItemStack item) {
    getEquipment().setLeggings(item);
  }

  @Override
  public ItemStack getChestplate() {
    return getEquipment().getChestplate();
  }

  @Override
  public void setChestplate(ItemStack item) {
    getEquipment().setChestplate(item);
  }

  @Override
  public ItemStack getHelmet() {
    return getEquipment().getHelmet();
  }

  @Override
  public void setHelmet(ItemStack item) {
    getEquipment().setHelmet(item);
  }

  @Override
  public EulerAngle getBodyPose() {
    return fromNMS(getHandle().bodyPose);
  }

  @Override
  public void setBodyPose(EulerAngle pose) {
    getHandle().setBodyPose(toNMS(pose));
  }

  @Override
  public EulerAngle getLeftArmPose() {
    return fromNMS(getHandle().leftArmPose);
  }

  @Override
  public void setLeftArmPose(EulerAngle pose) {
    getHandle().setLeftArmPose(toNMS(pose));
  }

  @Override
  public EulerAngle getRightArmPose() {
    return fromNMS(getHandle().rightArmPose);
  }

  @Override
  public void setRightArmPose(EulerAngle pose) {
    getHandle().setRightArmPose(toNMS(pose));
  }

  @Override
  public EulerAngle getLeftLegPose() {
    return fromNMS(getHandle().leftLegPose);
  }

  @Override
  public void setLeftLegPose(EulerAngle pose) {
    getHandle().setLeftLegPose(toNMS(pose));
  }

  @Override
  public EulerAngle getRightLegPose() {
    return fromNMS(getHandle().rightLegPose);
  }

  @Override
  public void setRightLegPose(EulerAngle pose) {
    getHandle().setRightLegPose(toNMS(pose));
  }

  @Override
  public EulerAngle getHeadPose() {
    return fromNMS(getHandle().headPose);
  }

  @Override
  public void setHeadPose(EulerAngle pose) {
    getHandle().setHeadPose(toNMS(pose));
  }

  @Override
  public boolean hasBasePlate() {
    return !getHandle().hasBasePlate();
  }

  @Override
  public void setBasePlate(boolean basePlate) {
    getHandle().setBasePlate(!basePlate);
  }

  @Override
  public boolean hasGravity() {
    return !getHandle().hasGravity();
  }

  @Override
  public void setGravity(boolean gravity) {
    getHandle().setGravity(!gravity);
  }

  @Override
  public boolean isVisible() {
    return !getHandle().isInvisible();
  }

  @Override
  public void setVisible(boolean visible) {
    getHandle().setInvisible(!visible);
  }

  @Override
  public boolean hasArms() {
    return getHandle().hasArms();
  }

  @Override
  public void setArms(boolean arms) {
    getHandle().setArms(arms);
  }

  @Override
  public boolean isSmall() {
    return getHandle().isSmall();
  }

  @Override
  public void setSmall(boolean small) {
    getHandle().setSmall(small);
  }

  @Override
  public boolean isMarker() {
    // PAIL
    return getHandle().s();
  }

  @Override
  public void setMarker(boolean marker) {
    // PAIL
    getHandle().n(marker);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy