마인크래프트 데미지 계산 방식 바꾸기 (1)
게시글 주소: https://orbi.kr/00072035357
마인크래프트의 데미지 계산은 아주 복잡하다.
(DA: 실제 피해, D: 들어오는 피해, A: 방어, T: 방어 강도)
여기에 인챈트까지 고려하면 정말 머리가 아프다.
나무위키 피셜 다이아풀셋은 80% 정도 데미지를 막아준다고 함.
마인크래프트의 데미지 계산을 좀 더 RPG스럽게 바꿔보자
public class CustomDamagePlugin extends JavaPlugin {
private static CustomDamagePlugin instance;
CustomDamagePlugin 클래스를 만들고 JavaPlugin을 상속받는다.
private static -> 다른 클래스에서 접근 불가능하고 한번만 생성되는
CustomDamagePlugin 자료형을 가진 instance라는 이름으로 만든다.
여기서 CustomDamagePlugin의 자료형이란건 그냥 이 클래스 자체를 말한다.
@Override
public void onEnable()
여기서 override는 부모 클래스에 이미 존재하는 메서드를 재정의할 때 쓴다.
앞에서 "CustomDamagePlugin 클래스를 만들고 JavaPlugin을 상속받는다."라고 설명했다.
마인크래프트에서 Bukkit api를 사용하는 모든 플러그인은 JavaPlugin을 상속받아야 한다.
상속이란 단어의 뜻처럼 부모가 가진걸 모두 가져오는 것이다.
즉, JavaPlugin이라는 클래스는 이미 틀이 잡혀있는 상태이다. 거기에는 당연히 onEnable()이라는 메서드 (c언어의 함수와 비슷)
가 이미 정의되어 있다. 우리는 그 함수를 다시 정의하겠다는 것이다.
onEnable()이라는 이름처럼 플러그인이 활성화 됐을 때 아래의 구문이 실행된다.
instance = this;
saveDefaultConfig();
instance는 아까 선언한 변수이다. 그리고 자료형은 이 플러그인 클래스 자체를 의미한다고 말했다. 그 자료형을 가진 변수안에 이 클래스의 인스턴스를 넣는다. 뭔가 말이 굉장히 헷갈린다. 그냥 앞으로 instance는 실행중이 이 플러그인 자체를 의미한다고 보면된다.
saveDefaultConfig()도 아까 onEnable()과 같이 JavaPlugin의 메서드이다. 자세한건 나중에 설명하겠다.
damageConfig = new DamageConfig(this);
Bukkit.getPluginManager().registerEvents(new DamageListener(damageConfig), this);
getLogger().info("CustomDamagePlugin has been enabled!");
damageConfig = new DamageConfig(this) 이 부분도 나중에 다시 설명하겠지만 config 파일을 불러오는 클래스이다.
Bukkit.getPluginManager().registerEvents(new DamageListener(damageConfig), this) 이 부분이 핵심적인 부분이다. 플러그인 매니저에서 이밴트를 등록하는데 DamageListner에 아까 불러온 Config값과 현재 실행중인 플러그인을 넣고 실행시킨다
마지막줄은 정상적으로 플러그인이 실행됐다고 서버에 로그를 띄우는 문장이다.
lck를 봐야하는 관계로 여기까지 쓰고
다음에는 DamageListener 클래스가 어떻게 구성되어 있는지 살펴보도록 하겠다.
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
뭔가 병신같은 방법으로 풀고 있어서 답이 안나오고 있는거 같은데 도와달라에여. 이...
-
시대N 앱 시간표 보니까 갑자기 똑같은 쌤 2번으로 바뀌어있는데 이거가능한거냐?
-
저능하다고 한다...
-
검정고시랑 수능최저 준비하고있고 핵노베에 가깝고 목표대학들 최저는 2합8 ,...
-
내가 갈 학교는 아니다만… 근데 난 신입생이야?
-
근데 3월되도 공부 얘기 아예 안하고 오르비 하면 좀 신기함 4
왜여깃노 지금은 딱히 상관없긴하지만
-
언어이해 인강 사려고 하는데 이원준 선생님 스키마가 진짜 시간 촉박한 시험장에서...
-
이번에 풀면서 드릴 45 미적공통은 못푼거 거의 없고 드릴드 수2는 3~4개 빼고...
-
정병훈쌤 그립다 3
이제 마이맥에서 못 듣는다니..
-
특히 리프킨 이새끼 1문단에 그냥 누구나 사람이면 이해가능한 부분이 리프킨 연계고...
-
차단했었네..
-
왜 확통 특강은 확통 기출문제집 안주는거니....
-
질문받는다 이기 40
아무질문이라도 좀 해줘라 이기야
-
워드마스터 앱 깔아서 워마 수능 2000개 중에서 200개 셔플해서 퀴즈 형식으로...
-
카대 정시 3
지금 44411 카대 의류학과 갈 수 있나요 …정시임
-
3떨이라 슬슬 준비하고 알아봐야 할 것 같습니다 작수 14323 (수학 밀린 것...
-
물리1 3등급인데 큐브 답변했습니다.
-
이게 마즘
-
야식 2
야식을 먹고 인강 몇 개 보고 자기 Vs 지금 자기
-
변기에 오줌 자국은 에바 아닙니까
-
극동대 신경주대 1
여기는 합격백분위가 얼마임? 다 미달인가
-
나 솔직히 착한아이인듯 10
나 본성은 ㄹㅇ 선함뇨
-
질문받아요 11
-
솔직히 근처 학원 강사나 조교 쌤들과도 토의해봤는데 몇개 지엽적인 문제는 당연히...
-
아무 이유 없이 좋아요 눌러줌
-
예비고2 영어 쌩노베인데 하루에 목표치를 어느정도 잡아야할지 고민입니다ㅠ
-
죠죠 재밌다 5
오라오라오라! 스타 플래티나 goat
-
어 선배 손은 어디갔어요? 눈이 엄청 크시네요 ㄷㄷ
-
추천 좀..
-
중딩때 학원에서 친구폰으로 경찰 전화했다가 받기전에 바로 끊었는데 바로 출동하더라...
-
바로 나 자신 훗 오늘도 져주지 으하하하하
-
문학(문학은 디즈니 15+패스랑 쿠팡플레이 탐ㅇㅇ) 해리포터 1~7권 2회독...
-
아… 그래도 뱃지 땄자나… 한잔해~…
-
기하에서 확통으로 돌렸는데 확통보다는 공통을 먼저 하고있고 사탐도 아직은 빠르게...
-
어엉 시발 ㅈㅉ냬ㅐㅈ잰냬 ㅆ싸운다 11 1 ! !!!! !! ! ! ! ! 14
싸운다 !!!!! 싸워라 !!! ㅅ싸워라 ! !!! !
-
인스타에도 없고... 오르비에도 없네
-
원래는 나랑 동기였어야 될 사람들인데...
-
저는 오늘 경기에서 밴픽만이 잘못된것이고 우리 선수들 폼 자체는 원탑이었다고 생각하니까요
-
약대 사과탐 1
약대 전과목 1컷이면 인서울은 애매하다고 들었는데 사과탐하면 많이 불리할까요??
-
논리적 오류 0
-
순방만.. 순방만..
-
이시간부로 슈냥팟 외에는 일절 롤을 하지 않겠다 ㅈ같이 구는 애들 땜에 겜을...
-
물리 장점! 1
1. 재미있다 2. 성적표에 재미있는 숫자가 나온다 3. 재수를 하는 미친놈이 있다...
-
러셀3주찬데 20분 동안 할 것도 없어서 10분만 쉬고 바로 공부 들어가는데 도대체...
-
배고프다 0
야식메뉴 추천받아요
-
What's up, guys? This is Ryan from Centum...
-
예전에 보낸거라 스크롤올리기 귀찮은데 그 날짜로 바로 가는 방법? 아니면 사진만...
-
서폿이 뺏으니까 닷지하네 ㅋㅋㅋㅋ
논문을 쓰셨네 읽기귀찮으니까 지피티한테 3줄요약시켜도 ㄱㅊ?
저 공부하려고 쓴거라 상관없읍니다. . .