본문 바로가기

컴퓨터 과학

파이썬(Python)으로 마인크래프트 조작하기


마인크래프트를 파이썬(Python) 프로그램으로 쉽게 조작 할 수 있다.



<준비작업>


(1) 파이썬 3.5 버전 이상 설치

(2) 자바 1.7 이상 설치 (1.7 중에 하위 버전은 오류가 났다.), 본인은 1.8 버전을 설치하였다.

(3)  마인크래프트 게임 설치

(4) Mintcraft Tools 1.9.4 이상 설치

(5) 게임의 환경을 설정 한다


(1) 파이썬 3.5 버전 이상 설치

구글에서 Python 을 검색한 후 사이트에서 윈도우 또는 맥 버전의 자신의 컴퓨터 환경에 맞는 것을 다운 받는다.

다운로드 후 설치


(2) 구글에서 java JDK 1.8 검색 후 다운 받아서 설치한다.


(3) 마인크래프트를 설치한다


(4) Mintcraft Tools 1.9.4 버전 이상 다운 받은 후 압축을 풀고

    C:\MT\Minecraft Tools 에 복사하여 위치한다.

    C:\MT\Minecraft Tools\Install_API.bat 을 실행하여 설치한다

    C:\MT\Minecraft Tools\Start_Server 실행하여 서버 Online  한다.

    Online 되면서 나오는 서버의 버전을 확인한다.



(5) 게임 환경 설정

마인크래프트를 실행한다.

설정에서 프로파일을 새로 만든다.


멀티플레이를 선택한다

로컬서버를 추가한다

로컬서버에 접속한다





from mcpi.minecraft import Minecraft

import time

mc = Minecraft.create()



위의 코드를 기본으로 하고 아래의 코드를 추가한다


# 순간이동을 하기 위한 코드, X, Y, Z

mc.player.setTilePos(0, 120, 0)    # 순간이동, 좌표 X, Y, Z 값을 수정하여 사용한다, 정수값을 넣는다.


mc.player.setPos(x, y, z)    # 부동소수로 더욱 세밀한 이동, 부동소수값으로 좀더 세밀한 좌표를 넣는다.


# 현재 위치는 F3 을 눌러서 확인 할 수 있다 하지만 프로그램 코드로 확인 하고자 한다면 아래의 코드로 확인 가능하다.

# 현재 위치 좌표 확인

position = mc.player.getTilePos()

print(position.x, position.y, position.z)


# 블록 생성, 금, 수박 등등 원하는 아이템 블록이 있다면 원하는 위치에 아래의 코드로 생성할 수 있다.

# 감자 142 , 당근 141, 밀 59, 불 51, 사탕수수 83, 수박블록 103

# 벽돌 45, 압력판 148, 철문 71

# 침대 26, 다이아몬드 블럭 57, 화로 61, 석탄 블록 173

blockType = 103

mc.setBlock(x, y, z, blockType)



# 대화창에 메세지 찍기

mc.postToChat("Hi Buddy~")



# 블록 종류를 확인

pos = mc.player.getTilePos()

x = pos.x

y = pos.y

z = pos.z

print(mc.getBlock(x,y,z))



# 블록을 부술 수 없게 만든다

#mc.setting("world_immutable", True)

#mc.setting("world_immutable", False)




# Y 좌표의 가장 높은 블록을 확인

pos = mc.player.getTilePos()

x = pos.x

y = pos.y

z = pos.z

highestBlockY = mc.getHeight(x, z)

print(highestBlockY)