마인크래프트 데미지 계산 방식 바꾸기 (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를 선물하세요.
-
어떻게 해야할까요
-
등록 포기함뇨
-
와 이걸 진짜 이 운영으로 해내냐 미치겠다ㅋㅋ 476등분도 추합이라곤 하는데...
-
안녕하세요 방학이 거의 다 가서 쌍사 시작하게 된 고3 노베 현역인데요 이다지쌤...
-
실모딸 진짜 하지마세요 28
전 저거하다가 망함
-
ㅈㄱㄴ
-
시청앞에서 포퀘리아 컬럼나리스 팔고 오하누 가서 야생 윈저리 데려오고 카페빈둥 가서...
-
그 내용이 ㅈㄴ 괴랄했던 게 학점 기준 이하로 빠가나면 등록금 추가 입금조치 학고...
-
1티어 화2> 물2 2티어 지2 > 생2 = 물1 3티어 화1 = 생1 > 지1...
-
이러면 나 마음이 흔들리잖아
-
추가모집넣으면 어디 될까요ㅠㅠ
-
ㅠㅠ 1
공부가안됨
-
아니 진짜로, 공부 오래 하면 성적 오른다는 애들 아직도 있음? 그럼 왜 도서관에서...
-
고려대 일반과 추합이 안될수가 없는데 ..... 추합 전화 받으신 분 있나요 학부대학 말고요....
-
실수 두번빼고는 그래도 동시통역하듯이 선방한듯=) 먹고 통역하고 먹고 통역했다는 ㅋㅋㅋ
-
한양대 경제금융 0
빠지시는 분 안계신가요ㅠㅠㅠ 제발 한 분만
-
근데 작수사문 시간모질랏는데 경제 타임어택심하잖어 국수에투자많이하고싶어서...
-
이상하게 쳐다보나 예를 들어서 “무현아~ 밥 먹었어?” 이런식으로
-
아... 동국경제 빠지실분 한분만 ㅜㅜ없나요ㅜㅜㅜ예비 1명남은것같은데 0
이거 떨어지면 3떨.... 으아 1시간 남았는데 개떨리네요 재수각인가...
-
일부러 미달시키고 추가모집에서 뽑냐? 입시첨이라 잘 모름
-
아니 페이지마다 책에 향수 뿌렸나 향이 좀 심하게 나는데 일단 펼쳐서 창문 앞에 둠
-
제발데발
-
백분위 대학 흐흐흐
-
플리 추첨 좀 일본 노래 말고!!!
-
ㅇㅈ?
-
[단독] ‘의대 증원 100% 자율권’ 방침에... 학장들 “내년 0명 증원” 총장에 제안 5
정부가 2026학년도 의대 증원 규모를 각 대학이 100% 자율로 결정하도록 방침을...
-
못없애서 2028수능에 개편한다네요~
-
원서 너무 안정으로 쓴거같아 아쉽다.. 상향으로 쓴 다군은 소식이 없구나..
-
오직 물2지2
-
수능 때 물1화1할수도 제일 안정적인듯뇨 저조합이
-
등록금 환불 0
5시 50분까지라고 문자왔는데 전화 추합이 50분 이후에 와서 딴 학교 가면 등록금...
-
마 니 돌았노
-
고학부 67초반갔나보네 10
굿
-
근황아시는분 솦 인터칼 성신 삼수 사과 새터 1번 건수 경제 경한
-
이제 안고인과목이있나 10
-
대충 외대 메이저어문, 건국 높상경 라인입니다 그래도 여기까지 털리는건 ㄷㄷ...ㅜㅜ
-
내가 만약 5시에 빠진다고 하면 그때 추합 전화 가는거?
-
아직 결정응 못했는데 내일 납부할때까지만 정하면 되는거임?
-
펌 3시간이상 걸릴예정인데 너무 심심해요
-
진짜 26수능은 경제가 답이냐???
-
화작하지마라.. 7
-
이게 진짜 ㄹㅇㄹㅇㄹㅇ 맞는말.. 재수하면서 느낀건데 지금 내가 하고있는 공부나...
-
기하 던짐 1
걍통통이로돌아갈께몰라봬서미안해^^
-
진짜 이거는 맞다
-
예비고3이고 원래 다른 강사분 구문 강의 완강했었는데 체화가 덜 된 것 같아서 션티...
-
과탐보단 꿀임 왜냐면 내가 정법 3달공부하고 1떴는데 지구1은 6달 넘게했는데 4임 ㅋㅋㅋㅋ
논문을 쓰셨네 읽기귀찮으니까 지피티한테 3줄요약시켜도 ㄱㅊ?
저 공부하려고 쓴거라 상관없읍니다. . .