Skip to main content
Glama

jsonui-render-mcp

Minecraft Bedrock JSON UI 화면을 그려 주는 MCP 서버로, 리소스 팩의 레이아웃을 기기 없이 확인할 수 있습니다.

사용자가 만든 팩과 Mojang의 실제 UI 파일을 읽고, @ 상속과 $variables를 전개하며, 구현하지 않은 부분은 추측하지 않고 보고합니다.

설정

pip install mcp pillow

그런 다음 setup_samples 도구를 한 번 호출하세요. 이 도구는 Mojang/bedrock-samples을(를) 스파스 클론하여 바닐라 UI 정의와 텍스처를 가져옵니다. Mojang의 자료는 여기에 번들로 포함되지 않습니다.

환경:

변수

기본값

설명

BEDROCK_SAMPLES

~/.cache/bedrock-samples

위의 클론

MINECRAFT_FONT

~/.aseprite-mcp/fonts/minecraft

font.json, ascii.png가 들어 있는 폴더

등록하세요:

{
  "mcpServers": {
    "jsonui-render": {
      "command": "python3",
      "args": ["/path/to/jsonui-render-mcp/server.py"]
    }
  }
}

Related MCP server: Datapack MCP Server

도구

도구

설명

setup_samples

Mojang의 UI 파일 클론

list_screens

팩 덤프가 정의하는 화면들

render_screen

폼의 캡션과 아이콘을 포함해 하나를 그리기

render_control

이름으로 아무 컨트롤이나 그리기(Mojang의 것 포함)

check_anchors

앵커 규칙을 Mojang의 다이얼로그에 적용

팩 덤프

render_screen은 빌드가 작성하는 디렉터리를 읽습니다:

controls.json          name -> control
screens.json           [{name, width, height, body, title, background, marker}]
textures/*.png         your own textures, flat
textures/nineslice.json   name -> border, as an int or [l, t, r, b]

알아두면 좋은 두 가지

  • layer는 형제 그룹의 순서만 정하며 그보다 넓은 범위에는 영향을 주지 않습니다. 화면 전체에 걸친 깊이와 누적되는 깊이 모두 그럴듯해 보이지만, 둘 다 실제 기기와 모순됩니다.

  • 앵커 규칙은 다음과 같습니다. 자식의 anchor_to 지점이 부모의 anchor_from 지점에 놓인 다음 오프셋이 적용됩니다. check_anchors는 렌더러가 이 규칙을 따르도록 강제합니다.

아직 하지 못하는 것

  • 폼의 캡션과 텍스처 외의 바인딩.

  • %cm은 가장 큰 자식이 아니라 콘텐츠 크기로 읽힙니다.

  • 아이템 그림은 바닐라 경로에서만 가져옵니다.

실제 기기가 여전히 기준입니다. 둘이 일치하지 않으면 이쪽이 틀린 것입니다.

Related MCP Connectors

Related MCP Servers