마인크래프트 데미지 계산 방식 바꾸기 (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를 선물하세요.
-
문학공뷰 0
강기분 문학 다 듣고 익힘책은 유기햇어서 6모전까지 양치기하려고 매일 한주차씩 하고...
-
강대 서킷 3회 1시간컷 7/8 14: 이게 되게 특이한 문제네 ㅇㅅㅇ 케이스...
-
음 가보자
-
시발 분위기 안좋은데 찡찡거리는거 들어줄 여유가 있는것처럼 보였나 보지?
-
맞팔9 5
ㄱㄱ
-
겟냐
-
투과목 컷 높네 7
음
-
물2 0
34 페이지 다 맞고 2페이지 3개 틀림 염병 8번은 못해서 틀렸는데 7 10번은 흠
-
2013-14 챔피언스리그 결승 1:4 연장 패 (90+3분 레알마드리드 동점골)...
-
ㅋㅋ 6
넵
-
5월 더프 정말 어렵네요...ㅜㅜ 학원 다니기 시작하면 열심히 해야겠다....
-
2025 고3 5모 Crux Table (영한탐) [N2505] 0
본 글의 작성자는 크럭스 모의고사(수능) 자료 분석팀 제작, 최종 확인자 팀장...
-
https://youtu.be/ywtGN1gOtXM?si=GJwN_Ua-op8XwvLL
-
지금 기출 2회독하고 빅포텐 시즌1 풀고 4규 시즌1 풀고있는데요.. 3모 82...
-
제가 정시여서 6모 이후나 2학기에 학교를 안 가고 스카에서 공부할려고 하는데...
-
이제 자야겠다 1
아침에 자야하는데 왜 등교가 아침인거야
-
쟤는 대체 5
몇년동안 집에서 저러고 잇을까
-
재수생 5월더프 공통만 8개 나갔는데 조언 부탁드려요ㅠㅠㅠ 13
수포자였어서 수1수2 공부를 고2 중후반부터 시작하긴 했지만 그걸 고러해도 사설...
-
대외비인 일 하나를 맡아서 기분이 좋습니다.
-
차라리 특정구단 갤러리가 그나마 깨끗한듯
-
딥피드 ㅋㅋㅋㅋ 1
맛잇다
-
리얼옯창리스트 2
없음
-
조은아침 7
아기토깽이등장
-
요즘애들은.. 7
너무 작음
-
여기올사람잇나 8
부평임
-
선천적인 신체적 하자랑 중학생 때부터 앓고 있는 병(평소에 큰 문제는 없음),...
-
고3 현역이고 3모 영어 81점이었는데 일리 거르고 신택스 해도 될까요?
-
좆됨 7
최애의아이빨간머히이름이아무리떠올려보려해도기억이안남
-
고전소설 양치기 1
하거 싶은데, 엔제는 따로 없나요?? 심찬우쌤 거 있는 줄 알았는데 어디서 구매 가능한가요ㅠㅠ?
-
수특을 현대시만 공부했고 일단은 6모 연계 체감을 좀 높이고 싶은데 고전시가,...
-
미응시로 최저점 받음? 내일 학교 가서 싹싹 빌어봐야 하나
-
전에 풀땐 도덕문장이 뭔지 못잡아서 꼬였는데 다시 푸니까 (나)지문 이해하는 것...
-
글 진짜 없네 1
하
-
진짜 개좋을거같은데
-
카이스트 넣고 떨어지면 그때 재수할까
-
한 45?
-
근데 왜 우리는...
-
아 ㅈ됬네 0
이어폰 집에 두고왔다 ㅅㅂ.... 듄탁해랑 승진t n코드 강의 들어야하는데ㅠㅠ
-
메인 감사합니다 0
이게 대흥민의 파워 캬
-
월요일까지 기다려야되네
-
지금등교햇음 12
학교는아님
-
이정도면 꾸안꾸인가 10
-
25시행 중1,고1 국어 시험지 현금 만 오천원 제공(선착순), 고1,2,3 내신 수능 분석 문제 배포 0
안녕하세요 나무아카데미입니다. 현재 25시행 중1, 고1 국어 시험지를 모집하고...
-
2025 수능 20번 유부노 문제인데 이정도 문제 난이도면 인구문제중에 난이도가 어케되나요?
-
안가 2
아니? 못가
-
확통 질문 4
ㅜㅜ계속 답이 안 나오네요.
-
없음
-
오르비 좆망했노 1
ㅇ.
논문을 쓰셨네 읽기귀찮으니까 지피티한테 3줄요약시켜도 ㄱㅊ?
저 공부하려고 쓴거라 상관없읍니다. . .