Example #1
0
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)
Example #2
0
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)
Example #3
0
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)
Example #4
0
]

#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
Example #5
0
# 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)
Example #6
0
    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)
Example #7
0
    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)
Example #8
0
    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)
Example #9
0
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),