마인크래프트 데미지 계산 방식 바꾸기 (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지망 마지막날 전화추합은 진짜 신기하네요ㅋㅋㅋㅋ케
-
소신발언 12
본인 의치한약수랑 설경제 붙으면 설경제 갈 거임...
-
ㅈㄱㄴ
-
인생 억까 뇌절도 적당히 해야지
-
어디로 할까 서울 살고 대전 출생인데
-
소신발언 9
본인 의대하고 약대 둘다 붙어도 약대 갈거임
-
친구들 이야기 들어보니까 내가 다녔넌 센터 포함해서 복사기 복사비용 안받던데 여기는...
-
졸업증명서 다들 제출 하셨나요??
-
주변에서 가장 고능한데 공부 안하던 둘이 설전정갔네 7
ㅋㅋㅋㅋㅋㅋㅋㅋ 압도적 고능아들은 설공을 가버리는군..
-
뭘 하던 간에 11
연구직을 하고싶으면 설령 수능이 잘나와서 의대권이라고 해도 일반대를 가는게 맞나
-
첫 경제 실모 42점 15
확실히 사설의 벽은 쉽지않네... 시간도 거의 안남고 개념도 완벽하지 않으니까 쉽지않음...
-
각각 25 수능/25 9모입니다. 대학다니느라 6모는 응시하지 못했는데 이정도면...
-
외대벳지얻었네요 3
외대 영어대학 전화추합하신분 행복한 대학생활 보내세요! 외대 저하곤 뜻이 안맞아서...
-
뭐 정보가 없네
-
형 술마시는 중인데 16
소주 한병은 괜찮은듯 술찌는 아니라 다행이다 근데 머리에 필터 하나가 사라진 느낌...
-
원래 강박증이 있어서 모든 문장에 밑줄 치면서 읽다가 과외쌤이 그렇게 하면 눈의...
-
제 주변애들이 12315로 고대 경제 합격하고 42422(원래 3인데 미적 30번...
-
왤캐 말이없음? 이해안되네
-
설공 vs 한의대 11
닥후임? 설공은 학부대학이라 전컴도 가능함
-
과탐필수 3합4 최저떨 ㅋㅋㅋㅋ.. 현역때맞춘 최저를 못맞춰버렸습니다 지구과학 열심히하세요
-
어려울걸..?
-
안녕하세요 :) 디올러 S (디올 Science, 디올 소통 계정) 입니다....
-
현재 강기분 끝났는데 새기분 강의 볼륨이 너무 많다고 생각하여 김승리로 갈아탈까...
-
사회 불어불문 문헌정보 교육 국문 철학 사회복지 중문 신학 독문 노문 해당 학부의...
-
기숙은 아무래도 폰이랑 아예 관리햐서 잠도빨리자게하고..
-
패스 딱 하나 살 수 있는데 이 분 하나 듣고싶어서 이투스 살 가치 있나요?
-
설자전 vs 한의대 11
닥후임?
-
얼마나 반영하나요?... 3점댄데..하...
-
화생 노베면 걍 진입도 하면 안됨?
-
어떻게 하고계신가요???
-
대학커뮤니티 노크에서 선발한 한국외대 선배가 오르비에 있는 예비 한국외대학생,...
-
다른건 다 동일 조건일때 부경전충 경영이랑 인서울/수도권 대학중에 어디랑 취업이...
-
올해 인제의가 왜 폭난건지좀 분석해 주실수 있나요 경희의 순천향의는 나름대로 잘...
-
자기홀극인가 나
-
이번에 자연과학학부 합격한 사람이고 공대로 전과할 생각인데 힘드나요? 전컴같은 과...
-
오늘 전화추합 됐고 토요일 수강신청이라 시간표 당장 짜야되는데 지금 학번도 안 떠서...
-
2026 버전으로 나왔거나 개정 안되는 n제 중에 풀만한거 없을까요? 드릴345풀었어요
-
현역 때 김승리 풀커리 탔었어서 어느정도 글 읽을 줄 앎 연결하기 감...
-
인원: 150명 서울대 1명 고려대 2명 과기원 연세대 서성한 없음 (고려대 한명은...
-
사람이아님 오늘은 얼버잠 절대성공한다.
-
중앙대인가요?
-
특수청소 알바 3
해보신분 있나요? 뭔지는 아는데 후기는 적어서
-
등록금으로 준비한 돈 주식할까…? 이생각이 났음
-
뭐가 정배야
-
양치기용 문제집 추천 부탁드립니다. 확통을 공부하다보니 공통을 못 풀겠습니다.
-
본인들 실력은 둘째치고 가르치는 거라도 제대로 했으면 좋겠음 우리학교 쌤들은 진짜...
-
소비자 정외지균 인문 지균 언론정보 역사교육 아동가족 인류 지균 해당 학부의...
-
ㅠㅍㅍ퓨
논문을 쓰셨네 읽기귀찮으니까 지피티한테 3줄요약시켜도 ㄱㅊ?
저 공부하려고 쓴거라 상관없읍니다. . .