본문 바로가기

마인크래프트 가이드

건축물 자동 생성' 확장명령블록 공유


title: "'건축물 자동 생성' 확장명령블록 공유"
date: "2025-06-06"
thumbnail: "https://i.ytimg.com/vi/-GXElXU6-qQ/hqdefault.jpg"
tags: ["건축", "에듀케이션", "코딩", "가이드", "소스코드", "롱폼"]
url: "https://www.youtube.com/watch?v=-GXElXU6-qQ"
duration: "6:23"
series: "마인크래프트 코딩 튜토리얼"
difficulty: "고급"


'건축물 자동 생성' 확장명령블록 공유

썸네일

목차

소개

이 영상은 마인크래프트 메이크코드에서 사용할 수 있는 커스텀 확장명령블록을 제작하고 공유하는 방법을 설명합니다. 스티브코딩에서 제작한 '건축물 자동 생성' 확장을 예시로 하여, GitHub를 통해 자신만의 확장명령블록을 만들고 배포하는 전체 과정을 다룹니다.

주요 내용

1. 확장명령블록 개념

  • 메이크코드의 기본 6개 권장 확장 외에 추가 확장 제작 가능
  • GitHub 레포지토리를 통한 확장 배포 시스템
  • 커스텀 명령블록으로 복잡한 기능을 간단한 블록으로 구현

2. 건축물 자동 생성 확장 기능

직각 건물 생성:

  • 가로, 세로, 높이, 층 높이 설정
  • 4가지 지붕 형태: 평면, 삼각형, 피라미드형, 돔형
  • 창문 생성 여부 선택
  • ㄱ자형, ㄷ자형 건물 생성 가능

원형 건물 생성:

  • 반지름, 높이, 층 높이 설정
  • 3가지 지붕 형태: 평면, 원뿔형, 돔형
  • 지붕 높이 제한 설정 가능

건물 삭제 기능:

  • 설정된 속성값에 따른 정확한 건물 제거
  • 직각 건물과 원형 건물 각각 별도 삭제 명령

3. 확장 제작 과정

  • TypeScript를 이용한 메인 파일 작성
  • JSON 파일을 통한 확장 설명 및 설정
  • 공식 테스트 페이지를 통한 기능 검증
  • GitHub 레포지토리를 통한 배포

실습 과정

  1. 확장 설치하기 (00:00-01:30)

    • 메이크코드 프로젝트에서 '확장' 메뉴 선택
    • GitHub 레포지토리 주소 입력: https://github.com/ssakspirit/Building-extension
    • '빌딩' 확장 블록 확인 및 설치
    • 속성 정하기, 건물 생성, 지우기 블록 확인
  2. 직각 건물 만들기 (01:31-03:30)

    • 직각 건물 속성 설정 블록 배치
    • 가로 10, 세로 10, 높이 25, 층 높이 5 설정
    • 블록 종류 및 지붕 형태 선택
    • 건물 생성 블록 연결 후 실행
    • 5층 건물 완성 확인
  3. 다양한 건물 형태 실험 (03:31-05:00)

    • ㄱ자형 건물 생성 테스트
    • 지붕 형태를 삼각형으로 변경하여 재생성
    • ㄷ자형 건물 제작
    • 각 형태별 건축 시간 및 결과 확인
  4. 건물 삭제 기능 (05:01-06:00)

    • 직각 건물 지우기 명령 실행
    • 생성 위치에서 정확한 삭제 확인
    • 속성값 기반 삭제 시스템 이해
  5. 원형 건물 실습 (06:01-07:30)

    • 원형 건물 속성 설정: 반지름, 높이, 층 높이
    • 원뿔형 지붕으로 원형 건물 생성
    • 돔형 지붕으로 더 큰 원형 건물 제작
    • 원형 건물 삭제 테스트
  6. 확장 제작 방법 설명 (07:31-끝)

    • GitHub의 CreatingBlock 가이드 문서 소개
    • 공식 테스트 페이지 활용법
    • TypeScript 파일 편집 방법
    • 레포지토리 생성 및 배포 과정

자주 묻는 질문

Q: 확장명령블록은 어떤 언어로 제작하나요?
A: TypeScript를 사용하여 제작합니다. main.ts 파일에 핵심 로직을 작성하고, pxt.json 파일에 확장에 대한 설명과 설정을 추가합니다.

Q: 만든 확장을 다른 사람과 공유하려면 어떻게 해야 하나요?
A: GitHub에 레포지토리를 만들고 소스코드를 업로드한 후, 그 레포지토리 주소를 공유하면 됩니다. 다른 사람들이 메이크코드에서 해당 주소를 입력하여 확장을 불러올 수 있습니다.

Q: 건물을 삭제할 때 왜 생성한 위치로 돌아가야 하나요?
A: 건물 삭제 기능은 플레이어의 현재 위치를 기준으로 설정된 속성값(크기)에 맞게 블록을 제거하기 때문입니다. 정확한 삭제를 위해서는 건물을 생성했던 위치에서 삭제 명령을 실행해야 합니다.

Q: 확장을 만들기 전에 테스트할 수 있나요?
A: 네, makecode.com/playground 페이지에서 작성한 코드를 테스트해볼 수 있습니다. 여기서 기능을 검증한 후 GitHub에 업로드하는 것이 좋습니다.

추가 리소스

이런 분들에게 추천합니다

  • 메이크코드의 기본 기능을 넘어선 고급 기능을 원하는 사용자
  • 자신만의 커스텀 명령블록을 만들고 싶은 개발자
  • 복잡한 건축 작업을 자동화하고 싶은 마인크래프트 사용자
  • 프로그래밍을 통해 창의적인 도구를 만들고 싶은 학습자
  • 오픈소스 프로젝트 참여와 공유에 관심이 있는 사용자

관련 튜토리얼

  • [마인크래프트 코딩 튜토리얼 7편 - 빌더명령블록, 한방에 완성하는 건축!]
  • [마인크래프트 코딩 튜토리얼 8편 - 모양명령블록, 공모양을 쉽게 만들자!]
  • [건축코딩 사상 가장 큰 스케일....크렘린 대궁전 만들기!]
  • [코딩으로 그림을 그리자! #건축코딩튜토리얼]

실습 코드

// 확장명령블록 기본 구조 예시
//% color="#AA278D" weight=100 icon="\uf1ad"
namespace building {

    //% block="직각 건물 속성 정하기 가로 %width 세로 %depth 높이 %height 층높이 %floorHeight"
    export function setRectangularBuildingProperties(width: number, depth: number, height: number, floorHeight: number) {
        // 건물 속성 설정 로직
    }

    //% block="건물 생성"
    export function generateBuilding() {
        // 건물 생성 로직
    }

    //% block="직각 건물 지우기"
    export function clearRectangularBuilding() {
        // 건물 삭제 로직
    }
}

태그

#마인크래프트 #메이크코드 #확장명령블록 #건축자동화 #GitHub #TypeScript #커스텀블록 #스티브코딩