트카
,
,
,
,
,
,
,
,
,
은(는) 여기로 연결됩니다. 1. 개요
마인크래프트 버킷용 플러그인으로 한국 서버에서는 트레인카트, 트카 등으로 불린다. 이 플러그인을 설치하면 마인크래프트에서 철도 환경을 구현할 수 있게 된다. 기본적으로는 그냥 사람을 운송하는 것으로 끝나지만 잘만 하면 실제 철도 환경을 구현할 수 있다. Traincarts는 대부분 표지판을 이용해 작동하지만 직접 명령어로 열차를 조작할 수도 있다. 유사한 기능을 하는 포지 모드인 레일크래프트, 트레인크래프트 등과는 호환되지 않는다.이 문서의 대부분은 트레인카트 위키(영문)을 참고하거나 번역하여 작성하였다.
2. 설치 방법
2.1. 기본 플러그인
- BKCommonLib를 필수 구성 요소로 사용하는 플러그인인 관계로, BKCommonLib를 내려받고 plugin 디렉토리에 위치시킨다.
- Traincarts를 내려받고 plugin 디렉토리에 위치시킨다.
2.2. 애드온
- SignLink - 표지판 여러 개를 연결해 사용할 수 있게 해주며 일부 기능에서 필요로 한다.
- TCHangRail - 메달린 열차를 만들 수 있게 해준다. 이를 이용해 현수식 모노레일같은 것을 구현할 수 있다. 사용방법과 표지판 설치 방법은 아래 사진과 같다.
3. 명령어
모든 명령어는 /train 뒤에 사용한다.list와 destroyall 명령어를 제외한 명령어들은 플레이어와 최근 상호작용이 이루어진 열차를 대상으로 한다. 열차와 상호작용을 하려면 열차에 타거나, 열차를 때리거나[1], 열차의 인벤토리[2]를 열면 된다.
명령어 | 설명 | 비고 |
list | 소환되어 있는 트레인카트 차량들의 목록을 띄워준다. 열차에 타지 않고도 사용할 수 있다. | |
destroy | 열차를 제거하는 명령어이다. | [3] |
destroyall | 맵에 있는 모든 열차를 제거하는 명령어이다. 콘솔에서도 작동된다. | |
maxspeed <속력> | 열차의 최대 속력을 조절하는 명령어이다. | |
info | 열차의 좌표, 매개변수, 이름 등 정보를 알려주는 명령어이다. 열차를 건드리지 않거나 직접 보지 않고도 알 수 있다. | |
tp | 열차로 텔레포트하는 명령어이다. playercollision이 kill인 열차로 tp되면 끔살당할 수 있으니 playercollision을 바꾸거나 저항 효과를 쓰고 하자. | |
destination (dest) <목적지> | 열차의 목적지를 바꾸는 명령어이다. <목적지> 없이 /train destination만 쓰면 목적지가 초기화된다. |
4. 표지판 명령어
기본적으로 Traincarts의 표지판 명령어는 선로를 받치고 있는 블록 옆과 블록 아래에 설치하여 적용한다. Traincarts 표지판의 기본은 항상 표지판 첫째 줄에 [train] 또는 [cart]를 써야만 작동한다. [cart]는 마인카트 각각이 표지판을 통과할 때 발동이 되며[4] [train] 표지판은 붙어있는 카트들 중 하나만 지나가도 모든 카트에 적용되게 된다. [train] 또는 [cart] 명령어는 필히 레드스톤 신호가 있어야만 발동하게 된다.[train]에서 응용된 것으로는 [!train], [+train]이 있다.
- [!train]은 기본 [train] 과 거꾸로 작동한다.[5]
- [+train]은 신호가 있던지 없던지 무조건 발동한다.
마찬가지로 [cart]또한 [!cart], [+cart]로 파생된다. 작동법은 그저 기준이 열차에서 카트로 바뀌었다 보면 된다.
시간의 단위는 시간, 분, 초이며 :으로 구분한다. 분과 초만 쓰거나 초만 쓰는 것도 가능하다. 예시로는 5:00(5분).
표지판 중첩이 가능한 표지판 명령어는 [train]이 작성된 표지판 밑에 추가로 글을 쓰기 위한 용도 등의 줄을 늘리는 것이 가능하다.
아래에 표시된 표지판에서 굵은 표시는 필수 입력이다.
4.1. 공통 변수
아래는 열차 변수와 그에 반응하는 감지 조건문.||<tablebgcolor=#fff,#1c1d1f><rowbgcolor=#ddd,#333><width=110> 감지 조건문 || 열차 변수 || 값 || 설명 ||
아래는 기타 감지 조건문.
아래는 "갈 방향"에 쓸 변수. station이나 blocker 등에 사용된다.
name | 텍스트 | 마인카트의 이름을 결정한다. #를 이름에 넣으면 1부터 시작하는 숫자를 넣을 수 있다.[6] 없을 때에는 자동으로 뒤에 숫자가 붙는다. | |
maxspeed | 숫자 | 마인카트의 속도를 조절한다. 속도는 기본적으로 0.4이며 이는 1초에 8블럭을 가는 것을 뜻한다. 0.1씩 증가한 값을 넣을수록 초속 2블록씩 속력이 증가한다. | |
slowdown | true/false | 마인카트가 달라며 마찰 등으로 인한 감속을 켤지 결정한다. 파워레일을 깔았다면 상관은 없지만 파워레일이 미관상 좋지 않다면 slowdown을 꺼두는게 좋다. | |
keeploaded | 마인카트 주변에 플레이어가 없어도 움직이는지 설정한다. 특수한 경우가 아니라면 무조건 켜두는게 좋다. 하지만 기본값이 작동하지 않음이다. | ||
o@<소유자> [OR방식] | setowner | 닉네임 | 소유자를 설정한다. 추가가 아닌 지정으로, 이전 값이 덮어쓰기된다. |
addowner | 소유자를 추가한다. | ||
remowner | 값에 넣은 소유자를 제거한다. | ||
<문자열> [OR방식] | settag | 문자열 | 태그를 설정한다. 추가가 아닌 지정으로, 이전 값이 덮어쓰기된다. |
addtag | 태그를 추가한다. | ||
remtag | 값에 넣은 태그를 제거한다. | ||
d@<목적지> [AND방식] | destination | 텍스트 | 목적지를 지정한다. owner과는 다르게 하나만 설정 가능하다. 아래 설명할 destination 명령어와 효과는 같다. |
mobenter | true/false | 몹이 마인카트에 탈 수 있는지 결정한다. | |
playerenter | 플레이어가 마인카트에 탈 수 있는지 결정한다. | ||
playerexit | 플레이어가 마인카트에서 내릴 수 있는지 결정한다. |
아래는 기타 감지 조건문.
감지 조건문 | 설명 |
i@<아이템코드 또는 아이템 영문명> | 이 열차가 이 아이템을 가지고 있는가? |
pi@<아이템코드 또는 아이템 영문명> | 이 열차에 타고있는 플레이어가 이 아이템을 가지고 있는가? |
ph@<아이템코드 또는 아이템 영문명> | 이 열차에 타고있는 플레이어가 이 아이템을 들고 있는가? |
default | 다른 조건문과 비교했을때 모두 성립되지 않는가? (기본) |
<숫자> | 이 방향으로 <숫자>번 간다. |
아래는 "갈 방향"에 쓸 변수. station이나 blocker 등에 사용된다.
방향 | 설명 |
left | 왼쪽 |
right | 오른쪽 |
continue | 진행 방향 대로 |
reverse | 진행 방향의 반대로 |
4.2. 열차
spawn - 열차 생성[train] |
spawn <시간> <속도> |
<마인카트 구성> |
<마인카트 구성> |
<시간>에 생성될 시간 간격을 입력하며, 같은 배차를 가진 열차는 같은 시간마다 생성된다.[11] 같은 배차를 가진 열차가 너무 많을 경우 랙 혹은 서버의 튕김을 유발할 수 있으니 주의하자. 3:24, 6:26같이 최대한 배차가 겹치지 않도록 설정하는 것이 좋다.
<속도>에는 생성 후 출발 속도를 실수로 지정할 수 있다. 예를 들어 0.5로 설정하면 열차 생성 후 초속 10블럭(10m/s)의 속도로 출발하게 된다.
<마인카트 구성>에 아래 문자를 조합해 열차 편성을 만들 수 있다. 예를 들어 mmmm이나 4m으로 입력해 4량짜리 기본 마인카트 열차를 만들 수 있고, msms또는 2[ms]라고 입력해 기본-상자-기본-상자 마인카트 열차를 만들 수 있다.
문자 | 마인카트 종류 |
m | 기본 마인카트 |
s | 상자 마인카트 |
p | 화로 마인카트 |
h | 호퍼 마인카트 |
t | TNT 마인카트 |
e | 스포너 마인카트 |
더 많은 블럭 또는 도색을 원한다면 blockchanger을 쓸 수 있다. 다만 spawn에서 설정한 카트의 기능은 바뀌지 않기에 적절히 배치해주어야 한다.
destroy - 열차 제거
[train] |
destroy |
|
|
property - 열차 속성 설정
[train] |
property |
<설정 종류> |
<값> |
아래는 충돌에 대한 설정이다.
설정 종류 | 설명 |
playercollision | 플레이어와 이 열차가 충돌하면 어떻게 대응할지 설정한다. |
mobcollision | 몹과 이 열차가 충돌하면 어떻게 대응할지 설정한다. |
misccollision | 플레이어, 몹 이외의 아이템 등의 엔티티에 이 열차가 충돌하면 어떻게 대응할지 설정한다. |
traincollision | 다른 열차와 이 열차가 충돌하면 어떻게 대응할지 설정한다. |
값 종류 | 설명 |
default | 기본값. 플레이어, 몹 등에 닿으면 멈춰버린다. 플레이어나 몹의 경우 열차를 밀게 할 수 있다. |
cancel | 아무 반응도 하지 않는다. 그냥 유령이 된듯이 통과. |
kill | 죽인다. 열차의 경우 열차가 아니라 카트 단위로 부서진다. |
enter | 탄다. 플레이어나 몹에 충돌할 경우에만 설정 가능하다. |
link | 연결한다. 열차와 충돌할 경우에만 설정 가능하다. |
blockchanger - 열차 외관 설정
[train] |
blockchanger |
<블록체인지 구성> |
<블록체인지 구성> |
<블록체인지 구성>은 기본적으로 "갯수*아이템코드", "아이템코드"이며 다른 블럭끼리 구별은 ;로 한다. 카트 개수보다 적게 하면 블록체인지 구성이 반복되는 형식으로 정해진다.[12]
4.3. 운행
destination - 목적지[train] |
destination |
<목적지 이름> |
<다음 목적지> |
다음 목적지 지정은 기존의 목적지에서 새 목적지로 변경할 때 사용하므로, 목적지가 없는 상태에서 설정할 때에는 3번째 줄을 비워도 된다.
station - 역(정거장)
[train] 또는 [cart] [13] |
station |
<대기 시간> |
<갈 방향> |
<대기시간>은 숫자를 쓰며, 초 단위다. 열차가 실제 가는 방향은 표지판을 쓰는(보는) 사람 기준이다. 안 쓰면 영원히 멈춘다!
blocker
[train] |
blocker |
<풀린 후 대기 시간> |
<풀린 후 갈 방향> |
waiter
[train] |
waiter <거리> |
<풀린 후 대기 시간> |
|
detector - 열차 감지
[train] |
detector |
<값> |
<값> |
조건문은 아래 switcher 문단을 참고.
설치법은 다음 사진과 같다. 두 개의 detector 표지판을 마주보게 하면 구간 감지 완성.
급행을 통과시키는 데도 쓸 수 있다. station 표지판을 레드스톤이 들어오면 꺼지게 하는 [!train]으로 한 다음 detector 조건문으로 급행을 감지하게 한 다음 레드스톤을 표지판으로 연결하면 된다.
WirelessRedstone 등 무선 레드스톤 플러그인과 연동하면 CTC 시스템도 구현할 수 있다.
switcher - 분기기
[train] |
switcher |
<값> |
<값> |
값에 사용되는 방향 (표지판을 보는 사람 기준)
방향 | 설명 |
s: | south, 남쪽 |
n: | north, 북쪽 |
e: | east, 동쪽 |
w: | west, 서쪽 |
f: | front, 앞쪽 |
l: | left, 왼쪽 |
r: | right, 오른쪽 |
u: | up, 위쪽 |
d: | d, 아래쪽 |
switcher 표지판을 작동시키려면, 선로 분기기로 만들 커브 옆 혹은 아래에 표지판을 설치하면 된다.
4.3.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.4. 운행(심화/기타)
launch - 가/감속[train] |
launch <블록> |
<목표 속도> |
이 기능으로 가감속을 부드럽게 재현할 수 있다. 예를 들어 아래와 같이
[train] |
launch 5 |
0 |
continue |
5번째 블록에 station 표지판을 설치하면 자연스럽게 정차시킬수 있다.
출처 : https://wiki.traincarts.net/p/TrainCarts/Signs/Launcher
skip - 앞 표지판 무시
[train] |
skip |
<조건문> |
<조건문> |
mutex
[train] |
mutex <x/y/z> |
|
|
elevator - 수직이동
[train] |
elevator |
|
|
위 사진같은 사용이 가능하다.
elevator를 station 처럼 밑에다가 설치해주고, 위층에서도 elevator를 설치하여주면, 열차가
4.5. 기타
announce - 안내방송[train] |
announce |
텍스트 |
텍스트 |
주의할 것은 위의 줄에서 아랫줄로 입력을 이어갈때 자동으로 공백이 생성되지가 않으므로 수동으로 띄어쓰기를 입력해줘야 한다. 표지판 중첩이 가능하기에 안내방송 길이가 길어져도 문제가 되지는 않는다.
effect - 효과
[train] |
effect |
값 |
값 |
eject -
[train] 또는 [cart] |
eject |
상대값 |
|
[train] 은 열차 모든 칸의 플레이어를 내보낸다.
[cart] 는 표지판을 지나는 카트의 플레이어를 내보낸다.
상대값은 aa/bb/cc 이며
aa 는 앞 뒤 중 쫓아낼 방향을 설정한다. 열차 진행 방향을 기준으로 양수가 앞이다.
bb 는 위 아래 중 쫓아낼 높이를 설정한다. 양수가 위이다.
cc 는 왼쪽 오른쪽 중 쫓아낼 방향을 설정한다. 열차 진행 방향을 기준으로 양수가 왼쪽이다.
enter -
[train] |
enter 태울 시간 |
태울 대상 |
yes/no |
ticket - 요금 징수
[train] |
ticket |
속성 |
액수 |
이 표지판을 통과하는 순간 해당 유저의 보유금에서 설정한 액수만큼 돈이 빠져나간다. 돈이 부족하다면 강제로 내려진다.
속성 항목에는 add, buy, check가 있다. add는 돈을 주는 것 같고 buy는 표를 사게 하는 것 check는 돈의 잔량을 확인하는 것으로 추정된다. 액수 항목에는 그대로 액수를 써주면 된다(가격)
crafter - 아이템 제작
[train] |
crafter |
갯수 아이템 코드 |
|
갯수를 명시하면 몇 개를 조합할지 설정할 수 있으며, 아이템 코드에는 아이템 이름이나 코드를 넣으면 된다.
trigger - 트리거
[train] |
trigger |
트리거 이름 |
값 |
spawn time
[train] |
waiter spawn (시간) |
열차 칸 수 |
|
teleporter
transfer
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.yml 파일이다.)- keepChunksLoaded : 맨 위 설정 목록 표 중 청크로딩에 해당하는 부분이다. 이 부분을 true로 수정하면 된다.
- speedLimit : 속도에 해당하는 부분이다. 0.1은 초속 2m(2블럭)이며 기본값은 0.4이다.
- slowdown : 파워레일이 없을 때 카트가 가면서 점점 느려지는지에 대한 여부.
- conllision : 몹, 플레이어, 엔티티, 열차와 접촉했을 때 반응이다.
- owners : [ ] 소유자를 설정한다. 기본 값은 공백.
- tags : [ ] 소유자와 같은 형식이다. 기본 값은 공백.
- allowPlayerEnter / allowPlayerExit : 플레이어가 열차를 타고 내릴 수 있는지에 대한 여부. 기본값은 둘 다 True.
6. 3D 모델
[15]
플러그인의 기능을 응용하여 3D로 보이는 열차를 만들 수 있다. Blockbench를 이용해 모델링하여 json 확장자로 추출된 파일을 가지고 금곡괭이를 대체하여 만드는 원리이다.
이런식으로 마인크래프트 순수 블럭만으로도 이렇게 기차를 만들수 있다. 해당 편집할 열차에 탑승하고 내린뒤 /train attachments 라는 명령어를 치면 지도가 뜨면서 열차를 꾸밀수가 있다.
[1] 도끼, 곡괭이, 칼, 삽 등의 도구로 때리지 말자. 열차가 끊길 수도 있다.[2] 상자 카트, 호퍼 카트[3] keeploaded true를 하지 않은 열차는 플레이어가 주변에 있지 않을 경우 제거되지 않는다.[4] 일부는 카트 하나로 작동을 시켰으면 같은 열차로 처리되는 다음 카트는 표지판의 영향을 받지 않는다.[5] 신호가 있으면 작동을 하지 않고, 없으면 작동을 한다.[6] 01, 02 같이 미리 2자리 수 이상에 0을 넣는건 불가능하다.[OR방식] or 기준이라 요구하는 값이 있기라도 할 경우에는 참으로 판단한다. 또한, 열차 하나에 변수를 여러 개 넣을 수 있다.[OR방식] [AND방식] and 기준이며, OR방식의 변수와는 다르게 하나만 지정이 가능하다.[10] 표지판 한줄당 22칸, 표지판에는 2줄의 여백이 있으므로 22*2=44.[11] 예를 들어 배차(두번째줄에 쓴 시간)가 3:00인 모든 열차가 오후 12시에 한번 생성되었다면 3분 후인 오후 12시 3분에 또 다시 모든 열차가 동시에 생성[12] 예시 : 5*5;44 → 목재 5개와 반블럭 하나[13] train 을 쓰면 열차 중간이 표지판에 멈추고 cart 를 쓰면 맨 앞이 표지판에 멈춘다.[14] 방향 뒤에 :까지 다 쳐야 한다.[15] 해당 열차는 조반선 미토 이북에서 운행중인 E501계 전동차이다.