def theWall(arenaPos, wallZPos): #create connection to minecraft mc = minecraft.Minecraft.create() #create the wall shape wallPos = minecraft.Vec3(arenaPos.x, arenaPos.y + 1, arenaPos.z + wallZPos) #create the wall blocks wallBlocks = [] for x in range(0, ARENAX + 1): for y in range(1, ARENAY): wallBlocks.append( minecraftstuff.ShapeBlock(x, y, 0, block.BRICK_BLOCK.id)) wallShape = minecraftstuff.MinecraftShape(mc, wallPos, wallBlocks) #move the wall up and down while not gameOver: wallShape.moveBy(0, 1, 0) time.sleep(1) wallShape.moveBy(0, -1, 0) time.sleep(1)
def theRiver(arenaPos, riverZPos): #create connection to minecraft mc = minecraft.Minecraft.create() #constants RIVERWIDTH = 4 BRIDGEWIDTH = 2 #create the river mc.setBlocks(arenaPos.x, arenaPos.y - 2, arenaPos.z + riverZPos, arenaPos.x + ARENAX, arenaPos.y, arenaPos.z + riverZPos + RIVERWIDTH - 1, block.AIR.id) #fill with water mc.setBlocks(arenaPos.x, arenaPos.y - 2, arenaPos.z + riverZPos, arenaPos.x + ARENAX, arenaPos.y - 2, arenaPos.z + riverZPos + RIVERWIDTH - 1, block.WATER.id) #create the bridge shape bridgePos = minecraft.Vec3(arenaPos.x, arenaPos.y, arenaPos.z + riverZPos + 1) #create the bridge blocks bridgeBlocks = [] for x in range(0, BRIDGEWIDTH): for z in range(0, RIVERWIDTH - 2): bridgeBlocks.append(minecraftstuff.ShapeBlock(x, 0, z, block.WOOD_PLANKS.id)) bridgeShape = minecraftstuff.MinecraftShape(mc, bridgePos, bridgeBlocks) #move the bridge left and right #how many steps are there between the left and right side of the arena steps = ARENAX - BRIDGEWIDTH while not gameOver: for left in range(0, steps): bridgeShape.moveBy(1,0,0) time.sleep(1) for right in range(0, steps): bridgeShape.moveBy(-1,0,0) time.sleep(1)
def the_platform(xz=None): block_id = block.WOOD_PLANKS.id plane = Plane(x=xz[0], z=xz[1]) platform = Platformer(number_blocks=NUMBER_BLOCKS, block_size=PLATFORM_BLOCK_SIZE, plane=plane) #create the platform shapes platform_shapes = [] for pos in platform.get_block_positions(): block_pos = Vec3(pos[0], arenaPos.y, pos[1]) platform_blocks = [] for x in range(PLATFORM_BLOCK_SIZE): for z in range(PLATFORM_BLOCK_SIZE): platform_blocks.append(minecraftstuff.ShapeBlock(x, 0, z, block_id)) platform_shape = minecraftstuff.MinecraftShape(mc, block_pos, platform_blocks) platform_shapes.append(platform_shape) #move the platforms while not levelComplete: platform.move_blocks() directions = platform.get_block_directions() for i in range(len(directions)): platform_shapes[i].moveBy(directions[i][0], 0, directions[i][1]) time.sleep(PLATFORM_SLEEP_TIME)
] #create minecraft and minecraftdrawing objects mc = minecraft.Minecraft.create() mcdrawing = minecraftstuff.MinecraftDrawing(mc) #set the aliens position alienPos = mc.player.getTilePos() alienPos.y = alienPos.y + 50 #set the flying saucer's mode mode = "landing" #create the shape for our flying saucer alienBlocks = [ minecraftstuff.ShapeBlock(-1, 0, 0, block.WOOL.id, 5), minecraftstuff.ShapeBlock(0, 0, -1, block.WOOL.id, 5), minecraftstuff.ShapeBlock(1, 0, 0, block.WOOL.id, 5), minecraftstuff.ShapeBlock(0, 0, 1, block.WOOL.id, 5), minecraftstuff.ShapeBlock(0, -1, 0, block.GLOWSTONE_BLOCK.id), minecraftstuff.ShapeBlock(0, 1, 0, block.GLOWSTONE_BLOCK.id) ] alienShape = minecraftstuff.MinecraftShape(mc, alienPos, alienBlocks) #loop while mode != "missionaccomplished": #get the players position playerPos = mc.player.getTilePos() # if its landing, set target to be above players head
# From the book: "Adventures in Minecraft" # written by David Whale and Martin O'Hanlon, Wiley, 2014 # http://eu.wiley.com/WileyCDA/WileyTitle/productCd-111894691X.html import mcpi.minecraft as minecraft import mcpi.block as block import mcpi.minecraftstuff as minecraftstuff import time #create minecraft and minecraftdrawing objects mc = minecraft.Minecraft.create() #create the shape for our flying saucer horseBlocks = [ minecraftstuff.ShapeBlock(0, 0, 0, block.WOOD_PLANKS.id), minecraftstuff.ShapeBlock(-1, 0, 0, block.WOOD_PLANKS.id), minecraftstuff.ShapeBlock(1, 0, 0, block.WOOD_PLANKS.id), minecraftstuff.ShapeBlock(-1, -1, 0, block.WOOD_PLANKS.id), minecraftstuff.ShapeBlock(1, -1, 0, block.WOOD_PLANKS.id), minecraftstuff.ShapeBlock(1, 1, 0, block.WOOD_PLANKS.id), minecraftstuff.ShapeBlock(2, 1, 0, block.WOOD_PLANKS.id) ] #set the horses position horsePos = mc.player.getTilePos() horsePos.z = horsePos.z + 1 horsePos.y = horsePos.y + 1 #create the horseShape horseShape = minecraftstuff.MinecraftShape(mc, horsePos, horseBlocks)
def __init__(self, pos): #create the millenium falcon falconBlocks = [ mcstuff.ShapeBlock(-1, 0, -2, block.IRON_BLOCK), mcstuff.ShapeBlock(0, 0, -2, block.IRON_BLOCK), mcstuff.ShapeBlock(1, 0, -2, block.IRON_BLOCK), mcstuff.ShapeBlock(-2, 0, -1, block.IRON_BLOCK), mcstuff.ShapeBlock(-1, 0, -1, block.IRON_BLOCK), mcstuff.ShapeBlock(0, 1, -1, block.WOOL.id, 8), mcstuff.ShapeBlock(1, 0, -1, block.IRON_BLOCK), mcstuff.ShapeBlock(2, 0, -1, block.IRON_BLOCK), mcstuff.ShapeBlock(-3, 0, 0, block.IRON_BLOCK), mcstuff.ShapeBlock(-2, 0, 0, block.IRON_BLOCK), mcstuff.ShapeBlock(-1, 1, 0, block.WOOL.id, 8), mcstuff.ShapeBlock(0, 1, 0, block.WOOL.id, 8), mcstuff.ShapeBlock(1, 1, 0, block.WOOL.id, 8), mcstuff.ShapeBlock(2, 0, 0, block.IRON_BLOCK), mcstuff.ShapeBlock(3, 0, 0, block.IRON_BLOCK), mcstuff.ShapeBlock(-3, 0, 1, block.WOOL.id, 7), mcstuff.ShapeBlock(-2, 0, 1, block.IRON_BLOCK), mcstuff.ShapeBlock(-1, 0, 1, block.IRON_BLOCK), mcstuff.ShapeBlock(0, 1, 1, block.WOOL.id, 8), mcstuff.ShapeBlock(1, 0, 1, block.IRON_BLOCK), mcstuff.ShapeBlock(2, 0, 1, block.IRON_BLOCK), mcstuff.ShapeBlock(-3, 0, 2, block.WOOL.id, 7), mcstuff.ShapeBlock(-1, 0, 2, block.IRON_BLOCK), mcstuff.ShapeBlock(0, 0, 2, block.IRON_BLOCK), mcstuff.ShapeBlock(1, 0, 2, block.IRON_BLOCK), mcstuff.ShapeBlock(-1, 0, 3, block.IRON_BLOCK), mcstuff.ShapeBlock(1, 0, 3, block.IRON_BLOCK), mcstuff.ShapeBlock(-1, 0, 4, block.IRON_BLOCK), mcstuff.ShapeBlock(1, 0, 4, block.IRON_BLOCK), mcstuff.ShapeBlock(0, 0, -1, block.WOOL.id, 8), mcstuff.ShapeBlock(-1, 0, 0, block.WOOL.id, 8), mcstuff.ShapeBlock(0, 0, 0, block.WOOL.id, 8), mcstuff.ShapeBlock(1, 0, 0, block.WOOL.id, 8), mcstuff.ShapeBlock(0, 0, 1, block.WOOL.id, 8) ] #instantiate the falcon StarwarsCraft.__init__(self, falconBlocks, pos)
def __init__(self, pos): #create the tie fighter tieBlocks = [ mcstuff.ShapeBlock(0, 0, 0, block.IRON_BLOCK), mcstuff.ShapeBlock(-1, -1, -1, block.WOOL.id, 15), mcstuff.ShapeBlock(-1, -1, 0, block.WOOL.id, 15), mcstuff.ShapeBlock(-1, -1, 1, block.WOOL.id, 15), mcstuff.ShapeBlock(-1, 0, -1, block.WOOL.id, 15), mcstuff.ShapeBlock(-1, 0, 0, block.WOOL.id, 15), mcstuff.ShapeBlock(-1, 0, 1, block.WOOL.id, 15), mcstuff.ShapeBlock(-1, 1, -1, block.WOOL.id, 15), mcstuff.ShapeBlock(-1, 1, 0, block.WOOL.id, 15), mcstuff.ShapeBlock(-1, 1, 1, block.WOOL.id, 15), mcstuff.ShapeBlock(1, -1, -1, block.WOOL.id, 15), mcstuff.ShapeBlock(1, -1, 0, block.WOOL.id, 15), mcstuff.ShapeBlock(1, -1, 1, block.WOOL.id, 15), mcstuff.ShapeBlock(1, 0, -1, block.WOOL.id, 15), mcstuff.ShapeBlock(1, 0, 0, block.WOOL.id, 15), mcstuff.ShapeBlock(1, 0, 1, block.WOOL.id, 15), mcstuff.ShapeBlock(1, 1, -1, block.WOOL.id, 15), mcstuff.ShapeBlock(1, 1, 0, block.WOOL.id, 15), mcstuff.ShapeBlock(1, 1, 1, block.WOOL.id, 15), ] #instantiate the tie fighter StarwarsCraft.__init__(self, tieBlocks, pos)
def __init__(self, pos): #create the x wing xWingBlocks = [ mcstuff.ShapeBlock(0, 0, -2, block.IRON_BLOCK), mcstuff.ShapeBlock(0, 0, -1, block.IRON_BLOCK), mcstuff.ShapeBlock(0, 0, 0, block.IRON_BLOCK), mcstuff.ShapeBlock(-3, 1, 0, block.IRON_BLOCK), mcstuff.ShapeBlock(0, 0, 0, block.IRON_BLOCK), mcstuff.ShapeBlock(3, 1, 0, block.IRON_BLOCK), mcstuff.ShapeBlock(-3, 1, 1, block.IRON_BLOCK), mcstuff.ShapeBlock(-1, 1, 1, block.WOOL.id, 8), mcstuff.ShapeBlock(0, 1, 1, block.WOOL.id, 3), mcstuff.ShapeBlock(1, 1, 1, block.WOOL.id, 8), mcstuff.ShapeBlock(3, 1, 1, block.IRON_BLOCK), mcstuff.ShapeBlock(-2, 1, 2, block.IRON_BLOCK), mcstuff.ShapeBlock(-1, 1, 2, block.WOOL.id, 8), mcstuff.ShapeBlock(0, 1, 2, block.IRON_BLOCK), mcstuff.ShapeBlock(1, 1, 2, block.WOOL.id, 8), mcstuff.ShapeBlock(2, 1, 2, block.IRON_BLOCK), mcstuff.ShapeBlock(-3, -1, 0, block.IRON_BLOCK), mcstuff.ShapeBlock(3, -1, 0, block.IRON_BLOCK), mcstuff.ShapeBlock(-3, -1, 1, block.IRON_BLOCK), mcstuff.ShapeBlock(-1, 0, 1, block.WOOL.id, 8), mcstuff.ShapeBlock(0, 0, 1, block.WOOL.id, 3), mcstuff.ShapeBlock(1, 0, 1, block.WOOL.id, 8), mcstuff.ShapeBlock(3, -1, 1, block.IRON_BLOCK), mcstuff.ShapeBlock(-2, -1, 2, block.IRON_BLOCK), mcstuff.ShapeBlock(-1, 0, 2, block.WOOL.id, 8), mcstuff.ShapeBlock(0, 0, 2, block.IRON_BLOCK), mcstuff.ShapeBlock(1, 0, 2, block.WOOL.id, 8), mcstuff.ShapeBlock(2, -1, 2, block.IRON_BLOCK) ] #instantiate the x wing StarwarsCraft.__init__(self, xWingBlocks, pos)
import mcpi.minecraftstuff as minecraftstuff import time import random mc = minecraft.Minecraft.create() mcdrawing = minecraftstuff.MinecraftDrawing(mc) pos = mc.player.getTilePos() x = pos.x y = pos.y z = pos.z #创建模型参数(与我的世界建立连接,位置,模型内部坐标) cz = 41 #模型内部坐标 mx1_blocks = [ minecraftstuff.ShapeBlock(0, 0, 0, cz), minecraftstuff.ShapeBlock(1, 1, 0, cz), minecraftstuff.ShapeBlock(0, 1, -1, cz), minecraftstuff.ShapeBlock(0, 1, 1, cz), minecraftstuff.ShapeBlock(1, 1, 0, cz), minecraftstuff.ShapeBlock(-1, 1, 0, cz), minecraftstuff.ShapeBlock(0, 2, -1, cz), minecraftstuff.ShapeBlock(0, 2, 1, cz), minecraftstuff.ShapeBlock(1, 2, 0, cz), minecraftstuff.ShapeBlock(-1, 2, 0, cz), minecraftstuff.ShapeBlock(0, 3, 0, cz), ] mx2_blocks = [ minecraftstuff.ShapeBlock(0, 0, 0, cz), minecraftstuff.ShapeBlock(1, 1, 0, cz),