TriggerReactor
TriggerReactor는 마인크래프트 서버에서 사건을 조건으로 스크립트를 실행하는 플러그인이다. 특정 블록을 누르거나 밟는 행동, 자체 명령, 구역 출입, 인벤토리 화면, Bukkit 이벤트, 일정한 실행 주기 등을 트리거로 만들 수 있다.[1]
구성
트리거는 스크립트를 언제 실행할지를 정하고, 실행자(executor)는 메시지 전송·명령 실행·아이템 지급처럼 실제 동작을 수행한다. 여기에 변수, 조건문, 반복문, 자리표시자와 Java 메서드 호출을 조합할 수 있다.[2]
주요 트리거는 다음과 같다.
| 종류 | 실행 조건과 용도 |
|---|---|
| 클릭·이동 | 지정한 블록을 클릭하거나 그 위를 걸을 때 실행한다. |
| 명령 | 새 서버 명령을 만들고 인자와 자동 완성을 처리한다. |
| 구역 | 선택한 직육면체 구역에 들어가거나 나올 때 실행한다. |
| 사용자 지정 | Bukkit 이벤트가 발생할 때 실행한다. |
| 인벤토리 | 아이콘을 누르는 방식의 GUI와 상호작용을 만든다. |
| 반복 | 지정한 시간 간격으로 실행하며 시작·정지·일시 정지를 제어한다. |
이름이 붙은 트리거는 여러 스크립트에서 공통 동작을 호출할 때 쓸 수 있다. PlaceholderAPI 확장과 연동하면 다른 플러그인의 값을 가져올 수 있고, Vault가 있으면 경제·권한 관련 실행자를 사용할 수 있다.[3]
설치와 첫 스크립트
서버에 맞는 JAR 파일을 plugins 폴더에 넣고 서버를 시작한다. 관리 명령의 기본 별칭은 /triggerreactor와 /trg이며, 전체 관리 권한은 triggerreactor.admin이다.[4]
스크립트 문장은 줄바꿈이나 세미콜론으로 구분한다. 문자열은 큰따옴표로 감싸며 실행자 이름 앞에는 #를 붙인다. /trg run은 트리거를 만들지 않고 짧은 스크립트를 시험할 수 있다.[5]
/trg run #MESSAGE "안녕하세요"
클릭 트리거를 만들려면 다음 명령을 입력한 뒤 대상 블록을 클릭한다.[6]
/trg click #MESSAGE "문을 열었습니다"
같은 위치의 트리거를 뼈로 웅크린 채 우클릭하면 편집할 수 있다. 뼈 왼쪽 클릭은 삭제, 가위와 종이는 잘라내기·복사와 붙여넣기에 사용되므로 운영 월드에서 도구를 들고 작업할 때는 대상 좌표를 먼저 확인해야 한다.
명령과 구역 트리거
/trg command <이름> <스크립트>로 자체 명령을 만든다. 명령 인자는 스크립트 내부 변수로 받아 조건을 나눌 수 있으며, /trg cmd <이름> settab ...으로 탭 완성 힌트와 후보도 설정할 수 있다. 기존 플러그인 명령과 같은 이름을 쓰면 어느 명령이 실행되는지 혼동할 수 있으므로 이름을 미리 확인한다.
구역 트리거는 /trg area toggle로 선택 모드를 켜고 두 지점을 정한 다음 생성한다.[4]
/trg area lobby create /trg area lobby enter #MESSAGE "로비에 들어왔습니다" /trg area lobby exit #MESSAGE "로비를 나갔습니다"
트리거는 기본적으로 비동기로 실행된다. 이벤트 취소나 서버 상태를 바꾸는 일부 Bukkit API는 동기 모드가 필요하며, 반대로 파일·데이터베이스처럼 오래 걸리는 작업을 동기 트리거에서 반복하면 서버 틱이 멈출 수 있다.[7]
반복 트리거
반복 트리거는 먼저 이름을 만들고 편집기에서 스크립트를 작성한 뒤 간격과 시작 방식을 정한다.[8]
/trg repeat notice /trg repeat notice interval 10m /trg repeat notice autostart /trg repeat notice status
스크립트 안의 trigger 값은 시작 시 init, 매 주기에는 repeat, 정지 시에는 stop이 된다. 초기화와 정리 동작을 반복 본문에서 분리할 때 사용한다. 지나치게 짧은 주기의 반복 트리거, 넓은 구역에서 실행되는 무거운 스크립트, 다른 명령을 연쇄 실행하는 트리거는 처리량과 재진입 여부를 시험 서버에서 확인하는 편이 안전하다.
관리와 문제 해결
/trg list는 트리거 목록을, /trg search는 현재 청크의 위치 트리거를 표시한다. /trg timings toggle로 측정을 시작한 뒤 print로 결과를 확인하면 느린 트리거를 찾을 수 있다. 파일을 직접 고쳤다면 /trg reload confirm으로 다시 불러오고, 메모리에 있는 변경을 파일에 즉시 저장하려면 /trg saveall을 사용한다.[4]
스크립트는 서버 권한으로 명령과 API를 호출할 수 있다. 이용자 입력을 그대로 콘솔 명령이나 메서드 인자로 전달하지 말고 허용할 값과 범위를 검사해야 한다. 복잡한 자동화는 기능별로 이름 붙은 트리거로 나누고 주석을 남겨야, 좌표 기반 파일과 이벤트 스크립트가 늘어났을 때 호출 관계를 추적하기 쉽다.
같이 보기
외부 링크
각주
- ↑ TriggerReactor, GitHub. 2026년 8월 5일 확인.
- ↑ TriggerReactor Wiki, GitHub. 2026년 8월 5일 확인.
- ↑ Executors, GitHub. 2026년 8월 5일 확인.
- ↑ 4.0 4.1 4.2 Commands and Permissions, GitHub. 2026년 8월 5일 확인.
- ↑ Basic Syntax, GitHub. 2026년 8월 5일 확인.
- ↑ Click and Walk Triggers, GitHub. 2026년 8월 5일 확인.
- ↑ Sync Mode, GitHub. 2026년 8월 5일 확인.
- ↑ Repeating Trigger, GitHub. 2026년 8월 5일 확인.