마인크래프트 데미지 계산 방식 바꾸기 (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. 경제 3일공부함
-
디시정보는 3
걸러서 듣는게 답인건가 흠
-
괜히 떨었네 5
내뒤로 벌써 3명 붙었네 머야
-
중대 경영 4
972번 방금 전화받았습니다
-
나 왜 성인인데 우회안하면 야동못봄?
-
근데 매일 불닭을 머금
-
중앙대 기계랑 한양대 에너지 붙으면 어디 가나요
-
너무 심심해 5
호에에
-
.
-
독재에서 작년 9평봤는데 평균5등급 떴어요.. 목표는 올2등급이에요 인강안맞아서...
-
와 엄마아빠 큰일났다 35
나는 3D에 전혀 관심없음이라 내가 2세를 가질 예정은 없어서 동생이 유일한...
-
굿
-
고민
-
저 대학생임 12
방가방가
-
흠
-
소수과에 작년 추합권에도 안들길래 포기했는데 ㅜㅜ 다른분들도 꼭 합격 하세요
-
캬 홍머 예비 119임
-
왜 안오지...
-
고려대 입학처네 ㅅㅂㅋㅋ
-
다른 좋은 강사 있으면 추천좀 현우진은 느끼해서 못듣겠음
-
내일부턴 진짜 미적함 11
오늘은 안함
-
26살 아재입니다. 당연히 수험생은 아니고 과외 때문에.. 20살 이후로 연애 쉰...
-
한뱃 고뱃 ㄲㅂ...
-
쪽지좀
-
군수하려는데 6
해군 육군 어디가 나음?
-
닉네임은 랜덤기상임
-
입학식 4
삼수하고 이번에 대학 25학번으로 붙었는데요.. 22살이라 군휴학 먼저하고 학교...
-
ㄱㄱ
-
사설에서는 좀 쓰이나요 분모가 20이거나 30인거요 그보다 공교육에서는 진짜 공식...
-
근데 의사들한테만 10
돈 많이 벌려는 마음을 죄악시하게 만드는 프로파간다가 있는거같음 어짜피 공대든...
-
난 체념했다 1
ㄹㅇㅋㅋ
-
제발 한명만 빠지면 안되냐 붙으면 좋고 불합이면 내신 결과라도 알게 왜 하필 올해냐...
-
그냥 진학사에 추합제보를 안하는건가..... ㅜ 내앞에 7명.... 빨리 빠져나가주세여....
-
으하하하하하하하ㅏㅎ추합제바라라랄
-
예비번호 ㅈㄱㄴ
-
감탄만 나온다 급발진만 아니었으면 최애 애니에 들어가는건데 너무 아쉽다
-
나는 0
문어
-
오르비 과외 모집 72
https://tutor.orbi.kr/teacher/58732 댓글로 질문 받습니다!
-
ㄱㄱ
-
맞잔은
-
전화 받았어요 30
저도 의뱃단에 합류합니다 ㅜㅜ
-
특히 바니바니가 너무싫음..
-
가군 나군 둘다 예비1번이라고 ㅅㅂ 진짜 이게 뭐하는거야
-
홍대 가기위해 등록포기 했습니다. 최초 예비 44번, 6차추합 합격. 서강대식 495.xx
-
일단 저는 25수능에서 과탐을 선택하고 기적같은 3/3등급을 받으며 대학라인이...
-
부모님과는 이야기 마쳤고 이번에 선생님께 말씀드리니 생각 고쳐먹으라고 하셔서요....
-
혹시나 다른학교 입학하실 예정이면 5시전에 등록취소 부탁드려요.. 6시넘어서...
-
엘풍이는 포기하고 새 포켓몬을 플렉스 후후
논문을 쓰셨네 읽기귀찮으니까 지피티한테 3줄요약시켜도 ㄱㅊ?
저 공부하려고 쓴거라 상관없읍니다. . .