마인크래프트 데미지 계산 방식 바꾸기 (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를 선물하세요.
-
3모 내기하실분 29
현역만 가능
-
학부아닌 석사는 세탁이라고 생각하시나요? 뭐 물론 교수하고싶어서 석사 박사 취득하는...
-
계좌이체해야하는데
-
건대vs경북대 26
건국대는 공과대학 자유전공 추합으로 합격했고 경북대는 전자공학부 1학기...
-
그리고 난 한달용돈 12만원이고 모은돈이없다 원래였음 부모님께 어떻게 말씀을 드려서...
-
원과목이라 투투,사탐한테 설대식 따일 가능성이 매우큼
-
6평대결모집함 12
내 약력 > 국어 2등급 받은적 있음 > 고1때 수학 3등급 받은적 있음 > 영어...
-
경희대 전화추합 했는데 합격자 조회 어디서 할 수 있나요?
-
미적은 학원에서 할꺼라 괜찮은데 수1 수열이 좀 많이 부족한 느낌이 들어서...
-
7년 뒤 소행성 충돌 3%대로 상승…‘지구 방어’ 시나리오는? 6
2032년 지구 충돌 가능성이 제기된 소행성 ‘2024 YR4’의 충돌 확률이...
-
ㅋㅋㅋ
-
국어는 한다고 0
점수 오르고 안한다고 떨어지는게 아니란 걸 알앗어 강평 유기하고 언매랑 수학만 달린다
-
센츄 에피 X Only 현역
-
있으면 알려주세요ㅠㅠ 서울대는 있던데 연고대는 없길래요… 누백말고 점수로 나와있는 정리글 있나요?
-
메인. 6
헤헤
-
개노베였어도 올해까지 3년 박으면 정규 교육과정만큼의 시간을 쓴 거잖아 올해도 안...
-
그래도 사과는 했으니까 봐주겠지?
-
추가모집 라인 8
국 수 영 생 지 89 87 2 90 88 건동홍 3떨했는데 인서울~인경기에서...
-
합격 투표 0
.
-
현강을 다닐 수 없는
-
국어 노베이스 (문학 개념어 인강은 들엇어요 근데 수능국어 자체를 공부해본적이...
-
입학처 홈페이지 마감이던데
-
내가 해봄 이왜진
-
에타 가입 0
에타 가입 어떻게 하나요? 합격증 인증은 안 된다고 뜨고 학생증 나올 때까지 기다려야 하나요 ㅜㅜ
-
[Agent K] 피오르 2025학년도 정시모집 합격선 조사 5
https://forms.gle/S3XbcEZpmS6B8ePz5 입결표 작성에 큰...
-
현역 때 생지 해서 96 70 받았고(지구 그래도 3등급 이상은 떴는데 두 개 정도...
-
진짜 에반데.. ㅔㅔ
-
냥 최초합 서강 마지막날 전화추합 중앙대 2차추합 군외 유니는 아쉽탈…
-
[고려대학교 25학번 합격] 합격자를 위한 고려대 25 단톡방을 소개합니다. 0
고려대 25학번 합격자를 위한 고려대 클루x노크 오픈채팅방을 소개합니다. 24학번...
-
다들 수고 정말 많으셨어요, 전 정말 쉬고 올게요 11
첫 휴릅 선언한게 고대 최초합 발표날이었을거에요 1월 24일 오전 11시. 새벽...
-
음 0
좋은데
-
국민대 미래모빌리티 몇번까지 돌았는지 아시는분 있나요?
-
하.. 눈치도 재능인가보다..
-
군적금 깬 거 등록금으로 넣었음ㅋㅋ 내가 공부 편하게 하려고 가는 거니 내 돈으로 내야지
-
웃는 사람도 아쉬운 사람도 모두 필연이겠죠... 2025학년도 입시 모두 고생하셨습니다
-
원서질 잘했으면 어디까지가냐 + 서강대 문과 411 성균관 자연계 639
-
올해 입결표 4
볼만하겠노
-
974.48에서 끊겼네 ㄷㄷㄷㄷㄷ 오 신학사여. 그대는.......
-
중앙대 전추?? 1
전추마감은 6시인데 인터넷 조회는 왜 9시부터에요? 근데 이미 끝났는데 인터넷...
-
지방 메디컬 3
이런 생각이 정말 배가 불렀다고 느끼실 수도 있지만..그냥 고민상담 해주신다...
-
이번주에 수열의극한하고 다음주에 적분 기초한다는데 적분 기초부터 내신휴강 전까지는...
-
홈페이지로 추가합격이 더 돌 수 있나요?
-
이게 뭐지 진짜 분명 진학사 67왔다갔다했는데 ,,,,
-
채워졌나요??
-
^_^
-
아는누나 외고 일본어과였고 어디과갔는진모르겠음 (일어일문그대로갔을지도) 별건아니고...
-
ㅅㅂ 0
홍대한바쿠ㅏ도안돌앗음 0.6바퀴정도돌고끝남ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
-
욕심이 많았나 2
욕심이 너무 많았다. 3떨하는 기분이 이런기분이구나 이 감정을 몰랐기에 원서를 너무...
-
자취방 구했다 7
두근두근 .....
논문을 쓰셨네 읽기귀찮으니까 지피티한테 3줄요약시켜도 ㄱㅊ?
저 공부하려고 쓴거라 상관없읍니다. . .