messages.yml
Code (Text):
prefix: "&7[&aQuestEngine&7] "
vault_missing: "&cVault plugin not found. Some features are disabled."
quest_already_active: "&cYou are already on this quest."
quest_started: "&aYou have started the quest '%quest_name%'!"
quest_not_active: "&cYou are not currently on this quest."
quest_canceled: "&eYou have canceled the quest '%quest_name%'."
quest_stopped: "&7The quest '%quest_name%' has been forcibly stopped."
abandon_all_done: "&7All active quests have been abandoned."
list_empty: "&7You have no active quests."
list_header: "&a===== &fActive Quest List &a====="
list_line: "&f- &a%quest_name% &7(&e%value% / %target%&7)"
quest_completed: "&6Quest '%quest_name%' completed! Reward received!"
reload_done: "&aQuest configuration reloaded successfully."
invalid_args: "&cInvalid command arguments."
player_only: "&cThis command can only be used by players."
quest_repeat_ready: "&6Quest '%quest_name%' is available again. Retry with /quest start %quest_id%!"
admin:
usage: "&7/questadmin <reload|give|complete|stop|reset|list>"
reloaded: "&aAll quests reloaded successfully!"
invalid_args: "&cInvalid arguments!"
offline: "&cThe player is offline!"
started: "&aStarted the quest: %quest_name%"
stopped: "&cStopped the quest: %quest_name%"
completed: "&bManually completed the quest: %quest_name%"
reset_done: "&eQuest progress reset for: %quest_name%"
list_header: "&6==== Quests of %player% ===="
no_active: "&7No active quests."
list:
empty: "&7You have no active quests."
header: "&e[Active Quest List]"
title: "&e%title% &7(%value%/%target%)"
desc: " &7- %desc%"
progress: "&fProgress %bar% &7(%percent%%)"
reward: "&6Reward %reward%"
points: "&fYour Quest Points: &a%points%"
# ==========================================================
# GUI
# ==========================================================
gui:
title:
list: "&aActive Quests"
public: "&bPublic Quests"
leaderboard: "&6Leaderboard"
lore:
list:
- "&7%quest_title%"
- "&aProgress: &f%value%/%target%"
- "&eReward: &f%reward%"
# ------------------------------
# Personal Quest List (QuestListMenu)
# ------------------------------
list:
title: "&bQuest List &7| &fPage %page%"
search: "&f Search"
search_lore: "&7Click to enter a search keyword"
search_prompt: "Enter a keyword (leave blank for all)"
leaderboard: "&6 Leaderboard"
leaderboard_lore: "&7Click to view quest rankings"
public: "&b Public Quests"
public_lore: "&7Click to open the public quest list"
sort: "&fSort: &e%order%"
sort_lore: "&7Click to change the sorting order"
order_asc: "Ascending"
order_desc: "Descending"
prev: "&fPrevious Page"
next: "&fNext Page"
page_input: "&fGo to Page"
page_input_lore: "&7Click and enter a page number"
page_input_prompt: "Enter the page number to go to"
left_click_complete: "&aLeft-click: Try to complete quest"
right_click_cancel: "&cRight-click: Cancel quest"
quest_completed: "&aQuest completed: &f%quest%"
quest_cancelled: "&7Quest cancelled: &f%quest%"
quest_cannot_complete: "&cYou don’t meet the completion conditions."
quest_complete_error: "&cAn error occurred while completing the quest."
method_missing: "&cCould not find completion method."
# ------------------------------
# Public Quest List (PublicQuestMenu)
# ------------------------------
public:
title: "&bPublic Quests | &fPage %page%"
back: "&f← Back to My Quests"
back_lore: "&7Click to return to your quest list"
search: "&f Search"
search_lore: "&7Click to enter a keyword for public quests"
search_prompt: "Enter a keyword (leave blank for all)"
prev: "&fPrevious Page"
prev_lore: "&7Click to go to the previous page"
next: "&fNext Page"
next_lore: "&7Click to go to the next page"
accept_lore: "&aLeft-click: Accept quest"
cancel_lore: "&cRight-click: Cancel quest"
accepted: "&aAccepted quest '%quest%'!"
cancelled: "&eCancelled quest '%quest%'."
error_accept: "&cAn error occurred while accepting the quest."
# ------------------------------
# Leaderboard (LeaderboardMenu)
# ------------------------------
leaderboard:
title: "&6Quest Leaderboard"
back: "&f← Back to My Quests"
back_lore: "&7Click to return to your personal quest list"
rank_format: "&e#%rank% &f%player% &7- &a%points% pts"
rank_points: "&7Points: &f%points%"
no_data: "&7No data to display."
Code (Text):
prefix: "&7[&aQuestEngine&7] "
vault_missing: "&cVault 플러그인을 찾을 수 없습니다. 일부 기능이 비활성화됩니다."
quest_already_active: "&c이미 진행 중인 퀘스트입니다."
quest_started: "&a'%quest_name%' 퀘스트를 시작했습니다!"
quest_not_active: "&c해당 퀘스트는 진행 중이 아닙니다."
quest_canceled: "&e'%quest_name%' 퀘스트를 취소했습니다."
quest_stopped: "&7'%quest_name%' 퀘스트를 강제로 중단했습니다."
abandon_all_done: "&7모든 퀘스트를 포기했습니다."
list_empty: "&7진행 중인 퀘스트가 없습니다."
list_header: "&a===== &f진행 중인 퀘스트 목록 &a====="
list_line: "&f- &a%quest_name% &7(&e%value% / %target%&7)"
quest_completed: "&6%quest_name% 퀘스트 완료! 보상 획득!"
reload_done: "&a퀘스트 설정을 다시 불러왔습니다."
invalid_args: "&c잘못된 명령어 인자입니다."
player_only: "&c플레이어만 사용할 수 있습니다."
quest_repeat_ready: "&6%quest_name% 퀘스트를 다시 시작할 수 있습니다. /quest start %quest_id% 로 재도전!"
admin:
usage: "&7/questadmin <reload|give|complete|stop|reset|list>"
reloaded: "&a모든 퀘스트를 새로고침했습니다!"
invalid_args: "&c잘못된 인자입니다!"
offline: "&c플레이어가 오프라인입니다!"
started: "&a%quest_name% 퀘스트를 시작했습니다!"
stopped: "&c%quest_name% 퀘스트를 중단했습니다!"
completed: "&b%quest_name% 퀘스트를 완료 처리했습니다!"
reset_done: "&e%quest_name% 퀘스트 진행도가 초기화되었습니다!"
list_header: "&6==== %player%님의 퀘스트 목록 ===="
no_active: "&7진행 중인 퀘스트가 없습니다."
list:
empty: "&7진행 중인 퀘스트가 없습니다."
header: "&e[진행 중인 퀘스트 목록]"
title: "&e%title% &7(%value%/%target%)"
desc: " &7- %desc%"
progress: "&f진행도 %bar% &7(%percent%%)"
reward: "&6보상 %reward%"
points: "&f당신의 퀘스트 포인트: &a%points%"
# ==========================================================
# GUI
# ==========================================================
gui:
title:
list: "&a진행 중인 퀘스트"
public: "&b공개 퀘스트"
leaderboard: "&6리더보드"
lore:
list:
- "&7%quest_title%"
- "&a진행도: &f%value%/%target%"
- "&e보상: &f%reward%"
# ------------------------------
# 개인 퀘스트 목록 (QuestListMenu)
# ------------------------------
list:
title: "&b퀘스트 목록 &7| &f페이지 %page%"
search: "&f 검색"
search_lore: "&7클릭하여 검색어를 입력하세요"
search_prompt: "검색어를 입력하세요 (빈칸=전체보기)"
leaderboard: "&6 리더보드"
leaderboard_lore: "&7클릭하여 퀘스트 순위를 확인합니다"
public: "&b 공개 퀘스트"
public_lore: "&7클릭하여 공개 퀘스트 목록을 엽니다"
sort: "&f정렬: &e%order%"
sort_lore: "&7클릭하여 정렬 순서를 바꿉니다"
order_asc: "오름차순"
order_desc: "내림차순"
prev: "&f이전 페이지"
next: "&f다음 페이지"
page_input: "&f페이지 이동"
page_input_lore: "&7클릭 후 페이지 번호를 입력"
page_input_prompt: "이동할 페이지 번호를 입력하세요"
left_click_complete: "&a좌클릭: 퀘스트 완료 시도"
right_click_cancel: "&c우클릭: 퀘스트 취소"
quest_completed: "&a퀘스트 완료: &f%quest%"
quest_cancelled: "&7퀘스트 취소: &f%quest%"
quest_cannot_complete: "&c조건이 충족되지 않아 완료할 수 없습니다."
quest_complete_error: "&c퀘스트 완료 처리 중 오류가 발생했습니다."
method_missing: "&c완료 메서드를 찾지 못했습니다."
# ------------------------------
# 공개 퀘스트 목록 (PublicQuestMenu)
# ------------------------------
public:
title: "&b공개 퀘스트 목록 | &f페이지 %page%"
back: "&f← 내 퀘스트로 돌아가기"
back_lore: "&7클릭: 개인 퀘스트 목록으로 이동"
search: "&f 검색"
search_lore: "&7클릭하여 공개 퀘스트 검색어 입력"
search_prompt: "검색어를 입력하세요 (빈칸=전체보기)"
prev: "&f이전 페이지"
prev_lore: "&7클릭하여 이전 페이지로 이동"
next: "&f다음 페이지"
next_lore: "&7클릭하여 다음 페이지로 이동"
accept_lore: "&a좌클릭: 퀘스트 수락"
cancel_lore: "&c우클릭: 퀘스트 취소"
accepted: "&a'%quest%' 퀘스트를 수락했습니다!"
cancelled: "&e'%quest%' 퀘스트를 취소했습니다."
error_accept: "&c퀘스트 수락 중 오류가 발생했습니다."
# ------------------------------
# 리더보드 (LeaderboardMenu)
# ------------------------------
leaderboard:
title: "&6퀘스트 리더보드"
back: "&f← 내 퀘스트로 돌아가기"
back_lore: "&7클릭 시 개인 퀘스트 목록으로 이동"
rank_format: "&e#%rank% &f%player% &7- &a%points%점"
rank_points: "&7포인트: &f%points%"
no_data: "&7표시할 데이터가 없습니다."
quests/quest.yml
Code (Text):
name: "Stone Mining"
id: stone_break
event: BLOCK_BREAK
target: STONE
amount: 10
repeat: -1
points: 1
public: true
party: false
reset:
policy: DAILY
time: "04:00"
display:
title: "&aStone Mining"
description:
- "&7Mine 10 stones to polish your skills."
- "&fResets every morning at 4 AM."
progress: "&a%value%&7/&f%target%"
reward: "&e100 Coins"
conditions:
success:
- "%block_type% == STONE"
fail:
- "%block_type% == DIRT"
actions:
accept:
- msg{t=&e%player% has accepted '%quest_name%'} @self
start:
- msg{t=&7Mine 10 stones} @self
success:
- msg{t=&aReward granted for success} @self
fail:
- msg{t=&cFailed to meet the conditions} @self
cancel:
- msg{t=&eQuest cancelled} @self
stop:
- msg{t=&eQuest stopped by admin} @self
restart:
- msg{t=&6Repeat quest restarted} @self
repeat:
- msg{t=&bRepeat progress started} @self
Code (Text):
name: "돌 캐기"
id: stone_break
event: BLOCK_BREAK
target: STONE
amount: 10
repeat: -1
points: 1
public: true
party: false
reset:
policy: DAILY
time: "04:00"
display:
title: "&a돌 캐기"
description:
- "&7돌 10개를 캐서 연마하세요."
- "&f매일 아침 4시에 초기화됩니다."
progress: "&a%value%&7/&f%target%"
reward: "&e100 코인"
conditions:
success:
- "%block_type% == STONE"
fail:
- "%block_type% == DIRT"
actions:
accept:
- msg{t=&e%player%님이 '%quest_name%'을 수락했습니다} @self
start:
- msg{t=&7돌 10개를 캐세요} @self
success:
- msg{t=&a성공 보상 지급} @self
fail:
- msg{t=&c조건을 만족하지 못해 실패했습니다} @self
cancel:
- msg{t=&e퀘스트를 취소했습니다} @self
stop:
- msg{t=&e관리자에 의해 중단되었습니다} @self
restart:
- msg{t=&6반복 퀘스트 다시 시작} @self
repeat:
- msg{t=&b반복 수행 시작} @self
Code (Text):
1. 전역 정보
Placeholder 설명
%questengine_active_count% 현재 진행 중인 퀘스트 개수
%questengine_completed_count% 완료한 퀘스트 개수
%questengine_total_points% 누적 퀘스트 포인트 합계
2. 첫 번째 활성 퀘스트 관련
Placeholder 설명
%questengine_first_active_id% 첫 번째 활성 퀘스트의 ID
3. active_{field}_{n} 형식 (n번째 활성 퀘스트 정보)
예시 설명
%questengine_active_id_1% 1번째 활성 퀘스트 ID
%questengine_active_name_1% 1번째 활성 퀘스트 이름
%questengine_active_title_1% 1번째 활성 퀘스트 제목 (표시용)
%questengine_active_reward_1% 보상 설명
%questengine_active_points_1% 포인트 값
%questengine_active_target_1% 목표 수량
%questengine_active_progress_1% 현재 진행량 (예: 3/10)
%questengine_active_percent_1% 진행률 퍼센트 (예: 30%)
%questengine_active_bar_1% 진행률 바 그래픽 (예: §a■■■■§7■■■■)
4. 현재 퀘스트(current_) 관련
Placeholder 설명
%questengine_current_id% 현재(첫 번째 활성) 퀘스트 ID
%questengine_current_name% 현재 퀘스트 이름
%questengine_current_title% 현재 퀘스트 제목
%questengine_current_reward% 보상 설명
%questengine_current_target% 목표 수량
%questengine_current_points% 포인트 값
%questengine_current_progress% 현재 진행량 (예: 4/12)
%questengine_current_percent% 퍼센트 표시 (예: 33%)
%questengine_current_bar% 진행률 바 표시
5. 특정 퀘스트 ID 기반({kind}_{id} 형식)
예시 설명
%questengine_name_<id>% 특정 퀘스트 이름
%questengine_title_<id>% 퀘스트 제목
%questengine_reward_<id>% 보상 설명
%questengine_points_<id>% 포인트 값
%questengine_target_<id>% 목표 수량
%questengine_progress_<id>% 현재 진행량
%questengine_percent_<id>% 진행률 퍼센트
%questengine_bar_<id>% 진행률 바
%questengine_active_<id>% 해당 퀘스트가 활성 상태인지 (true / false)
%questengine_completed_<id>% 완료 여부 (true / false)
6. 퀘스트 리스트
Placeholder 설명
%questengine_active_list_names% 진행 중인 퀘스트 이름들을 ,로 구분한 목록
%questengine_active_list_ids% 진행 중인 퀘스트 ID 목록
%questengine_completed_list_ids% 완료된 퀘스트 ID 목록
Code (Text):
1. Global Stats
Placeholder Description
%questengine_active_count% Number of active quests for the player
%questengine_completed_count% Number of completed quests
%questengine_total_points% Total accumulated quest points
2. First Active Quest
Placeholder Description
%questengine_first_active_id% ID of the first active quest
3. active_{field}_{n} format (Nth active quest)
Example Description
%questengine_active_id_1% ID of the 1st active quest
%questengine_active_name_1% Name of the 1st active quest
%questengine_active_title_1% Display title of the quest
%questengine_active_reward_1% Reward description
%questengine_active_points_1% Quest point value
%questengine_active_target_1% Target amount
%questengine_active_progress_1% Progress (e.g., 3/10)
%questengine_active_percent_1% Progress percentage (e.g., 30%)
%questengine_active_bar_1% Progress bar (e.g., §a■■■■§7■■■■)
4. Current Quest (current_ prefix)
Placeholder Description
%questengine_current_id% ID of the first active quest
%questengine_current_name% Name of the current quest
%questengine_current_title% Title of the current quest
%questengine_current_reward% Reward description
%questengine_current_target% Target amount
%questengine_current_points% Quest point value
%questengine_current_progress% Progress (e.g., 4/12)
%questengine_current_percent% Progress percentage (e.g., 33%)
%questengine_current_bar% Visual progress bar
5. Specific Quest by ID ({kind}_{id})
Example Description
%questengine_name_<id>% Quest name
%questengine_title_<id>% Quest title
%questengine_reward_<id>% Reward description
%questengine_points_<id>% Quest points
%questengine_target_<id>% Target amount
%questengine_progress_<id>% Current progress value
%questengine_percent_<id>% Progress percentage
%questengine_bar_<id>% Progress bar
%questengine_active_<id>% Whether the quest is active (true / false)
%questengine_completed_<id>% Whether the quest is completed (true / false)
6. Quest Lists
Placeholder Description
%questengine_active_list_names% List of active quest names separated by commas
%questengine_active_list_ids% List of active quest IDs
%questengine_completed_list_ids% List of completed quest IDs
Code (Text):
블록 관련 이벤트
Bukkit 이벤트 QuestEngine 이벤트 이름 설명
BlockBreakEvent "BLOCK_BREAK" 플레이어가 블록을 부숨
BlockPlaceEvent "BLOCK_PLACE" 블록을 설치함
BlockFertilizeEvent "BLOCK_FERTILIZING", "FARMING" 비료(뼛가루 등) 사용 시
CompostItemEvent (Paper 전용) "COMPOSTING" 퇴비통에 아이템을 넣을 때 (선택적 등록)
엔티티(생물) 관련 이벤트
Bukkit 이벤트 QuestEngine 이벤트 설명
EntityDeathEvent "ENTITY_KILL", "PLAYER_KILL" 플레이어가 몬스터 또는 다른 플레이어를 처치
EntityBreedEvent "BREEDING", "BREEDNG" 동물 교배 시 (오타 유지된 중복 상수 있음)
PlayerShearEntityEvent "SHEARING" 양 등 엔티티를 깎을 때
EntityTameEvent "TAMING" 늑대, 고양이 등 길들임
PlayerInteractEntityEvent "ENTITY_INTERACT" 엔티티와 상호작용
EntityDamageByEntityEvent "DEAL_DAMAGE", "PLAYER_ATTACK" 플레이어가 엔티티에게 피해를 입힐 때
⚒ 아이템 / 제작 / 채집 관련 이벤트
Bukkit 이벤트 QuestEngine 이벤트 설명
PlayerFishEvent "FISHING" 낚시
CraftItemEvent "ITEM_CRAFT" 아이템 제작
FurnaceSmeltEvent "SMELTING" 근처 화로에서 아이템 제련
PrepareSmithingEvent "SMITHING" 스미스 테이블 사용
EnchantItemEvent "ENCHANTING", "ITEM_ENCHANT" 아이템 마법 부여
PlayerBucketFillEvent "BUCKET_FILL" 양동이에 액체 채움
PlayerBucketEmptyEvent "BUCKET_EMPTY" 액체 비우기
PlayerBucketEntityEvent "BUCKET_ENTITY" 엔티티 대상 양동이 상호작용 (예: 우유, 물고기)
PlayerDropItemEvent "ITEM_DROP", "BLOCK_ITEM_DROPPING" 아이템을 버림
EntityPickupItemEvent "ITEM_PICKUP" 아이템을 줍기
PlayerItemConsumeEvent "ITEM_CONSUME" 음식/포션 섭취
PlayerItemHeldEvent "ITEM_SELECT" 손에 든 아이템 변경
PlayerInteractEvent "ITEM_INTERACT" 클릭 등 아이템 상호작용
PlayerSwapHandItemsEvent "PLAYER_SWAP_HAND" 양손 교체
PrepareAnvilEvent "ITEM_REPAIR" 모루 사용 (수리/합성)
InventoryClickEvent "ITEM_MOVE", "TRADING" 인벤토리 이동 / 거래창 클릭
Paper 전용
이벤트 QuestEngine 이벤트
PlayerItemDamageEvent "ITEM_DAMAGE"
♂️ MythicMobs 연동 (선택적)
MythicMobs 이벤트 QuestEngine 이벤트 설명
MythicMobSpawnEvent "MYTHICMOBS_ENTITY_SPAWN" MythicMob이 근처에서 소환됨
MythicMobDeathEvent "MYTHICMOBS_KILL" MythicMob이 플레이어 또는 근처에서 사망
MythicMobs가 서버에 설치되어 있지 않아도 리플렉션을 통해 안전하게 무시됨.
플레이어 관련 이벤트
Bukkit 이벤트 QuestEngine 이벤트 설명
PlayerJoinEvent "PLAYER_PRE_JOIN" 플레이어 접속
PlayerQuitEvent "PLAYER_LEAVE" 플레이어 퇴장
PlayerRespawnEvent "PLAYER_RESPAWN" 리스폰
PlayerDeathEvent "PLAYER_DEATH" 사망
PlayerChangedWorldEvent "PLAYER_WORLD_CHANGE" 다른 월드로 이동
PlayerTeleportEvent "PLAYER_TELEPORT" 텔레포트
PlayerBedEnterEvent "PLAYER_BED_ENTER" 침대에 들어감
PlayerExpChangeEvent "PLAYER_EXP_GAIN" 경험치 획득
PlayerLevelChangeEvent "PLAYER_LEVELUP" 레벨 상승
PlayerCommandPreprocessEvent "PLAYER_COMMAND" 명령어 입력
AsyncPlayerChatEvent "PLAYER_CHAT" 채팅 입력
PlayerMoveEvent "PLAYER_WALK", "DISTANCE_FROM" 일정 거리 이상 이동 (기본 0.8블록 이상)
월드 / 청크 관련 이벤트
Bukkit 이벤트 QuestEngine 이벤트 설명
CreatureSpawnEvent "ENTITY_SPAWN" 생물이 근처에 소환됨
ChunkLoadEvent "CHUNK_LOAD" 청크 로드
Code (Text):
Block-Related Events
Bukkit Event QuestEngine Event Name Description
BlockBreakEvent "BLOCK_BREAK" Fired when a player breaks a block.
BlockPlaceEvent "BLOCK_PLACE" Fired when a block is placed.
BlockFertilizeEvent "BLOCK_FERTILIZING", "FARMING" When using bone meal or similar fertilizer.
CompostItemEvent (Paper only) "COMPOSTING" When composting items. Registered dynamically.
Entity-Related Events
Bukkit Event QuestEngine Event Description
EntityDeathEvent "ENTITY_KILL", "PLAYER_KILL" When a player kills an entity or another player.
EntityBreedEvent "BREEDING", "BREEDNG" When animals are bred by a player.
PlayerShearEntityEvent "SHEARING" When a player shears an entity (like a sheep).
EntityTameEvent "TAMING" When a player tames an animal (like a wolf or cat).
EntityInteractEvent "ENTITY_INTERACT" When a player interacts with an entity (right-click, etc.).
EntityDamageByEntityEvent "DEAL_DAMAGE", "PLAYER_ATTACK" When the player damages an entity.
Crafting, Gathering, and Item Handling
Bukkit Event QuestEngine Event Description
PlayerFishEvent "FISHING" When fishing.
CraftItemEvent "ITEM_CRAFT" Crafting an item.
FurnaceSmeltEvent "SMELTING" Smelting items in a furnace nearby.
PrepareSmithingEvent "SMITHING" Using a smithing table.
EnchantItemEvent "ENCHANTING", "ITEM_ENCHANT" When enchanting an item.
PlayerBucketFillEvent "BUCKET_FILL" When filling a bucket.
PlayerBucketEmptyEvent "BUCKET_EMPTY" When emptying a bucket.
PlayerBucketEntityEvent "BUCKET_ENTITY" When interacting with an entity using a bucket (like milking or capturing).
PlayerDropItemEvent "ITEM_DROP", "BLOCK_ITEM_DROPPING" Dropping an item.
EntityPickupItemEvent "ITEM_PICKUP" Picking up an item.
PlayerItemConsumeEvent "ITEM_CONSUME" Eating or drinking an item.
PlayerItemHeldEvent "ITEM_SELECT" Switching held item slot.
PlayerInteractEvent "ITEM_INTERACT" Interacting (e.g., right-clicking).
PlayerSwapHandItemsEvent "PLAYER_SWAP_HAND" Swapping main/off-hand items.
PrepareAnvilEvent "ITEM_REPAIR" Repairing or combining items in an anvil.
InventoryClickEvent "ITEM_MOVE", "TRADING" Moving items in inventory or trading with villagers.
Optional Paper-specific:
Event QuestEngine Event
PlayerItemDamageEvent "ITEM_DAMAGE"
♂️ MythicMobs Integration
MythicMobs Event QuestEngine Event Description
MythicMobSpawnEvent "MYTHICMOBS_ENTITY_SPAWN" When a MythicMob spawns near the player.
MythicMobDeathEvent "MYTHICMOBS_KILL" When a MythicMob is killed, either by the player or nearby.
These are dynamically hooked using reflection to remain compatible even if MythicMobs isn’t installed.
Player-Related Events
Bukkit Event QuestEngine Event Description
PlayerJoinEvent "PLAYER_PRE_JOIN" When a player joins.
PlayerQuitEvent "PLAYER_LEAVE" When a player leaves.
PlayerRespawnEvent "PLAYER_RESPAWN" When a player respawns.
PlayerDeathEvent "PLAYER_DEATH" When a player dies.
PlayerChangedWorldEvent "PLAYER_WORLD_CHANGE" When a player switches worlds.
PlayerTeleportEvent "PLAYER_TELEPORT" When a player teleports.
PlayerBedEnterEvent "PLAYER_BED_ENTER" When entering a bed.
PlayerExpChangeEvent "PLAYER_EXP_GAIN" When gaining XP.
PlayerLevelChangeEvent "PLAYER_LEVELUP" When leveling up.
PlayerCommandPreprocessEvent "PLAYER_COMMAND" When executing a command.
AsyncPlayerChatEvent "PLAYER_CHAT" When sending chat messages.
PlayerMoveEvent "PLAYER_WALK", "DISTANCE_FROM" When walking a certain minimum distance (configurable).
World / Chunk Events
Bukkit Event QuestEngine Event Description
CreatureSpawnEvent "ENTITY_SPAWN" When a creature spawns near a player.
ChunkLoadEvent "CHUNK_LOAD" When a chunk loads.