Traincarts
1. 개요
2. 설치법
3. 명령어
4. 표지판 명령어
4.1. 사용법
4.1.1. 공통 변수
4.2. spawn
4.3. property
4.4. destroy
4.5. blocker
4.6. station
4.7. destination
4.8. blockchanger
4.9. switcher
4.9.1. 상세한 예시
4.10. detector
4.11. trigger
4.12. announce
4.13. waiter
4.14. effect
4.15. ejector
4.16. enter
4.17. ticket
4.18. elevator
4.19. crafter
4.20. teleporter
4.21. launch
4.22. transfer
4.23. spawn time
4.24. mutex
4.25. skipper
5. 콘피그
6. 3D 모델
이 문서의 대부분은 트레인카트 위키(영문)을 참고하거나 번역하여 작성하였다.
1. 개요
마인크래프트 버킷용 플러그인으로 한국 서버에서는 트레인카트, 트카 등으로 불린다. 이 플러그인을 설치하면 마인크래프트에서 철도 환경을 구현할 수 있게 된다. 기본적으로는 그냥 사람을 운송하는 것으로 끝나지만 잘만 하면 실제 철도 환경을 구현할 수 있다. Traincarts는 대부분 표지판을 이용해 작동하지만 특별한 때에는 직접 명령어로 열차를 조정할 수 있다. 유사한 기능을 하는 포지 모드인 레일크래프트, 트레인크래프트 등과는 호환되지 않는다.
2. 설치법
2.1. 기본
- 1. BKCommandLib라는 플러그인을 다운로드 받고 plugin 폴더에 설치한다.
- 2. Traincarts를 다운로드 받고 plugin 폴더에 설치한다.
2.2. trigger 사용
- 1. SignLink를 다운로드 받고 plugin 폴더에 설치한다.
2.3. HangRail
애드온으로 TCHangRail이 있는데. 여기서 다운로드 받고 plugin 폴더에 설치한다.
[image]
사용방법과 표지판 설치 방법은 다음과 같다.
3. 명령어
모든 명령어는 /train을 베이스로 작동된다.
열차와 상호작용을 하려면 열차에 타거나, 열차를 때리거나[1] , 열차의 인벤토리[2] 를 열면 된다.
3.1. list
list는 열차에 타지 않고도 사용할 수 있는 명령어이다.
소환되어 있는 트레인카트 차량들의 목록을 띄워준다.
3.2. destroy
destroy는 플레이어와 최근 상호작용이 이루어진 열차를 제거하는 명령어이다.
keeploaded true를 하지 않은 열차는 플레이어가 주변에 있지 않을 경우 제거되지 않는다.
3.3. destroyall
destroyall는 맵에 있는 모든 열차를 제거하는 명령어이다. 콘솔에서도 작동된다.
keeploaded true를 하지 않은 열차는 플레이어가 주변에 있지 않을 경우 제거되지 않는다.
3.4. maxspeed
- 속력에는 속력을 쓴다.
3.5. info
info는 플레이어와 최근 상호작용이 이루어진 열차의 정보를 알려주는 명령어이다.
열차가 위치한 좌표, 매개변수, 이름 등을 열차를 건드리지 않거나 직접 보지 않고도 알 수 있다.
3.6. tp
tp는 플레이어와 최근 상호작용이 이루어진 열차로 텔레포트하는 명령어이다.
playercollision이 kill인 열차와 상호작용을 했는데 이 명령어를 치면 끔살당할 수 있으니 playercollision을 바꾸던가 아니면 저항 효과를 쓰고 하던가 하자.
3.7. destination (dest)
- 목적지에는 목적지를 쓴다.
목적지 없이 /train destination만 쓰면 destination이 초기화 되버리니 조심하자.
4. 표지판 명령어
4.1. 사용법
기본적으로 Traincarts의 표지판 명령어는 선로를 받치고 있는 블록 '''옆'''과 블록 '''아래'''에 설치하여 적용한다. Traincarts 표지판의 기본은 항상 '''표지판 첫째줄'''에 [train] 또는 [cart]를 써야지만 발동이 된다. [cart]는 마인카트 각각이 표지판을 통과할때 발동이 되며[3] [train] 표지판은 붙어있는 카트들중 하나만 지나가도 모든 카트에 적용되게 된다. [train] 또는 [cart] 명령어는 필히 '''레드스톤 신호가 있어야만''' 발동하게 된다.
[train]에서 응용된 것으로는 [!train], [+train]이 있다.
- [!train]은 기본 [train] 과 거꾸로 작동한다.[4]
- [+train]은 신호가 있던지 없던지 무조건 발동한다.
시간의 단위는 시간, 분, 초이며 ''':'''으로 나뉘어진다. 분과 초만 쓰거나 초만 쓰는것도 가능하다. 예시로는 5:00. [5]
표지판 중첩이 가능한 표지판 명령어는 [train]이 작성된 표지판 밑에 추가로 글을 쓰기 위한 용도 등의 줄을 늘리는 것이 가능하다.
아래에 표시된 표지판에서 굵은 표시는 '''필수 입력이다.'''
4.1.1. 공통 변수
아래는 열차 변수와 그에 반응하는 감지 조건문.
아래는 "갈 방향"에 쓸 변수. station이나 blocker 등에 사용된다.
[1] 도끼, 곡괭이, 칼, 삽 등의 도구로 때리지 말자. 열차가 끊길 수도 있다.[2] 상자 카트, 호퍼 카트[3] 일부는 카트 하나로 작동을 시켰으면 같은 열차로 처리되는 다음 카트는 표지판의 영향을 받지 않는다.[4] 신호가 있으면 작동을 하지 않고, 없으면 작동을 한다.[5] 물론 5분을 뜻한다.[6] 01, 02 같이 미리 2자리 수 이상에 0을 넣는건 불가능하다.[A] A B C D E true는 예, false는 아니오[OR방식] A B or 기준이라 요구하는 값이 있기라도 할 경우에는 참으로 판단한다. 또한, 열차 하나에 변수를 여러개 넣을 수 있다.[AND방식] and 기준이며, OR방식의 변수와는 다르게 하나만 지정이 가능하다.
4.2. spawn
Traincarts의 기초. 열차를 만드는 명령어다. 마인카트 구성은 '''최대 44칸'''까지 만들 수 있다[7] . 만약 부족하다면 표지판 중첩이 불가능 하기에 spawn 표지판을 여러개로 만들어 사용해야 한다. 아니면 data 명령어를 사용하거나..
참고로, 같은 배차를 가진 열차는 같은 시각에 생성된다.[8] 같은 배차를 가진 열차가 너무 많을 경우 잠깐의 랙 혹은 서버의 팅김을 유발할 수 있으니 주의하자. 3:24, 6:26같이 최대한 배차가 겹치지 않도록 설정하는 것이 좋다.
마인카트의 종류는 이것들이 있으며 더 많은 블럭 또는 도색을 원한다면 blockchanger을 쓸 수 있다. 다만 spawn에서 설정한 카트의 기능은 바뀌지 않기에 적절히 배치해주어야 한다.
4.3. property
열차의 정보를 설정하는 표지판이다. 설정 종류와 그에 들어갈 값의 범위는 위의 공통변수를 참고.
아래는 충돌에 대한 설정이다.
4.4. destroy
열차를 제거하는 표지판 명령어다.
4.5. blocker
레드스톤이 신호가 들어오면 들어오던 열차를 정지시키는 열차이다. waiter와는 다르게 폐색구간을 만들고 일일히 계산하지 않는다. 풀린 후 갈 방향에는 위의 공통 변수 참고.
4.6. station
[image]
기차역을 구현할때 쓰는 정차 명령어.
대기시간은 기본적으로 숫자를 쓰며, 초 단위다. 10 같은 숫자를 써넣으면 된다.
열차가 실제 가는 방향은 표지판을 쓰는 사람 기준이다. 안쓰면 '''영원히 멈춘다!'''
4.7. destination
새 목적지 지정은, 기존의 목적지에서 새 목적지로 변경할때 사용하므로, 목적지가 없는 상태에서 설정할 때에는
3번째 줄을 비워도 된다.
4.8. blockchanger
간단히 말하자면 열차 도색을 책임진다! 의외로 표지판 중첩이 안된다. 세세한 도색을 만들려면 열차를 여러대 만들고 따로 설정해주어야 한다.
블록체인지 구성은 기본적으로 "갯수*아이템코드", "아이템코드"이며 다른 블럭끼리 구별은 ''';'''로 한다. 카트 개수보다 적게하면 블록체인지 구성이 반복되는 형식으로 정해진다.[10]
4.9. switcher
값에 사용되는 방향 (표지판을 보는 사람 기준)
선로를 분기할 수 있게 하는 표지판이다. 표지판 중첩이 가능하다. 값에는 방향이 앞에 들어가고 뒤에 목적지, 소유자 등의 조건문을 써넣으면 된다.
switcher 표지판을 작동시키려면, 선로 분기기로 만들 커브 옆 혹은 아래에 표지판을 설치하면 된다.
4.9.1. 상세한 예시
위와 같이 쓴다면 "나무위키"가 목적지로 설정된 열차는 왼쪽으로 가게 되고, "나무위키"가 목적지로 설정되지 않은 모든 열차는 오른쪽으로 가게 된다.
위와 같이 쓴다면 owner 값에 "나무"가 들어간 열차는 왼쪽으로 가고 owner 값에 "위키"가 들어간 열차는 앞으로 간다.
만약 분기기를 이용하는 열차의 행선지가 너무 많은 경우 이렇게 여러 표지판에 걸쳐서 하면 된다.
특별한 경우에는 d@, o@를 섞어써도 크게 문제는 없다.
만약 조건문이 부정이라면 d@, o@등 열차 변수 비교자 앞에 '''!'''를 써넣으면 된다.
4.10. detector
위의 switcher와 써넣을 수 있는 값이 같으나, 스위쳐와는 다르게 대놓고 선로 분기하라고 있는건 아니다. 이 표지판 명령어의 기능은, '''구간 감지'''로써, '''구간을 지정해 감지하여 레드스톤을 작동시키는 기능이다!''' 이걸로 단선 운행, 대피선 없는 역 등 여러가지로 응용할 수 있다.
조건문은 위의 switcher 문단을 참고.
설치법은 다음 사진과 같다. 두 개의 detector 표지판을 마주보게 하면 구간 감지 완성.
[image]
급행을 통과시키는 데도 쓸 수 있다. station 표지판을 레드스톤이 들어오면 꺼지게 하는 [!train]으로 한 다음 detector 조건문으로 급행을 감지하게 한 다음 레드스톤을 표지판으로 연결하면 된다.
WirelessRedstone 등 무선 레드스톤 플러그인과 연동하면 CTC 시스템도 구현할 수 있다.
4.11. trigger
SignLink 플러그인이 필요하다.
4.12. announce
안내방송이다. 열차가 밟을시 해당 열차(카트)에 타고 있는 승객에게 입력한 내용이 채팅으로 전달된다. 표지판 중첩이 가능하다.
주의할 것은 위의 줄에서 아랫줄로 입력을 이어갈때 자동으로 공백이 생성되지가 않으므로 수동으로 띄어쓰기를 입력해줘야 한다. 표지판 중첩이 가능하기에 안내방송 길이가 길어져도 문제가 되지는 않는다.
4.13. waiter
한 노선에 여러가지의 열차를 굴릴 경우 배차를 맞추기 힘들때 쓰는 표지판 명령어이다. waiter 문구와 거리 값은 한 줄에 써야 한다. 만약 실수로 거리 값을 '''풀린 후 대기 시간'''에 썼다면 열차가 대기하느라 열차가 서로 붙어버리는 광경을 볼 수 있다(...).
4.14. effect
열차가 밟으면 입자나 소리가 나게 한다. 추가 가능한 소리와 입자의 목록은 링크를 참고.
4.15. ejector
기차에 탄 플레이어를 쫓아낸다.(내리게 한다.)
[train] 은 열차 모든 칸의 플레이어를 내보낸다.
[cart] 는 표지판을 지나는 카트의 플레이어를 내보낸다.
상대값은 aa/bb/cc 이며
aa 는 앞 뒤 중 쫓아낼 방향을 설정한다. 열차 진행 방향을 기준으로 양수가 앞이다.
bb 는 위 아래 중 쫓아낼 높이를 설정한다. 양수가 위이다.
cc 는 왼쪽 오른쪽 중 쫓아낼 방향을 설정한다. 열차 진행 방향을 기준으로 양수가 왼쪽이다.
4.16. enter
Enter 뜻 그대로 태우는 것이다. 태울 시간은, 주위에 몹이 더 올 경우를 대비해 놓은 것 같다. 쓸 때에는 10초면 10s와 같이 쓰면 되는 것 같다. 태울 대상에는 players, mobs 등을 써넣으면 된다. 둘다 태우고 싶을 경우에는 두개 다 한줄에 쓰면 된다.(띄어쓰기로 구분)
4.17. ticket
Essential’s economy 플러그인이 필요하다.
이 표지판을 통과하는 순간 해당 유저의 보유금에서 설정한 액수만큼 돈이 빠져나간다. 돈이 부족하다면 강제로 내려진다.
속성 항목에는 add, buy, check가 있다. add는 돈을 주는 것 같고 buy는 표를 사게 하는 것 check는 돈의 잔량을 확인하는 것으로 추정된다. 액수 항목에는 그대로 액수를 써주면 된다(가격)
4.18. elevator
[image]
본 내용은 elevator로 이렇게 사용이 가능하다.
elevator를 station 처럼 밑에다가 설치해주고, 윗층에서도 elevator를 설치하여주면, 열차가 하면서 윗층이나 아래층으로 이동한다.
뭔가 롤러코스터,엘리베이터 나 그런거 구현할때 좋을것 같다.
4.19. crafter
상자 마인카트가 지나갈때 상자 마인카트에
아이템을 조합할수있는 재료가 있으면 조합해서 도로 넣는다.
갯수를 명시하면 몇개를 조합할지 설정할수 있다.
아이템 코드에는 아이템 이름이나 코드를 넣으면 된다
4.20. teleporter
4.21. launch
4.22. transfer
4.23. spawn time
시간에 마추어 자동으로 스폰이 되는 명령어다. 교행열차에 많이 쓰인다. 시간은 1:00으로 적을시 1분, 30으로 적을시 30초로 설정이 된다.
4.24. mutex
열차가 이 표지판으로 지정한 구역 안에 있으면 다른 열차를 멈추고 그 열차가 다 지나갔으면 다시 운행하도록 하는 표지판이다. x/y/z는 x/y/z칸만큼 이 표지판 기준으로 x/y/z에 적은 칸 만큼 양수 방향에서 음수 방향까지 설정한다.
4.25. skipper
이 두 조건문에 충족하는 열차는 바로 앞 표지판을 무시한다. 급행을 통과할 때 좋을 거 같다. 만일 조건문이 없는 상태로 작성을 완료한다면 모든 열차가 바로 앞 표지판을 무시한다.
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 모델
[image]
[11]
플러그인의 기능을 응용하여 3D로 보이는 열차를 만들 수 있다. Blockbench를 이용해 모델링하여 json 확장자로 추출된 파일을 가지고 금곡괭이를 대체하여 만드는 원리이다.
[image]
이런식으로 마인크래프트 순수 블럭만으로도 이렇게 기차를 만들수 있다. 해당 편집할 열차에 탑승하고 내린뒤 /train attachments 라는 명령어를 치면 지도가 뜨면서 열차를 꾸밀수가 있다.(물론 노가다가 굉장히 심하다)