마인크래프트 플러그인 개발해보기 [7] - 엔티티 태우기
이번엔 엔티티를 플레이어의 머리 위에 올리고 내리는 기능을 만들어 보겠습니다.
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.plugin.java.JavaPlugin;
public final class Main extends JavaPlugin implements Listener {
@Override
public void onEnable() {
Bukkit.getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onEntityInteract(PlayerInteractEntityEvent e){
if(e.getPlayer().isSneaking()) { //플레이어가 웅크렸을 때
e.getPlayer().addPassenger(e.getRightClicked()); //우클릭한 엔티티를 머리 위로 올림.
}else{
e.getPlayer().removePassenger(e.getRightClicked()); // 우클릭한 엔티티를 머리 위에서 내림.
}
}
}
Entity (Spigot-API 1.20.1-R0.1-SNAPSHOT API)
All Superinterfaces: CommandSender, Metadatable, Nameable, Permissible, PersistentDataHolder, ServerOperator All Known Subinterfaces: AbstractArrow, AbstractHorse, AbstractSkeleton, AbstractVillager, Ageable, Allay, Ambient, Animals, AreaEffectCloud, Armor
hub.spigotmc.org
EntityInteractEvent (Spigot-API 1.20.1-R0.1-SNAPSHOT API)
All Implemented Interfaces: Cancellable Called when an entity interacts with an object Nested Class Summary Field Summary Fields Constructor Summary Constructors Method Summary Field Details block Constructor Details Method Details isCancelled public bool
hub.spigotmc.org
onEntityInteract 는 동물 등의 엔티티와 상호작용을 할 때 호출된다고 합니다.
isSneaking 을 통해 플레이어가 웅크린 상태를 조건으로 받으며
addPassenger 로 플레이어의 머리 위에 우클릭한 엔티티를 올리고,
removePassenger 로 머리 위에 올라가 있는 엔티티를 내립니다.
'연습장' 카테고리의 다른 글
마인크래프트 플러그인 개발해보기 [9] - 서버 접속 알림 설정하기 (0) | 2023.08.03 |
---|---|
마인크래프트 플러그인 개발해보기 [8] - motd , 서버 아이콘 , 인원 설정 (0) | 2023.08.01 |
마인크래프트 플러그인 개발해보기 [6] - 클릭 이벤트 (0) | 2023.07.25 |
마인크래프트 플러그인 개발해보기 [5] - 소리 이벤트 (0) | 2023.07.25 |
마인크래프트 플러그인 개발해보기 [4] - 포션 이벤트 (0) | 2023.07.25 |