마인크래프트 데미지 계산 방식 바꾸기 (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를 선물하세요.
-
최종가니 경영 경제까지 다 때려잡은 느낌
-
RUN은 "런" 인가요
-
작수 화작 1문제 차이로 2떴는데 언매로 바꿀지 고민중.... 10
이정수가 말하기를 언매가 꿀이라고 소문이 퍼짐->허수들이 언매로 대거 몰림->허수가...
-
예상한 일이었고 미련은 없습니다
-
그러고 자퇴한 놈이 여길 왜 또 시험쳐서 들어오는 거야? "학고반수하려고요"...
-
입시랑 수능쪽에 종사하다보니 항상 입시철만 되면 오르비 기웃거리게 되는데 1년동안...
-
고대 일반과 1
제 친구가 너무 기다리고 있어서.. 6시 지나면 끝난 거겠죠?
-
ㅋ….. 3
인생…
-
진짜 내가 당할 줄은 몰랐네 ㅋㅋㅋ
-
진학사6칸 예비2떨 11
ㅋㅋ 응씨발ㅋㅋ 응3떨 ㅋㅋ 응운지하면돼
-
다 불합이라고 했는데 두개합함
-
고생하셨습니다 3
진짜 기적처럼 많은분들이 마지막에 합격의 기회를 얻은반면, 될것같았는데 끝까지...
-
버스 안에서 문제 풀고 개념 연구하니깐 시간 겁나 빨리감 2
역시 대증교통 이용할 때는 수학문제 풀면서 개념연구하니깐 시간 금방가면서 정리가...
-
응응.. 앞으로 2주 안에 신경계 막전위 1학기 전범위 다 끝낼 수 있으려나..
-
그동안 수고하셨습니다.
-
- 끝 - 24
쉽다쉽다 하는 해였지만 당사자에겐 그래도 힘이 들었을 것입니다. 결과 상관 없이...
-
250921 임의의 삼차함수에서 다음 식이 항상 성립함이 알?려져있다(a는...
-
❗️서강대학교 자연과학대학 25학번 정시 새내기를 찾습니다❗️ 2
❤️서강대학교 자연과학대학 (수학과, 물리학과, 화학과, 생명과학과, SCIENCE...
-
허헣
-
미적 아이디어 0
지금 미적아이디어랑 한완기병행하고있는데 삼도극풀면서 벽느꼈어요.. 내신땜에...
-
빵먹기
-
뉴런정도 생각하고 갔는데 뉴런보다 더 어려운거같..ㅠㅠ 말이 빠르셔서 그런거같기도...
-
아 제발요 2년 연속 최초합만 합격은 에반데
-
생1 작69수 50 48 47 서바 전회차 월례전회차 통틀어 2등급 3번 나머지...
-
건대전전 2
자리방금하나빼긴했는데다들폰한번
-
걍 포기함 0
서강대 가야지 ㅅㅂ 에휴
-
나는 숭실이로 산다~~~~~ 숭실숭실!!~~
-
음 0
수2 더해야겟다
-
강대 이정수 오늘 처음 들어봤는데 ㄹㅈㄷ였음.... 6
아는 만큼 보인다고....그냥 보는 시야가 달라짐 첫수업이라 시시껄껄한...
-
5분 남았다 두근두근두근
-
냥대 예비 1번에서 끊기게 생겼네요 회기동으로 돌아가야지 에휴 걍..
-
하 인하대 기계 갑자기 확 안빠지나 이거
-
노베 고2 170628(수2) 풀이 평가 부탁드립니다 5
풀이에서 틀린 지점 없을까요?? 그리고 깨알 질문이긴한데...
-
국어 비문학(20문제)+ 문학(ebs 연계 X, 10문제) + 언어(5문제) +...
-
전화가 안오네..
-
서울가는 케텍에서 심심해서 써봄 국가를 만들어나갈 엘리트 인재의 양성 대학 전공 전...
-
군대가라 진심이다
-
안 빠지시나요 ㅠㅠ 2번인데
-
다들 안녕하세요 2
내일까지인가 추합이... 다들 잘되시길...
-
친구 오늘 전추 기다리던데... 물어보기도좀그렇고 ㅠ 잘됐으면 좋겠네요...
-
좋은 선택
-
ㅅㅂ 0
내 앞에서 끝난다고? ㅋㅋㅋㅋ
-
시 발 0
홍대 1바퀴도안돌앗음지금
-
ㅋㅋㅋㅋ 그게 나일줄은 몰랐지만 누구나있을만한일이긴하네..
-
632 3합ㅅㅅ 13
작수64343이던 내가 시립대를가다니
-
꼭 붙으셨으면 좋겠습니다...
-
한양대 물리학과 0
한양대 물리학과 제발 빠지시는 분 없나요 ㅜㅜㅜㅜ 너무 간절합니다
논문을 쓰셨네 읽기귀찮으니까 지피티한테 3줄요약시켜도 ㄱㅊ?
저 공부하려고 쓴거라 상관없읍니다. . .