PlaceholderAPI
PlaceholderAPI는 마인크래프트 서버에서 플레이스홀더를 통합 관리하는 핵심 플러그인이다. 다양한 플러그인들이 서로의 정보를 공유하고 표시할 수 있도록 중앙화된 플레이스홀더 시스템을 제공한다.
개념
플레이스홀더는 %player_name%과 같은 형식으로 동적 정보를 표시하는 변수다. PlaceholderAPI는 이러한 플레이스홀더들을 한 곳에서 관리하여 플러그인 간 호환성을 크게 향상시킨다.
주요 기능
확장 시스템
eCloud를 통해 다양한 플러그인의 확장을 쉽게 설치할 수 있다:
- 200개 이상의 공식 확장 지원
- 자동 업데이트 기능
- 의존성 자동 해결
플레이스홀더 종류
- 플레이어 플레이스홀더: 개별 플레이어 정보
- 서버 플레이스홀더: 서버 전체 정보
- 관계형 플레이스홀더: 두 플레이어 간의 관계 정보
명령어
명령어 | 설명 | 권한 |
---|---|---|
/papi | PlaceholderAPI 도움말 | placeholderapi.help |
/papi ecloud download <확장명> | 확장 다운로드 | placeholderapi.ecloud |
/papi ecloud list | 사용 가능한 확장 목록 | placeholderapi.ecloud |
/papi reload | 설정 리로드 | placeholderapi.reload |
/papi parse <플레이어> <텍스트> | 플레이스홀더 파싱 테스트 | placeholderapi.parse |
/papi list | 등록된 플레이스홀더 목록 | placeholderapi.list |
자주 사용되는 플레이스홀더
# Player 확장 %player_name% - 플레이어 이름 %player_displayname% - 표시 이름 %player_health% - 현재 체력 %player_max_health% - 최대 체력 %player_level% - 경험치 레벨 %player_x%, %player_y%, %player_z% - 좌표 # Server 확장 %server_online% - 온라인 플레이어 수 %server_max_players% - 최대 플레이어 수 %server_tps% - 서버 TPS %server_ram_used% - 사용 중인 RAM %server_ram_max% - 최대 RAM # Vault 확장 (경제) %vault_eco_balance% - 소지금 %vault_eco_balance_formatted% - 포맷된 소지금 %vault_rank% - 권한 그룹 %vault_prefix% - 접두사
플러그인 연동 예시
스코어보드 플러그인
# 스코어보드 설정 예시 title: "&e&l서버 정보" lines: - "&7━━━━━━━━━━━━" - "&f플레이어: &a%player_name%" - "&f소지금: &6%vault_eco_balance%원" - "&f레벨: &b%player_level%" - "&f온라인: &e%server_online%/%server_max_players%" - "&7━━━━━━━━━━━━"
채팅 플러그인
# 채팅 포맷 예시 format: "%vault_prefix% %player_name% &7» &f%message%" hover-format: - "&e%player_name%" - "&7레벨: %player_level%" - "&7소지금: %vault_eco_balance%원" - "&7위치: %player_world%"
커스텀 플레이스홀더 제작
JavaScript 확장
// custom_placeholder.js function onPlaceholderRequest(player, identifier) { if (identifier.equals("custom_time")) { var date = new Date(); return date.getHours() + ":" + date.getMinutes(); } if (identifier.equals("custom_kills")) { // 데이터베이스에서 킬 수 조회 return getPlayerKills(player.getName()); } return null; }
Java API
개발자는 PlaceholderAPI를 통해 자신의 플러그인 정보를 다른 플러그인에서 사용할 수 있도록 제공할 수 있다.
성능 최적화
# config.yml 캐싱 설정 cache: enabled: true time: 10 # 캐시 유지 시간 (초) parsing: bracket-placeholders: true # {} 형식 지원 relational-placeholders: true # 관계형 플레이스홀더
문제 해결
- 플레이스홀더가 표시되지 않음: 해당 확장이 설치되었는지 확인
- 잘못된 값 표시: /papi parse 명령어로 테스트
- 성능 문제: 캐싱 활성화 및 업데이트 주기 조정
인기 확장 목록
- Player: 기본 플레이어 정보
- Server: 서버 정보
- Vault: 경제 및 권한
- LuckPerms: 고급 권한 관리
- Essentials: Essentials 플러그인 정보
- Statistic: 통계 정보
- Math: 수학 연산
활용 팁
- 홀로그램, 스코어보드, NPC 등에서 동적 정보 표시
- 권한 그룹별 다른 채팅 포맷 적용
- 상점 간판에 실시간 가격 정보 표시
- 탭 리스트 커스터마이징[1]
각주
- ↑ TPS, 온라인 플레이어 수 등을 탭 리스트에 표시 가능