Code: Select all
if (mc.getBlock(x, y, z) == block.COBBLESTONE.id):
# do something
gold istheArgoII wrote:I'm mainly going for the gold block
Code: Select all
if (mc.getBlock(x, y, z) == block.GOLD_BLOCK.id):Code: Select all
if (mc.getBlock(x, y, z) == 41):Are you sure that a block has been hit?theArgoII wrote:Okay, I tried that but it didn't do anything.
Code: Select all
import mcpi.minecraft as minecraft
import time
def checkBlockIsHit():
# This routine checks to see if the player hit any blocks with the sword
blockHits = mc.events.pollBlockHits()
# Were any blocks hit ?
# If so blockHits will contain a list of them, so we look at each one in turn
if (blockHits):
for blockHit in blockHits:
# find out where the block we hit is
x, y, z = blockHit.pos
msg = "x:" + str(x) + ", y:" + str(y) + ", z:" + str(z)
# What is the block number
blockType = mc.getBlock(x, y, z)
mc.postToChat("You hit a block number " + str(blockType) + " at " + msg)
else:
print ("No blocks hit.")
mc = minecraft.Minecraft.create()
mc.postToChat("Draw some blocks, then right click with the sword")
for i in range(0, 500):
checkBlockIsHit()
time.sleep(0.5)getblock(x, y, z) does check if a block is at a the specific coordinate.theArgoII wrote:Oh, I think I see the problem . I was looking for a command to check if a gold block is at curtain cords.
Code: Select all
import mcpi.minecraft as minecraft
import mcpi.block as block
mc.setBlock(10,10,10,block.GOLD_BLOCK.id)
blockType = mc.getBlock(10, 10, 10)
if (blockType == block.GOLD_BLOCK.id):
# code will execute, 41 will be posted to the chat window
mc.postToChat(str(blockType))
Code: Select all
elif (chat== "/flappybird"):
mc.postToChat("WARNING: THIS GAME WILL LAG DUE TO THE FUNCTIONALITY OF THE PIPES AND BIRD. IF YOU DO NOT WISH TO CONTINUE PLEASE DO CONTROL + C IN THE TERMONAL TO QUIT")
gameover= "false"
score= 1
mc.setBlocks(115,14,127,127,0,112,0)
mc.setBlocks(124,4,113,122,4,115,22)
mc.setBlock(123,5,116,41)
mc.setBlocks(127,2,127,117,2,127,2)
mc.setBlocks(127,1,127,117,0,127,3)
mc.setBlock(123,8,127,41)
mc.setBlocks(127,0,127,127,13,127,49)
mc.setBlocks(126,13,127,117,13,127,49)
mc.setBlocks(116,13,127,116,0,127,49)
mc.setBlocks(117,0,127,126,0,127,49)
mc.player.setPos(123.4,5,113.3)
pos= mc.player.getPos()
pos.y= pos.y + 3
time.sleep(5)
mc.postToChat("How to play:")
time.sleep(2)
mc.postToChat("Right click the gold block with a sword to go up (Goes down on its own; like the real thing)")
mc.postToChat("to avoid the pipes.")
time.sleep(3)
mc.postToChat("Starts in...")
mc.postToChat("3...")
time.sleep(1)
mc.postToChat("2...")
time.sleep(1)
mc.postToChat("1...")
time.sleep(1)
mc.postToChat("GO!")
py= pos.y
blockHits= mc.events.pollBlockHits()
y1= "false"
while(gameover== "false"):
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
score= score + 0.5
mc.setBlocks(117,12,127,117,7,127,35,5)
mc.setBlock(118,7,127,35,5)
mc.setBlocks(117,4,127,117,3,127,35,5)
mc.setBlock(118,4,127,35,5)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
time.sleep(1)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
mc.setBlocks(118,12,127,118,7,127,35,5)
mc.setBlock(119,7,127,35,5)
mc.setBlocks(118,4,127,118,3,127,35,5)
mc.setBlock(119,4,127,35,5)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
time.sleep(1)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
mc.setBlocks(119,12,127,119,7,127,35,5)
mc.setBlock(120,7,127,35,5)
mc.setBlocks(119,4,127,119,3,127,35,5)
mc.setBlock(120,4,127,35,5)
mc.setBlock(117,7,127,35,5)
mc.setBlock(117,4,127,35,5)
mc.setBlocks(117,12,127,117,8,127,0)
mc.setBlock(117,3,127,0)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
time.sleep(1)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
mc.setBlocks(120,12,127,120,7,127,35,5)
mc.setBlock(121,7,127,35,5)
mc.setBlocks(120,4,127,120,3,127,35,5)
mc.setBlock(121,4,127,35,5)
mc.setBlock(118,7,127,35,5)
mc.setBlock(118,4,127,35,5)
mc.setBlocks(118,12,127,118,8,127,0)
mc.setBlock(118,3,127,0)
mc.setBlock(117,7,127,0)
mc.setBlock(117,4,127,0)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
time.sleep(1)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
mc.setBlocks(121,12,127,121,7,127,35,5)
mc.setBlock(122,7,127,35,5)
mc.setBlocks(121,4,127,121,3,127,35,5)
mc.setBlock(122,4,127,35,5)
mc.setBlock(119,7,127,35,5)
mc.setBlock(119,4,127,35,5)
mc.setBlocks(119,12,127,119,8,127,0)
mc.setBlock(119,3,127,0)
mc.setBlock(118,7,127,0)
mc.setBlock(118,4,127,0)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
time.sleep(1)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
time.sleep(1)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
mc.setBlocks(122,12,127,122,7,127,35,5)
mc.setBlock(123,7,127,35,5)
mc.setBlocks(122,4,127,122,3,127,35,5)
mc.setBlock(123,4,127,35,5)
mc.setBlock(120,7,127,35,5)
mc.setBlock(120,4,127,35,5)
mc.setBlocks(120,12,127,120,8,127,0)
mc.setBlock(120,3,127,0)
mc.setBlock(119,7,127,0)
mc.setBlock(119,4,127,0)
mc.setBlock(117,5,127,35,5)
mc.setBlock(117,8,127,35,5)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
time.sleep(1)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
mc.setBlocks(123,12,127,123,7,127,35,5)
mc.setBlock(124,7,127,35,5)
mc.setBlocks(123,4,127,123,3,127,35,5)
mc.setBlock(124,4,127,35,5)
mc.setBlock(121,7,127,35,5)
mc.setBlock(121,4,127,35,5)
mc.setBlocks(121,12,127,121,8,127,0)
mc.setBlock(121,3,127,0)
mc.setBlock(120,7,127,0)
mc.setBlock(120,4,127,0)
blockHits=mc.events.pollBlockHits()
if blockHits:
for blockHit in blockHits:
if(mc.getBlock(blockHit.pos)== 41):
y1= "true"
if (y1 == "true"):
py = py + 1
mc.setBlock(123,py,127,41)
mc.setBlock(123,py-1,127,0)
time.sleep(0.5)
y1= "false"
elif (y1== "false"):
py = py - 1
time.sleep(0.5)
mc.setBlock(123,py,127,41)
mc.setBlock(123,py+1,127,0)
mc.setBlock(118,5,127,35,5)
mc.setBlock(118,8,127,35,5)
mc.setBlocks(117,5,127,117,3,127,35,5)
mc.setBlocks(117,12,127,117,9,127,35,5)
THIS IS WHAT I HAVE AS OF NOW. IT SPAWNS IN TWO PIPES AND LETS THE BIRD MOVE BUT I NEED THE TEST FOR BLOCK COMMAND TO USE IN THE GAME OVER FUNCTION.
THIS IS LIKE FLAPPYBIRD SO IT ALSO NEEDS TO GAMEOVER WHEN IT HITS A PIPE. IF YOU WANT TO SEE IT IN ACTION PUT IT IN AND SEE WHAT IT DOES BUT YOULL NEED TO CTRL + C OUT OF IT./code]Code: Select all
mc.postToChat("Starts in...")
mc.postToChat("3...")
time.sleep(1)
mc.postToChat("2...")
time.sleep(1)
mc.postToChat("1...")
time.sleep(1)
mc.postToChat("GO!")Code: Select all
mc.postToChat("Starts in...")
for i in range (3,0,-1):
mc.postToChat(str(i) + "...")
time.sleep(1)
mc.postToChat("GO!")
Code: Select all
y1 = True
if (y1):
# Code if True, if (y1) is short form for if (y1 == True)
Code: Select all
y1 = False
if (y1==False):
# code if false