0% found this document useful (0 votes)
189 views

Minecraft Python PDF

The document contains 7 tables that provide a quick reference to various Python concepts: 1. Table 1 covers input/output, variables, constants, printing, and reading from keyboard. 2. Table 2 covers different types of loops like while and for loops. 3. Table 3 covers conditions using if, elif, else statements and logical operators. 4. Table 4 covers defining and calling functions, passing parameters, and returning values. 5. Table 5 covers lists, accessing items, adding/removing items, and looping through lists. 6. Table 6 covers importing common modules like time, random, datetime, and math. 7. Table 7 covers file processing tasks like reading

Uploaded by

louterbridge2070
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
189 views

Minecraft Python PDF

The document contains 7 tables that provide a quick reference to various Python concepts: 1. Table 1 covers input/output, variables, constants, printing, and reading from keyboard. 2. Table 2 covers different types of loops like while and for loops. 3. Table 3 covers conditions using if, elif, else statements and logical operators. 4. Table 4 covers defining and calling functions, passing parameters, and returning values. 5. Table 5 covers lists, accessing items, adding/removing items, and looping through lists. 6. Table 6 covers importing common modules like time, random, datetime, and math. 7. Table 7 covers file processing tasks like reading

Uploaded by

louterbridge2070
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Appendix B

Quick Reference

Table 1 Python input, output, variables


Leaving reminders by using Using constants
comments
# whole-line comment SIZE = 100 # upper case name
print("hello") # end-of-line comment
Printing to the screen Reading from the keyboard
(Python V2)
print(10) # print a number name = raw_input("your name?")

print("hello") # print a string age = int(raw_input("how old?"))

print(a) # print a variable nextYearAge = age + 1


Storing values in variables Using Boolean variables
a = 10 # an integer (whole) number anotherGo = True

b = 20.2 # a decimal number while anotherGo:

message = "hello" # a string choice = int(raw_input("choice?"))

finished = True # a Boolean if choice == 8:

high_score = None # no value anotherGo = False


Converting strings to (integer) Converting numbers to strings
numbers
size = int(size) print("your age is:" + str(age))
Calculating with number Calculating absolute values and
variables differences
b = a + 1 # addition absolute = abs(-1) # absolute is 1

c = a - 1 # subtraction difference = abs(x1-x2)

d = a * 2 # multiplication smallest = min(x1, x2)

e = a / 2 # division largest = max(x1, x2)

f = a % 2 # remainder after division

BC1

02_9781118946916-bc02.indd 1 10/16/2014 10:50:30 AM


Table 2 Python loops
Looping Using counted loops
a = 0 for a in range(10):

while a<100: print(a) # 0..9

print(a) for a in range(5, 50, 5):

a = a + 1 print(a) # 5..45 in steps of 5


Looping through all characters Splitting comma-separated
in a string strings
name = "Charlotte" line = "one,two,three"

for ch in name: data = line.split(",")

print(ch) for d in data:

print(d)

Table 3 Python conditions


Using if statements Using if/else statements
if a==42: if a==5:

print("the ultimate answer") print("correct")

else:

print("wrong")
Using elif/else for multiple choices Checking multiple conditions
with and, or
if a==1: if choice>0 and choice<=8:

print("option A") print("in range")

elif a==2: if choice<1 or choice>8:

print("option B") print("out of range")

else:

print("anything else")
Checking for different or same Checking for less with if
with if
if a!=1: if a<1:

print("not equal") print("less than")

if a==1: if a<=1:

print("equal") print("less than or equal")


Checking opposites with not Checking for greater with if
playing = True if a>1:

if not playing: print("greater than")

print("finished") if a>=1:

print("greater than or equal")

BC2 ADVENTURES IN MINECRAFT

02_9781118946916-bc02.indd 2 10/16/2014 10:50:30 AM


Table 4 Python functions
Defining and calling functions Passing parameters to functions
def myname(): def hello(name):

print("my name is Laura") print("hello " + name)

myname() hello("Andrew")

myname() hello("Geraldine")
Returning values from functions Writing to global variables inside
functions
def smallest(a, b): treasure_x = 0

if a<b:

return a def build():

return b global treasure_x

print(smallest(10, 20)) treasure_x = 10

Table 5 Python lists


Creating lists Adding to the end of a list
a = [] # an empty list a.append("hello")
a = [1, 2, 3]#an initialised list
Printing the contents of a list Working out the size of a list
print(a) print(len(a))
Accessing items in a list by Accessing the last item in a list
their index
print(a[0]) # 0=first item, 1=second print(a[-1])
Removing the last item from a list Looping through all items in a list
word = a.pop() # remove last item for name in ["David","Gail","Janet"]:

print(word) # item just removed print(name)

Table 6 Other Python modules


Delaying for a short amount of time Generating random numbers
import time import random

time.sleep(1) # wait 1 second print(random.randint(1,100))


Getting the current date/time Using maths functions
import datetime import math

dateNow = datetime.datetime.now() radians = math.radians(angle)

import time sin = math.sin(radians)

