개인 자료란 (JE)

  서버 커뮤니티

Profile EPQK 대표칭호 없음

EPQK 3b485c86c8f34cd4bd4808e789b91f85

Profile

질문하기 스크립트

머리위 이름 바꾸기

2021.11.25 조회 수 1930 추천 수 0
이해도 초보자(스크립트 구성요소나 기본문법은 알아요) 
게임버전 (JE) 1.17.1 
게임버전 (BE) 관련없음 
스크립트 버전 가장 최신 

200483a5fc89d40b724c9d7349ad38fc.png

EPQK라는 머리위 이름을 스크립트로 바꾸는 방법이 있을까요





3개의 댓글

스크립터브혼
2021.11.25

자바를 어느정도 다룰 줄 아셔야하는데요. 플레이어 이름을 변경하려면 NMS의 GameProfile를 변경해야합니다.

NMS는 문서가 없어서 초보자가 다루기엔 상당히 어려우실겁니다.


프로그램의 깊이를 순서대로 나열하면 NMS > Bukkit > Spigot > Paper > Skript 가 됩니다.

Bukkit, Spigot는 GameProfile을 다루지 않고, Paper가 GameProfile을 PlayerProfile이라는 인터페이스로 다루고 있습니다.

(https://papermc.io/javadocs/paper/1.17/com/destroystokyo/paper/profile/PlayerProfile.html)

 

스크립트로 이것을 다루려면 자바소스를 활용할 수 있게 해주는 skript-reflect 애드온을 사용해야합니다.

skript-reflect는 자바소스를 활용하기위해 skript와 다른 새로운 문법을 가지고 있어서 이것도 공부를 하셔야합니다.

깃북 페이지에서 배울 수 있으니 참고하시기 바랍니다. (https://tpgamesnl.gitbook.io/skript-reflect/)

 

Paper 서버에서 skript-reflect 애드온으로 PlayerProfile을 사용하여 플레이어 이름을 변경하는 것이 가장 쉬운 방법입니다.

NMS에서 직접 GameProfile를 수정 할 수 도 있지만 서버<->클라이언트 양쪽의 데이터를 모두 갱신하기 위해 Packet에 대한 이해도 필요합니다.

스크립터브혼
2021.11.25
@스크립터브혼

염두하실 부분은 GameProfile은 마인크래프트의 뿌리에 있는 데이터이기 때문에
이것을 수정하면 서버에서 플레이어 이름이 사용되는 모든 곳에 적용되어 예기치 않은 오류가 발생할 수 있습니다.

예를들면 명령어를 입력할 때 플레이어의 이름이 원래의 이름이 아닌 변경된 이름을 사용해야합니다.
또한 서버나 스크립트에서 원래 이름으로 저장된 데이터와 충돌이 발생하거나 어긋날 수 있습니다.

DDang_
2021.11.28

MundoSK 의 nametag 구문 확인하삼