d1092
대표칭호 없음
이해도 | 초보자 |
---|---|
게임버전 (JE) | 1.19, 1.19.1, 1.19.2 |
게임버전 (BE) | 관련없음 |
/opopaa 라고 친 다음 엔티티를 죽이면 성공이라고 뜨게 하고 싶었는데 작동이 안됩니다 저 명령어를 안치면 작동 안하게요!
명령어 클래스
public class command implements CommandExecutor { public int ia = 0; @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if(sender instanceof Player) { Player player = (Player)sender; player.sendMessage("작동되었습니다"); ia = 1; } return false; } }
이벤트 클래스
public class event implements Listener { @EventHandler public void mugu(EntityDeathEvent e) { Player p = e.getEntity().getKiller(); command c = new command(); if (c.o == 1) { p.sendMessage("성공하셨습니다!"); } } }
Dalsu
2023.02.07일단 변수 i를 초기화해주는 부분을 안만드셨습니다. 그리고 자바의 객체지향 개념을 더 공부하고 오시는게 좋을것 같아요.
d1092
2023.02.07초기화는 다른 명령어로 할려고 합니다
명이
2023.02.08위 코드의 잘못된점 6가지:
1. 클래스명은 대문자로
2. 커맨드 등록시에 만드신 인스턴스가 아닌 이벤트가 실행될때 만드신 인스턴스는 같은 인스턴스가 아니기 때문에 필드값의 공유가 되지 않습니다.
3. 그리고 대체 command 클래스에는 o가 어디있는거죠...
4. 제발 메서드명은 의미있는 이름으로 지어주세요.
5. onCommand에서 false를 하시면, plugin.yml에 작성해두신 커맨드의 usage가 플레이어에게 전달됩니다.
6. @EventHandler와 메서드 정의 사이 한줄의 공백은 무엇을 위한것일까요?
결정적으로
제발 플러그인으로 자바 입문하지 마세요
자바 하나 배우기도 벅찬데, 둘다 배우는건 나쁜 선택입니다.
기본기를 쌓으시고 플러그인 개발을 시작해주세요.
d1092
2023.02.08그럼 자바를 공부할때 도움이 되는 사이트? 책? 이런 것이 있을까요?
yusin12
2023.02.28근처에 잘하는 친구가 있다면, 그 친구한테 배우는게 가장 좋구!
학생이시라면 구글이나 유튜브 독학이 가장 좋아요!
성인이시라면...의지가 강하시면 독학이 아주 좋아요!, 센스도 같이 따라오기 때문이에요!
만약 의지가 부족하시다면... 일단는 접어야해요! 학원은 진도 따라가기도 어렵고! 멍하니 있다가 끝나는 경우도 있어요!
위에 분들에 말 처럼! 플러그인 때문에 자바를 입문하는건 좋은 선택이 아니에요!!
정말로 만들고 싶다면 2개월 만이라두 자바 공부만 해봐요!
0reo
2023.02.08커맨드
리스너
0reo
2023.02.08자바 기초 공부하실 생각 1도없으시면 걍 하지마세요 정신건강에 해롭습니다