개인 자료란 (JE)

  서버 커뮤니티

Profile airL 대표칭호 없음
Profile

질문하기 Java

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

2020.11.29 조회 수 132 추천 수 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/308/815/003/262x150.crop.jpg?20240617084353

레드스톤

[피아노커버] 디스코드 - QWER

노트블럭전문가

2024-06-17

1

/files/thumbnails/932/812/003/262x150.crop.jpg?20240616121638

업데이트

마인크래프트 1.21 정식 업데이트

학교가기싫다

2024-06-14

1

/files/thumbnails/308/805/003/262x150.crop.jpg?20240605201646

레드스톤

[노트블럭 커버] 팬서비스/mona 【 HoneyWorks 】

노트블럭전문가

2024-06-05

0

/files/thumbnails/288/791/003/262x150.crop.jpg?20240602150002

아티클

《까다로운 시련》 업데이트 날짜 공개 및 정보

학교가기싫다

2024-06-02

0

/files/thumbnails/841/773/003/262x150.crop.jpg?20240526120908

레드스톤

마인크래프트 노트블록버전 『 봄을 고하다 (春を告げる) 』 [더블옥타브 버전]

노트블럭전문가

2024-05-26

0