timeNow = time.time() cos = math.cos(radians)

squareRoot = math.sqrt(number)

APPENDIX B QUICK REFERENCE BC3

02_9781118946916-bc02.indd 3 10/16/2014 10:50:30 AM


Table 7 File processing
Reading lines from a file Writing lines to a file
f = open("data.txt", "r") f = open("scores.txt", "w")

tips = f.readlines() f.write("Victoria:26000\n")

f.close() f.write("Amanda:10000\n")

for t in tips: f.write("Ria:32768\n")

print(t) f.close()
Getting a list of matching Stripping unwanted white space
filenames from strings
import glob a = "\n\n hello \n\n"

names = glob.glob("*.csv") a = a.strip()

for n in names: print(a)

print(n)

Table 8 Accessing hardware


Configuring GPIO pins Reading and writing GPIO pins
import RPi.GPIO as GPIO #RaspberryPi GPIO.output(5, True) # on (3.3V)

import anyio.GPIO as GPIO #Arduino GPIO.output(5, False) # off (0V)

GPIO.setmode(GPIO.BCM) if GPIO.input(6) == False:

GPIO.setup(5, GPIO.OUT) #output print("pressed")

GPIO.setup(6, GPIO.IN) #input


Safely cleaning up after using Using the 7-segment display module
the GPIO
try: import anyio.seg7 as display

do_something() # put code here LED_PINS = [10,22,25,8,7,9,11,15]

finally: ON = False # Common-Anode

GPIO.cleanup() ON = True # Common-Cathode

display.setup(GPIO, LED_PINS, ON)


Writing characters to the 7-segment Other 7-segment display functions
display
display.write("3") display.setdp(True) # point on

display.write("A") display.setdp(False) # point off

display.write("up") display.clear()

display.pattern([1,1,0,1,1,0,1,0])

BC4 ADVENTURES IN MINECRAFT

02_9781118946916-bc02.indd 4 10/16/2014 10:50:30 AM


Table 9 Minecraft API
These are the key functions of the Minecraft Python API. For a complete list of functions,
visit: www.stuffaboutcode.com/p/minecraft-api-reference.html.
Importing the Minecraft API Importing and using the block name
constants
import mcpi.minecraft as minecraft import mcpi.block as block

b = block.DIRT.id
Creating a connection to Minecraft Posting a message to the Minecraft
chat
mc = minecraft.Minecraft.create() mc.postToChat("Hello Minecraft")
Getting the player’s tile position Setting the player’s tile position
# what are the coordinates of tile x = 5

# that player is standing on? y = 3

pos = mc.player.getTilePos() z = 7

x = pos.x mc.player.setTilePos(x, y, z)

y = pos.y

z = pos.z
Getting the player’s position Setting the player’s position
# get precise position of player # set precise position of player

# in the world (e.g. x=2.33) x = 2.33

pos = mc.player.getPos() y = 3.95

x = pos.x z = 1.23

y = pos.y mc.setPos(x, y, z)

z = pos.z
Getting the height of the world Getting the block type at a position
# y position of first non-AIR block # id of block (e.g. block.DIRT.id)

height = mc.getHeight(5, 10) blockId = mc.getBlock(10, 5, 2)


Setting/changing a block at a Setting/changing lots of blocks in
position one go
mc.setBlock(5, 3, 2, block.DIRT.id) mc.setBlocks(0,0,0, 5,5,5, block.
AIR.id)
Finding out which blocks have Clearing any block hits
been hit
# which blocks hit since last time? # clear(ignore) hits since last time

events = mc.events.pollBlockHits() mc.events.clearAll()

for e in events:

pos = e.pos

print(pos.x)

APPENDIX B QUICK REFERENCE BC5

02_9781118946916-bc02.indd 5 10/16/2014 10:50:30 AM


Table 10 Minecraft API block types
Here is a sample of the block types available in Minecraft. Where appropriate, the data
values that can be used are included, and the Pi and PC/Mac columns show whether this
block can be used on those platforms. For a complete list of block IDs and block data
values, visit: www.stuffaboutcode.com/p/minecraft-api-reference.html.
ID Constant Data ID Sub-type Pi PC/MAC
0 AIR - - Y Y
1 STONE - - Y Y
2 GRASS - - Y Y
3 DIRT - - Y Y
4 COBBLESTONE - - Y Y
5 WOOD_PLANKS 0 Oak Y Y
1 Spruce N Y
2 Birch N Y
3 Jungle N Y
7 BEDROCK - - Y Y
8 WATER - - Y Y
9 WATER_STATIONARY 0 High Y Y
..7 Low Y Y
10 LAVA - - Y Y
11 LAVA_STATIONARY 0 High Y Y
..7 Low Y Y
12 SAND - - Y Y
13 GRAVEL - - Y Y
14 GOLD_ORE - - Y Y
15 IRON_ORE - - Y Y
16 COAL_ORE - - Y Y
17 WOOD 0 Oak (up/down) Y Y
1 Spruce (up/ Y Y
down)
2 Birch (up/down) Y Y
3 Jungle (up/ N Y
down)
4 Oak (east/west) N Y
5 Spruce (east/ N Y
west)
6 Birch (east/ N Y
west)
7 Jungle (east/ N Y
west)

