본문 바로가기

RPG플러그인4

마크 플러그인(#4) 오늘은 마법사의 기술인 메테오와 암살자의 기술인 의뢰 기술을 가지고 왔다. 먼저 메테오를 보자 블레이즈 막대기를 우클릭하면 화염구 하나가 바라보는 방향으로 날아간다. 그 뒤 화염구가 터지게 되면 그 터진 위치에 9*9의 크기에 높이가 3인 화염 구들이 내려온다. 근데 데미지는 별로 높은 편이 아님 코드 @EventHandler public void ability(PlayerInteractEvent e) { Player player = e.getPlayer(); Action action = e.getAction(); if ((action == Action.RIGHT_CLICK_AIR || action == Action.RIGHT_CLICK_BLOCK) && player.getInventory().getIt.. 2021. 9. 13.
마크 플러그인 #3 오늘은 파이터 클래스를 만들었다. 기술 중 대충 더킹이라는 기술과 바디 블로우 기술을 구현해봤다. 먼저 더킹이다. 일단 shift를 누르면 발동하게 되었고, 발동하며 더킹 유지 시에는 공격이 안된다.(나중에 공격이 안 되는 대신 저항 등 방어력을 높일 예정) 이유는 더킹은 공격기술이아니라 방어기술이기 때문이다. 아래는 더킹 코드이다. public static HashMap hasSneak = new HashMap(); @EventHandler public void ducking(PlayerToggleSneakEvent e) { Player player = e.getPlayer(); if (!JobVariable.getPlayerJob(player, "Fighter")) { return; } if (e.i.. 2021. 9. 8.
마크 플러그인 (#2) 오늘 암살자의 액티브 스킬과 패시브 스킬을 개발했고 마법사 이동기도 구현하였다. 첫 번째로 암살자 스킬이다. 패시브 스택(뼛가루)의 개수 따라 피해량이 증가하며 상대 엔티티(몹, 플레이어 등)가 바라보고 있는 방향의 반대로 이동한다.(즉, 뒤로 이동) 패시브인 스택은 플레이어를 제외한 엔티티를 죽일 때 쌓이게 된다. 참고로 피해량이 너무 높아 엔티티를 한 번에 죽일 시 스택은 오르지 않는다.(무한 스택 증식 막기) 또한 플레이어를 죽이거나 자신이 죽게 되었을 때 스택은 초기화가 된다. 암살자 액티브 스킬 코드 @EventHandler public void assassinate(EntityDamageByEntityEvent e) { double rand = Math.random(); // 0.0 ~ 1.0.. 2021. 9. 2.
마크 플러그인 (#1) 오늘 플러그인의 기능 2개를 만들었다. 체력의 값을 가져와 힘을 부여하는 버서커 능력 그리고 위치를 저장하고 그 위치로 이동하는 능력 도주 만들었다. 백번 말로 하는 것보다 보는 것이 빠를 것이다. 먼저 버서커 능력이다. 코드 package com.tistory.workshop; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.potion.PotionEffect; import org.. 2021. 8. 30.