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:
- ""
- "&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:
- ""
- "&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. 전체 통계 관련 (Global Statistics)
%questengine_active_count%
[*]EN: Shows the number of quests the player is currently working on.
[*]KR: 플레이어가 현재 진행 중인 퀘스트의 총 개수를 보여줍니다.
%questengine_completed_count%
[*]EN: Shows the total number of quests the player has successfully finished.
[*]KR: 플레이어가 지금까지 완료한 퀘스트의 총 개수를 보여줍니다.
%questengine_total_points%
[*]EN: Shows the sum of all quest points the player has earned so far.
[*]KR: 플레이어가 퀘스트를 통해 획득한 모든 포인트의 합계를 보여줍니다.
%questengine_active_list_ids%
[*]EN: Lists the IDs of all currently active quests, separated by commas.
[*]KR: 현재 진행 중인 퀘스트들의 ID 목록을 쉼표로 구분하여 나열합니다.
%questengine_completed_list_ids%
[*]EN: Lists the IDs of all completed quests, separated by commas.
[*]KR: 완료된 퀘스트들의 ID 목록을 쉼표로 구분하여 나열합니다.
%questengine_active_list_names%
[*]EN: Lists the display names of all currently active quests, separated by commas.
[*]KR: 현재 진행 중인 퀘스트들의 이름(DisplayName) 목록을 쉼표로 구분하여 나열합니다.
2. 진행 중 퀘스트 정보 (Active Quest by Index)
인덱스(번호)는 1번부터 시작하며, 해당 번호에 퀘스트가 없으면 빈 칸으로 출력됩니다.
%questengine_active_{index}_id%
[*]EN: Shows the unique ID of the quest at the specified position in the active list.
[*]KR: 진행 중인 목록에서 해당 번호에 위치한 퀘스트의 고유 ID를 출력합니다.
%questengine_active_{index}_name%
[*]EN: Shows the internal name of the quest at the specified position.
[*]KR: 해당 번호에 위치한 퀘스트의 내부 시스템 이름을 출력합니다.
%questengine_active_{index}_title%
[*]EN: Shows the colored display title of the quest at the specified position.
[*]KR: 해당 번호 퀘스트의 제목을 출력하며, 설정된 색상 코드가 적용됩니다.
%questengine_active_{index}_reward%
[*]EN: Shows the reward description text for the quest at the specified position.
[*]KR: 해당 번호 퀘스트의 보상 설명 텍스트를 출력합니다.
%questengine_active_{index}_points%
[*]EN: Shows how many points will be rewarded upon completing this quest.
[*]KR: 해당 번호 퀘스트 완료 시 지급될 포인트 수치를 보여줍니다.
%questengine_active_{index}_target%
[*]EN: Shows the total target amount required to complete the quest.
[*]KR: 해당 번호 퀘스트를 완료하기 위해 필요한 목표 총량을 보여줍니다.
%questengine_active_{index}_progress%
[*]EN: Shows the current progress amount of the quest at the specified position.
[*]KR: 해당 번호 퀘스트의 현재 진행 수치를 보여줍니다.
%questengine_active_{index}_percent%
[*]EN: Shows the progress of the quest as a percentage (e.g., 50%).
[*]KR: 해당 번호 퀘스트의 진행도를 백분율(예: 50%)로 보여줍니다.
%questengine_active_{index}_bar%
[*]EN: Shows a visual progress bar using colored square symbols.
[*]KR: 초록색과 회색 사각형 기호를 사용해 진행 상태를 막대 그래프로 보여줍니다.
%questengine_active_{index}_state%
[*]EN: Shows the current status of the quest (active, completed, or blank).
[*]KR: 해당 퀘스트의 현재 상태를 표시합니다. (진행중은 active, 완료는 completed, 그 외엔 빈칸)
3. 특정 퀘스트 정보 (Specific Quest by ID)
퀘스트 ID를 직접 입력하며, 존재하지 않는 ID일 경우 빈 칸으로 출력됩니다.
%questengine_qid_{quest_id}_id%
[*]EN: Returns the ID of the specified quest if it exists.
[*]KR: 지정한 ID의 퀘스트가 존재하면 해당 ID를 다시 반환합니다.
%questengine_qid_{quest_id}_title%
[*]EN: Shows the colored display title of the specific quest ID.
[*]KR: 지정한 ID를 가진 퀘스트의 제목을 색상 코드를 포함하여 출력합니다.
%questengine_qid_{quest_id}_progress%
[*]EN: Shows the player's current progress for the specific quest ID.
[*]KR: 지정한 ID의 퀘스트에 대해 플레이어가 현재 얼마나 진행했는지 수치를 보여줍니다.
%questengine_qid_{quest_id}_percent%
[*]EN: Shows the progress percentage for the specific quest ID.
[*]KR: 지정한 ID 퀘스트의 진행도를 퍼센트로 보여줍니다.
%questengine_qid_{quest_id}_bar%
[*]EN: Shows the visual progress bar for the specific quest ID.
[*]KR: 지정한 ID 퀘스트의 진행 상태를 막대 그래프로 보여줍니다.
%questengine_qid_{quest_id}_state%
[*]EN: Shows if the specific quest is currently active or completed.
[*]KR: 지정한 ID의 퀘스트가 현재 진행 중인지 완료되었는지를 상태값으로 보여줍니다.
%questengine_active_{index}_description%
[]EN: Shows the first line of the description for the quest at the specified position.
[]KR: 해당 번호 퀘스트의 설명 중 첫 번째 줄을 출력합니다.
%questengine_active_{index}_description_full%
[]EN: Shows the full description for the quest at the specified position, including line breaks.
[]KR: 해당 번호 퀘스트의 전체 설명을 줄바꿈을 포함하여 출력합니다.
%questengine_active_{index}_icon%
[]EN: Shows the material name of the icon for the quest at the specified position.
[]KR: 해당 번호 퀘스트 아이콘의 재질(Material) 이름을 출력합니다.
%questengine_active_{index}_cmd%
[]EN: Shows the CustomModelData value of the icon for the quest at the specified position.
[]KR: 해당 번호 퀘스트 아이콘의 CustomModelData(커스텀 모델 데이터) 값을 출력합니다.
%questengine_active_{index}_party%
[]EN: Shows whether the quest at the specified position can be shared with a party (true/false).
[]KR: 해당 번호 퀘스트가 파티와 공유 가능한지 여부(true/false)를 출력합니다.
%questengine_qid_{quest_id}_name%
[]EN: Shows the internal name of the specific quest ID.
[]KR: 지정한 ID 퀘스트의 내부 시스템 이름을 출력합니다.
%questengine_qid_{quest_id}_reward%
[]EN: Shows the reward description text for the specific quest ID.
[]KR: 지정한 ID 퀘스트의 보상 설명 텍스트를 출력합니다.
%questengine_qid_{quest_id}_points%
[]EN: Shows how many points will be rewarded upon completing the specific quest ID.
[]KR: 지정한 ID 퀘스트 완료 시 지급될 포인트 수치를 보여줍니다.
%questengine_qid_{quest_id}_target%
[]EN: Shows the total target amount required to complete the specific quest ID.
[]KR: 지정한 ID 퀘스트를 완료하기 위해 필요한 목표 총량을 보여줍니다.
%questengine_qid_{quest_id}_description%
[]EN: Shows the first line of the description for the specific quest ID.
[]KR: 지정한 ID 퀘스트의 설명 중 첫 번째 줄을 출력합니다.
%questengine_qid_{quest_id}_description_full%
[]EN: Shows the full description for the specific quest ID, including line breaks.
[]KR: 지정한 ID 퀘스트의 전체 설명을 줄바꿈을 포함하여 출력합니다.
%questengine_qid_{quest_id}_icon%
[]EN: Shows the material name of the icon for the specific quest ID.
[]KR: 지정한 ID 퀘스트 아이콘의 재질(Material) 이름을 출력합니다.
%questengine_qid_{quest_id}_cmd%
[]EN: Shows the CustomModelData value of the icon for the specific quest ID.
[]KR: 지정한 ID 퀘스트 아이콘의 CustomModelData 값을 출력합니다.
%questengine_qid_{quest_id}_party%
[]EN: Shows whether the specific quest ID can be shared with a party (true/false).
[]KR: 지정한 ID 퀘스트가 파티와 공유 가능한지 여부(true/false)를 출력합니다.
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.