BC6 ADVENTURES IN MINECRAFT

02_9781118946916-bc02.indd 6 10/16/2014 10:50:30 AM


ID Constant Data ID Sub-type Pi PC/MAC
8 Oak (north/ N Y
south)
9 Spruce (north/ N Y
south)
10 Birch (north/ N Y
south)
11 Jungle (north/ N Y
south)
12 Oak (only bark) N Y
13 Spruce (only N Y
bark)
14 Birch (only N Y
bark)
15 Jungle (only N Y
bark)
18 LEAVES 1 Oak leaves Y Y
2 Spruce leaves Y Y
3 Birch leaves Y Y
20 GLASS - - Y Y
24 SANDSTONE 0 Sandstone Y Y
1 Chiselled Y Y
Sandstone
2 Smooth Y Y
Sandstone
35 WOOL 0 White Y Y
1 Orange Y Y
2 Magenta Y Y
3 Light Blue Y Y
4 Yellow Y Y
5 Lime Y Y
6 Pink Y Y
7 Grey Y Y
8 Light grey Y Y
9 Cyan Y Y
10 Purple Y Y
11 Blue Y Y
12 Brown Y Y
13 Green Y Y
14 Red Y Y
15 Black Y Y
continued

APPENDIX B QUICK REFERENCE BC7

02_9781118946916-bc02.indd 7 10/16/2014 10:50:30 AM


Table 10 continued
ID Constant Data ID Sub-type Pi PC/MAC
37 FLOWER_YELLOW - - Y Y
38 FLOWER_CYAN - - Y Y
41 GOLD_BLOCK - - Y Y
42 IRON_BLOCK - - Y Y
45 BRICK_BLOCK - - Y Y
46 TNT 0 Inactive Y Y
1 Ready to Y Y
explode
49 OBSIDIAN - - Y Y
50 TORCH 0 Standing on the Y Y
floor
1 Pointing east Y Y
2 Pointing west Y Y
3 Pointing south Y Y
4 Pointing north Y Y
53 STAIRS_WOOD 0 Ascending east Y Y
1 Ascending west Y Y
2 Ascending south Y Y
3 Ascending north Y Y
4 Ascending east Y Y
(upside down)
5 Ascending west Y Y
(upside down)
6 Ascending south Y Y
(upside down)
7 Ascending north Y Y
(upside down)
57 DIAMOND_BLOCK - - Y Y
80 SNOW_BLOCK - - Y Y
89 GLOWSTONE_BLOCK - - Y Y
246 GLOWING_OBSIDIAN - - Y N
247 NETHER_REACTOR 0 Unused Y N
1 Active Y N
2 Stopped/used up Y N

BC8 ADVENTURES IN MINECRAFT

02_9781118946916-bc02.indd 8 10/16/2014 10:50:30 AM


Table 11 MinecraftStuff API (MinecraftDrawing)
Importing the MinecraftStuff API Creating the MinecraftDrawing
Object
import mcpi.minecraftstuff as ↵ mc = minecraft.Minecraft.create()

minecraftstuff mcdrawing =

minecraftstuff.MinecraftDrawing(mc)
Drawing a line between two points Getting all the block positions of a
line, as a list
mcdrawing.drawLine(0, 0, 0, line = mcdrawing.getLine(
0,0,0,10,10,10)
10, 10, 10, block.DIRT.id)
pos1 = line[0]

print(pos1.x)
Drawing a sphere Drawing a circle
mcdrawing.drawSphere(0, 0, 0, mcdrawing.drawCircle(0, 0, 0,

radius, block.DIRT.id) radius, block.DIRT.id)


Drawing a flat polygon(e.g. a triangle)
tri = []

filled = True

tri.append(minecraft.Vec3(0,0,0))

tri.append(minecraft.Vec3(10,0,0))

tri.append(minecraft.Vec3(5,10,0))

mcdrawing.drawFace(tri, filled,

block.DIRT.id)

Table 12 MinecraftStuff API (MinecraftShape)


Creating a MinecraftShape Drawing and clearing a shape
mc = minecraftmMinecraft.create() shape.draw()

blocks =

[minecraftstuff.ShapeBlock(0,0,0, shape.clear()

block.DIRT.id),

minecraftstuff.ShapeBlock(1,0,0,

block.DIRT.id)]

pos = Vec3(0,0,0)

shape =

minecraftstuff.MinecraftShape(mc,

pos, blocks)
Moving a shape to a position Moving a shape by a number of blocks
shape.move(10, 10, 10) ymove = 1

shape.moveBy(0, ymove, 0)

APPENDIX B QUICK REFERENCE BC9

02_9781118946916-bc02.indd 9 10/16/2014 10:50:30 AM


02_9781118946916-bc02.indd 10 10/16/2014 10:50:30 AM

You might also like