<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://wiki.playcity.kr/index.php?action=history&amp;feed=atom&amp;title=PlaceholderAPI</id>
	<title>PlaceholderAPI - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.playcity.kr/index.php?action=history&amp;feed=atom&amp;title=PlaceholderAPI"/>
	<link rel="alternate" type="text/html" href="https://wiki.playcity.kr/index.php?title=PlaceholderAPI&amp;action=history"/>
	<updated>2026-07-14T01:14:02Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.playcity.kr/index.php?title=PlaceholderAPI&amp;diff=90225&amp;oldid=prev</id>
		<title>Tdb: 문자열 찾아 바꾸기 - &quot;분류:마인크래프트&quot; 문자열을 &quot;분류:마인크래프트/플러그인&quot; 문자열로</title>
		<link rel="alternate" type="text/html" href="https://wiki.playcity.kr/index.php?title=PlaceholderAPI&amp;diff=90225&amp;oldid=prev"/>
		<updated>2025-07-22T17:10:00Z</updated>

		<summary type="html">&lt;p&gt;문자열 찾아 바꾸기 - &amp;quot;&lt;a href=&quot;/index.php/%EB%B6%84%EB%A5%98:%EB%A7%88%EC%9D%B8%ED%81%AC%EB%9E%98%ED%94%84%ED%8A%B8&quot; title=&quot;분류:마인크래프트&quot;&gt;분류:마인크래프트&lt;/a&gt;&amp;quot; 문자열을 &amp;quot;&lt;a href=&quot;/index.php/%EB%B6%84%EB%A5%98:%EB%A7%88%EC%9D%B8%ED%81%AC%EB%9E%98%ED%94%84%ED%8A%B8/%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8&quot; title=&quot;분류:마인크래프트/플러그인&quot;&gt;분류:마인크래프트/플러그인&lt;/a&gt;&amp;quot; 문자열로&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 7월 23일 (수) 02:10 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l139&quot;&gt;139번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;139번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;references/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;references/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:마인크래프트]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:마인크래프트&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/플러그인&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tdb</name></author>
	</entry>
	<entry>
		<id>https://wiki.playcity.kr/index.php?title=PlaceholderAPI&amp;diff=90175&amp;oldid=prev</id>
		<title>Tdb: 새 문서: &#039;&#039;&#039;PlaceholderAPI&#039;&#039;&#039;는 마인크래프트 서버에서 플레이스홀더를 통합 관리하는 핵심 플러그인이다. 다양한 플러그인들이 서로의 정보를 공유하고 표시할 수 있도록 중앙화된 플레이스홀더 시스템을 제공한다.  == 개념 == 플레이스홀더는 %player_name%과 같은 형식으로 동적 정보를 표시하는 변수다. PlaceholderAPI는 이러한 플레이스홀더들을 한 곳에서 관리하여 플러그인...</title>
		<link rel="alternate" type="text/html" href="https://wiki.playcity.kr/index.php?title=PlaceholderAPI&amp;diff=90175&amp;oldid=prev"/>
		<updated>2025-07-22T14:41:47Z</updated>

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