Skip to content

juuc/roblox-mcp

Repository files navigation

Minecraft → Roblox 변환 파이프라인

개요

Minecraft .litematic 파일을 Roblox Studio로 변환하는 도구.

구조

roblox-mcp/
├── litematic_to_json.py    # litematic → JSON 변환기 (블럭 매핑 포함)
├── chunk_server.py         # HTTP 서버 (청크 데이터 서빙)
├── roblox_loader.lua       # Roblox Studio 로더 스크립트
├── json_chunks/            # 생성된 JSON 청크들
│   ├── manifest.json
│   ├── chunk_000.json
│   └── ...
└── roblox_chateau/         # (구버전) Luau 스크립트들

사용법

1. JSON 청크 생성

python3 litematic_to_json.py <파일.litematic> <출력폴더>

2. HTTP 서버 실행

python3 chunk_server.py
# http://localhost:8765 에서 서빙

3. Roblox Studio에서 로드

  1. Game Settings → Security → Allow HTTP Requests → ON
  2. Command Bar에서 roblox_loader.lua 실행

Roblox Studio MCP로 할 수 있는 것들

코드 실행

-- roblox_studio_run_code로 Luau 코드 직접 실행
print("Hello from MCP!")

Part 생성

local p = Instance.new("Part")
p.Size = Vector3.new(3, 3, 3)
p.Position = Vector3.new(0, 10, 0)
p.Color = Color3.fromRGB(255, 0, 0)
p.Material = Enum.Material.Brick
p.Anchored = true
p.Parent = workspace

Model로 그룹화

local model = Instance.new("Model")
model.Name = "MyBuilding"
model.Parent = workspace
-- Part들을 model.Parent = model 로 추가

HTTP 통신 (외부 데이터 로드)

local HttpService = game:GetService("HttpService")
local data = HttpService:GetAsync("http://localhost:8765/manifest")
local json = HttpService:JSONDecode(data)

마켓플레이스 에셋 검색/삽입

-- roblox_studio_insert_model 도구 사용
query: "minecraft texture"

객체 탐색/수정

-- 모든 Part 찾기
for _, part in ipairs(workspace.MyModel:GetChildren()) do
    if part:IsA("Part") then
        part.Size = Vector3.new(1, 1, 1)
    end
end

-- 특정 색상 Part만 수정
if part.Color == Color3.fromRGB(220, 230, 240) then
    part.Size = Vector3.new(0.6, 0.6, 0.6)
end

Roblox 단위 시스템

항목 크기
1 stud 약 28cm
플레이어 키 5 studs (≈1.4m)
플레이어 너비 2 studs
기본 점프 높이 7.2 studs

마크 → Roblox 스케일 (scale=3)

  • 마크 1블럭 = 3 studs
  • 플레이어가 블럭 1.67개 높이 (마크와 유사)

블럭 매핑

Material 종류

Roblox Material 용도
Grass 잔디
Ground
Sand 모래, 콘크리트 파우더
Slate
Cobblestone 조약돌
Brick 벽돌, 테라코타
WoodPlanks 나무 판자
Wood 원목
LeafyGrass 잎, 이끼, 꽃
Glass 유리
Metal 철, 금, 구리
Concrete 콘크리트
Fabric 양털
Marble 프리즈마린
Granite 화강암
Sandstone 사암
Neon 발광 블럭

특수 처리

  • height < 1: 슬랩, 카펫 등 납작한 블럭
  • transparency > 0: 유리 등 투명 블럭
  • 꽃/풀: Size 줄여서 작게 표현

Roblox Studio 객체 구조

game
├── Workspace (게임 월드)
│   ├── Model (그룹)
│   │   ├── Part (블럭)
│   │   ├── Part
│   │   └── ...
│   └── Baseplate
├── Players
├── Lighting
└── HttpService

선택 팁

  • Model 선택 시: 전체 테두리
  • 개별 Part 선택: Alt+클릭 또는 Explorer에서 직접 클릭

트러블슈팅

HTTP 안 됨

  • Game Settings → Security → Allow HTTP Requests 확인

타임아웃

  • MCP는 타임아웃되어도 Studio에서는 계속 실행됨
  • Output 창(Home → Script → Output)에서 진행 확인

렉 걸림

  • 청크 로드 딜레이 늘리기 (wait(1) → wait(3))
  • 청크 사이즈 줄이기 (500 → 300)

참고

About

Minecraft litematic to Roblox Studio converter pipeline

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors