Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>BedrockPy Language ToolsNew to Visual Studio Code? Get it now.
BedrockPy Language Tools

BedrockPy Language Tools

BedrockPy

|
1 install
| (0) | Free
Minecraft Bedrock 함수 팩용 BedrockPy 언어 지원
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

BedrockPy Language Tools

Minecraft Bedrock 함수 팩용 BedrockPy 언어의 공식 VS Code 확장입니다.

기능

  • .bpy 파일 인식과 문법 색상
  • : 다음 줄 자동 들여쓰기
  • 입력 중 실시간 문법 오류 검사와 빨간 밑줄
  • 변수 Hover에서 실제 scoreboard objective·holder 이름과 선언 위치 표시
  • 3D voxel 구조물 편집기와 .bpstructure 프로젝트 저장
  • 선택 영역 채우기·변형·실행 취소 및 /fill 최적화 BedrockPy 코드 내보내기
  • 상태 표시줄에 생성될 tick 명령 수와 파일 수 표시
  • 명령 팔레트에서 행동 팩 컴파일
  • .mcpack 파일 생성
  • 10,000개 단위 tick 함수 자동 분할
  • tick every 20: 또는 tick every int변수: 형식의 동적 주기 실행
  • 조건 블록을 내부 함수로 분리해 조건을 한 번만 검사
  • 분기 내부 함수에 바깥 as·at·positioned·rotated 문맥 재적용
  • if entity ... positioned ...:처럼 조건 뒤에 붙인 execute 문맥도 중첩 분기에 유지
  • tell @a, "점수: ", score 형식의 간편 rawtext 출력
  • abs, pow, sqrt, root, sin, cos, tan, log, max, min 수학 함수
  • 변수 초기화와 함께 최초 적용·업데이트 때 실행되는 init: 블록
  • call init 또는 /function namespace/init으로 초기화를 원하는 때 다시 실행
  • 연속 호출의 시작·종료를 감지하는 function name when first/last: 조건
  • 함수의 나머지를 지정한 게임틱 뒤에 재개하는 sleep(tick) (sleep()은 0t)
  • 지정한 ticking area가 실제 로드된 뒤 나머지 함수를 재개하는 await_tickingarea("이름")
  • 코드 뒤 # 주석과 삼중 따옴표 여러 줄 주석
  • 빈 블록을 작성하기 위한 명령을 생성하지 않는 pass
  • 폴더 아래 여러 .bpy 파일을 한 번에 하나의 팩으로 컴파일
  • sounds 폴더의 .ogg를 등록하고 play ui/click to @a로 재생
  • sound 이름: 블록에서 category와 is3D 설정
  • title, subtitle, actionbar에서 문자열과 scoreboard 변수 출력
  • pack: 블록의 이름·네임스페이스·출력·mcpack 설정으로 자동 컴파일
  • rotation @s -> pitch, yaw로 pitch와 yaw를 scoreboard 변수에 저장
  • location @s -> x, y, z로 엔티티 좌표를 scoreboard 변수에 저장
  • tp @s -> 10.5, y, -3, 90, rx처럼 변수와 숫자 상수를 섞어 텔레포트
  • 좌표·회전이 모두 상수인 tp는 Minecraft 원본 명령 한 줄로 최적화
  • 변수와 상수가 섞인 tp에서도 scoreboard는 변수 축만 계산
  • 10,000줄을 넘는 일반 함수를 작업 플래그 기반 tick 함수로 자동 전환

사용법

  1. Python 3.10 이상을 설치합니다.
  2. .bpy 파일을 엽니다.
  3. 명령 팔레트에서 BedrockPy: 행동 팩 컴파일 또는 BedrockPy: .mcpack 생성을 실행합니다.

3D 구조물 편집기

