airL
대표칭호 없음
이해도 | 플러그인 |
---|---|
게임버전 (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); } } }
제발 도와주세요ㅠㅠㅠㅠㅠ
서재형
2020.11.30npc 소환은 잘 모르겠지만, 후자는 플레이어.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.01Creeper creeper = p.getWorld().spawn(p.getLocation().add(dir.multiply(5), Creeper.class));
여기에서 오류가 계속 나느데 어떻게 해야 하나요
can not resolve~~~ 이런게 떠요
서재형
2020.12.03아 제가 괄호 몇개를 빼먹었네요.
Player p = 플레이어;
Vector dir = p.getLocation().getDirection();
Creeper creeper = p.getWorld().spawn(p.getLocation().add(dir.multiply(1)), Creeper.class);
요렇게 하심 될겁니다