본문 바로가기

java41

마크 플러그인(#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.
자바 extends와 implements 에 대해 오늘은 extends와 implements에 대해 공부해 보았다. 두 개의 역할이 정확히 어떤지 몰랐는데 이번의 계기로 인해 알게 되었다. 일단 extends는 상속시키는 것인데, 대충 A extends B를 하면 A는 B를 상속해 +a 하는 것이다. (extends는 일반 클래스와 abstract 클래스 상속) 즉 B에 있는 모든 것을 사용할 필요는 없다는 것. 하지만 implements는 B에 있는 기능을 모두 사용해야 한다. (implement는 interface 상속) 예를 들어 보자 extends: public class test { public static void main(String[] args) { testpaper sc = new testpaper(); System.out.println.. 2021. 9. 7.
마크 플러그인 (#2) 오늘 암살자의 액티브 스킬과 패시브 스킬을 개발했고 마법사 이동기도 구현하였다. 첫 번째로 암살자 스킬이다. 패시브 스택(뼛가루)의 개수 따라 피해량이 증가하며 상대 엔티티(몹, 플레이어 등)가 바라보고 있는 방향의 반대로 이동한다.(즉, 뒤로 이동) 패시브인 스택은 플레이어를 제외한 엔티티를 죽일 때 쌓이게 된다. 참고로 피해량이 너무 높아 엔티티를 한 번에 죽일 시 스택은 오르지 않는다.(무한 스택 증식 막기) 또한 플레이어를 죽이거나 자신이 죽게 되었을 때 스택은 초기화가 된다. 암살자 액티브 스킬 코드 @EventHandler public void assassinate(EntityDamageByEntityEvent e) { double rand = Math.random(); // 0.0 ~ 1.0.. 2021. 9. 2.
JAVA 클래스의 개념 *(필자가 이해한 내용을 바탕으로 쓰는 글입니다. 틀린 부분이 있을 수 있고, 미흡한 부분이 있을 수 있습니다.)* 객체지향 언어에 대해 공부를 하다 보니 문득 클래스의 개념이 정확히 무엇인가에 의문을 품어 공부를 해보았다. 일단 클래스는 필드와 메소드로 구성이 된다. *필드 = 클래스에 포함된 변수 *메서드 = 명령문이 모인 집합체 클래스는 이러한 객체들을 정의하는 틀로 쓰인다고 한다. 클래스를 잘 설명하는 사진을 가지고 왔다. 이제 코드로 이해해보자. 일단 클래스를 만든다. package Class; public class Student { } 큰 틀인 클래스 Student를 생성했다. 이제 메인을 추가하자. package Class; public class Student { public static.. 2021. 9. 1.