8000 Getting Started_kr · TriggerReactor/TriggerReactor Wiki · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Pro_Snape edited this page Oct 12, 2019 · 6 revisions

시작하기

개요

Trigger Reactor (TR) 은 크게 두 요소로 이루어져 있습니다: Trigger(트리거)Script(스크립트) 입니다

Trigger(트리거)

트리거는 말그대로 서버에 어떠한 사건이 발생 했을 때 반응하게 해주는 장치로 이 트리거가 스크립트를 실행 해주는 역할을 합니다. 예를들어 특정 블록 위를 걸어가는 사건에 대해 스크립트를 실행하게 하려면 Walk Trigger 를 사용 하게 됩니다. 해당 블록에 Walk Trigger가 설정 되면 이후 플레이어가 이 블록 위에 올라 섰을 때 해당 트리거의 스크립트가 실행이 되게 됩니다. 직접 한번 해볼까요?

  1. 게임내에서 /trg w #MESSAGE "안녕!" 명령어를 칩니다
  2. Walk Trigger를 설정 할 블록을 클릭 합니다
  3. 설정이 완료 되었다면 해당 블록 위로 걸어봅니다.

만약 설정이 제대로 되었고 스크립트가 정상이라면 안녕! 이라는 메시지를 볼 수 있습니다.

참고: 설정된 트리거를 블록에서 삭제 하려면 뼈다귀를 들고 해당 블록을 좌클릭 하면 됩니다. 혹은 직접 플러그인 폴더 내에서 삭제 후 리로드 하는 방법도 있습니다.

Script(스크립트)

스크립트는 흔히 말하는 코드로 TR이 어떤 작업을 하게 할 지 명령을 내리는 부분 입니다. 위의 예시에서는 #MESSAGE "안녕!" 부분이 바로 그 스크립트 인데 #MESSAGE executor를 사용해서 플레이어에게 메시지를 보내는 코드 입니다.

스크립트에는 아래의 것들이 들어 갈 수 있습니다:

  • Executor
  • Placeholder
  • Variables
  • Condition
  • Array
  • Loop

유용한 팁:

트리거를 만들지 않고 스크립트만을 바로 실행 해 볼 수 있습니다. /trg run <스크립트> 명령어를 이용하면 임시 트리거를 이용해서 바로 스크립트를 실행 해 볼 수 있습니다. 스크립트 내에서 오류가 나는 경우 이 명령어를 이용하면 원인을 찾아 볼 떄 유용합니다.

예제:

/trg run #MESSAGE "나는 "+$playername+" 이다!"

여러줄의 코드를 동시에 실행 하려면

/trg run #MESSAGE "크리퍼를 소환합니다."; #SPAWN "CREEPER"

Executor(커맨드)

Executor는 간단하게 복잡한 코드 없이 어떠한 작업을 하기 위해 사용합니다. #이 붙은 것들이 그것인데요, 월드 시간을 변경 하거나 텔레포트를 하거나 하는 것들이 가능합니다.

  • #MESSAGE
  • #SPAWN

사용 가능한 Executor들은 이곳에서 찾아 볼 수 있습니다: Executors ()


Placeholder

Placeholder는 해당 트리거와 관련된 정보를 참조 하기 위해 사용 됩니다. 예를들어 트리거를 작동시킨 플레이어의 이름을 가져오거나 하는 것이 가능합니다.

  • $playername

사용 가능한 Placeholder들은 이곳에서 찾아 볼 수 있습니다: Placeholders ()


TR이 스크립트를 읽는 방식에 대해 알아봅시다

Trigger Reactor가 스크립트를 실행 할 때는 모든 코드는 왼쪽에서 오른쪽으로 그런다음 위에서 아래로 진행 됩니다.

#MESSAGE "첫번째"; #MESSAGE "두번째"
#MESSAGE "세번째"

각 코드를 나누는 방법

두개 이상의 코드를 작성 하는 경우 세미콜론(;) 혹은 엔터 로 나눌 수 있습니다. 위의 예제의 경우 첫번째 줄에 ; 로 두개의 코드를 나누어 주고 있고 또 세번째 코드는 아랫줄에 작성되었으므로 총 3개의 코드가 있는것을 알 수 있습니다. 실행시 순서대로 메시지가 출력 될 것 입니다. (첫번째, 두번채, 세번째)

스크립트 문법

스크립트에는 특정한 문법이 있으며 이 문법을 따르지 않는 경우 스크립트가 작동하지 않습니다. 이 경우 에러 메시지가 출력되는데 문법을 알맞게 고치면 정상적으로 작동되게 됩니다.

데이타 종류

Trigger Reactor에서 사용가능한 데이타 종류로는 기본적으로 3가지가 있습니다:

  • Number(숫자) -- 말 그대로 숫자
  • String(문자열) -- 문장 혹은 텍스트 등
  • Boolean(불리언) -- true,false

숫자

숫자의 경우 사칙연산이 가능합니다. 사칙연산의 순서의 경우 수학의 그것과 같은 순서 입니다.