명령 팔레트에서 BedrockPy: 3D 구조물 편집기 열기를 실행합니다.

  • 공식 Bedrock 블록 ID 전체 검색

  • 단색/실제 마인크래프트 텍스처 전환과 기본·사용자 리소스팩 적용

  • 드래그 영역 선택과 선택 영역 채우기/비우기

  • 크기와 모양을 바꿀 수 있는 배치·삭제 브러시

  • 선, 원, 원판, 구, 빈 구, 원기둥 생성

  • 반지름, 높이, 거칠기, 시드를 조절하는 산 생성

  • X/Y/Z별 1~512 가변 작업공간

  • .bpstructure와 Minecraft .mcstructure 가져오기

  • 시간대 미리보기

  • 클릭 전 반투명 도형·산·브러시·붙여넣기 미리보기

  • 선택 복사/잘라내기/붙여넣기

  • 연결 채우기와 블록 교체

  • 지형 평탄화·부드럽게·거칠게와 선택 돌출

  • 클릭: 블록 배치

  • 연속 페인트 도구 + 드래그: 블록을 끊김 없이 배치

  • 우클릭: 블록 삭제

  • Alt+드래그: 카메라 회전

  • 휠: 확대·축소

  • WASD: 시점 이동, Space/Shift: 위/아래

  • 이동 속도와 거리 어두워짐 슬라이더

  • 공기를 포함하거나 제외하는 선택 영역 복사

  • 버튼 위에 잠시 머물면 표시되는 기능 설명

  • 숫자로 조절하는 직육면체 선택 크기

  • 브러시/올가미 자유 선택과 선택 영역 제한 브러시

  • 1~32 브러시 크기와 통합 도형·산 브러시

  • 짧은 클릭은 1회, 셀 이동 또는 0.6초 이상 누르면 자동 연속 적용

  • A/B X/Y/Z 좌표 직접 수정

  • 숫자 1~9 도구 전환과 숫자 1 기본 이동 도구

  • 각 기능 박스 상세 내용 접기/펼치기

  • 폴더 기반 구조물 프로젝트와 계층형 파일 트리

  • 프로젝트 내부 구조물/폴더 생성, 이름 변경, 휴지통 삭제

  • 구조물 간 클립보드를 유지하는 빠른 복사·붙여넣기

  • 선택 영역 내부 회전·반전·삭제

  • 활성 도구에 필요한 세부 옵션만 표시하는 컨텍스트 UI

  • 프로젝트 트리 외 편집 설정을 접을 수 있는 3D 화면 오버레이로 제공

  • 최근 사용한 블록을 뷰포트 아래 빠른 선택 바에서 재선택

  • 공기를 항상 포함해 복사하고 붙여넣을 때 공기 적용 여부 선택

  • 자주 쓰지 않는 작업공간·시점·시간대·코드·통계·도움말을 아이콘 도크에서 확장

  • 보조 아이콘은 좌측 상단, 브러시 크기와 옵션은 좌측 중앙 세로 패널에 배치

  • 환경 설정과 코드·정보의 두 아이콘으로 보조 패널을 그룹화하고 최근 블록 10개 제공

  • 교체 도구의 연결 여부 전환과 선택 영역 미리보기 이동 지원

  • 선택 이동·붙여넣기 상태에서 커서 추적 이동과 크기·회전 기즈모로 변형

  • 박스·브러시 범위와 실제 블록의 교집합 선택 및 0.10×~8.00× 연속 리샘플링

  • 회전 모드에서 Y축 임의 각도 회전과 복셀 리샘플링 미리보기

  • 변형은 여러 번 미리 조정한 뒤 원하는 위치에서 우클릭해 확정하고 Esc로 취소

  • 선택 영역 지정 후 Delete 또는 Backspace로 영역 내부 블록 삭제

  • 좌측 브러시 옵션을 설명문 없는 얇은 세로 도구 막대로 표시

  • 카메라 이동 속도 최대 400 blocks/s와 화면 경로 기반 관통 방지 연속 배치

  • 한글 입력 상태에서도 WASD 이동, 카메라 연동 XYZ 축 기즈모와 커서 블록 좌표 HUD

  • 부드럽게·평탄화·침하·융기·깎기를 지원하는 연속 조형 브러시

  • 인접 블록 내부 면을 생성하지 않고 재질별 노출면만 묶어 그리는 복셀 메시 최적화

  • 변형 기즈모에서 X/Y/Z 각 축을 0.1° 단위로 독립 회전

  • Ctrl+A/Cmd+A로 전체 구조물 외곽 선택 후 Ctrl+C/Cmd+C로 내부 공기까지 복사

  • 빈 프로젝트에서도 VS Code 입력창으로 새 구조물과 폴더 생성

  • 붙여넣기 후 마지막 배율과 X/Y/Z 회전을 유지해 연속 재사용

  • A/B 선택 도구: 직육면체 영역 지정

  • 선택 채우기·비우기, Y축 회전, X/Z 대칭

  • .bpstructure로 저장 후 다시 편집

  • .bpy로 내보내기

