마인크래프트 데미지 계산 방식 바꾸기 (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를 선물하세요.
-
예비 1번인데...
-
연세대쓸걸 2
뱃지하나날렸네
-
사실 추가모집까지 끝나야 진짜 끝난거임 ㅋㅋㅋㅋㅋ
-
교육청 모고, 6월 9월까지 아무 예고 없다가 수능 날에 갑자기 어둠의 경제단들...
-
지거국 컴 예비 9 -> 6 -> 2 -> 2 -> 전추 정원 13명, 작년에...
-
개발자로 일할수도 있나요? 코딩 개인적으로 더 공부해서
-
제발 지금 예비 5번인데 6시 마감이잖아 원래 이 완전 직전 타임에 많이 빠짐?...
-
도대체 이 분은 몇 명을 악의 구렁텅이로 이끄는거임? 9
도대체 동치로 나오는 키워드 찾아서 풀리는 추론 문제가 있음? 닉슨쇼크 이후...
-
냥대 인칼 혹시 지금 몇 점까지 돌았는지 상황 아시는 분 계신가요??
-
으흐흐
-
방금 풀어봤는데 24점 나옴 족된거임?
-
한양대 물리 1
15명 뽑고 예비2번인데 가능성 있을까요? 냥대 전추
-
중앙대 도계부 0
빠지시는분 있나요??
-
서강대 전추.. 8
됐습니다.. 응원해주신 분들 다들 감사핮니다..ㅠㅠㅠㅠ
-
2의7승까진 문제에서도 자주 나오니까 자연스레 기억나는데 2의8승부턴 잘...
-
투과목 해야되나 0
현역으로 고대 높공 합격했는데 서울대 전전이 너무 가고 싶어서 반수할 예정 현역때,...
-
브크+문학론어떰 1
ㄱㅊ나요
-
ㅈㄱㄴ
-
서강 앞에 친구가 1순위지원 거기로 넣었던데 얘 빠지기만 하면 바로 저라서......
-
감사합니다 크럭스
-
1시간 준다. 0
세종 ai로봇 안빠지면 나 어떻게 될지 모른다.
-
설전정 - 설컴 6
둘다 안정이고 코딩 어느 정도 잘하면 님들은 어디 갈 거 같음?? 이유도 같이 적어...
-
ㅆ!발 그놈의 A보다 B 이걸 실수하네
-
(서울대 합격 / 합격자인증)(스누라이프) 서울대 25학번을 찾습니다. 0
안녕하세요. 서울대 커뮤니티 SNULife 오픈챗 준비팀입니다. 서울대 25학번...
-
나 예비도 못받았었는데?????
-
고대 학부 교과 3
다 돌았나보네요
-
글 다시 써서 죄송합니다 궁금해서 ㅠ
-
글렀나...
-
조의 vs 전치 3
제곧내 의대 증원 여파도 고려하면 어떻게될까요
-
사탐 안맞는데 0
다시 생명 가는거 어케 생각하심?
-
음무리야
-
서울에 있는 캠퍼스임?? 아님 분교인가 연세대(과거)는 어딨음엌ㅋㅋㅋㅋㅋㅋㄴㅋㄱㅋㅋㅋㅋㅋ
-
숭실 3
숭실대는 추합이 돌고잇는거니 아닌거니……. 다군인데와이러니…..
-
주변 친구들 중에 명문대학교 공대가 아닌 정말로 지방사립 나온 친구들이 못가야...
-
2125학년도 지2 20번 문항손글씨 ㅈㅅ맞추면 덕코인 전재산 드림(8000인가...
-
진학사보니까 지금 183번까지 추합이라고 뜨는데 혹시 아시는부운…
-
경북대 훌리들이 말썽이네요 이거 당연히 건대 아닌가?? 댓글좀 참교육 부탁해요...
-
아싸로 지내야하는거ㅓㄴ가ㅠㅜㅜㅠ
-
아는분?
-
사탐으로 이과를 지원할수있게됐다고 들었는데, 그럼 원래 이과였던 사람은 과탐해서...
-
제발 한명만 더 빠져줘 ㅠㅠㅠㅠㅠㅠ 한양대 경금이에요
-
독재 재종 1
정시 위주 학교 다녔는데 정신 못차리고 공부 안 해서 작수 화미생윤사문 43454...
-
인서울대학들이요
-
많은편인가요
-
근데 앞사람이 등록취소 안 하면 예비 안 넘어가나요?? 1
?? ㅈㄱㄴ
-
성균관대 3
추합전화 언제까지옴?
-
신규생은 성적 물어본다 아님? 막 1등급이라고 구라쳐도 되는거임? 하겟다는 건 아니고
-
반도체 계약 학과 아니에요 .. 걍 일반학과인데 자연대에 작년에 신설된 학과임 입결...
-
나 여잔데 새터가면 11
화장지우기 싫은데 개추하게 있어야됨? 글고 어캐씻고 어캐자는건가요;;
-
이중등록,, 4
전적대 자퇴를 안했는데 개강 전까지만 하면 되죠..? 오늘까지 안했다고 등록취소되는거 아니겠죠?
논문을 쓰셨네 읽기귀찮으니까 지피티한테 3줄요약시켜도 ㄱㅊ?
저 공부하려고 쓴거라 상관없읍니다. . .