Skip to content
Daybreak edited this page Oct 16, 2020 · 4 revisions

NMS

Bukkit API 만으로는 사용할 수 없거나 하위 버전에서는 사용할 수 없는, 버전에 따라 구현이 달라지는 여러 기능들을 모아둔 유틸입니다. 아래는 사용할 수 있는 메소드 목록입니다. 다음과 같이 이용하세요: NMS.메소드(...);

기본

// 플레이어를 리스폰시킵니다.
void respawn(Player player);
// player의 화면에서 타이틀을 초기화합니다.
void clearTitle(Player player);
// player에게 타이틀을 전송합니다.
void sendTitle(Player player, String title, String subtitle, int fadeIn, int stay, int fadeOut);
// player의 공격 쿨타임을 반환합니다. (0.0 ~ 1.0)
float getAttackCooldown(Player player);
// receiver에게 entity가 yaw, pitch 방향으로 머리를 돌린 것 처럼 보이게 합니다.
void rotateHead(Player receiver, Entity entity, float yaw, float pitch);
// livingEntity의 흡수 체력을 반환합니다.
float getAbsorptionHearts(LivingEntity livingEntity);
// livingEntity의 흡수 체력을 absorptionHearts로 설정합니다.
void setAbsorptionHearts(LivingEntity livingEntity, float absorptionHearts);
// entity의 상태 효과를 월드 내에 방송합니다.
void broadcastEntityEffect(Entity entity, byte status);

상태 효과는 여기를 참고하세요.

// entity의 위치를 월드 내에서 임의로 설정합니다.
void setLocation(Entity entity, double x, double y, double z, float yaw, float pitch);
// armorStand의 히트 박스를 제거합니다.
void removeBoundingBox(ArmorStand armorStand);
// player의 몸에 박혀 있는 화살 개수를 count로 설정합니다.
void setArrowsInBody(Player player, int count);
// entity의 투명 여부를 설정합니다.
void setInvisible(Entity entity, boolean invisible);
// entity의 투명 여부를 반환합니다.
boolean isInvisible(Entity entity);
// player의 material에 대한 쿨타임을 ticks 틱으로 설정합니다.
void setCooldown(Player player, Material material, int ticks);
// player의 material에 대한 쿨타임 여부를 반환합니다.
boolean hasCooldown(Player player, Material material);
// player의 material에 대한 쿨타임을 반환합니다.
int getCooldown(Player player, Material material);
// entity가 item을 획득하는 것처럼 보이게 합니다.
void fakeCollect(Entity entity, Item item);
// livingEntity의 액티브 아이템을 초기화합니다.
// 활을 당기고 있다면 활 당기기 취소, 방패로 방어하고 있다면 방패 방어 취소
void clearActiveItem(LivingEntity livingEntity);

홀로그램

// world 월드의 x, y, z 위치에 text 텍스트의 홀로그램을 만듭니다.
IHologram newHologram(World world, double x, double y, double z, String text);
// world 월드의 x, y, z 위치에 아무 텍스트도 없는 홀로그램을 만듭니다.
IHologram newHologram(World world, double x, double y, double z);

IHologram에서는 아래와 같은 메소드들을 사용할 수 있습니다.


// player에게 홀로그램이 보이게 합니다.
void display(Player player);
// player에게 홀로그램이 보이지 않게 합니다.
void hide(Player player);
// 홀로그램을 world 월드의 x, y, z, yaw, pitch 위치로 이동시킵니다.
void teleport(World world, double x, double y, double z, float yaw, float pitch);
// 홀로그램의 위치를 반환합니다.
Location getLocation();
// 홀로그램 텍스트를 변경합니다.
void setText(String text);
// 홀로그램 텍스트를 반환합니다.
String getText();
// 홀로그램을 등록 해제합니다. (삭제)
void unregister();
// 홀로그램의 등록 해제 여부를 반환합니다.
boolean isUnregistered();