관련 문서: 마인크래프트/플러그인
1. 개요2. 설치 방법3. 명령어4. 표지판 명령어
4.1. 사용법
5. 콘피그6. 3D 모델4.1.1. 공통 변수
4.2. spawn4.3. property4.4. destroy4.5. blocker4.6. station4.7. destination4.8. blockchanger4.9. switcher4.9.1. 상세한 예시
4.10. detector4.11. trigger4.12. announce4.13. waiter4.14. effect4.15. ejector4.16. enter4.17. ticket4.18. elevator4.19. crafter4.20. teleporter4.21. launch4.22. transfer4.23. spawn time4.24. mutex4.25. skipper이 문서의 대부분은 트레인카트 위키(영문)을 참고하거나 번역하여 작성하였다.
1. 개요
마인크래프트 버킷용 플러그인으로 한국 서버에서는 트레인카트, 트카 등으로 불린다. 이 플러그인을 설치하면 마인크래프트에서 철도 환경을 구현할 수 있게 된다. 기본적으로는 그냥 사람을 운송하는 것으로 끝나지만 잘만 하면 실제 철도 환경을 구현할 수 있다. Traincarts는 대부분 표지판을 이용해 작동하지만 특별한 때에는 직접 명령어로 열차를 조정할 수 있다. 유사한 기능을 하는 포지 모드인 레일크래프트, 트레인크래프트 등과는 호환되지 않는다.2. 설치 방법
2.1. 기본 플러그인
- BKCommonLib를 필수 구성 요소로 사용하는 플러그인인 관계로, BKCommonLib를 내려받고 plugin 디렉토리에 위치시킨다.
- Traincarts를 내려받고 plugin 디렉토리에 위치시킨다.
2.2. 애드온
- SignLink
- TCHangRail
사용방법과 표지판 설치 방법은 위와 같다.
3. 명령어
모든 명령어는 /train을 베이스로 작동된다.열차와 상호작용을 하려면 열차에 타거나, 열차를 때리거나[1], 열차의 인벤토리[2]를 열면 된다.
3.1. list
사용법: /train list |
소환되어 있는 트레인카트 차량들의 목록을 띄워준다.
3.2. destroy
사용법 : /train destroy |
keeploaded true를 하지 않은 열차는 플레이어가 주변에 있지 않을 경우 제거되지 않는다.
3.3. destroyall
사용법 : /train destroyall |
keeploaded true를 하지 않은 열차는 플레이어가 주변에 있지 않을 경우 제거되지 않는다.
3.4. maxspeed
사용법 : /train maxspeed 속력 |
- 속력에는 속력을 쓴다.
3.5. info
사용법 : /train info |
열차가 위치한 좌표, 매개변수, 이름 등을 열차를 건드리지 않거나 직접 보지 않고도 알 수 있다.
3.6. tp
사용법 : /train tp |
playercollision이 kill인 열차와 상호작용을 했는데 이 명령어를 치면 끔살당할 수 있으니 playercollision을 바꾸던가 아니면 저항 효과를 쓰고 하던가 하자.
3.7. destination (dest)
사용법 : /train destination 목적지 |
- 목적지에는 목적지를 쓴다.
목적지 없이 /train destination만 쓰면 destination이 초기화 되어 버리니 조심하자.
4. 표지판 명령어
4.1. 사용법
기본적으로 Traincarts의 표지판 명령어는 선로를 받치고 있는 블록 옆과 블록 아래에 설치하여 적용한다. Traincarts 표지판의 기본은 항상 표지판 첫째줄에 [train] 또는 [cart]를 써야지만 발동이 된다. [cart]는 마인카트 각각이 표지판을 통과할때 발동이 되며[3] [train] 표지판은 붙어있는 카트들중 하나만 지나가도 모든 카트에 적용되게 된다. [train] 또는 [cart] 명령어는 필히 레드스톤 신호가 있어야만 발동하게 된다.[train]에서 응용된 것으로는 [!train], [+train]이 있다.
- [!train]은 기본 [train] 과 거꾸로 작동한다.[4]
- [+train]은 신호가 있던지 없던지 무조건 발동한다.
마찬가지로 [cart]또한 [!cart], [+cart]로 파생된다. 작동법은 그저 기준이 열차에서 카트로 바뀌었다 보면 된다.
시간의 단위는 시간, 분, 초이며 :으로 나뉘어진다. 분과 초만 쓰거나 초만 쓰는것도 가능하다. 예시로는 5:00. [5]
표지판 중첩이 가능한 표지판 명령어는 [train]이 작성된 표지판 밑에 추가로 글을 쓰기 위한 용도 등의 줄을 늘리는 것이 가능하다.
아래에 표시된 표지판에서 굵은 표시는 필수 입력이다.
4.1.1. 공통 변수
아래는 열차 변수와 그에 반응하는 감지 조건문.||<:>감지 조건문||<:>열차 변수||<:>값||<:>설명||
아래는 기타 감지 조건문.
아래는 "갈 방향"에 쓸 변수. station이나 blocker 등에 사용된다.
name | 텍스트 | 마인카트의 이름을 결정한다. #를 이름에 넣으면 1부터 시작하는 숫자를 넣을 수 있다.[6] 없을 때에는 자동으로 뒤에 숫자가 붙는다. | |
maxspeed | 숫자 | 마인카트의 속도를 조절한다. 속도는 기본적으로 0.4이며 이는 1초에 8블럭을 가는 것을 뜻한다. 0.1씩 증가한 값을 넣을수록 초속 2블록씩 속력이 증가한다. | |
slowdown | true/false [A] | 마인카트가 달릴 수록 속력이 줄어드는지 줄어들지 않는지 설정한다. 파워레일을 깔았다면 상관은 없지만 파워레일이 미관상 좋지 않다면 slowdown을 꺼두는게 좋다. | |
keeploaded | true/false [A] | 마인카트 주변에 플레이어가 없어도 움직이는지 설정한다. 특수한 경우가 아니라면 무조건 켜두는게 좋다. 하지만 이게 보통 기본값이 작동하지 않음이다. 불편하다면 콘피그를 수정하면 된다. | |
o@<소유자>[OR방식] | addowner | 닉네임 | 소유자를 추가한다. |
setowner | 닉네임 | 소유자를 설정한다. addowner와는 다르게, 있었던 소유자가 초기화 되고 다른 값으로 바뀐다. | |
remowner | 닉네임 | 값에 넣은 소유자를 제거한다. | |
<문자열>[OR방식] | addtag | 문자열 | 태그를 추가한다. |
settag | 문자열 | 태그를 설정한다. addtag와는 다르게, 있었던 태그가 초기화 되고 다른 값으로 바뀐다. | |
remtag | 문자열 | 값에 넣은 태그를 제거한다. | |
d@<목적지>[AND방식] | destination | 텍스트 | 목적지를 지정한다. owner과는 다르게 하나만 설정 가능하다. 아래 설명할 destination 명령어와 효과는 같다. |
mobenter | true/false [A] | 몹이 마인카트에 탈 수 있는지 결정한다. | |
playerenter | true/false [A] | 플레이어가 마인카트에 탈 수 있는지 결정한다. | |
playerexit | true/false [A] | 플레이어가 마인카트에서 내릴 수 있는지 결정한다. |
아래는 기타 감지 조건문.
감지 조건문 | 설명 |
i@<아이템코드 또는 아이템 영문명> | 이 열차가 이 아이템을 가지고 있는가? |
pi@<아이템코드 또는 아이템 영문명> | 이 열차에 타고있는 플레이어가 이 아이템을 가지고 있는가? |
ph@<아이템코드 또는 아이템 영문명> | 이 열차에 타고있는 플레이어가 이 아이템을 들고 있는가? |
default | 다른 조건문과 비교했을때 모두 성립되지 않는가? (기본) |
<숫자> | 이 방향으로 <숫자>번 간다. |
아래는 "갈 방향"에 쓸 변수. station이나 blocker 등에 사용된다.
방향 | 설명 |
left | 왼쪽 |
right | 오른쪽 |
continue | 진행 방향 대로 |
reverse | 진행 방향의 반대로 |
4.2. spawn
[train] |
spawn 시간 |
마인카트 구성 |
마인카트 구성 |
참고로, 같은 배차를 가진 열차는 같은 시각에 생성된다.[16] 같은 배차를 가진 열차가 너무 많을 경우 잠깐의 랙 혹은 서버의 팅김을 유발할 수 있으니 주의하자. 3:24, 6:26같이 최대한 배차가 겹치지 않도록 설정하는 것이 좋다.
문자 | 마인카트 종류 |
m | 기본 마인카트 |
s | 상자 마인카트 |
p | 화로 마인카트 |
h | 호퍼 마인카트 |
t | TNT 마인카트 |
4.3. property
[train] |
property |
설정 종류 |
값 |
아래는 충돌에 대한 설정이다.
설정 종류 | 설명 |
playercollision | 플레이어와 이 열차가 충돌하면 어떻게 대응할지 설정한다. |
mobcollision | 몹과 이 열차가 충돌하면 어떻게 대응할지 설정한다. |
misccollision | 플레이어, 몹 이외의 아이템 등의 엔티티에 이 열차가 충돌하면 어떻게 대응할지 설정한다. |
traincollision | 다른 열차와 이 열차가 충돌하면 어떻게 대응할지 설정한다. |
값 종류 | 설명 |
default | 기본값. 플레이어, 몹 등에 닿으면 멈춰버린다. 플레이어나 몹의 경우 열차를 밀게 할 수 있다. |
cancel | 아무 반응도 하지 않는다. 그냥 유령이 된듯이 통과. |
kill | 죽인다. 열차의 경우 열차가 아니라 카트 단위로 부서진다. |
enter | 탄다. 플레이어나 몹에 충돌할 경우에만 설정 가능하다. |
link | 연결한다. 열차와 충돌할 경우에만 설정 가능하다. |
4.4. destroy
[train] |
destroy |
4.5. blocker
[train] |
blocker |
풀린 후 대기 시간 |
풀린 후 갈 방향 |
4.6. station
[train] 또는 [cart] [17] |
station |
대기 시간 |
갈 방향 |
대기시간은 기본적으로 숫자를 쓰며, 초 단위다. 10 같은 숫자를 써넣으면 된다.
열차가 실제 가는 방향은 표지판을 쓰는 사람 기준이다. 안쓰면 영원히 멈춘다!
4.7. destination
[train] |
destination |
이 표지판으로 갈 목적지 |
새 목적지 지정 |
이 포지판 자체가 목적지이면서 목적지를 설정할 수 있게 한다. 새 목적지 지정은, 기존의 목적지에서 새 목적지로 변경할때 사용하므로, 목적지가 없는 상태에서 설정할 때에는
3번째 줄을 비워도 된다.
4.8. blockchanger
[train] |
blockchanger |
블록체인지 구성 |
블록체인지 구성 |
블록체인지 구성은 기본적으로 "갯수*아이템코드", "아이템코드"이며 다른 블럭끼리 구별은 ;로 한다. 카트 개수보다 적게하면 블록체인지 구성이 반복되는 형식으로 정해진다.[18]
4.9. switcher
[train] |
switcher |
값 |
값 |
값에 사용되는 방향 (표지판을 보는 사람 기준)
방향 | 설명 |
n: | north, 북쪽 |
s: | south, 남쪽 |
e: | east, 동쪽 |
w: | west, 서쪽 |
f: | front, 앞쪽 |
l: | left, 왼쪽 |
r: | right, 오른쪽 |
u: | up, 위쪽 |
d: | d, 아래쪽 |
선로를 분기할 수 있게 하는 표지판이다. 표지판 중첩이 가능하다. 값에는 방향이 앞에 들어가고 뒤에 목적지, 소유자 등의 조건문을 써넣으면 된다.
switcher 표지판을 작동시키려면, 선로 분기기로 만들 커브 옆 혹은 아래에 표지판을 설치하면 된다.
4.9.1. 상세한 예시
[train] |
switcher |
l:d@나무위키 |
r:!d@나무위키 |
[train] |
switcher |
l:o@나무 |
u:o@위키 |
[train] |
switcher |
l:d@인천 |
l:d@동인천 |
r:d@광명 |
r:d@서동탄 |
r:d@신창 |
l:default |
특별한 경우에는 d@, o@를 섞어써도 크게 문제는 없다.
만약 조건문이 부정이라면 d@, o@등 열차 변수 비교자 앞에 !를 써넣으면 된다.
4.10. detector
[train] |
detector |
값 |
값 |
조건문은 위의 switcher 문단을 참고.
설치법은 다음 사진과 같다. 두 개의 detector 표지판을 마주보게 하면 구간 감지 완성.
급행을 통과시키는 데도 쓸 수 있다. station 표지판을 레드스톤이 들어오면 꺼지게 하는 [!train]으로 한 다음 detector 조건문으로 급행을 감지하게 한 다음 레드스톤을 표지판으로 연결하면 된다.
WirelessRedstone 등 무선 레드스톤 플러그인과 연동하면 CTC 시스템도 구현할 수 있다.
4.11. trigger
[train] |
trigger |
트리거 이름 |
값 |
4.12. announce
[train] |
announce |
텍스트 |
텍스트 |
주의할 것은 위의 줄에서 아랫줄로 입력을 이어갈때 자동으로 공백이 생성되지가 않으므로 수동으로 띄어쓰기를 입력해줘야 한다. 표지판 중첩이 가능하기에 안내방송 길이가 길어져도 문제가 되지는 않는다.
4.13. waiter
[train] |
waiter 거리 |
풀린 후 대기 시간 |
4.14. effect
[train] |
effect |
값 |
값 |
4.15. ejector
[train] 또는 [cart] |
eject |
상대값 |
기차에 탄 플레이어를
[train] 은 열차 모든 칸의 플레이어를 내보낸다.
[cart] 는 표지판을 지나는 카트의 플레이어를 내보낸다.
상대값은 aa/bb/cc 이며
aa 는 앞 뒤 중 쫓아낼 방향을 설정한다. 열차 진행 방향을 기준으로 양수가 앞이다.
bb 는 위 아래 중 쫓아낼 높이를 설정한다. 양수가 위이다.
cc 는 왼쪽 오른쪽 중 쫓아낼 방향을 설정한다. 열차 진행 방향을 기준으로 양수가 왼쪽이다.
4.16. enter
[train] |
enter 태울 시간 |
태울 대상 |
yes/no |
Enter 뜻 그대로 태우는 것이다. 태울 시간은, 주위에 몹이 더 올 경우를 대비해 놓은 것 같다. 쓸 때에는 10초면 10s와 같이 쓰면 되는 것 같다. 태울 대상에는 players, mobs 등을 써넣으면 된다. 둘다 태우고 싶을 경우에는 두개 다 한줄에 쓰면 된다.(띄어쓰기로 구분)
4.17. ticket
[train] |
ticket |
속성 |
액수 |
Essential’s economy 플러그인이 필요하다.
이 표지판을 통과하는 순간 해당 유저의 보유금에서 설정한 액수만큼 돈이 빠져나간다. 돈이 부족하다면 강제로 내려진다.
속성 항목에는 add, buy, check가 있다. add는 돈을 주는 것 같고 buy는 표를 사게 하는 것 check는 돈의 잔량을 확인하는 것으로 추정된다. 액수 항목에는 그대로 액수를 써주면 된다(가격)
4.18. elevator
[train] |
elevator |
본 내용은 elevator로 이렇게 사용이 가능하다.
elevator를 station 처럼 밑에다가 설치해주고, 윗층에서도 elevator를 설치하여주면, 열차가
뭔가 롤러코스터,엘리베이터 나 그런거 구현할때 좋을것 같다.
4.19. crafter
[train] |
crafter |
갯수 아이템 코드 |
상자 마인카트가 지나갈때 상자 마인카트에
아이템을 조합할수있는 재료가 있으면 조합해서 도로 넣는다.
갯수를 명시하면 몇개를 조합할지 설정할수 있다.
아이템 코드에는 아이템 이름이나 코드를 넣으면 된다
4.20. teleporter
4.21. launch
[train] |
launch 블록 |
목표 속도 |
continue |
launch 는 그 블록수에 도달하기 전까지 목표 속도 를 내주는 기능을 한다. [19]
이 기능으로 가감속을 부드럽게 재현할수있다.
예를 들어 아래와 같이
[train] |
launch 5 |
0 |
continue |
라고 표지판에 작성한다면 5블록을 지나칠 동안 속도가 0으로 바뀌게 된다.
5번째 블록에 station 표지판을 설치하면 자연스럽게 정차시킬수있다.
출처 : https://wiki.traincarts.net/p/TrainCarts/Signs/Launcher
4.22. transfer
4.23. spawn time
[train] |
waiter spawn (시간) |
열차 칸 수 |
시간에 마추어 자동으로 스폰이 되는 명령어다. 교행열차에 많이 쓰인다. 시간은 1:00으로 적을시 1분, 30으로 적을시 30초로 설정이 된다.
4.24. mutex
[train] |
mutex x/y/z |
열차가 이 표지판으로 지정한 구역 안에 있으면 다른 열차를 멈추고 그 열차가 다 지나갔으면 다시 운행하도록 하는 표지판이다. x/y/z는 x/y/z칸만큼 이 표지판 기준으로 x/y/z에 적은 칸 만큼 양수 방향에서 음수 방향까지 설정한다.
4.25. skipper
[train] |
skip |
조건문 |
조건문 |
이 두 조건문에 충족하는 열차는 바로 앞 표지판을 무시한다. 급행을 통과할 때 좋을 거 같다. 만일 조건문이 없는 상태로 작성을 완료한다면 모든 열차가 바로 앞 표지판을 무시한다.
5. 콘피그
밑의 문단에서는 기본적인 콘피그의 정보를 작성한다.5.1. 기본 콘피그
- normal (일반)
- cartDistance : 열차에서 카트끼리 벌어지는 거리. 블럭 단위로 작성하고 기본값은 1.5.
- cartDistanceForcer : 열차에서 카트끼리 가까워졌다 멀어졌다 하는 거리. 블럭 단위로 작성하고 기본값은 0.1.
- turned (곡선)
- cartDistance : 곡선에서 열차에서 카트끼리 벌어지는 거리. 블럭 단위로 작성하고 기본값은 1.6.
- cartDistanceForcer : 곡선에서 열차에서 카트끼리 가까워졌다 멀어졌다 하는 거리. 블럭 단위로 작성하고 기본값은 0.2.
- nearCartDistanceFactor : 카트가 가까워지는 최대 값. 기본값은 1.2.
- maxCartDistance : 카트가 멀어지는 최대 값. 기본값은 4.0.
- breakCombinedCarts : 기본값은 false.
- poweredCartBoost : 화로에 석탄을 넣은 열차에 추가되는 속도. 기본값은 0.1.
- poweredRailBoost : 파워레일 위를 달리는 열차에 추가되는 속도. 기본값은 0.06.
- maxVelocity: 최고 속도. 기본값은 5.0.
- slowDownMultiplier (slowdown 허용시 감속도)
- normal : 기본값은 0.997.
- slow : 기본값은 0.96.
- maxEjectDistance : eject 표지판 명령어를 이용했을때 내리는 최대 거리. 기본값은 10.0.
- launchForce: 역에서 열차가 출발할때 주는 힘. 기본값은 10.0.
- collision (열차가 충돌하는 것을 허용하는지에 대한 값)
- ignoreOwners : 소유자와 충돌 무시. 기본값은 false.
- ignoreGlobalOwners : 공용 열차 소유자와 충돌 무시. 기본값은 false.
- pushAwayForce : 무언가를 밀었을 때(push)의 힘. 기본값은 0.2.
- allMinecartsAreTrainCarts : 모든 마인카트를 트레인카트 플러그인으로 관리하는지에 대한 설정. 기본값은 false.
- useCoalFromStorageCart: 화로카트가 상차카트에서 석탄을 가져다 쓰는지에 대한 설정. 기본값은 false.
5.2. 카트 기본설정 콘피그
(defaulttrainproperties.ymi 파일이다.)- keepChunksLoaded : 맨위 설정 목록 표 중 청크로딩에 해당하는 부분이다.이 부분을 true로 수정하면 된다.
- speedLimit : 속도에 해당하는 부분이다.0.1은 초속 2m(2블럭)이며 기본값은 0.4이다.
- slowdown : 카트가 가면서 (파워레일 없이)점점 느려지는 지에 대한 여부.
- conllision : 몹,플레이어,엔티티,열차가 접촉했을 때 반응이다.역시나 위에 나온다.(properties 문단.)
- owners : [ ] 소유자를 설정한다.기본 값은 대괄호 사이에 비어있다.
- tags : [ ] 소유자와 같은 형식이다. 기본 값은 역시 비어있다.
- allowPlayerEnter(/Exit) : 플레이어가 열차를 탈 수 있는지(,내릴 수 있는지)의 대한 여부.기본값은 둘 다 True
6. 3D 모델
[20]
플러그인의 기능을 응용하여 3D로 보이는 열차를 만들 수 있다. Blockbench를 이용해 모델링하여 json 확장자로 추출된 파일을 가지고 금곡괭이를 대체하여 만드는 원리이다.
이런식으로 마인크래프트 순수 블럭만으로도 이렇게 기차를 만들수 있다. 해당 편집할 열차에 탑승하고 내린뒤 /train attachments 라는 명령어를 치면 지도가 뜨면서 열차를 꾸밀수가 있다.
[1] 도끼, 곡괭이, 칼, 삽 등의 도구로 때리지 말자. 열차가 끊길 수도 있다.[2] 상자 카트, 호퍼 카트[3] 일부는 카트 하나로 작동을 시켰으면 같은 열차로 처리되는 다음 카트는 표지판의 영향을 받지 않는다.[4] 신호가 있으면 작동을 하지 않고, 없으면 작동을 한다.[5] 물론 5분을 뜻한다.[6] 01, 02 같이 미리 2자리 수 이상에 0을 넣는건 불가능하다.[A] true는 예, false는 아니오[A] true는 예, false는 아니오[OR방식] or 기준이라 요구하는 값이 있기라도 할 경우에는 참으로 판단한다. 또한, 열차 하나에 변수를 여러개 넣을 수 있다.[OR방식] [AND방식] and 기준이며, OR방식의 변수와는 다르게 하나만 지정이 가능하다.[A] true는 예, false는 아니오[A] true는 예, false는 아니오[A] true는 예, false는 아니오[15] 표지판 한줄당 22칸, 표지판에는 2줄의 여백이 있으므로 22*2=44.[16] 예를 들어 배차(두번째줄에 쓴 시간)가 3:00인 모든 열차가 오후 12시에 한번 생성되었다면 3분 후인 오후 12시 3분에 또다시 모든 열차가 동시에 생성[17] train 을 쓰면 열차 중간이 표지판에 멈추고 cart 를 쓰면 맨 앞이 표지판에 멈춘다.[18] 예시 : 5*5;44 → 목재 5개와 반블럭 하나[19] train 을 쓰든 cart 를 쓰든 상관없다.[20] 해당 열차는 조반선 미토 이북에서 운행중인 E501계 전동차이다.