개인 자료란 (JE)

  서버 커뮤니티

Profile minding2796 대표칭호 없음

minding2796 b4e0572771444b8481ec47e19202ebcc

Profile

질문하기 플러그인

이게 왜 안되는거지

2022.06.22 조회 수 89 추천 수 0
게임버전 (JE) 1.19 
게임버전 (BE) 관련없음 

//대충 해시맵 선언

HashMap<Player, String> CustomKillMessage = new HashMap<>();

//대충 죽인곳

Player p = Bukkit.getPlayer("대충 죽은 플레이어")

CustomKillMessage.put(p, "(이)가 [대충 아이템 이름] 에 의해 대충 죽었습니다.");

p.setHealth(0);

//대충 PlayerDeathEvent

Player p = e.getPlayer();

if(CustomKillMessage.get(p) != null){

        e.setDeathMessage(p.getName()+CustomKillMessage.get(p));

        CustomKillMessage.remove(p);

}

4개의 댓글

qsef1256
2022.06.22

1. 뭐가 안되죠

2. 코드 다 올리세요 (어느 파일에 있냐에 따라서도 작동이 달리질 수 있음)

3. 에러 있으면 그거부터 올리세요

qsef1256
2022.06.22

그리고 uuid로 비교하세요, 플레이어 객체로 비교하지 말고

Libration
2022.06.22

HashMap을 static으로 선언하셔야 합니다. 안 그러면 객체를 생성할 때마다 저 HashMap이 새로 생성되기 때문에 작성자분이 생각하시는 대로 잘 작동이 안될 수 있어요.

또한 윗분이 말씀하셨듯이 HashMap의 Key값은 Player가 아니라 UUID로 선언해야해요! Player로 하게 되면 나갔다 들어올 때 마다 데이터가 갱신이 되기 때문에, value값이 잘 안 불러와질 수 있습니다. 반면 UUID로 하게 되면, UUID는 일종의 플레이어 주민번호같은거라, 나갔다 들어온다고 해도 데이터 갱신이 되지 않습니다!

minding2796
2022.06.23

엄청난 원인이 하나 있었음.

코드에는 문제가 없음(?)

게임룰에서 showDeathMessages가 false로 되어있었음

어이없네

뉴스 및 창작물
/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 4

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1

/files/thumbnails/348/896/003/262x150.crop.jpg?20241006103035

디도스/봇테러등등을 낚는 방법 4

물귀신

2024-10-06

3