내보낼 때 연속된 동일 블록은 가능한 범위에서 /fill 명령으로 합쳐지고 단일 블록만 /setblock으로 생성됩니다.

컴파일 명령은 현재 파일이 있는 폴더 아래의 모든 .bpy 파일을 한 팩으로 합칩니다. 다른 폴더를 소스 루트로 쓰려면 bedrockpy.projectRoot를 설정하세요. 상대 경로는 VS Code 작업 영역을 기준으로 합니다.

pack:
    name = "My Pack"
    description = "내 BedrockPy 팩"
    icon = "assets/pack_icon.png"
    version = auto
    min_engine_version = [1, 21, 0]
    namespace = "mypack"
    output = "build/MyPackBP"
    mcpack = "build/MyPack.mcpack"
    mcaddon = "build/MyPack.mcaddon"
    max_lines = 10000

pack.icon, pack.output, pack.mcpack, pack.mcaddon 경로는 BedrockPy 프로젝트 루트를 기준으로 합니다. .mcaddon은 행동 팩과 리소스 팩을 한 파일로 묶습니다. icon의 PNG는 행동 팩과 연결된 사운드 리소스 팩에 pack_icon.png로 복사됩니다.

version = auto를 사용하면 성공적으로 컴파일할 때마다 [1, 0, 0]부터 패치 버전이 자동 증가합니다. 기록 파일인 .bedrockpy/versions.json은 삭제하지 마세요.

Python 실행 파일이 python3이 아니라면 VS Code 설정의 bedrockpy.pythonPath를 변경하세요. 팩 이름, 함수 네임스페이스, 조각당 최대 명령 수도 설정에서 바꿀 수 있습니다.

vars:
    let prefix = "[MyPack]"
    let target = "@a"
    int count = 0
    float speed = 1.5
    bool enabled = true

tick:
    tell target, prefix, " 시작"
    /say {prefix} tick
    count += 1
    speed = speed * 1.1
    enabled = count >= 20
    tell @a, "횟수: ", count, " / 속도: ", speed

    for y in range(5):
        /setblock ~ ~{y} ~ stone

    if entity @a[tag=ready]:
        as @a[tag=ready]:
            /say 준비 완료
    else:
        /say 대기 중

function reward:
    /give @s diamond 1

tick every 20:
    /say 1초마다 실행

많은 명령을 매 틱 실행하면 Minecraft 성능이 크게 저하될 수 있습니다.

float는 8자리 가수와 10진 지수로 저장되는 소프트웨어 부동소수점입니다. 값의 크기는 지수가 담당하고 가수는 약 8자리 유효숫자를 유지합니다. 곱셈은 안전한 4자리 조각 연산을 사용합니다. tell과 타이틀에서는 기본 3자리로 출력되며 speed:0~speed:6 형식으로 표시 자릿수를 지정할 수 있습니다.

vars:
    float pitch = 0.0
    float yaw = 0.0
tick:
    rotation @s -> pitch, yaw

int 목적지는 1도, float 목적지는 0.1도 단위로 저장됩니다.

vars:
    float x = 0.0
    float y = 0.0
    float z = 0.0
tick:
    location @s -> x, y, z

좌표 탐색용 armor stand는 Y=1000에서 투명 상태로 사용되고 계산 직후 제거됩니다. int는 블록 좌표, float는 소수 첫째 자리까지 저장합니다.

vars:
    float x = 0.0
    float y = 0.0
    float z = 0.0
    float ry = 0.0
    float rx = 0.0
tick:
    tp @a[tag=ghost] -> x, y, z, ry, rx

마지막 두 값은 ry, rx 순서이며 생략하면 좌표만 이동합니다.

프로젝트 루트의 sounds/**/*.ogg는 자동으로 연결된 리소스 팩에 복사됩니다. .mcpack 생성 시 행동 팩 파일과 이름 끝에 _resources.mcpack이 붙은 리소스 팩 파일을 모두 Minecraft에 가져오세요.

sound ui/click:
    category = ui
    is3D = false

function click:
    play ui/click to @s
title @a, "게임 시작!"
subtitle @a, "점수: ", score
actionbar @a, "속도: ", speed:2
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft