개인 자료란 (JE)

  서버 커뮤니티

Profile airL 대표칭호 없음
Profile

질문하기 Java

마인크래프트 플러그인 질문이요

2020.11.29 조회 수 126 추천 수 0
이해도 플러그인 
게임버전 (JE) 버킷 

마인크래프트 플러그인 질문입니다 

저는 지금 막 플러그인을 만들기 시작했는데요 얼마전 우클릭으로 엔티티를 소환하는걸 하고 있었는데 

두가지 질문이 있습니다 

 1. 혹시 HumanEntity 즉 NPC를 소환하는 방법에대한 자료를 자지고 있는분들은 공유 부탁드립니다 


2. 혹시 엔티티를 시선앞에 소환하여면 어떻게 해야 하나요?

현제 이런 상황입니다


@EventHandler
public void rightclicksummon(PlayerInteractEvent e)
{
    Player p = e.getPlayer();
    Action a = e.getAction();

    if(a == Action.RIGHT_CLICK_AIR)
    {
        if(p.getItemInHand().getType() == Material.CREEPER_SPAWN_EGG)
        {
            Creeper item = p.getWorld().spawn(p.getLocation(), Creeper.class);
        }
    }
}

제발 도와주세요ㅠㅠㅠㅠㅠ

4개의 댓글

서재형
2020.11.30

npc 소환은 잘 모르겠지만, 후자는 플레이어.getLocation().getDirection().multiply(몇칸 앞에 소환되게 할건지) 를 소환할 location에 더하면 되요.

예 )

Player p = 플레이어;

Vector dir = p.getLocation.getDirection();

Creeper creeper = p.getWorld().spawn(p.getLocation().add(dir.multiply(1), Creeper.class);

결과 -> 플레이어 시점 1칸 앞에 크리퍼 소환

airL
2020.11.30
@서재형

감사합니다~~

airL
2020.12.01
@서재형

Creeper creeper = p.getWorld().spawn(p.getLocation().add(dir.multiply(5), Creeper.class));

여기에서 오류가 계속 나느데 어떻게 해야 하나요

can not resolve~~~ 이런게 떠요

서재형
2020.12.03
@airL

아 제가 괄호 몇개를 빼먹었네요.

Player p = 플레이어;

Vector dir = p.getLocation().getDirection();

Creeper creeper = p.getWorld().spawn(p.getLocation().add(dir.multiply(1)), Creeper.class);

요렇게 하심 될겁니다

뉴스 및 창작물
/files/thumbnails/268/789/003/262x150.crop.jpg?20240515192032

레드스톤

벌레먹은 돌 빠르게 제거하는 법

GlassesFilm

2024-05-15

0

/files/thumbnails/797/788/003/262x150.crop.jpg?20240515090924

건축

마인크래프트로 구현한 카르카손 보드게임

Warak

2024-05-15

1

/files/thumbnails/487/784/003/262x150.crop.jpg?20240508233607

모드

Windows Borderless 모드에서 악성코드 발견 2

학교가기싫다

2024-05-08

1

/files/thumbnails/384/778/003/262x150.crop.jpg?20240512002324

업데이트

마인크래프트 자바 에디션 스냅샷 24w18a

학교가기싫다

2024-05-06

0

/files/thumbnails/855/781/003/262x150.crop.jpg?20240505141129

레드스톤

레이저 클리너

GlassesFilm

2024-05-05

1