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를 호출할 수 있다. 이용자 입력을 그대로 콘솔 명령이나 메서드 인자로 전달하지 말고 허용할 값과 범위를 검사해야 한다. 복잡한 자동화는 기능별로 이름 붙은 트리거로 나누고 주석을 남겨야, 좌표 기반 파일과 이벤트 스크립트가 늘어났을 때 호출 관계를 추적하기 쉽다.

같이 보기

외부 링크

각주

  1. TriggerReactor, GitHub. 2026년 8월 5일 확인.
  2. TriggerReactor Wiki, GitHub. 2026년 8월 5일 확인.
  3. Executors, GitHub. 2026년 8월 5일 확인.
  4. 4.0 4.1 4.2 Commands and Permissions, GitHub. 2026년 8월 5일 확인.
  5. Basic Syntax, GitHub. 2026년 8월 5일 확인.
  6. Click and Walk Triggers, GitHub. 2026년 8월 5일 확인.
  7. Sync Mode, GitHub. 2026년 8월 5일 확인.
  8. Repeating Trigger, GitHub. 2026년 8월 5일 확인.