연산자 용도 예제 결과
+ 덧셈 10 + 2 12
- 뺄셈 10 - 2 8
* 곱셈 10 * 2 20
/ 나눔셈 10 / 2 5
() 괄호 10 * (3 - 2) 10
% 모듈로(나눈 나머지) 11 % 2 1

문자열

모든 문자열은 반드시 큰 따옴표 안에 들어있어야 합니다. 만약 문자열을 큰 따옴표로 감싸지 않는다면 TR은 이것을 지역 변수 또는 숫자 라고 생각 하고 처리 하게 됩니다.

숫자에서 처럼 + 연산자가 문자열에서도 사용 될 수 있는데 이는 문자열을 연결 하는 것 이지 더하라는 뜻이 아닙니다.

예를들어:

  • "내 이름은 " + "밥 이다." 는 스크립트 실행 시 내 이름은 밥 이다.
  • "나는 " + 10 + " 살 이다." 는 스크립트 실행 시 나는 10 살 이다.

불리언

불리언은 true 혹은 false만을 나타내는 특수한 종료의 데이타 입니다. 주로 조건문에 사용됩니다.

주석

주석은 TR 이 스크립트를 읽을 때 특정 부분을 무시하게 할 때 사용합니다. 주석의 경우 TR이 완전히 무시 하기 때문에 여기에 있는 코드는 무조건 실행되지 않습니다. 임시적으로 일정 코드를 제외하고 싶다거나 자신이 만든 코드에 설명을 붙이고 싶을때 유용합니다

주석을 설정하려면 두가지 방법이 있습니다:

한줄 주석

한 줄 전체를 모두 주석으로 만듭니다. 해당 코드의 맨 앞에 슬래쉬를 두개 붙이세요

//#MESSAGE "이것은 주석 처리 된 코드 입니다. 실행 되지 않습니다."

여러줄 주석

한줄 또는 여러줄을 한번에 주석으로 만듭니다. 주석을 시작하는 부분에 /* 를 넣고 끝나는 지점에 */ 를 넣어줍니다.

/*#MESSSAGE "이 코드는 실행 되지 않습니다."
#MESSAGE "이 코드 역시 무시됩니다."*/

Plugin Description / 목차

1. Getting Started () (рус)

S.L. In-game Editor () (рус)

2. Triggers () (рус)

List and usage of Triggers / 트리거 목록과 사용 방법:

  • List of Executors / 실행자(Executor) 목록

4. Placeholders () (рус)

  • Using PlaceholderAPI / PlaceholderAPI 사용법
  • List of Placeholders / 플레이스 홀더(Placeholder) 목록

5. Conditions () (рус)

  • Creating Conditions / 조건식 만들기
    • Boolean Expressions / 부울 (Boolean) 표현 방법
  • Logical Operators / 연산자 사용법
  • IF statement / IF 조건문
  • Null Checking / Null 검사법
  • Switch Case / Switch Case 조건

6. Variables () (рус)

  • Local Variables / 지역 변수
  • Global Variables / 전역 변수

Advanced

Timings () (рус)

7. Methods () (рус)

  • Using Methods / 메소드 사용법
  • Special Data Types / 특수한 데이터 형식
  • Reading Javadocs / Javadoc 읽기
  • Handling Enum / Enum 데이터 처리
  • Lambda Expresion / Lambda(람다) 식 사용법

8. Array () (рус)

  • Creating an empty array / 빈 배열 만들기
  • Storing data into array / 배열에 데이터값 저장하기
  • Read data from array / 배열에서 데이터 읽기(불러오기)

9. Loops () (рус)

  • WHILE loop / WHILE 반복문
  • FOR loop / FOR 반복문
    • Iterating Collection / Collection 형식의 변수 순회법
    • #BREAK executor / #BREAK 실행자
    • #CONTINUE executor / #CONTINUE 실행자

10. Sync Mode () (рус)

  • #CANCELEVENT executor / #CANCELEVENT 실행자
  • Setting Sync/Async Mode / 동기, 비동기 모드 전환
    • Custom Trigger
    • Area Trigger

11. Custom Executors () (рус)

12. Plugin Access () (рус)

  • Check And Use / 플러그인 존재여부 확인
    • Get Third Party Plugin / 제 3자 플러그인 불러오기
    • Check Eligibility / 호환성 확인하기
    • Use the Plugin / 플러그인 사용하기

13. IMPORT Statement () (рус)

  • Creating new instance / 새 인스턴스 생성하기
  • Accessing static method / 종속 메소드 불러오기
  • Accessing static field / 종속 Enum 불러오기

14. IS Statement () (рус)

  • Understanding / 이해하기
    • Understanding Instance / 인스턴스 이해하기
    • Understanding Superclass / 부모클래스 이해하기
    • Understanding Subclass / 자식클래스 이해하기
  • Using IS Statement / IS조건연산자 사용하기

15. TRY-CATCH Statement () (рус)

  • Understanding TRY-CATCH Exception Handling / TRY-CATCH 예외처리 이해하기

Misc

16. Interface Casting () (рус)

module x.x does not "opens x.x" problem

  • List of Custom Events

Examples

Trigger

Trigger Example () (рус)

More Examples: Bukkit, Sponge

Case Specific

Clone this wiki locally
0