commit 8bed7171c25dd891693f213c1b3e075c7f204fcc Author: BarsTigerMeowcat Date: Sun Jan 26 12:49:01 2020 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..39155b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Project exclude paths +/venv/ \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..584c505 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..ba24381 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..25d3f9e --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/pythonmc.iml b/.idea/pythonmc.iml new file mode 100644 index 0000000..d77b3da --- /dev/null +++ b/.idea/pythonmc.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/BookCraigRichardson/booleans/aboveGround.py b/BookCraigRichardson/booleans/aboveGround.py new file mode 100644 index 0000000..1f9f25d --- /dev/null +++ b/BookCraigRichardson/booleans/aboveGround.py @@ -0,0 +1,10 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +position = mc.player.getTilePos() +x = position.x +y = position.y +z = position.z +highestBlockY = mc.getHeight(x, z) +aboveGround = y >= highestBlockY +print("highestBlock: " + str(highestBlockY) + " y:" + str(y)) +mc.postToChat("Igrok nad zemloy? " + str(aboveGround)) \ No newline at end of file diff --git a/BookCraigRichardson/booleans/estArbuz.py b/BookCraigRichardson/booleans/estArbuz.py new file mode 100644 index 0000000..732a5eb --- /dev/null +++ b/BookCraigRichardson/booleans/estArbuz.py @@ -0,0 +1,10 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +x = 95 +y = 80 +z = 340 +eda = 103 +blockType = mc.getBlock(x, y, z) +noMelon = not blockType == eda +mc.postToChat("Nuzna eda: " + str(noMelon)) \ No newline at end of file diff --git a/BookCraigRichardson/booleans/farFromHome.py b/BookCraigRichardson/booleans/farFromHome.py new file mode 100644 index 0000000..25f91ea --- /dev/null +++ b/BookCraigRichardson/booleans/farFromHome.py @@ -0,0 +1,16 @@ +from mcpi.minecraft import Minecraft +import math + +mc = Minecraft.create() + +homeX = 95 +homeZ = 341 +dalekoOtDoma = 200 + +position = mc.player.getTilePos() +x = position.x +z = position.z + +distance = math.sqrt((homeX - x) ** 2 + (homeZ - z) ** 2) +print(distance) +mc.postToChat("Player's home is near: " + str(distance <= dalekoOtDoma)) diff --git a/BookCraigRichardson/booleans/immutableOn.py b/BookCraigRichardson/booleans/immutableOn.py new file mode 100644 index 0000000..f3a7986 --- /dev/null +++ b/BookCraigRichardson/booleans/immutableOn.py @@ -0,0 +1,6 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +immutableIs = False + +mc.setting("world_immutable", immutableIs) \ No newline at end of file diff --git a/BookCraigRichardson/booleans/inTree.py b/BookCraigRichardson/booleans/inTree.py new file mode 100644 index 0000000..fc9ad8b --- /dev/null +++ b/BookCraigRichardson/booleans/inTree.py @@ -0,0 +1,10 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +blockType = mc.getBlock(x, y - 1, z) +mc.postToChat("Na dereve? " + str(blockType == 17 or blockType == 18)) \ No newline at end of file diff --git a/BookCraigRichardson/booleans/insideHouse.py b/BookCraigRichardson/booleans/insideHouse.py new file mode 100644 index 0000000..17cf86c --- /dev/null +++ b/BookCraigRichardson/booleans/insideHouse.py @@ -0,0 +1,26 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +import time + +x1d1 = 92 +y1d1 = 63 +z1d1 = 341 +x2d1 = 98 +y2d1 = 87 +z2d1 = 343 + +x1d2 = 95 +y1d2 = 93 +z1d2 = 324 +x2d2 = 99 +y2d2 = 96 +z2d2 = 330 + +pos = mc.player.getTilePos() + +time.sleep(1) + +inside1 = (x1d1 <= pos.x <= x2d1) and (y1d1 <= pos.y <= y2d1) and (z1d1 <= pos.z <= z2d1) +inside2 = (x1d2 <= pos.x <= x2d2) and (y1d2 <= pos.y <= y2d2) and (z1d2 <= pos.z <= z2d2) +mc.postToChat("vnutri doma ? " + str(inside1 or inside2)) \ No newline at end of file diff --git a/BookCraigRichardson/booleans/notAir.py b/BookCraigRichardson/booleans/notAir.py new file mode 100644 index 0000000..9448c34 --- /dev/null +++ b/BookCraigRichardson/booleans/notAir.py @@ -0,0 +1,11 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +blockType = mc.getBlock(x, y - 1, z) +notAir = str(blockType != 0) +mc.postToChat("Ne v vozduhe? " + notAir) \ No newline at end of file diff --git a/BookCraigRichardson/booleans/swimming.py b/BookCraigRichardson/booleans/swimming.py new file mode 100644 index 0000000..a0bce1d --- /dev/null +++ b/BookCraigRichardson/booleans/swimming.py @@ -0,0 +1,10 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +blockType = mc.getBlock(x, y, z) +mc.postToChat("Vokrug voda? " + str(blockType == 9)) \ No newline at end of file diff --git a/BookCraigRichardson/booleans/underWater.py b/BookCraigRichardson/booleans/underWater.py new file mode 100644 index 0000000..e253866 --- /dev/null +++ b/BookCraigRichardson/booleans/underWater.py @@ -0,0 +1,11 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +blockType = mc.getBlock(x, y, z) +blockType2 = mc.getBlock(x, y + 1, z) +mc.postToChat("Pod vodoy? " + str(blockType == 9 and blockType2 == 9)) \ No newline at end of file diff --git a/BookCraigRichardson/classes/birdClass.py b/BookCraigRichardson/classes/birdClass.py new file mode 100644 index 0000000..88dec18 --- /dev/null +++ b/BookCraigRichardson/classes/birdClass.py @@ -0,0 +1,33 @@ +class Bird(object): + def __init__(self, name, wingspan): + self.name = name + self.wingspan = wingspan + def birdcall(self): + print("чик-чирик") + def fly(self): + print("хлоп-хлоп") +class Penguin(Bird): + def swim(self): + print("умеет плавать") + def birdcall(self): + print("квак") + def fly(self): + print("пингвины не летают :(") +class Parrot(Bird): + def __init__(self, name, wingspan, color): + self.name = name + self.wingspan = wingspan + self.color = color + +gardenBird = Bird("Geoffrey", 12) +gardenBird.birdcall() +gardenBird.fly() +sarahThePenguin = Penguin("Sarah", 10) +sarahThePenguin.swim() +sarahThePenguin.fly() +sarahThePenguin.birdcall() +freddieTheParrot = Parrot("Freddie", 12, "синий") + +print(freddieTheParrot.color) +freddieTheParrot.fly() +freddieTheParrot.birdcall() \ No newline at end of file diff --git a/BookCraigRichardson/classes/catClass.py b/BookCraigRichardson/classes/catClass.py new file mode 100644 index 0000000..1a1c47e --- /dev/null +++ b/BookCraigRichardson/classes/catClass.py @@ -0,0 +1,34 @@ +class Cat(object): + + owner = "Андрей" + + def __init__(self, name, weight): + self.name = name + self.weight = weight + + def getWeightInGrams(self): + return self.weight * 1000 + + def eat(self, food): + self.weight = self.weight + 0.05 + print(self.name + " ест " + food) + + def eatAndSleep(self, food): + self.eat(food) + print(self.name + " теперь спит...") + +myCat = Cat("Барсик", 4.5) +mySecondCat = Cat("Мурка", 3.9) +mySecondCat.owner = "Бабу:)" +print("имя кота: " + str(myCat.name)) +print("имя кошки: " + str(mySecondCat.name)) +print("вес кота до еды: " + str(myCat.weight)) +print("вес кота до еды в граммах: " + str(myCat.getWeightInGrams())) +mySecondCat.eat("торт") +myCat.eatAndSleep("рыбу") + +print("вес кота после еды: " + str(myCat.weight)) +print("вес котапосле еды в граммах: " + str(myCat.getWeightInGrams())) + +print(myCat.owner) +print(mySecondCat.owner) \ No newline at end of file diff --git a/BookCraigRichardson/classes/ghostCastle.py b/BookCraigRichardson/classes/ghostCastle.py new file mode 100644 index 0000000..5121f51 --- /dev/null +++ b/BookCraigRichardson/classes/ghostCastle.py @@ -0,0 +1,58 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +import random + +buildingName = input("Как назовем замок? (только англ. буквами) ") +kolVo = int(input("Сколько раз появиться замок? ")) + +class NamedBuilding(object): + def __init__(self, x, y, z, width, height, depth, name): + self.x = x + self.y = y + self.z = z + self.width = width + self.height = height + self.depth = depth + self.name = name + def build(self): + mc.setBlocks(self.x, self.y, self.z, self.x + self.width, self.y + self.height, self.z + self.depth, 4) + mc.setBlocks(self.x + 1, self.y + 1, self.z + 1, self.x + self.width - 1, self.y + self.height - 1, self.z + self.depth - 1, 0) + + def buildDoor(self): + mc.setBlocks(self.x + (self.width / 2), self.y + 1, self.z, self.x + (self.width / 2), self.y + 2, self.z, 0) + + def buildWindows(self): + mc.setBlock(self.x + (self.width / 4 * 3), self.y + 2, self.z, 0) + mc.setBlock(self.x + (self.width / 4), self.y + 2, self.z, 0) + + def clear(self): + mc.setBlocks(self.x, self.y, self.z, self.x + self.width, self.y + self.height, self.z + self.depth, 0) + + def getInfo(self): + return self.name + " imeet koordinati " + str(self.x) + ", " + str(self.y) + ", " + str(self.z) + +pos = mc.player.getTilePos() +x, y, z = pos.x, pos.y, pos.z + +ghostBuilding = NamedBuilding(x, y, z, 10, 16, 16, buildingName) + +def buildAndClear(): + + ghostBuilding.build() + ghostBuilding.buildDoor() + ghostBuilding.buildWindows() + + mc.postToChat(ghostBuilding.getInfo()) + + time.sleep(15) + + ghostBuilding.clear() + + ghostBuilding.x = random.randint(ghostBuilding.x - 50, ghostBuilding.x + 50) + ghostBuilding.z = random.randint(ghostBuilding.z - 50, ghostBuilding.z + 50) + ghostBuilding.y = mc.getHeight(ghostBuilding.x, ghostBuilding.z) + + +for i in range(kolVo): + buildAndClear() diff --git a/BookCraigRichardson/classes/ghostHotel.py b/BookCraigRichardson/classes/ghostHotel.py new file mode 100644 index 0000000..58387d7 --- /dev/null +++ b/BookCraigRichardson/classes/ghostHotel.py @@ -0,0 +1,104 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +import time +import random + +kolVo = int(input("Сколько раз появиться гостиница? ")) + + +class Building(object): + def __init__(self, x, y, z, width, height, depth): + self.x = x + self.y = y + self.z = z + + self.width = width + self.height = height + self.depth = depth + + def build(self): + mc.setBlocks(self.x, self.y, self.z, + self.x + self.width, self.y + self.height, self.z + self.depth, 4) + + mc.setBlocks(self.x + 1, self.y + 1, self.z + 1, + self.x + self.width - 1, self.y + self.height - 1, self.z + self.depth - 1, 0) + + self.buildWindows() + self.buildDoor() + + def clear(self): + mc.setBlocks(self.x, self.y, self.z, + self.x + self.width, self.y + self.height, self.z + self.depth, 0) + + def buildWindows(self): + mc.setBlock(self.x + (self.width / 4 * 3), self.y + 2, self.z, 95) + mc.setBlock(self.x + (self.width / 4), self.y + 2, self.z, 95) + + def buildDoor(self): + mc.setBlocks(self.x + (self.width / 2), self.y + 1, self.z, self.x + (self.width / 2), self.y + 2, self.z, 194) + + +class FancyBuilding(Building): + def upgrade(self): + + mc.setBlocks(self.x + 1, self.y, self.z + 1, + self.x + self.width - 1, self.y, self.z + self.depth - 1, + 35, 6) + + + mc.setBlocks(self.x - 1, self.y, self.z - 1, + self.x - 1, self.y, self.z + self.depth + 1, + 37) + mc.setBlocks(self.x - 1, self.y, self.z - 1, + self.x + self.width + 1, self.y, self.z - 1, + 37) + mc.setBlocks(self.x + self.width + 1, self.y, self.z - 1, + self.x + self.width + 1, self.y, self.z + self.depth + 1, + 37) + mc.setBlocks(self.x - 1, self.y, self.z + self.depth + 1, + self.x + self.width + 1, self.y, self.z + self.depth + 1, + 37) + + def clear(self): + mc.setBlocks(self.x, self.y, self.z,self.x + self.width, self.y + self.height, self.z + self.depth, 0) + + mc.setBlocks(self.x - 1, self.y, self.z - 1, + self.x - 1, self.y, self.z + self.depth + 1, + 0) + mc.setBlocks(self.x - 1, self.y, self.z - 1, + self.x + self.width + 1, self.y, self.z - 1, + 0) + mc.setBlocks(self.x + self.width + 1, self.y, self.z - 1, + self.x + self.width + 1, self.y, self.z + self.depth + 1, + 0) + mc.setBlocks(self.x - 1, self.y, self.z + self.depth + 1, + self.x + self.width + 1, self.y, self.z + self.depth + 1, + 0) + + +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +ghostHotel = FancyBuilding(x, y, z, 10, 6, 8) + +def buildAndClear(): + + ghostHotel.build() + ghostHotel.buildDoor() + ghostHotel.buildWindows() + ghostHotel.upgrade() + + time.sleep(15) + + ghostHotel.clear() + + ghostHotel.x = random.randint(ghostHotel.x - 50, ghostHotel.x + 50) + ghostHotel.z = random.randint(ghostHotel.z - 50, ghostHotel.z + 50) + ghostHotel.y = mc.getHeight(ghostHotel.x, ghostHotel.z) + + +for i in range(kolVo): + buildAndClear() diff --git a/BookCraigRichardson/classes/ghostHouse.py b/BookCraigRichardson/classes/ghostHouse.py new file mode 100644 index 0000000..d49b4f3 --- /dev/null +++ b/BookCraigRichardson/classes/ghostHouse.py @@ -0,0 +1,51 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +import random + +kolVo = int(input("Сколько раз появиться дом? ")) + +class Building(object): + def __init__(self, x, y, z, width, height, depth): + self.x = x + self.y = y + self.z = z + self.width = width + self.height = height + self.depth = depth + def build(self): + mc.setBlocks(self.x, self.y, self.z, self.x + self.width, self.y + self.height, self.z + self.depth, 4) + mc.setBlocks(self.x + 1, self.y + 1, self.z + 1, self.x + self.width - 1, self.y + self.height - 1, self.z + self.depth - 1, 0) + + def buildDoor(self): + mc.setBlocks(self.x + (self.width / 2), self.y + 1, self.z, self.x + (self.width / 2), self.y + 2, self.z, 0) + + def buildWindows(self): + mc.setBlock(self.x + (self.width / 4 * 3), self.y + 2, self.z, 0) + mc.setBlock(self.x + (self.width / 4), self.y + 2, self.z, 0) + + def clear(self): + mc.setBlocks(self.x, self.y, self.z, self.x + self.width, self.y + self.height, self.z + self.depth, 0) + +pos = mc.player.getTilePos() +x, y, z = pos.x, pos.y, pos.z + +ghostHouse = Building(x, y, z, 10, 6, 8) + +def buildAndClear(): + + ghostHouse.build() + ghostHouse.buildDoor() + ghostHouse.buildWindows() + + time.sleep(15) + + ghostHouse.clear() + + ghostHouse.x = random.randint(ghostHouse.x - 50, ghostHouse.x + 50) + ghostHouse.z = random.randint(ghostHouse.z - 50, ghostHouse.z + 50) + ghostHouse.y = mc.getHeight(ghostHouse.x, ghostHouse.z) + + +for i in range(kolVo): + buildAndClear() diff --git a/BookCraigRichardson/classes/ghostTree.py b/BookCraigRichardson/classes/ghostTree.py new file mode 100644 index 0000000..1d429c9 --- /dev/null +++ b/BookCraigRichardson/classes/ghostTree.py @@ -0,0 +1,78 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +import random + +kolVo = int(input("Сколько раз появиться дерево? ")) + +class Building(object): + def __init__(self, x, y, z, width, height, depth): + self.x = x + self.y = y + self.z = z + self.width = width + self.height = height + self.depth = depth + def build(self): + mc.setBlocks(self.x, self.y, self.z, self.x + self.width, self.y + self.height, self.z + self.depth, 4) + mc.setBlocks(self.x + 1, self.y + 1, self.z + 1, self.x + self.width - 1, self.y + self.height - 1, self.z + self.depth - 1, 0) + + def buildDoor(self): + mc.setBlocks(self.x + (self.width / 2), self.y + 1, self.z, self.x + (self.width / 2), self.y + 2, self.z, 0) + + def buildWindows(self): + mc.setBlock(self.x + (self.width / 4 * 3), self.y + 2, self.z, 0) + mc.setBlock(self.x + (self.width / 4), self.y + 2, self.z, 0) + + def clear(self): + mc.setBlocks(self.x, self.y, self.z, self.x + self.width, self.y + self.height, self.z + self.depth, 0) + + + +class Tree(Building): + def build(self): + wood = 17 + leaves = 18 + + mc.setBlocks(self.x, self.y, self.z, self.x, self.y + 5, self.z, wood) + + mc.setBlocks(self.x - 2, self.y + 6, self.z - 2, self.x + 2, self.y + 6, self.z + 2, leaves) + mc.setBlocks(self.x - 1, self.y + 7, self.z - 1, self.x + 1, self.y + 7, self.z + 1, leaves) + + def getInfo(self): + return"Derevo imeet koordinati " + str(self.x) + ", " + str(self.y) + ", " + str(self.z) + + def clear(self): + + mc.setBlocks(self.x, self.y, self.z, self.x, self.y + 5, self.z, 0) + + + mc.setBlocks(self.x - 2, self.y + 6, self.z - 2, self.x + 2, self.y + 6, self.z + 2, 0) + mc.setBlocks(self.x - 1, self.y + 7, self.z - 1, self.x + 1, self.y + 7, self.z + 1, 0) + + +pos = mc.player.getTilePos() +x, y, z = pos.x, pos.y, pos.z + + +ghostTree = Tree(x, y, z, 10, 6, 8) + + +def buildAndClear(): + + ghostTree.build() + + mc.postToChat(ghostTree.getInfo()) + print(ghostTree.getInfo()) + + time.sleep(5) + + ghostTree.clear() + + ghostTree.x = random.randint(ghostTree.x - 20, ghostTree.x + 20) + ghostTree.z = random.randint(ghostTree.z - 20, ghostTree.z + 20) + ghostTree.y = mc.getHeight(ghostTree.x, ghostTree.z) + + +for i in range(kolVo): + buildAndClear() diff --git a/BookCraigRichardson/classes/ghostVillage.py b/BookCraigRichardson/classes/ghostVillage.py new file mode 100644 index 0000000..e7bb956 --- /dev/null +++ b/BookCraigRichardson/classes/ghostVillage.py @@ -0,0 +1,81 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +import random + +kolVo = int(input("Сколько раз появиться поселок? ")) + +class Building(object): + def __init__(self, x, y, z, width, height, depth): + self.x = x + self.y = y + self.z = z + self.width = width + self.height = height + self.depth = depth + def build(self): + mc.setBlocks(self.x, self.y, self.z, self.x + self.width, self.y + self.height, self.z + self.depth, 4) + mc.setBlocks(self.x + 1, self.y + 1, self.z + 1, self.x + self.width - 1, self.y + self.height - 1, self.z + self.depth - 1, 0) + + def buildDoor(self): + mc.setBlocks(self.x + (self.width / 2), self.y + 1, self.z, self.x + (self.width / 2), self.y + 2, self.z, 0) + + def buildWindows(self): + mc.setBlock(self.x + (self.width / 4 * 3), self.y + 2, self.z, 0) + mc.setBlock(self.x + (self.width / 4), self.y + 2, self.z, 0) + + def clear(self): + mc.setBlocks(self.x, self.y, self.z, self.x + self.width, self.y + self.height, self.z + self.depth, 0) + +pos = mc.player.getTilePos() +x, y, z = pos.x, pos.y, pos.z + +ghostHouse = Building(x, y, z, 10, 6, 8) +shop = Building(x + 12, y, z, 8, 12, 10) +scaryHouse = Building(x + 24, y, z, 5, 30, 5) +castle = Building(x + 36, y, z, 10, 16, 16) + +def buildAndClear(): + + ghostHouse.build() + ghostHouse.buildDoor() + ghostHouse.buildWindows() + + shop.build() + shop.buildDoor() + shop.buildWindows() + + scaryHouse.build() + scaryHouse.buildDoor() + scaryHouse.buildWindows() + + castle.build() + castle.buildDoor() + castle.buildWindows() + + time.sleep(15) + + ghostHouse.clear() + shop.clear() + scaryHouse.clear() + castle.clear() + + ghostHouse.x = random.randint(ghostHouse.x - 50, ghostHouse.x + 50) + ghostHouse.z = random.randint(ghostHouse.z - 50, ghostHouse.z + 50) + ghostHouse.y = mc.getHeight(ghostHouse.x, ghostHouse.z) + + shop.x = random.randint(shop.x - 50, shop.x + 50) + shop.z = random.randint(shop.z - 50, shop.z + 50) + shop.y = mc.getHeight(shop.x, shop.z) + + scaryHouse.x = random.randint(scaryHouse.x - 50, scaryHouse.x + 50) + scaryHouse.z = random.randint(scaryHouse.z - 50, scaryHouse.z + 50) + scaryHouse.y = mc.getHeight(scaryHouse.x, scaryHouse.z) + + castle.x = random.randint(castle.x - 50, castle.x + 50) + castle.z = random.randint(castle.z - 50, castle.z + 50) + castle.y = mc.getHeight(castle.x, castle.z) + + +for i in range(kolVo): + buildAndClear() diff --git a/BookCraigRichardson/classes/locationClass.py b/BookCraigRichardson/classes/locationClass.py new file mode 100644 index 0000000..027100c --- /dev/null +++ b/BookCraigRichardson/classes/locationClass.py @@ -0,0 +1,11 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +class Location(object): + def __init__(self, x, y, z): + self.x = x + self.y = y + self.z = z + +bedroom = Location(96, 80, 341) +mc.player.setTilePos(bedroom.x, bedroom.y, bedroom.z) \ No newline at end of file diff --git a/BookCraigRichardson/files/buildMnogoStructure.py b/BookCraigRichardson/files/buildMnogoStructure.py new file mode 100644 index 0000000..7330c36 --- /dev/null +++ b/BookCraigRichardson/files/buildMnogoStructure.py @@ -0,0 +1,26 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import shelve + +def buildStructure(x, y, z, structure): + xStart = x + zStart = z + for row in structure: + for column in reversed(row): + for block in column: + mc.setBlock(x, y, z, block) + z += 1 + x += 1 + z = zStart + y += 1 + x = xStart + +name = input("Введите название конструкции, которую хотите построить ") + +superBuildsFile = shelve.open("superBuildsFile.db") +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +buildStructure(x, y, z, superBuildsFile[name]) \ No newline at end of file diff --git a/BookCraigRichardson/files/buildStructure.py b/BookCraigRichardson/files/buildStructure.py new file mode 100644 index 0000000..3088f96 --- /dev/null +++ b/BookCraigRichardson/files/buildStructure.py @@ -0,0 +1,26 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import pickle + +def buildStructure(x, y, z, structure): + xStart = x + zStart = z + for row in structure: + for column in reversed(row): + for block in column: + mc.setBlock(x, y, z, block) + z += 1 + x += 1 + z = zStart + y += 1 + x = xStart + +name = input("Введите название файла, который хотите открыть ") + ".txt" +file = open(name, "rb") +structure = pickle.load(file) +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +buildStructure(x, y, z, structure) \ No newline at end of file diff --git a/BookCraigRichardson/files/cube.txt b/BookCraigRichardson/files/cube.txt new file mode 100644 index 0000000..66f83e5 Binary files /dev/null and b/BookCraigRichardson/files/cube.txt differ diff --git a/BookCraigRichardson/files/home.txt b/BookCraigRichardson/files/home.txt new file mode 100644 index 0000000..b4739a0 Binary files /dev/null and b/BookCraigRichardson/files/home.txt differ diff --git a/BookCraigRichardson/files/inputToDoList.py b/BookCraigRichardson/files/inputToDoList.py new file mode 100644 index 0000000..2c4f9c2 --- /dev/null +++ b/BookCraigRichardson/files/inputToDoList.py @@ -0,0 +1,14 @@ +toDoFile = open("toDoFile.txt", "w", encoding="utf-8") + +mnogoZapominaushihKotikov = "" + +odinKotik = input("Введите описание дела(vot tak), котики его запомнят: ") + +while odinKotik != "zxc": + mnogoZapominaushihKotikov = mnogoZapominaushihKotikov + odinKotik + "\n" + odinKotik = input("Введите описание дела(vot tak)(или zxc для выхода)(после поставьте пробел и нажмите ENTER), котики его запомнят: ") + +toDoFile.write(mnogoZapominaushihKotikov) +toDoFile.close(), + + diff --git a/BookCraigRichardson/files/namePage.py b/BookCraigRichardson/files/namePage.py new file mode 100644 index 0000000..5dbf832 --- /dev/null +++ b/BookCraigRichardson/files/namePage.py @@ -0,0 +1,6 @@ +from flask import Flask +app = Flask(__name__) +@app.route("/") +def showName(): + return "Андрей Мешко" +app.run() \ No newline at end of file diff --git a/BookCraigRichardson/files/outputToDoList.py b/BookCraigRichardson/files/outputToDoList.py new file mode 100644 index 0000000..96dca8d --- /dev/null +++ b/BookCraigRichardson/files/outputToDoList.py @@ -0,0 +1,8 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +zapominausieKotiki = open("toDoFile.txt", "r") + +for zapominausiyKotik in zapominausieKotiki: + mc.postToChat(zapominausiyKotik) + print(zapominausiyKotik) \ No newline at end of file diff --git a/BookCraigRichardson/files/positionPage.py b/BookCraigRichardson/files/positionPage.py new file mode 100644 index 0000000..936dc9d --- /dev/null +++ b/BookCraigRichardson/files/positionPage.py @@ -0,0 +1,12 @@ +from flask import Flask +app = Flask(__name__) +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +pos = mc.player.getTilePos() +x, y, z = str(pos.x), str(pos.y), str(pos.z) + +@app.route("/") +def showPosition(): + return "Ваши координаты на момент запуска программы: " + "х-" + x + ", y-" + y + ", z-" + z +app.run() \ No newline at end of file diff --git a/BookCraigRichardson/files/saveMnogoStructure.py b/BookCraigRichardson/files/saveMnogoStructure.py new file mode 100644 index 0000000..24f2abe --- /dev/null +++ b/BookCraigRichardson/files/saveMnogoStructure.py @@ -0,0 +1,50 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import shelve + +def sortPair(val1, val2): + if val1 > val2: + return val2, val1 + else: + return val1, val2 + +def copyStructure(x1, y1, z1, x2, y2, z2): + x1, x2 = sortPair(x1, x2) + y1, y2 = sortPair(y1, y2) + z1, z2 = sortPair(z1, z2) + + width = x2 - x1 + height = y2 - y1 + length = z2 - z1 + + structure = [] + + print("Подождите, пока мы смотрим видео про котиков и заставляем себя начать копировать блоки воздуха, которые вы случайно добавили в пространство копирования, в список") + print("ЧТО? Так быстро закончилось видео? Ну ладно, начинаем. А вы пока покормите своих оцелотов") + + for row in range(height): + structure.append([]) + for column in range(width): + structure[row].append([]) + for depth in range(length): + block = mc.getBlock(x1 + column, y1 + row, z1 + depth) + structure[row][column].append(block) + return structure + + +input("Подойдите к одному углу констукции и нажмите ") +pos = mc.player.getTilePos() +x1, y1, z1 = pos.x, pos.y, pos.z + +input("Подойдите к противоположному углу и нажмите ") +pos = mc.player.getTilePos() +x2, y2, z2 = pos.x, pos.y, pos.z + +structure = copyStructure(x1, y1, z1, x2, y2, z2) + +structureName = input("Как назовем конструкцию? ") + +superBuildsFile = shelve.open("superBuildsFile.db") +superBuildsFile[structureName] = structure +superBuildsFile.close() + diff --git a/BookCraigRichardson/files/saveStructure.py b/BookCraigRichardson/files/saveStructure.py new file mode 100644 index 0000000..f1625fc --- /dev/null +++ b/BookCraigRichardson/files/saveStructure.py @@ -0,0 +1,51 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import pickle + +def sortPair(val1, val2): + if val1 > val2: + return val2, val1 + else: + return val1, val2 + +def copyStructure(x1, y1, z1, x2, y2, z2): + x1, x2 = sortPair(x1, x2) + y1, y2 = sortPair(y1, y2) + z1, z2 = sortPair(z1, z2) + + width = x2 - x1 + height = y2 - y1 + length = z2 - z1 + + structure = [] + + print("Подождите, пока мы смотрим видео про котиков и заставляем себя начать копировать блоки воздуха, которые вы случайно добавили в пространство копирования, в список") + print("ЧТО? Так быстро закончилось видео? Ну ладно, начинаем. А вы пока покормите своих оцелотов") + + for row in range(height): + structure.append([]) + for column in range(width): + structure[row].append([]) + for depth in range(length): + block = mc.getBlock(x1 + column, y1 + row, z1 + depth) + structure[row][column].append(block) + return structure + + +input("Подойдите к одному углу констукции и нажмите ") +pos = mc.player.getTilePos() +x1, y1, z1 = pos.x, pos.y, pos.z + +input("Подойдите к противоположному углу и нажмите ") +pos = mc.player.getTilePos() +x2, y2, z2 = pos.x, pos.y, pos.z + +structure = copyStructure(x1, y1, z1, x2, y2, z2) + +nameOfFile = input("Как назовем файл? ") + ".txt" + +nameOfFile = open(nameOfFile, "xb") +pickle.dump(structure, nameOfFile) + +# pickleFile = open("pickleFile.txt", "wb") +# pickle.dump(structure, pickleFile) \ No newline at end of file diff --git a/BookCraigRichardson/files/toDoFile.txt b/BookCraigRichardson/files/toDoFile.txt new file mode 100644 index 0000000..71707a6 --- /dev/null +++ b/BookCraigRichardson/files/toDoFile.txt @@ -0,0 +1,2 @@ +koti +koti diff --git a/BookCraigRichardson/files/tree.txt b/BookCraigRichardson/files/tree.txt new file mode 100644 index 0000000..accd9f4 Binary files /dev/null and b/BookCraigRichardson/files/tree.txt differ diff --git a/BookCraigRichardson/forLoops/brokenWall.py b/BookCraigRichardson/forLoops/brokenWall.py new file mode 100644 index 0000000..840735e --- /dev/null +++ b/BookCraigRichardson/forLoops/brokenWall.py @@ -0,0 +1,28 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +import random + +def brokenBlock(): + brokenBlocks = [48, 67, 4, 4, 4, 4] + block = random.choice(brokenBlocks) + return block + +pos = mc.player.getTilePos() +x, y, z = pos.x, pos. y, pos.z +brokenWall = [] +height, width = 5, 10 + +for row in range(height): + brokenWall.append([]) + for column in range(width): + block = brokenBlock() + brokenWall[row].append(block) + +for row in brokenWall: + for block in row: + mc.setBlock(x, y, z, block) + x += 1 + time.sleep(0.1) + y += 1 + x = pos.x \ No newline at end of file diff --git a/BookCraigRichardson/forLoops/copyArea.py b/BookCraigRichardson/forLoops/copyArea.py new file mode 100644 index 0000000..f96f349 --- /dev/null +++ b/BookCraigRichardson/forLoops/copyArea.py @@ -0,0 +1,62 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +def sortPair(val1, val2): + if val1 > val2: + return val2, val1 + else: + return val1, val2 + +def copyStructure(x1, y1, z1, x2, y2, z2): + x1, x2 = sortPair(x1, x2) + y1, y2 = sortPair(y1, y2) + z1, z2 = sortPair(z1, z2) + + width = x2 - x1 + height = y2 - y1 + length = z2 - z1 + + structure = [] + + print("Подождите, пока мы смотрим видео про котиков и заставляем себя начать копировать блоки воздуха, которые вы случайно добавили в пространство копирования, в список") + print("ЧТО? Так быстро закончилось видео? Ну ладно, начинаем. А вы пока покормите своих оцелотов") + + for row in range(height): + structure.append([]) + for column in range(width): + structure[row].append([]) + for depth in range(length): + block = mc.getBlock(x1 + column, y1 + row, z1 + depth) + structure[row][column].append(block) + return structure + + +def buildStructure(x, y, z, structure): + xStart = x + zStart = z + for row in structure: + for column in reversed(row): + for block in column: + mc.setBlock(x, y, z, block) + z += 1 + x += 1 + z = zStart + y += 1 + x = xStart + + +input("Подойдите к одному углу констукции и нажмите ") +pos = mc.player.getTilePos() +x1, y1, z1 = pos.x, pos.y, pos.z + +input("Подойдите к противоположному углу и нажмите ") +pos = mc.player.getTilePos() +x2, y2, z2 = pos.x, pos.y, pos.z + +structure = copyStructure(x1, y1, z1, x2, y2, z2) + +input("Мы закончили страдать фигней, и делать что-то вместо копирования(даже как-то успели все скопировать), поэтому подойдите к месту, куда хотите поставить постройку и нажмите тут ") +pos = mc.player.getTilePos() +x, y, z = pos.x, pos.y, pos.z +buildStructure(x, y, z, structure) +print("СМОТРИТЕ" + str(structure) + " - это тот список в который мы засунули блоки") \ No newline at end of file diff --git a/BookCraigRichardson/forLoops/cube.py b/BookCraigRichardson/forLoops/cube.py new file mode 100644 index 0000000..9fe7941 --- /dev/null +++ b/BookCraigRichardson/forLoops/cube.py @@ -0,0 +1,24 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +pos = mc.player.getTilePos() +x, y, z = pos.x, pos.y, pos.z + +cube = [[[57, 57, 57, 57], [57, 0, 0, 57], [57, 0, 0, 57], [57, 57, 57, 57]], + [[57, 0, 0, 57], [0, 0, 0, 0], [0, 0, 0, 0], [57, 0, 0, 57]], + [[57, 0, 0, 57], [0, 0, 0, 0], [0, 0, 0, 0], [57, 0, 0, 57]], + [[57, 57, 57, 57], [57, 0, 0, 57], [57, 0, 0, 57], [57, 57, 57, 57]]] + +startingX, startingY = x, y + +for depth in cube: + for heigth in reversed(depth): + for block in heigth: + mc.setBlock(x, y, z, block) + x += 1 + time.sleep(0.1) + y += 1 + x = startingX + z += 1 + y = startingY diff --git a/BookCraigRichardson/forLoops/diamondSurvey.py b/BookCraigRichardson/forLoops/diamondSurvey.py new file mode 100644 index 0000000..48a7a6a --- /dev/null +++ b/BookCraigRichardson/forLoops/diamondSurvey.py @@ -0,0 +1,24 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +pos = mc.player.getPos() +x, y, z = pos.x, pos.y, pos.z + +podnozniyBlock = mc.getBlock(x, y, z) +blockPodNogami = [] + +for item in range(80): + blockPodNogami.append(podnozniyBlock) + y = y - 1 + podnozniyBlock = mc.getBlock(x, y, z) + if 56 in blockPodNogami: + mc.postToChat("Almazi na pribliz. glubine " + str(blockPodNogami.index(56))) + break + else: + mc.postToChat("Rudi net :(") + +print(blockPodNogami) + + + + diff --git a/BookCraigRichardson/forLoops/magicSword.py b/BookCraigRichardson/forLoops/magicSword.py new file mode 100644 index 0000000..6a397f6 --- /dev/null +++ b/BookCraigRichardson/forLoops/magicSword.py @@ -0,0 +1,14 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +block = int(input("Введите ID блока, в который превратятся ударённые вами блоки(103-арбуз, 57-алмаз и т.д.) ")) + +time.sleep(10) + +hits = mc.events.pollBlockHits() + + +for hit in hits: + x, y, z = hit.pos.x, hit.pos.y, hit.pos.z + mc.setBlock(x, y, z, block) diff --git a/BookCraigRichardson/forLoops/pillars.py b/BookCraigRichardson/forLoops/pillars.py new file mode 100644 index 0000000..37390f7 --- /dev/null +++ b/BookCraigRichardson/forLoops/pillars.py @@ -0,0 +1,30 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +def setPillar(x, y, z, height): + stairBlock = 156 + block = 155 + + mc.setBlocks(x - 1, y + height, z - 1, x + 1, y + height, z + 1, block, 1) + mc.setBlock(x - 1, y + height - 1, z, stairBlock, 12) + mc.setBlock(x + 1, y + height - 1, z, stairBlock, 13) + mc.setBlock(x, y + height - 1, z + 1, stairBlock, 15) + mc.setBlock(x, y + height - 1, z - 1, stairBlock, 14) + + mc.setBlocks(x - 1, y, z - 1, x + 1, y, z + 1, block, 1) + mc.setBlock(x - 1, y + 1, z, stairBlock, 0) + mc.setBlock(x + 1, y + 1, z, stairBlock, 1) + mc.setBlock(x, y + 1, z + 1, stairBlock, 3) + mc.setBlock(x, y + 1, z - 1, stairBlock, 2) + + mc.setBlocks(x, y, z, x, y + height, z, block, 2) + +pos = mc.player.getTilePos() +x, y, z = pos.x + 2, pos.y, pos.z + +skolkoKolonn = int(input("Сколько колонн? ")) +rasstoyanie = int(input("Сколько расстояние между колоннами? ")) +visota = int(input("Какой высоты колонны? ")) + +for item in range(0, skolkoKolonn): + setPillar(x + item * rasstoyanie, y, z, visota) diff --git a/BookCraigRichardson/forLoops/pixelArt.py b/BookCraigRichardson/forLoops/pixelArt.py new file mode 100644 index 0000000..5a1656e --- /dev/null +++ b/BookCraigRichardson/forLoops/pixelArt.py @@ -0,0 +1,25 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +pos = mc.player.getTilePos() +x, y, z = pos.x, pos.y, pos.z + +blocks = [[35, 35, 22, 22, 22, 22, 35, 35], + [35, 22, 35, 35, 35, 35, 22, 35], + [22, 35, 22, 35, 35, 22, 35, 22], + [22, 35, 35, 35, 35, 35, 35, 22], + [22, 35, 22, 35, 35, 22, 35, 22], + [22, 35, 35, 22, 22, 35, 35, 22], + [22, 35, 35, 35, 35, 35, 35, 22], + [35, 22, 35, 35, 35, 35, 22, 35], + [35, 35, 22, 22, 22, 22, 35, 35]] + +for row in reversed(blocks): + for block in row: + mc.setBlock(x, y, z, block) + x += 1 + time.sleep(0.1) + + y += 1 + x = pos.x \ No newline at end of file diff --git a/BookCraigRichardson/forLoops/pyramid.py b/BookCraigRichardson/forLoops/pyramid.py new file mode 100644 index 0000000..76f67b0 --- /dev/null +++ b/BookCraigRichardson/forLoops/pyramid.py @@ -0,0 +1,13 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +block = 24 +height = int(input("Введите высоту пирамиды ")) +levels = reversed(range(height)) + +pos = mc.player.getTilePos() +x, y, z = pos.x + height, pos.y, pos.z + +for level in levels: + mc.setBlocks(x - level, y, z - level, x + level, y, z + level, block) + y += 1 \ No newline at end of file diff --git a/BookCraigRichardson/forLoops/rainbowRows.py b/BookCraigRichardson/forLoops/rainbowRows.py new file mode 100644 index 0000000..da5569d --- /dev/null +++ b/BookCraigRichardson/forLoops/rainbowRows.py @@ -0,0 +1,19 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +twoDimensionalRainbowList = [[0, 0, 0], + [1, 1, 1], + [2, 2, 2], + [3, 3, 3], + [4, 4, 4], + [5, 5, 5]] +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z +startingX = x +for row in twoDimensionalRainbowList: + for color in row: + mc.setBlock(x, y, z, 35, color) + x += 1 + y += 1 + x = startingX diff --git a/BookCraigRichardson/forLoops/rainbowStack1.py b/BookCraigRichardson/forLoops/rainbowStack1.py new file mode 100644 index 0000000..faa635f --- /dev/null +++ b/BookCraigRichardson/forLoops/rainbowStack1.py @@ -0,0 +1,12 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +oneDimensionalRainbowList = [0, 1, 2, 3, 4, 5] +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +for color in oneDimensionalRainbowList: + mc.setBlock(x, y, z, 35, color) + y += 1 \ No newline at end of file diff --git a/BookCraigRichardson/forLoops/stairs.py b/BookCraigRichardson/forLoops/stairs.py new file mode 100644 index 0000000..5fd9659 --- /dev/null +++ b/BookCraigRichardson/forLoops/stairs.py @@ -0,0 +1,20 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +pos = mc.player.getTilePos() + +stairBlock = 53 + +x, y, z = pos.x, pos.y, pos.z + +dlina = int(input("Какой высоты будет лестница? ")) + +for item in range(0, dlina): + mc.setBlock(x + item, y + item, z, stairBlock) + +input("Нажмите ENTER, чтобы удалить лестницу ") +for nomerDel in range(0, dlina): + mc.setBlock(x + nomerDel, y + nomerDel, z, 0) + + diff --git a/BookCraigRichardson/forLoops/swordHitsName2,0.py b/BookCraigRichardson/forLoops/swordHitsName2,0.py new file mode 100644 index 0000000..31db170 --- /dev/null +++ b/BookCraigRichardson/forLoops/swordHitsName2,0.py @@ -0,0 +1,25 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +import time + +name = "" +scoreboard = {} + +while True: + name = input("Джедай ударов по блокам правой кнопкой меча, имя свое введи... (выйти дабы, простое слово стоп введи) ") + if name == "стоп": + break + time.sleep(0.5) + mc.postToChat("Nachinaem! Da prebudet s vami sila!!!") + + time.sleep(15) + + blockHits = mc.events.pollBlockHits() + blockHitsLength = len(blockHits) + mc.postToChat("Vash chet " + str(blockHitsLength)) + + scoreboard[name] = blockHitsLength + + for name in scoreboard: + print(name + "-" + str(scoreboard[name])) diff --git a/BookCraigRichardson/functions/blockIds.py b/BookCraigRichardson/functions/blockIds.py new file mode 100644 index 0000000..c116e34 --- /dev/null +++ b/BookCraigRichardson/functions/blockIds.py @@ -0,0 +1,61 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +def melon(): + return 103 + +def water(): + return 9 + +def dinamit(): + return 46 + +def fakel(): + return 50 + +def dragonEgg(): + return 122 + +def maak(): + return 138 + +def morskoyfonar(): + return 169 + +def ogon(): + return 51 + +def almazniyBlock(): + return 57 + + +def voproshalka(): + polzovatelZabilIDBloka = input("Введите название блока: ") + if polzovatelZabilIDBloka == "арбуз": + return melon() + elif polzovatelZabilIDBloka == "вода": + return water() + elif polzovatelZabilIDBloka == "динамит": + return dinamit() + elif polzovatelZabilIDBloka == "факел": + return fakel() + elif polzovatelZabilIDBloka == "драконье яйцо": + return dragonEgg() + elif polzovatelZabilIDBloka == "маяк": + return maak() + elif polzovatelZabilIDBloka == "морской фонарь": + return morskoyfonar() + elif polzovatelZabilIDBloka == "огонь": + return ogon() + elif polzovatelZabilIDBloka == "алмазный блок": + return almazniyBlock() + + +def stavilka(): + block = voproshalka() + mc.postToChat(block) + pos = mc.player.getTilePos() + mc.setBlock(pos.x, pos. y, pos.z, block) + + +stavilka() diff --git a/BookCraigRichardson/functions/forest.py b/BookCraigRichardson/functions/forest.py new file mode 100644 index 0000000..c311388 --- /dev/null +++ b/BookCraigRichardson/functions/forest.py @@ -0,0 +1,39 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +def growTree(x, y, z): + blockTypeDerevo = 17 + blockTypeLista = 161 + mc.setBlock(x, y, z, blockTypeDerevo) + y = y + 1 + mc.setBlock(x, y, z, blockTypeDerevo) + y = y + 1 + mc.setBlock(x, y, z, blockTypeDerevo) + y = y + 1 + mc.setBlock(x, y, z, blockTypeDerevo) + y = y + 1 + mc.setBlock(x, y, z, blockTypeDerevo) + y = y + 1 + mc.setBlock(x, y, z, blockTypeDerevo) + y = y + 1 + mc.setBlock(x, y, z, blockTypeDerevo) + y = y + 1 + mc.setBlock(x, y, z, blockTypeDerevo) + dlinaNiza = 2 + shirinaNiza = 2 + visotaNiza = 1 + mc.setBlocks(x - 2, y, z - 2, x + dlinaNiza, y + visotaNiza, z + shirinaNiza, blockTypeLista) + +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +growTree(x + 1, y, z) +growTree(x + 6, y, z) +growTree(x + 12, y, z) +growTree(x + 18, y, z) +growTree(x + 24, y, z) +growTree(x + 30, y, z) +growTree(x + 36, y, z) +growTree(x + 42, y, z) \ No newline at end of file diff --git a/BookCraigRichardson/functions/melonFunction.py b/BookCraigRichardson/functions/melonFunction.py new file mode 100644 index 0000000..2f5a8bb --- /dev/null +++ b/BookCraigRichardson/functions/melonFunction.py @@ -0,0 +1,23 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +def makeMelon(pos, x, y, z): + pos = mc.player.getPos() + x = pos.x + y = pos.y - 1 + z = pos.z + mc.setBlock(x, y, z, 103) + time.sleep(5) + +pos = mc.player.getPos() +x = pos.x +y = pos.y - 1 +z = pos.z + +makeMelon(pos, x, y, z) +makeMelon(pos, x, y, z) +makeMelon(pos, x, y, z) +makeMelon(pos, x, y, z) +makeMelon(pos, x, y, z) +makeMelon(pos, x, y, z) diff --git a/BookCraigRichardson/functions/movingBlockMagic.py b/BookCraigRichardson/functions/movingBlockMagic.py new file mode 100644 index 0000000..365ef7a --- /dev/null +++ b/BookCraigRichardson/functions/movingBlockMagic.py @@ -0,0 +1,80 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +block = 0 +sleep = 0 + +answerBlock = int(input("Какой блок будет ходить? 1-светильник Джека, 2-алмазный блок, 3-верстак, 4-динамит, 5-замшелый булыжник, " + "6-редстоун блок, 7-саженец дуба, 8-сундук, 9-яйцо дракона, 10-кровать ")) +if answerBlock == 1: + block = 91 +elif answerBlock == 2: + block = 51 +elif answerBlock == 3: + block = 58 +elif answerBlock == 4: + block = 46 +elif answerBlock == 5: + block = 48 +elif answerBlock == 6: + block = 152 +elif answerBlock == 7: + block = 6 +elif answerBlock == 8: + block = 54 +elif answerBlock == 9: + block = 122 +elif answerBlock == 10: + block = 26 + +prType = int(input("Как будет перемещаться блок? 1-ровно и красиво(но есть ловушки, которые он не пройдет) 2-по диагонали, но проходит все ловушки ")) + +answerSpeed = int(input("Как будет перемещаться блок? 1-медленно, 2-быстро, 3-очень быстро ")) +if answerSpeed == 1: + sleep = 1 +elif answerSpeed == 2: + sleep = 0.5 +elif answerSpeed == 3: + sleep = 0.1 + + + +def calculateMove(programType): + global x + global y + global z + + currentHeight = mc.getHeight(x, z) - 1 + + forwardHeight = mc.getHeight(x + 1, z) + rightHeight = mc.getHeight(x, z + 1) + backwardHeight = mc.getHeight(x - 1, z) + leftHeight = mc.getHeight(x, z - 1) + + if forwardHeight - currentHeight < 3: + x += 1 + if programType == 2: + z += 1 + elif rightHeight - currentHeight < 3: + z += 1 + if programType == 2: + x += 1 + elif leftHeight - currentHeight < 3: + z -= 1 + elif backwardHeight - currentHeight < 3: + x -= 1 + y = mc.getHeight(x, z) + + +pos = mc.player.getTilePos() +x = pos.x +z = pos.z +y = mc.getHeight(x, z) + + +while True: + calculateMove(prType) + mc.setBlock(x, y, z, block) + time.sleep(sleep) + mc.setBlock(x, y, z, 0) \ No newline at end of file diff --git a/BookCraigRichardson/functions/woolColors.py b/BookCraigRichardson/functions/woolColors.py new file mode 100644 index 0000000..ad6a160 --- /dev/null +++ b/BookCraigRichardson/functions/woolColors.py @@ -0,0 +1,43 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +pos = mc.player.getTilePos() +block = 35 + +def getWoolState(color): + if color == "розовый": + blockState = 6 + elif color == "бирюзовый": + blockState = 9 + elif color == "голубой": + blockState = 3 + elif color == "желтый": + blockState = 4 + elif color == "зеленый": + blockState = 13 + elif color == "коричневый": + blockState = 12 + elif color == "красный": + blockState = 14 + elif color == "оранжевый": + blockState = 1 + elif color == "зеленый": + blockState = 5 + elif color == "светло-серый": + blockState = 8 + elif color == "серый": + blockState = 7 + elif color == "синий": + blockState = 11 + elif color == "черный": + blockState = 15 + elif color == "белый": + blockState = 0 + return blockState + +colorString = input("Введите цвет блока: ") +state = getWoolState(colorString) + +pos = mc.player.getTilePos() +mc.postToChat("Tip i cvet blocka: " + str(block) + "," + str(state)) +mc.setBlock(pos.x, pos.y, pos.z, block, state) diff --git a/BookCraigRichardson/ifStatements/crater.py b/BookCraigRichardson/ifStatements/crater.py new file mode 100644 index 0000000..e6763d0 --- /dev/null +++ b/BookCraigRichardson/ifStatements/crater.py @@ -0,0 +1,10 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +answer = input("Точно создать кратер? Он может уничтожить находящиеся рядом постройки! Д/Н") + +if answer == "Д" or answer == "д" : + + pos = mc.player.getPos() + mc.setBlocks(pos.x + 1, pos.y + 1, pos.z + 1, pos.x - 1, pos.y - 1, pos.z - 1, 0) + mc.postToChat("Babah!!!") \ No newline at end of file diff --git a/BookCraigRichardson/ifStatements/gift.py b/BookCraigRichardson/ifStatements/gift.py new file mode 100644 index 0000000..7f1e8c1 --- /dev/null +++ b/BookCraigRichardson/ifStatements/gift.py @@ -0,0 +1,29 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +x = 91 +y = 77 +z = 341 +gift = mc.getBlock(x, y, z) + +if gift == 57: + mc.postToChat("Bog almazov ochen rad!") + time.sleep(3) + mc.setBlock(x, y, z, 0) + +elif gift == 103: + mc.postToChat("Arbuz - toze normalno") + time.sleep(3) + mc.setBlock(x, y, z, 0) +else: + mc.player.setTilePos(100.859, 64, 357.531) + mc.postToChat("Nuzno davat podarki! Postav almazniy blok na arbuz i nazmi (Sm python console)!") + mc.setBlock(x, y, z, 0) + input("Нажми любую клавишу") + if mc.getBlock(101, 64, 357) == 57: + mc.setBlock(101,64 ,357 , 0) + mc.player.setPos(94, 76, 341) + mc.postToChat("Spasibo") + + diff --git a/BookCraigRichardson/ifStatements/immutableVibor.py b/BookCraigRichardson/ifStatements/immutableVibor.py new file mode 100644 index 0000000..f0f129e --- /dev/null +++ b/BookCraigRichardson/ifStatements/immutableVibor.py @@ -0,0 +1,11 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +answer = input("Защитить мир от изменений? Д/Н") +if answer == "д": + mc.setting("world_immutable", True) + mc.postToChat("Zashita vkl") + +else: + mc.setting("world_immutable", False) + mc.postToChat("Zashita vikl") \ No newline at end of file diff --git a/BookCraigRichardson/ifStatements/potaynaaDver.py b/BookCraigRichardson/ifStatements/potaynaaDver.py new file mode 100644 index 0000000..669826d --- /dev/null +++ b/BookCraigRichardson/ifStatements/potaynaaDver.py @@ -0,0 +1,36 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +import random + +x = 97 +y = 76 +z = 342 + +x1 = 95 +y1 = 64 +z1 = 344 + +gift = mc.getBlock(x, y, z) +gift1 = mc.getBlock(x1, y1, z1) + +if gift != 0 or gift1 != 0: + mc.setBlock(95, 75, 341, 0) + mc.setBlock(95, 63, 344, 0) + mc.setBlock(95, 63, 343, 0) + mc.setBlock(95, 64, 343, 0) + mc.setBlock(95, 64, 344, 0) + mc.setBlock(x, y, z, 0) + time.sleep(10) + mc.setBlock(95, 75, 341, 4) + mc.setBlock(95, 63, 343, 57) + mc.setBlock(95, 64, 343, 57) + mc.setBlock(95, 63, 344, 57) + mc.setBlock(92, 82, 340, random.randint(1, 200)) +else: + mc.setBlocks(97, 77, 340, 95, 77, 341, 10) + mc.setBlocks(98, 66, 344, 89, 66, 346, 10) + time.sleep(2) + mc.setBlocks(97, 77, 340, 95, 77, 341, 0) + mc.setBlocks(98, 66, 344, 89, 66, 346, 0) + diff --git a/BookCraigRichardson/ifStatements/shower.py b/BookCraigRichardson/ifStatements/shower.py new file mode 100644 index 0000000..c5e191b --- /dev/null +++ b/BookCraigRichardson/ifStatements/shower.py @@ -0,0 +1,46 @@ +import time +from mcpi.minecraft import Minecraft + +mc = Minecraft.create() + + +def diamondDoor(blockCode): + mc.setBlock(94, 76, 339, blockCode) + mc.setBlock(94, 77, 339, blockCode) + + +def openDoor(): + diamondDoor(0) + + +def closeDoor(): + diamondDoor(57) + + +shwrX1 = 93 +shwrY1 = 76 +shwrZ1 = 336 + +shwrX2 = 95 +shwrY2 = 77 +shwrZ2 = 337 + +pos = mc.player.getTilePos() + + +def shower(): + closeDoor() + mc.setBlocks(shwrX1, shwrY1, shwrZ1, shwrX2, shwrY2, shwrZ2, 8) + time.sleep(5) + mc.setBlocks(shwrX1, shwrY1, shwrZ1, shwrX2, shwrY2, shwrZ2, 0) + time.sleep(3) + openDoor() + + +if shwrX1 <= pos.x <= shwrX2 and shwrY1 <= pos.y <= shwrY2 and shwrZ1 <= pos.z <= shwrZ2: + shower() +else: + mc.setBlocks(shwrX1, shwrY1, shwrZ1, shwrX2, shwrY2, shwrZ2, 0) + mc.postToChat("Smotri console") + input("Пожалуйста, войдите в душ и нажмите любую клавишу тут") + shower() diff --git a/BookCraigRichardson/ifStatements/teleportLimit.py b/BookCraigRichardson/ifStatements/teleportLimit.py new file mode 100644 index 0000000..5386cce --- /dev/null +++ b/BookCraigRichardson/ifStatements/teleportLimit.py @@ -0,0 +1,23 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +time.sleep(0)#задержка секунд +#координаты +valid = True + +x = int(input("введите X: ")) +y = int(input("введите Y: ")) +z = int(input("введите Z: ")) +if not -12 < x < 318: + valid = False +if not 0 < y < 130: + valid = False +if not 1 < z < 545: + valid = False + +if valid: + mc.player.setTilePos(x, y, z) + mc.postToChat("pratki nachalis!!!") + +else: + mc.postToChat("Igraem v pratki chestno! Ne teleportiruemsa daleko!") \ No newline at end of file diff --git a/BookCraigRichardson/lists/PROGRESSbarSecundomer.py b/BookCraigRichardson/lists/PROGRESSbarSecundomer.py new file mode 100644 index 0000000..1ec7357 --- /dev/null +++ b/BookCraigRichardson/lists/PROGRESSbarSecundomer.py @@ -0,0 +1,56 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +blocks = [20, 20, 20, 20, 20, 20, 20, 20, 20, 20] +barBlock = 22 + +count = 0 + +while count <= len(blocks): + mc.setBlock(x, y, z, blocks[0]) + mc.setBlock(x, y + 1, z, blocks[1]) + mc.setBlock(x, y + 2, z, blocks[2]) + mc.setBlock(x, y + 3, z, blocks[3]) + mc.setBlock(x, y + 4, z, blocks[4]) + mc.setBlock(x, y + 5, z, blocks[5]) + mc.setBlock(x, y + 6, z, blocks[6]) + mc.setBlock(x, y + 7, z, blocks[7]) + mc.setBlock(x, y + 8, z, blocks[8]) + mc.setBlock(x, y + 9, z, blocks[9]) + + count += 1 + + del blocks[9] + + blocks.insert(0, 22) + + time.sleep(1) + +mc.setBlock(x, y, z, 0) +time.sleep(0.1) +mc.setBlock(x, y + 1, z, 0) +time.sleep(0.1) +mc.setBlock(x, y + 2, z, 0) +time.sleep(0.1) +mc.setBlock(x, y + 3, z, 0) +time.sleep(0.1) +mc.setBlock(x, y + 4, z, 0) +time.sleep(0.1) +mc.setBlock(x, y + 5, z, 0) +time.sleep(0.1) +mc.setBlock(x, y + 6, z, 0) +time.sleep(0.1) +mc.setBlock(x, y + 7, z, 0) +time.sleep(0.1) +mc.setBlock(x, y + 8, z, 0) +time.sleep(0.1) +mc.setBlock(x, y + 9, z, 0) +time.sleep(0.1) +mc.setBlock(x, y + 10, z, 0) +time.sleep(0.1) diff --git a/BookCraigRichardson/lists/highAndLow.py b/BookCraigRichardson/lists/highAndLow.py new file mode 100644 index 0000000..c39f016 --- /dev/null +++ b/BookCraigRichardson/lists/highAndLow.py @@ -0,0 +1,21 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +import time + +heights = [100, 0] +count = 0 + +while count < 10: + pos = mc.player.getTilePos() + + if pos.y < heights[0]: + heights[0] = pos.y + elif pos.y > heights[1]: + heights[1] = pos.y + + count += 1 + time.sleep(1) + +mc.postToChat("Nizshaa pozicia: " + str(heights[0])) +mc.postToChat("Vissaa pozicia: " + str(heights[1])) diff --git a/BookCraigRichardson/lists/mechVidenaAlmazRudi.py b/BookCraigRichardson/lists/mechVidenaAlmazRudi.py new file mode 100644 index 0000000..2e71822 --- /dev/null +++ b/BookCraigRichardson/lists/mechVidenaAlmazRudi.py @@ -0,0 +1,20 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +blocks = [] + +while True: + hits = mc.events.pollBlockHits() + + if len(hits) > 0: + hit = hits[0] + hitX, hitY, hitZ = hit.pos.x, hit.pos.y, hit.pos.z + block = mc.getBlock(hitX, hitY, hitZ) + blocks.append(block) + + if "56" in blocks: + mc.postToChat("Pssss, beri rudu bistree!") + time.sleep(0.2) + break + diff --git a/BookCraigRichardson/lists/putevoditel.py b/BookCraigRichardson/lists/putevoditel.py new file mode 100644 index 0000000..364feed --- /dev/null +++ b/BookCraigRichardson/lists/putevoditel.py @@ -0,0 +1,17 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +places = {"основной дом": (95, 76, 341), "пристройка": (94, 75, 352), "сундучная": (70, 64, 361), "библиотека": (81, 69, 352), "дом отдыха": (104, 82, 324), "поляна": (-32, 64, -197), "горный дом": (68, 89, 351), "дом на дереве": (-439, 66, 2212)} + +choice = "" + +while choice != "стоп": + choice = input("Введите название комнаты вашего дома, или стоп, для выхода ") + + if choice in places: + location = places[choice] + x, y, z = location[0], location[1], location[2] + + mc.player.setPos(x, y, z) + elif choice != "стоп" and choice not in places: + print("Но такой комнаты, как ни странно, нет в вашем гигантском доме :(") \ No newline at end of file diff --git a/BookCraigRichardson/lists/randomBlock.py b/BookCraigRichardson/lists/randomBlock.py new file mode 100644 index 0000000..afe6714 --- /dev/null +++ b/BookCraigRichardson/lists/randomBlock.py @@ -0,0 +1,14 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import random + +podhoditID = [57, 7, 103, 56, 5, 15, 48, 3, 47, 49, 16, 35] + +block = random.choice(podhoditID) + +pos = mc.player.getTilePos() + +mc.setBlock(pos.x + 1, pos.y, pos.z + 1, block) + + + diff --git a/BookCraigRichardson/lists/sliding.py b/BookCraigRichardson/lists/sliding.py new file mode 100644 index 0000000..f1c6f43 --- /dev/null +++ b/BookCraigRichardson/lists/sliding.py @@ -0,0 +1,17 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +import random + +pos = mc.player.getTilePos() + +x, y, z = pos.x, pos.y, pos.z + +while True: + x += random.uniform(-0.2, 0.2) + z += random.uniform(-0.2, 0.2) + y = mc.getHeight(x, z) + + mc.player.setPos(x, y, z) + + time.sleep(0.1) diff --git a/BookCraigRichardson/lists/swordHits.py b/BookCraigRichardson/lists/swordHits.py new file mode 100644 index 0000000..a8191ba --- /dev/null +++ b/BookCraigRichardson/lists/swordHits.py @@ -0,0 +1,10 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +import time + +time.sleep(15) + +blockHits = mc.events.pollBlockHits() +blockHitsLength = len(blockHits) +mc.postToChat("Vash chet " + str(blockHitsLength)) diff --git a/BookCraigRichardson/lists/swordHitsName.py b/BookCraigRichardson/lists/swordHitsName.py new file mode 100644 index 0000000..35b516a --- /dev/null +++ b/BookCraigRichardson/lists/swordHitsName.py @@ -0,0 +1,25 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +import time + +name = "" +scoreboard = {} + +while True: + name = input("Джедай ударов по блокам правой кнопкой меча, имя свое введи... (выйти дабы, простое слово стоп введи) ") + if name == "стоп": + break + time.sleep(0.5) + mc.postToChat("Nachinaem! Da prebudet s vami sila!!!") + + time.sleep(15) + + blockHits = mc.events.pollBlockHits() + blockHitsLength = len(blockHits) + mc.postToChat("Vash chet " + str(blockHitsLength)) + + scoreboard[name] = blockHitsLength + + + print(scoreboard) diff --git a/BookCraigRichardson/math/blockBelow.py b/BookCraigRichardson/math/blockBelow.py new file mode 100644 index 0000000..e3dc3c5 --- /dev/null +++ b/BookCraigRichardson/math/blockBelow.py @@ -0,0 +1,9 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +position = mc.player.getTilePos() +x = position.x +y = position.y +z = position.z +blockType = 10 +y = y - 1 +mc.setBlock(x, y ,z, blockType) \ No newline at end of file diff --git a/BookCraigRichardson/math/blockStack.py b/BookCraigRichardson/math/blockStack.py new file mode 100644 index 0000000..0767f74 --- /dev/null +++ b/BookCraigRichardson/math/blockStack.py @@ -0,0 +1,17 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +x = 12 +y = 72 +z = -317 +blockType = 52 +mc.setBlock(x, y, z, blockType) +y = y + 1 +mc.setBlock(x, y, z, blockType) +y = y + 1 +mc.setBlock(x, y, z, blockType) +y = y + 1 +mc.setBlock(x, y, z, blockType) + + + + diff --git a/BookCraigRichardson/math/building.py b/BookCraigRichardson/math/building.py new file mode 100644 index 0000000..6931dd5 --- /dev/null +++ b/BookCraigRichardson/math/building.py @@ -0,0 +1,13 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +pos = mc.player.getPos() +x = pos.x +y = pos.y +z = pos.z +sirina = int(input("Ширина: ")) +visota = int(input("Высота: ")) +dlina = int(input("Длина: ")) +blockType = int(input("Введите блок: ")) +air = int(input("Чем заполнять постройку? (примеры ID: 0-воздух, 9-вода и тд")) +mc.setBlocks(x, y, z, x + sirina, y + visota, z + dlina, blockType ) +mc.setBlocks(x + 1, y , z + 1, x + sirina - 1, y + visota - 1, z + dlina - 1, air ) diff --git a/BookCraigRichardson/math/randomJump.py b/BookCraigRichardson/math/randomJump.py new file mode 100644 index 0000000..881562d --- /dev/null +++ b/BookCraigRichardson/math/randomJump.py @@ -0,0 +1,13 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import random + +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +x = x + random.randint(-100, 100) +y = y + random.randint(0, 100) +z = z + random.randint(-100, 100) +mc.player.setTilePos(x, y, z) \ No newline at end of file diff --git a/BookCraigRichardson/math/randomJumpBlock.py b/BookCraigRichardson/math/randomJumpBlock.py new file mode 100644 index 0000000..7083a13 --- /dev/null +++ b/BookCraigRichardson/math/randomJumpBlock.py @@ -0,0 +1,19 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import random + +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +x = x + random.randint(-10, 10) +y = y + random.randint(0, 100) +z = z + random.randint(-10, 10) +mc.player.setTilePos(x, y, z) + + +blockType = random.randint(1, 200) +mc.setBlock(x, y - 1, z, blockType) + +mc.postToChat("Tip bloka:" + str(blockType)) diff --git a/BookCraigRichardson/math/spire.py b/BookCraigRichardson/math/spire.py new file mode 100644 index 0000000..ebda13c --- /dev/null +++ b/BookCraigRichardson/math/spire.py @@ -0,0 +1,19 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +pos = mc.player.getPos() +x = pos.x +y = pos.y +z = pos.z + +visota = 3 +blockType = 1 + +sideVisota = visota +mc.setBlocks(x + 1, y , z + 1, x + 3, y + sideVisota - 1, z + 3, blockType) + +pointVisota = 5 +mc.setBlocks(x + 2, y , z + 2, x + 2, y + pointVisota - 1, z + 2, blockType) + +baseVisota = 1 +mc.setBlocks(x, y , z, x + 4, y + baseVisota - 1, z + 4, blockType) \ No newline at end of file diff --git a/BookCraigRichardson/math/superJump.py b/BookCraigRichardson/math/superJump.py new file mode 100644 index 0000000..753aa11 --- /dev/null +++ b/BookCraigRichardson/math/superJump.py @@ -0,0 +1,8 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +position = mc.player.getTilePos() +x = position.x +y = position.y +z = position.z +y = y + 30 +mc.player.setTilePos(x, y, z) diff --git a/BookCraigRichardson/string/blockInput.py b/BookCraigRichardson/string/blockInput.py new file mode 100644 index 0000000..4040128 --- /dev/null +++ b/BookCraigRichardson/string/blockInput.py @@ -0,0 +1,11 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +position = mc.player.getTilePos() +x = position.x +y = position.y +z = position.z +try: + blockType = int (input('Введите номер блока: ')) + mc.setBlock(x + 5, y, z + 5, blockType) +except: + print("Это не число. Введите число") \ No newline at end of file diff --git a/BookCraigRichardson/string/helloworld.py b/BookCraigRichardson/string/helloworld.py new file mode 100644 index 0000000..65a19f2 --- /dev/null +++ b/BookCraigRichardson/string/helloworld.py @@ -0,0 +1,3 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +mc.postToChat('Hello world of Minecraft!') \ No newline at end of file diff --git a/BookCraigRichardson/string/messageInput.py b/BookCraigRichardson/string/messageInput.py new file mode 100644 index 0000000..7a30eb7 --- /dev/null +++ b/BookCraigRichardson/string/messageInput.py @@ -0,0 +1,4 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +mes = input() +mc.postToChat(mes) \ No newline at end of file diff --git a/BookCraigRichardson/string/stepometr.py b/BookCraigRichardson/string/stepometr.py new file mode 100644 index 0000000..b980de4 --- /dev/null +++ b/BookCraigRichardson/string/stepometr.py @@ -0,0 +1,25 @@ +import time +from mcpi.minecraft import Minecraft + +mc = Minecraft.create() + +time.sleep(5) +mc.postToChat("Go!") + +pos1 = mc.player.getTilePos() +x1 = pos1.x +y1 = pos1.y +z1 = pos1.z + +time.sleep(10) + +pos2 = mc.player.getTilePos() +x2 = pos2.x +y2 = pos2.y +z2 = pos2.z + +xDist = x2 - x1 +yDist = y2 - y1 +zDist = z2 - z1 + +mc.postToChat("You moved on x: " + str(xDist) + ", y: " + str(yDist) + ", z: " + str(zDist)) \ No newline at end of file diff --git a/BookCraigRichardson/string/userChat.py b/BookCraigRichardson/string/userChat.py new file mode 100644 index 0000000..82ab071 --- /dev/null +++ b/BookCraigRichardson/string/userChat.py @@ -0,0 +1,5 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +user = input('Введите имя на английском: ') +soobsh = input('Введите сообщение: ') +mc.postToChat(user + ': ' + soobsh) diff --git a/BookCraigRichardson/variabl/teleport.py b/BookCraigRichardson/variabl/teleport.py new file mode 100644 index 0000000..0ea8392 --- /dev/null +++ b/BookCraigRichardson/variabl/teleport.py @@ -0,0 +1,9 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +time.sleep(0)#задержка секунд +#координаты +x = int(input("введите X: ")) +y = int(input("введите Y: ")) +z = int(input("введите Z: ")) +mc.player.setTilePos(x, y, z) \ No newline at end of file diff --git a/BookCraigRichardson/variabl/tour.py b/BookCraigRichardson/variabl/tour.py new file mode 100644 index 0000000..7e380e7 --- /dev/null +++ b/BookCraigRichardson/variabl/tour.py @@ -0,0 +1,14 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +time.sleep(20)#задержка секунд +#координаты +x = 57 +y = 100 +z = 31 +mc.player.setTilePos(x, y, z) +time.sleep(20)#задержка секунд +x = 158 +y = 1000 +z = 154 +mc.player.setTilePos(x, y, z) \ No newline at end of file diff --git a/BookCraigRichardson/whileLoops/blockHunterGorachoHolodno.py b/BookCraigRichardson/whileLoops/blockHunterGorachoHolodno.py new file mode 100644 index 0000000..af69293 --- /dev/null +++ b/BookCraigRichardson/whileLoops/blockHunterGorachoHolodno.py @@ -0,0 +1,33 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import math +import time +import random + +pos = mc.player.getTilePos() + +destX = random.randint(pos.x - 127, pos.x + 127) +destZ = random.randint(pos.z - 127, pos.z + 127) +destY = mc.getHeight(destX, destZ) +block = 57 + +mc.setBlock(destX, destY, destZ, block) +mc.postToChat("Block sozdan... Prikluchenie nachinaetsa!") + +while True: + pos = mc.player.getTilePos() + distance = math.sqrt((pos.x - destX) ** 2 + (pos.z - destZ) ** 2) + + if distance > 100: + mc.postToChat("Zamerznesh") + elif distance > 50: + mc.postToChat("Holodno") + elif distance > 25: + mc.postToChat("Teplo") + elif distance > 12: + mc.postToChat("Goracho") + elif distance > 6: + mc.postToChat("Obozzessa!") + elif distance == 0: + mc.postToChat("Pozdravlaem!!! Block nayden!") + break diff --git a/BookCraigRichardson/whileLoops/chatLoop.py b/BookCraigRichardson/whileLoops/chatLoop.py new file mode 100644 index 0000000..855e9bd --- /dev/null +++ b/BookCraigRichardson/whileLoops/chatLoop.py @@ -0,0 +1,11 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +user = input('Введите имя на английском: ') + +while True: + soobsh = input('Введите сообщение(vot takimi bukvami)(чтобы закончить чат, введите stop): ') + if soobsh == 'stop': + break + else: + mc.postToChat(user + ': ' + soobsh) diff --git a/BookCraigRichardson/whileLoops/danceFloor.py b/BookCraigRichardson/whileLoops/danceFloor.py new file mode 100644 index 0000000..4a673eb --- /dev/null +++ b/BookCraigRichardson/whileLoops/danceFloor.py @@ -0,0 +1,22 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +pos = mc.player.getTilePos() +floorX = pos.x - 2 +floorY = pos.y - 1 +floorZ = pos.z - 2 +width = 5 +length = 5 +block = 41 +mc.setBlocks(floorX, floorY, floorZ, floorX + width, floorY, floorZ + length, block) + +while floorX <= pos.x <= floorX + width and floorZ <= pos.z <= floorZ + length: + if block == 41: + block = 57 + else: + block = 41 + mc.setBlocks(floorX, floorY, floorZ, floorX + width, floorY, floorZ + length, block) + pos = mc.player.getTilePos() + time.sleep(0.5) + diff --git a/BookCraigRichardson/whileLoops/dinamitTrail.py b/BookCraigRichardson/whileLoops/dinamitTrail.py new file mode 100644 index 0000000..54b97c5 --- /dev/null +++ b/BookCraigRichardson/whileLoops/dinamitTrail.py @@ -0,0 +1,8 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +while True: + pos = mc.player.getTilePos() + mc.setBlock(pos.x, pos.y, pos.z, 46, 1) + time.sleep(0.2) diff --git a/BookCraigRichardson/whileLoops/divingContest.py b/BookCraigRichardson/whileLoops/divingContest.py new file mode 100644 index 0000000..b461807 --- /dev/null +++ b/BookCraigRichardson/whileLoops/divingContest.py @@ -0,0 +1,21 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +score = 0 +pos = mc.player.getTilePos() +blockAbove = mc.getBlock(pos.x, pos.y + 2, pos.z) + +while blockAbove == 8 or blockAbove == 9: + time.sleep(1) + pos = mc.player.getPos() + blockAbove = mc.getBlock(pos.x, pos.y + 2, pos.z) + score = score + 1 + mc.postToChat("Tecushiy schet: " + str(score) + ", Ti smozes!") + +mc.postToChat("Okonchatelnyy schet: " + str(score) + ", Ti molodes!") + +if score > 6: + finalPos = mc.player.getTilePos() + mc.postToChat("Ti dolgo sidel pod vodoy! Vot tebe svetocniy dozd!") + mc.setBlocks(finalPos.x - 5, finalPos.y + 10, finalPos.z - 5, finalPos.x + 5, finalPos.y + 10, finalPos.z + 5, 38) diff --git a/BookCraigRichardson/whileLoops/flowerTrail.py b/BookCraigRichardson/whileLoops/flowerTrail.py new file mode 100644 index 0000000..3ac55dc --- /dev/null +++ b/BookCraigRichardson/whileLoops/flowerTrail.py @@ -0,0 +1,8 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +while True: + pos = mc.player.getTilePos() + mc.setBlock(pos.x, pos.y, pos.z, 38) + time.sleep(0.2) diff --git a/BookCraigRichardson/whileLoops/midas.py b/BookCraigRichardson/whileLoops/midas.py new file mode 100644 index 0000000..e2087d5 --- /dev/null +++ b/BookCraigRichardson/whileLoops/midas.py @@ -0,0 +1,13 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +air = 0 +water = 9 + +while True: + pos = mc.player.getTilePos() + blockBelow = mc.getBlock(pos.x, pos.y - 1, pos.z) + + if blockBelow != air and blockBelow != water: + mc.setBlock(pos.x, pos.y - 1, pos.z, 41) + diff --git a/BookCraigRichardson/whileLoops/randomTeleportAdventure.py b/BookCraigRichardson/whileLoops/randomTeleportAdventure.py new file mode 100644 index 0000000..4a4f1ce --- /dev/null +++ b/BookCraigRichardson/whileLoops/randomTeleportAdventure.py @@ -0,0 +1,17 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import random +import time + +count = 0 + + +while count < 10: + x = random.randint(-1000, 1000) + y = random.randint(20, 90) + z = random.randint(-1000, 1000) + mc.player.setTilePos(x, y, z) + time.sleep(20) + count += 1 + +mc.player.setTilePos(68, 87, 333) diff --git a/BookCraigRichardson/whileLoops/waterCurse.py b/BookCraigRichardson/whileLoops/waterCurse.py new file mode 100644 index 0000000..e062f50 --- /dev/null +++ b/BookCraigRichardson/whileLoops/waterCurse.py @@ -0,0 +1,13 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +input("Точно? Вода потом не уйдет, а останется навсегда (если да, то нажми здесь любую клавишу) ") + +count = 0 + +while count < 30: + pos = mc.player.getTilePos() + mc.setBlock(pos.x, pos.y, pos.z, 8) + time.sleep(1) + count += 1 \ No newline at end of file diff --git a/levieProekti/factorial.py b/levieProekti/factorial.py new file mode 100644 index 0000000..2d4d9a9 --- /dev/null +++ b/levieProekti/factorial.py @@ -0,0 +1,35 @@ +n = int(input("Введи число, до которого будет факториал ")) + + +def factorial(kolvo): + fakt = 1 + for i in range(1, kolvo + 1): + fakt = fakt * i + return fakt + + +def factTailRec(kolvo, result): + if kolvo == 0: + return result + else: + return factTailRec(kolvo - 1, result * kolvo) + + +def fact(kolvo): + if kolvo == 1: + return 1 + else: + return kolvo * fact(kolvo - 1) + + + +print(factorial(n)) +print(factTailRec(n, 1)) +print(fact(n)) + +if factorial(n) == factTailRec(n, 1) and factorial(n) == fact(n): + print("all OK") + +schislo = factorial(n) + +print( "dlina " + str(len(str(schislo))) + " simvola") \ No newline at end of file diff --git a/levieProekti/fibonacci.py b/levieProekti/fibonacci.py new file mode 100644 index 0000000..83f40b1 --- /dev/null +++ b/levieProekti/fibonacci.py @@ -0,0 +1,67 @@ +# n = int(input("Введи число, до которого будут идти поколения ")) +# n = 5 + +def fibonacciRecAux(pokolenia, result, perv, vtor): + if pokolenia == 1: + return 0 + tret = perv + vtor + # result = perv + vtor + # pokolenia = pokolenia - 1 + if pokolenia == 0: + return result + else: + return fibonacciRecAux(pokolenia - 1, result + tret, vtor, tret) + + +def fibonacci(n): + return fibonacciRecAux(n, 0, 1, 0) + + +def fibonacciIt(pokolenia): + if pokolenia == 1: + return 0 + perv = 0 + vtor = 1 + result = perv + vtor + for i in range(1, pokolenia - 1): + tret = perv + vtor + result = result + tret + perv = vtor + vtor = tret + return result + + +# print(fibonacci(n, 0)) +# print(fibonacciRec(n, 0, 0, 1, 0)) + +# res = fibonacci(n, 0) + +if fibonacci(5) == 7: + print('ok') +else: + print('wrong for 5') + +if fibonacci(6) == 12: + print('ok') +else: + print('wrong for 6') + +if fibonacci(1) == 0: + print('ok for 1') +else: + print('wrong for 1') + +if fibonacci(2) == 1: + print('ok') +else: + print('wrong for 2') + +if fibonacci(3) == 2: + print('ok') +else: + print('wrong for 3') + +if fibonacci(7) == 20: + print('ok') +else: + print('wrong for 7') diff --git a/levieProekti/prostieChisla.py b/levieProekti/prostieChisla.py new file mode 100644 index 0000000..32e14be --- /dev/null +++ b/levieProekti/prostieChisla.py @@ -0,0 +1,7 @@ +n = int(input("Введи число, до которого я найду простые числа: ")) + +def finder(n): + prostie = [] + ost = 0 + for i in range(n): + ost = i % range(i) \ No newline at end of file diff --git a/myOwnProjects/BlockIDsEasyAdd.py b/myOwnProjects/BlockIDsEasyAdd.py new file mode 100644 index 0000000..d966dd1 --- /dev/null +++ b/myOwnProjects/BlockIDsEasyAdd.py @@ -0,0 +1,20 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import shelve + +blockIDs = shelve.open("idsFile.db") + +ans = input("Введи название блока или букву 'д', чтобы добавить блокТайп: ") + +if ans != "д": + if ans in blockIDs: + print(blockIDs[ans]) + elif ans not in blockIDs: + print("Вы еще не добавили блока с таким названием :(") + +elif ans == "д": + nameOfBlock = input("Введите название блока, который хотите добавить: ") + blockNumber = input("Введите номер этого блока: ") + + blockIDs[nameOfBlock] = blockNumber + blockIDs.close() \ No newline at end of file diff --git a/myOwnProjects/TestConst.py b/myOwnProjects/TestConst.py new file mode 100644 index 0000000..41376ef --- /dev/null +++ b/myOwnProjects/TestConst.py @@ -0,0 +1,7 @@ +class BlockNames: + def __init__(self, id, name): + self.id = id + self.name = name + + +ВОЗДУХ = BlockNames(0, "Воздух") diff --git a/myOwnProjects/autoBomb/autoBomb.py b/myOwnProjects/autoBomb/autoBomb.py new file mode 100644 index 0000000..b10aaff --- /dev/null +++ b/myOwnProjects/autoBomb/autoBomb.py @@ -0,0 +1,36 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +pos = mc.player.getTilePos() +x, y, z = pos.x, pos.y, pos.z + +x2, y2, z2 = pos.x, pos.y, pos.z + +mc.setBlocks(x, y, z, x + 4, y + 4, z + 4, 46) + +for block in range(5): + mc.setBlock(x + block, y + 4, z, 0) + mc.setBlock(x, y + 4, z + block, 0) + +x2, y2, z2 = x + 4, y, z + 4 + +for block2 in range(5): + mc.setBlock(x2 - block2, y2 + 4, z2, 0) + mc.setBlock(x2, y2 + 4, z2 - block2, 0) + +for block3 in range(5): + mc.setBlock(x + block3, y, z, 0) + mc.setBlock(x, y, z + block3, 0) + +x2, y2, z2 = x + 4, y, z + 4 + +for block4 in range(5): + mc.setBlock(x2 - block4, y2, z2, 0) + mc.setBlock(x2, y2, z2 - block4, 0) + +mc.postToChat("Viydite iz blocka") +mc.postToChat("Posmotrite v konsol!") +input("Если хотите взорвать бомбу нажмите тут ") +time.sleep(1) +mc.setBlock(x, y + 3, z, 152) \ No newline at end of file diff --git a/myOwnProjects/autoBomb/autoBomb2.py b/myOwnProjects/autoBomb/autoBomb2.py new file mode 100644 index 0000000..df8a548 --- /dev/null +++ b/myOwnProjects/autoBomb/autoBomb2.py @@ -0,0 +1,45 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +import minecraftstuff + +pos = mc.player.getTilePos() +x, y, z = pos.x, pos.y, pos.z +mcdrawing = minecraftstuff.MinecraftDrawing(mc) + +# x2, y2, z2 = pos.x, pos.y, pos.z +# +# mc.setBlocks(x, y, z, x + 4, y + 4, z + 4, 46) +# +# for block in range(5): +# mc.setBlock(x + block, y + 4, z, 0) +# mc.setBlock(x, y + 4, z + block, 0) +# +# x2, y2, z2 = x + 4, y, z + 4 +# +# for block2 in range(5): +# mc.setBlock(x2 - block2, y2 + 4, z2, 0) +# mc.setBlock(x2, y2 + 4, z2 - block2, 0) +# +# for block3 in range(5): +# mc.setBlock(x + block3, y, z, 0) +# mc.setBlock(x, y, z + block3, 0) +# +# x2, y2, z2 = x + 4, y, z + 4 +# +# for block4 in range(5): +# mc.setBlock(x2 - block4, y2, z2, 0) +# mc.setBlock(x2, y2, z2 - block4, 0) + +mcdrawing.drawSphere(pos.x, pos.y + 7, pos.z, 5, 46) + +mc.postToChat("Bomba nad vami!") +mc.postToChat("Posmotrite v konsol!") +ans = input("Если хотите взорвать бомбу нажмите тут(осторожно! взрыв гигантский(чтобы обезвредить бомбу, нажмите букву 'о')) ") +if ans !="о": + time.sleep(1) + mc.setBlock(x, y + 3, z, 152) +elif ans == "о": + mcdrawing.drawSphere(pos.x, pos.y + 7, pos.z, 5, 0) + mc.postToChat("Spasibo, bomba obezvrezena!") + print("Spasibo, bomba obezvrezena!") \ No newline at end of file diff --git a/myOwnProjects/autoBomb/autobomb3.py b/myOwnProjects/autoBomb/autobomb3.py new file mode 100644 index 0000000..a53017c --- /dev/null +++ b/myOwnProjects/autoBomb/autobomb3.py @@ -0,0 +1,33 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +import minecraftstuff + +pos = mc.player.getTilePos() +x, y, z = pos.x, pos.y, pos.z +mcdrawing = minecraftstuff.MinecraftDrawing(mc) +radius = 0 +yplus = 0 + + +moshnost = int(input("введите мощность бомбы 1-сильная, 2-супервынос,город-динамит,царь-бомба: ")) + +if moshnost == 1: + radius = 5 + yplus = 7 +elif moshnost == 2: + radius = 15 + yplus = 19 + +mcdrawing.drawSphere(pos.x, pos.y + yplus, pos.z, radius, 46) + +mc.postToChat("Bomba nad vami!") +mc.postToChat("Posmotrite v konsol!") +ans = input("Если хотите взорвать бомбу нажмите тут(осторожно! взрыв гигантский(чтобы обезвредить бомбу, нажмите букву 'о')) ") +if ans !="о": + time.sleep(1) + mc.setBlock(x, y + 4, z, 152) +elif ans == "о": + mcdrawing.drawSphere(pos.x, pos.y + yplus, pos.z, radius, 0) + mc.postToChat("Spasibo, bomba obezvrezena!") + print("Spasibo, bomba obezvrezena!") \ No newline at end of file diff --git a/myOwnProjects/blockNear.py b/myOwnProjects/blockNear.py new file mode 100644 index 0000000..9204e4b --- /dev/null +++ b/myOwnProjects/blockNear.py @@ -0,0 +1,13 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +pos = mc.player.getTilePos() +x, y, z = pos.x, pos.y, pos.z + 1 +dopoln = 0 + +block = int(input("Введите ID блока: ")) +estDopoln = int(input("У этого блока есть дополнительный идентификатор? Нет-0, есть-1 ")) +if estDopoln != 0: + dopoln = int(input("Тогда введите этот идентификатор: ")) + +mc.setBlock(x, y, z, block, dopoln) \ No newline at end of file diff --git a/myOwnProjects/coolBuild/coolBuild.py b/myOwnProjects/coolBuild/coolBuild.py new file mode 100644 index 0000000..610540c --- /dev/null +++ b/myOwnProjects/coolBuild/coolBuild.py @@ -0,0 +1,28 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import pickle +import time + +def build(x, y, z, structure): + xStart = x + zStart = z + for row in structure: + for column in (row): + for block in column: + mc.setBlock(x, y, z, block) + z += 1 + time.sleep(0.07) + x += 1 + z = zStart + y += 1 + x = xStart + + +file = open("home.txt", "rb") +structure = pickle.load(file) +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +build(x, y, z, structure) \ No newline at end of file diff --git a/myOwnProjects/coolBuild/coolBuild2(betaNotGood).py b/myOwnProjects/coolBuild/coolBuild2(betaNotGood).py new file mode 100644 index 0000000..459e1da --- /dev/null +++ b/myOwnProjects/coolBuild/coolBuild2(betaNotGood).py @@ -0,0 +1,93 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import pickle +import time + +def build(x, y, z, structure): + xStart = x + zStart = z + for row in structure: + for column in (row): + for block in column: + mc.setBlock(x, y, z, block) + z += 1 + time.sleep(0.07) + x += 1 + z = zStart + y += 1 + x = xStart + +def buildTest(x, y, z, structure): + xStart = x + zStart = z + for row in structure: + for column in (row): + for block in column: + mc.setBlock(x, y, z, block) + z += 1 + x += 1 + z = zStart + y += 1 + x = xStart + +def buildDel(x, y, z, structure): + xStart = x + zStart = z + for row in structure: + for column in (row): + for block in column: + mc.setBlock(x, y, z, 0) + z += 1 + x += 1 + z = zStart + y += 1 + x = xStart + + +file = open("home.txt", "rb") +structure = pickle.load(file) +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +ans = 1 + +while ans != "ок" or ans != "ok": + buildTest(x, y, z, structure) + time.sleep(1) + buildDel(x, y, z, structure) + buildTest(x, y, z, structure) + time.sleep(1) + buildDel(x, y, z, structure) + buildTest(x, y, z, structure) + time.sleep(1) + buildDel(x, y, z, structure) + buildTest(x, y, z, structure) + time.sleep(1) + buildDel(x, y, z, structure) + buildTest(x, y, z, structure) + time.sleep(1) + buildDel(x, y, z, structure) + buildTest(x, y, z, structure) + time.sleep(1) + buildDel(x, y, z, structure) + buildTest(x, y, z, structure) + time.sleep(1) + buildDel(x, y, z, structure) + buildTest(x, y, z, structure) + time.sleep(1) + buildDel(x, y, z, structure) + buildTest(x, y, z, structure) + time.sleep(1) + buildDel(x, y, z, structure) + ans = input("Если вы довольны постройкой и местом постройки введите ок. Если нет - нет или no ") + if ans == "нет" or ans == "no": + buildDel(x, y, z, structure) + break + if ans == "ок" or ans == "ok": + buildDel(x, y, z, structure) + break + + +build(x, y, z, structure) \ No newline at end of file diff --git a/myOwnProjects/coolBuild/coolBuild3.py b/myOwnProjects/coolBuild/coolBuild3.py new file mode 100644 index 0000000..a5d0a78 --- /dev/null +++ b/myOwnProjects/coolBuild/coolBuild3.py @@ -0,0 +1,41 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import pickle +import time + +nameNumber = int(input("Введите номер постройки, которую хотите: 1 - дом чуток хай-тек; 2 - 'коробка' про; 3 - деревенский дом; 4 - дом-куча нуба ")) +name = 0 + +if nameNumber == 1: + name = "home.txt" +elif nameNumber == 2: + name = "probox.txt" +elif nameNumber == 3: + name = "vilage.txt" +elif nameNumber == 4: + name = "noob.txt" + + +def build(x, y, z, structure): + xStart = x + zStart = z + for row in structure: + for column in (row): + for block in column: + mc.setBlock(x, y, z, block) + z += 1 + time.sleep(0.07) + x += 1 + z = zStart + y += 1 + x = xStart + + +file = open(name, "rb") +structure = pickle.load(file) +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +build(x, y, z, structure) \ No newline at end of file diff --git a/myOwnProjects/coolBuild/home.txt b/myOwnProjects/coolBuild/home.txt new file mode 100644 index 0000000..b4739a0 Binary files /dev/null and b/myOwnProjects/coolBuild/home.txt differ diff --git a/myOwnProjects/coolBuild/noob.txt b/myOwnProjects/coolBuild/noob.txt new file mode 100644 index 0000000..3d43ccb Binary files /dev/null and b/myOwnProjects/coolBuild/noob.txt differ diff --git a/myOwnProjects/coolBuild/probox.txt b/myOwnProjects/coolBuild/probox.txt new file mode 100644 index 0000000..52db8c4 Binary files /dev/null and b/myOwnProjects/coolBuild/probox.txt differ diff --git a/myOwnProjects/coolBuild/vilage.txt b/myOwnProjects/coolBuild/vilage.txt new file mode 100644 index 0000000..09348b9 Binary files /dev/null and b/myOwnProjects/coolBuild/vilage.txt differ diff --git a/myOwnProjects/home.txt b/myOwnProjects/home.txt new file mode 100644 index 0000000..b4739a0 Binary files /dev/null and b/myOwnProjects/home.txt differ diff --git a/myOwnProjects/idsFile.db.bak b/myOwnProjects/idsFile.db.bak new file mode 100644 index 0000000..a388a7d --- /dev/null +++ b/myOwnProjects/idsFile.db.bak @@ -0,0 +1,2 @@ +'а\x80б\x83з', (0, 13) +'алмазн\x8bй блок', (512, 12) diff --git a/myOwnProjects/idsFile.db.dat b/myOwnProjects/idsFile.db.dat new file mode 100644 index 0000000..ab55513 Binary files /dev/null and b/myOwnProjects/idsFile.db.dat differ diff --git a/myOwnProjects/idsFile.db.dir b/myOwnProjects/idsFile.db.dir new file mode 100644 index 0000000..a388a7d --- /dev/null +++ b/myOwnProjects/idsFile.db.dir @@ -0,0 +1,2 @@ +'а\x80б\x83з', (0, 13) +'алмазн\x8bй блок', (512, 12) diff --git a/myOwnProjects/megaSuperTour.py b/myOwnProjects/megaSuperTour.py new file mode 100644 index 0000000..446ef22 --- /dev/null +++ b/myOwnProjects/megaSuperTour.py @@ -0,0 +1,80 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time + +input("Здравствуйте! Вы выбрали нашу фирму по телепортационным турам в Майнкрафте. Пожалуйста, если вы готовы нажмине клавишу здесь ") + +mc.player.setTilePos(68, 87, 334) +mc.postToChat("Pozaluysta, oplatite tour almaznim blokom postavlennim na steklo") + +input("Поставьте блок и нажмите здесь") + +if mc.getBlock(69, 87, 332) == 57: + input("Начинаем тур! Нажмите клавишу здесь ") + mc.setBlock(69, 87, 332, 0) + time.sleep(1) + mc.player.setTilePos(46, 152, 302) + mc.postToChat("pravda krasivo? seychas mi poedem tuda") + time.sleep(20) + mc.player.setTilePos(47, 90, 289) + mc.postToChat("pogulayte tut") + time.sleep(40) + mc.postToChat("obratite vnimanie na sliz. eto batut") + mc.player.setTilePos(9, 107, 272) + mc.postToChat("pogulayte vozle taynika") + time.sleep(30) + mc.player.setTilePos(8, 105, 280) + mc.postToChat("mi seycas v taynike. proydite v pesseru") + time.sleep(20) + mc.player.setTilePos(8, 105, 280) + mc.postToChat("mozete viprignut na batut") + time.sleep(15) + mc.player.setTilePos(-59, 97, 307) + mc.postToChat("pravda krasivo? seychas mi poedem tuda") + time.sleep(20) + mc.player.setTilePos(-58, 76, 292) + mc.postToChat("pogulayte tut") + time.sleep(40) + mc.player.setTilePos(-37, 77, 311) + time.sleep(20) + mc.player.setTilePos(-121, 140, 268) + mc.postToChat("ochen krasivoe mesto") + time.sleep(50) + mc.player.setTilePos(-40, 78, 256) + mc.postToChat("posmotrite naverh") + time.sleep(20) + mc.postToChat("mozete idti v peseru") + time.sleep(20) + mc.player.setTilePos(-95, 81, 298) + time.sleep(15) + mc.player.setTilePos(-80, 73, 295) + time.sleep(60) + mc.player.setTilePos(121, 140, 268) + mc.postToChat("pravda krasivo? no mi tuda ne edem. s zemli vid ne ochen") + time.sleep(30) + mc.player.setTilePos(-388, 42, 788) + mc.postToChat("a eto zabrosennaa sahta. mi gulaem tut dolgo. nikuda ne upadite") + time.sleep(80) + mc.player.setTilePos(999, 103, 1016) + mc.postToChat("kruto?") + time.sleep(80) + mc.player.setTilePos(1017, 126, 1024) + mc.postToChat("super") + time.sleep(60) + mc.player.setTilePos(1062, 113, 1027) + mc.postToChat("ozertso") + time.sleep(30) + mc.player.setTilePos(1136, 89, 1008) + mc.postToChat("i pustina radom") + time.sleep(50) + mc.player.setTilePos(1283, 76, 841) + mc.postToChat("taiga") + time.sleep(80) + mc.player.setTilePos(1358, 66, 1054) + mc.postToChat("savanna") + time.sleep(80) + mc.player.setTilePos(1393, 69, 1260) + mc.postToChat("krasivaa derevna") + time.sleep(80) + mc.player.setTilePos(68, 87, 334) + mc.postToChat("spasibo za polzovanie") \ No newline at end of file diff --git a/myOwnProjects/megaSuperTourRefactor.py b/myOwnProjects/megaSuperTourRefactor.py new file mode 100644 index 0000000..bf1e4a2 --- /dev/null +++ b/myOwnProjects/megaSuperTourRefactor.py @@ -0,0 +1,55 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +import time + +input("Здравствуйте! Вы выбрали нашу фирму по телепортационным турам в Майнкрафте. Пожалуйста, если вы готовы нажмине клавишу здесь ") + +mc.player.setTilePos(68, 87, 334) +mc.postToChat("Pozaluysta, oplatite tour almaznim blokom postavlennim na steklo") +input("Поставьте блок и нажмите здесь ") + +#основа, телепортирует игрока, пишет месседж, и ждет заданное кол-во секунд +def teleport(x, y, z, message, sleep): + mc.player.setTilePos(x, y, z) + mc.postToChat(message) + time.sleep(sleep) + + +if mc.getBlock(69, 87, 332) == 57: + input("Начинаем тур! Нажмите клавишу здесь ") + mc.setBlock(69, 87, 332, 0) + + time.sleep(1) + + teleport(46, 152, 302, "pravda krasivo? seychas mi poedem tuda", 20) + teleport(47, 90, 289, "pogulayte tut", 40) + + mc.postToChat("obratite vnimanie na sliz. eto batut") + + teleport(9, 107, 272, "pogulayte vozle taynika", 30) + teleport(8, 105, 280, "mi seycas v taynike. proydite v pesseru", 20) + teleport(8, 105, 280, "mozete viprignut na batut", 15) + teleport(-59, 97, 307, "pravda krasivo? seychas mi poedem tuda", 20) + teleport(-58, 76, 292, "pogulayte tut", 40) + teleport(-37, 77, 311, "", 20) + teleport(-121, 140, 268, "ochen krasivoe mesto", 50) + teleport(-40, 78, 256, "posmotrite naverh", 20) + + mc.postToChat("mozete idti v peseru") + time.sleep(20) + + teleport(-95, 81, 298, "", 15) + teleport(-80, 73, 295, "", 60) + teleport(121, 140, 268, "pravda krasivo? no mi tuda ne edem. s zemli vid ne ochen", 30) + teleport(-388, 42, 788, "a eto zabrosennaa sahta. mi gulaem tut dolgo. nikuda ne upadite", 80) + teleport(999, 103, 1016, "kruto?", 80) + teleport(1017, 126, 1024, "super", 60) + teleport(1062, 113, 1027, "ozertso", 30) + teleport(1136, 89, 1008, "i pustina radom", 50) + teleport(1283, 76, 841, "taiga", 80) + teleport(1358, 66, 1054, "savanna", 80) + teleport(1393, 69, 1260, "krasivaa derevna", 80) + + mc.player.setTilePos(68, 87, 334) + mc.postToChat("spasibo za polzovanie") \ No newline at end of file diff --git a/myOwnProjects/osveshenie.py b/myOwnProjects/osveshenie.py new file mode 100644 index 0000000..d25f3f9 --- /dev/null +++ b/myOwnProjects/osveshenie.py @@ -0,0 +1,22 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import random + +places = int(input("Введите на сколько блоков будет распространяться освещение: ")) +kolvoBlocks = int(input("Введите, сколько блоков ставить: ")) + +pos = mc.player.getTilePos() +x, y, z = pos.x, pos.y, pos.z + + +for i in range(kolvoBlocks): + type = kolvoBlocks/2 + place = random.randint(0 - places, places) + if i <= type: + blokx = x + place + blokz = z - place + else: + blokx = x - place + blokz = z + place + bloky = mc.getHeight(x, z) + mc.setBlock(blokx, bloky, blokz, 169) \ No newline at end of file diff --git a/myOwnProjects/secretAgentHome/perrysCamin.py b/myOwnProjects/secretAgentHome/perrysCamin.py new file mode 100644 index 0000000..fc1f2f9 --- /dev/null +++ b/myOwnProjects/secretAgentHome/perrysCamin.py @@ -0,0 +1,59 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import time +import random +ranBlock = random.randint(1, 200) + +parol = mc.getBlock(77, 93, 256) +parol2 = mc.getBlock(74, 93, 262) + +while parol != 4 or parol2 != 4: + parol = mc.getBlock(77, 93, 256) + parol2 = mc.getBlock(74, 93, 262) + if parol == 4 or parol2 == 4: + mc.setBlock(78, 93, 259, ranBlock) + ranBlock = random.randint(1, 200) + mc.setBlock(78, 93, 258, ranBlock) + ranBlock = random.randint(1, 200) + mc.setBlock(77, 93, 258, ranBlock) + ranBlock = random.randint(1, 200) + mc.setBlock(77, 93, 259, ranBlock) + ranBlock = random.randint(1, 200) + mc.setBlock(76, 93, 258, ranBlock) + ranBlock = random.randint(1, 200) + mc.setBlock(76, 93, 259, ranBlock) + ranBlock = random.randint(1, 200) + mc.setBlock(76, 94, 258, ranBlock) + ranBlock = random.randint(1, 200) + mc.setBlock(76, 94, 259, ranBlock) + ranBlock = random.randint(1, 200) + mc.setBlock(77, 93, 256, ranBlock) + ranBlock = random.randint(1, 200) + mc.setBlock(74, 93, 262, ranBlock) + + time.sleep(2) + + mc.setBlock(78, 93, 259, 0) + mc.setBlock(78, 93, 258, 0) + mc.setBlock(77, 93, 258, 0) + mc.setBlock(77, 93, 259, 0) + mc.setBlock(76, 93, 258, 0) + mc.setBlock(76, 93, 259, 0) + mc.setBlock(76, 94, 258, 0) + mc.setBlock(76, 94, 259, 0) + mc.setBlock(77, 93, 256, 0) + mc.setBlock(74, 93, 262, 0) + break + +time.sleep(3) + +mc.setBlock(78, 93, 259, 44, 4) +mc.setBlock(78, 93, 258, 44, 4) +mc.setBlock(77, 93, 258, 51) +mc.setBlock(77, 93, 259, 51) +mc.setBlock(76, 93, 258, 45) +mc.setBlock(76, 93, 259, 45) +mc.setBlock(76, 94, 258, 45) +mc.setBlock(76, 94, 259, 45) + + diff --git a/myOwnProjects/secretAgentHome/perrysQartzBudka.txt b/myOwnProjects/secretAgentHome/perrysQartzBudka.txt new file mode 100644 index 0000000..2bfdec2 Binary files /dev/null and b/myOwnProjects/secretAgentHome/perrysQartzBudka.txt differ diff --git a/myOwnProjects/secretAgentHome/superBudka.py b/myOwnProjects/secretAgentHome/superBudka.py new file mode 100644 index 0000000..7516893 --- /dev/null +++ b/myOwnProjects/secretAgentHome/superBudka.py @@ -0,0 +1,79 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +import pickle +import time + + +def build(x, y, z, structure): + xStart = x + zStart = z + for row in structure: + for column in (row): + for block in column: + mc.setBlock(x, y, z, block) + z += 1 + x += 1 + z = zStart + y += 1 + x = xStart + +def Del(x, y, z, structure): + xStart = x + zStart = z + for row in structure: + for column in (row): + for block in column: + mc.setBlock(x, y, z, 0) + z += 1 + x += 1 + z = zStart + y += 1 + x = xStart + + +file = open("perrysQartzBudka.txt", "rb") +structure = pickle.load(file) +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +build(x, y, z, structure) + + +budX = x + 2 +budY = y +budZ = z + 2 + +pos = mc.player.getTilePos() +x = pos.x +y = pos.y +z = pos.z + +def perryVBudke(posx, posy, posz, budkX, budkZ): + if posx == budkX and posz == budkZ: + mc.setBlock(budkX - 1, posy, posz, 155) + mc.setBlock(budkX - 1, posy + 1, posz, 155) + time.sleep(2) + mc.player.setTilePos(851, 67, -161) + else: + pos = mc.player.getTilePos() + posx = pos.x + posz = pos.z + perryVBudke(posx, posy, posz, budkX, budkZ) + +def domoy(posX, posY, posZ, tpX, tpY, tpZ, domX, domY, domZ): + if posX == tpX and posY == tpY and posZ == tpZ: + mc.player.setTilePos(domX, domY, domZ) + else: + pos = mc.player.getTilePos() + posX = pos.x + posY = pos.y + posZ = pos.z + domoy(posX, posY, posZ, tpX, tpY, tpZ, domX, domY, domZ) + + +perryVBudke(x, y, z, budX, budZ) +Del(x, y, z, structure) +domoy(x, y, z, 851, 67, -163, budX, budY, budZ) diff --git a/myOwnProjects/testUtils/posit.py b/myOwnProjects/testUtils/posit.py new file mode 100644 index 0000000..2b19107 --- /dev/null +++ b/myOwnProjects/testUtils/posit.py @@ -0,0 +1,4 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +pos = mc.player.getTilePos() diff --git a/myOwnProjects/testUtils/postavitBlock.py b/myOwnProjects/testUtils/postavitBlock.py new file mode 100644 index 0000000..58bf761 --- /dev/null +++ b/myOwnProjects/testUtils/postavitBlock.py @@ -0,0 +1,10 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +pos = mc.player.getTilePos() +x = pos.x + 1 +y = pos.y +z = pos.z + 1 + +blockType = int(input("Введите ID блока, который хотите поставить: ")) +mc.setBlock(x, y, z, blockType) \ No newline at end of file diff --git a/myOwnProjects/testUtils/zapolnenieVozduhom.py b/myOwnProjects/testUtils/zapolnenieVozduhom.py new file mode 100644 index 0000000..5c65059 --- /dev/null +++ b/myOwnProjects/testUtils/zapolnenieVozduhom.py @@ -0,0 +1,12 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() + +input("Подойдите к одному углу стираемой констукции и нажмите ") +pos = mc.player.getTilePos() +x1, y1, z1 = pos.x, pos.y, pos.z + +input("Подойдите к противоположному углу и нажмите ") +pos = mc.player.getTilePos() +x2, y2, z2 = pos.x, pos.y, pos.z + +mc.setBlocks(x1, y1, z1, x2, y2, z2, 0) \ No newline at end of file diff --git a/secondBook/derevannuyKon.py b/secondBook/derevannuyKon.py new file mode 100644 index 0000000..083bb98 --- /dev/null +++ b/secondBook/derevannuyKon.py @@ -0,0 +1,26 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import mcpi.block as block +import minecraftstuff as minecraftstuff +import time + +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)] + +horsePos = mc.player.getTilePos() +horsePos.z = horsePos.z + 1 +horsePos.y = horsePos.y + 1 + +horseShape = minecraftstuff.MinecraftShape(mc,horsePos,horseBlocks) + +for count in range(1,10): + horseShape = minecraftstuff.MinecraftShape(mc, horsePos, horseBlocks) + time.sleep(1) + horseShape.moveBy(1,0,0) + horseShape.clear() \ No newline at end of file diff --git a/secondBook/labirint.py b/secondBook/labirint.py new file mode 100644 index 0000000..51c7bf2 --- /dev/null +++ b/secondBook/labirint.py @@ -0,0 +1,150 @@ +from mcpi.minecraft import Minecraft as minecraft +mc = minecraft.create() +import mcpi.block as block +import minecraftstuff +import time +import random +import _thread +deltype = int(input("вы на земле или в воздухе? если на земле-введите 1, если в воздухе - 2 ")) + + +ARENAX = 10 +ARENAZ = 20 +ARENAY = 3 +def createArena(pos): + mc.setBlocks(pos.x - 1 , pos.y, pos.z - 1,pos.x + ARENAX + 1, pos.y - 3, pos.z + ARENAZ + 1, block.GRASS.id) + mc.setBlocks(pos.x - 1, pos.y + 1, pos.z - 1,pos.x + ARENAX + 1, pos.y + ARENAY, pos.z + ARENAZ + 1,block.GLASS.id) + mc.setBlocks(pos.x, pos.y + 1, pos.z,pos.x + ARENAX, pos.y + ARENAY, pos.z + ARENAZ, block.AIR.id) + +def delArena2(pos): + mc.setBlocks(pos.x - 1 , pos.y, pos.z - 1,pos.x + ARENAX + 1, pos.y - 3, pos.z + ARENAZ + 1, block.AIR.id) + mc.setBlocks(pos.x - 1, pos.y + 1, pos.z - 1,pos.x + ARENAX + 1, pos.y + ARENAY, pos.z + ARENAZ + 1,block.AIR.id) + mc.setBlocks(pos.x, pos.y + 1, pos.z,pos.x + ARENAX, pos.y + ARENAY, pos.z + ARENAZ, block.AIR.id) + +def delArena1(pos): + mc.setBlocks(pos.x - 1, pos.y, pos.z - 1, pos.x + ARENAX + 1, pos.y - 3, pos.z + ARENAZ + 1, block.GRASS.id) + mc.setBlocks(pos.x - 1, pos.y, pos.z - 1,pos.x + ARENAX + 1, pos.y + ARENAY, pos.z + ARENAZ + 1,block.AIR.id) + mc.setBlocks(pos.x, pos.y + 1, pos.z,pos.x + ARENAX, pos.y + ARENAY, pos.z + ARENAZ, block.AIR.id) + +def theWall(arenaPos, wallZPos): + wallPos = mc.Vec3(arenaPos.x, arenaPos.y + 1, arenaPos.z + wallZPos) + 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) + while not gameOver: + wallShape.moveBy(0,1,0) + time.sleep(1) + wallShape.moveBy(0,-1,0) + time.sleep(1) +def theRiver(arenaPos, riverZPos): + RIVERWIDTH = 4 + BRIDGEWIDTH = 2 + mc.setBlocks(arenaPos.x, arenaPos.y - 2, arenaPos.z + riverZPos,arenaPos.x + ARENAX, arenaPos.y,arenaPos.z + riverZPos + RIVERWIDTH - 1, block.AIR.id) + mc.setBlocks(arenaPos.x, arenaPos.y - 2, arenaPos.z + riverZPos,arenaPos.x + ARENAX, arenaPos.y - 2,arenaPos.z + riverZPos + RIVERWIDTH - 1, block.WATER.id) + bridgePos = mc.Vec3(arenaPos.x, arenaPos.y, arenaPos.z + riverZPos + 1) + 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) + 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 theHoles(arenaPos, holesZPos): + + HOLES = 15 + HOLESWIDTH = 3 + while not gameOver: + + holes = [] + for count in range(0,HOLES): + x = random.randint(arenaPos.x, arenaPos.x + ARENAX) + z = random.randint(arenaPos.z + holesZPos,arenaPos.z + holesZPos + HOLESWIDTH) + holes.append(mc.Vec3(x, arenaPos.y, z)) + for hole in holes: + mc.setBlock(hole.x, hole.y, hole.z, block.WOOL.id, 15) + time.sleep(0.25) + for hole in holes: + mc.setBlocks(hole.x, hole.y, hole.z, + hole.x, hole.y - 2, hole.z, block.AIR.id) + + time.sleep(2) + for hole in holes: + mc.setBlocks(hole.x, hole.y, hole.z,hole.x, hole.y - 2, hole.z, block.GRASS.id) + time.sleep(0.25) +def createDiamonds(arenaPos, number): + for diamond in range(0, number): + x = random.randint(arenaPos.x, arenaPos.x + ARENAX) + z = random.randint(arenaPos.z, arenaPos.z + ARENAZ) + mc.setBlock(x, arenaPos.y + 1, z, block.DIAMOND_BLOCK.id) +gameOver = False +arenaPos = mc.player.getTilePos() +createArena(arenaPos) +WALLZ = 10 +_thread.start_new_thread(theWall, (arenaPos, WALLZ)) +RIVERZ = 4 +_thread.start_new_thread(theRiver, (arenaPos, RIVERZ)) +HOLESZ = 15 + +_thread.start_new_thread(theHoles, (arenaPos, HOLESZ)) + +LEVELS = 3 +DIAMONDS = [3,5,9] +TIMEOUTS = [30,25,20] +level = 0 +points = 0 +while not gameOver: + createDiamonds(arenaPos, DIAMONDS[level]) + diamondsLeft = DIAMONDS[level] + + mc.player.setPos(arenaPos.x + 1, arenaPos.y + 1, arenaPos.z + 1) + start = time.time() + levelComplete = False + while not gameOver and not levelComplete: + time.sleep(0.1) + hits = mc.events.pollBlockHits() + for hit in hits: + blockHitType = mc.getBlock(hit.pos.x, hit.pos.y, hit.pos.z) + if blockHitType == block.DIAMOND_BLOCK.id: + + mc.setBlock(hit.pos.x,hit.pos.y, hit.pos.z, block.AIR.id) + + diamondsLeft = diamondsLeft - 1 + + pos = mc.player.getTilePos() + + if pos.y < arenaPos.y: + mc.player.setPos(arenaPos.x + 1, arenaPos.y + 1, arenaPos.z + 1) + + if pos.z == arenaPos.z + ARENAZ and diamondsLeft == 0: + levelComplete = True + + secondsLeft = TIMEOUTS[level] - (time.time() - start) + if secondsLeft < 0: + gameOver = True + mc.postToChat("Vrema vislo...") + + if levelComplete: + points = points + (DIAMONDS[level] * int(secondsLeft)) + mc.postToChat("Uroven proyden! Ochki - " + str(points)) + + level = level + 1 + + if level == LEVELS: + gameOver = True + mc.postToChat("Super! Ti proshol vse urovni") + +mc.postToChat("Igra okonchena. Ochki - " + str(points)) +time.sleep(1) +if deltype == 1: + delArena1(arenaPos) +else: + delArena2(arenaPos) + diff --git a/secondBook/maze1.csv b/secondBook/maze1.csv new file mode 100644 index 0000000..2e4412d --- /dev/null +++ b/secondBook/maze1.csv @@ -0,0 +1,16 @@ +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1 +1,0,0,1,0,0,0,0,1,0,1,0,1,0,0,1 +1,1,0,1,0,1,1,0,0,0,0,0,1,0,1,1 +1,1,0,1,0,1,1,1,1,1,1,1,1,0,1,1 +1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1 +1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1 +1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1 +1,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1 +1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1 +1,0,1,0,1,1,1,1,0,1,1,1,1,1,0,1 +1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1 +1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1 diff --git a/secondBook/megaChasi.py b/secondBook/megaChasi.py new file mode 100644 index 0000000..9330580 --- /dev/null +++ b/secondBook/megaChasi.py @@ -0,0 +1,54 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import mcpi.block as block +import minecraftstuff +import time +import datetime +import math + +mcdrawing = minecraftstuff.MinecraftDrawing(mc) +pos = mc.player.getTilePos() + +def findPointOnCircle(cx, су, radius, angle ) : + x = cx + math. sin(math . radians(angle) ) * radius + y = су + math .cos(math . radians(angle) ) * radius + x = int(round(x, 0 ) ) + y = int(round(y, 0 ) ) + return (x,y) + +clockMiddle = pos +clockMiddle .y = clockMiddle . y + 25 +CLOCK_RADIUS = 20 +HOUR_HAND_LENGTH = 10 +MIN_HAND_LENGTH = 18 +SEC_HAND_LENGTH = 20 + +mcdrawing.drawCircle(clockMiddle.x, clockMiddle.y,clockMiddle.z, CLOCK_RADIUS, block.DIAMOND_BLOCK.id) + +while True: + timeNow = datetime.datetime.now() + hours = timeNow.hour + if hours >= 12: + hours = timeNow.hour - 12 + minutes = timeNow.minute + seconds = timeNow.second + hourHandAngle = (360 / 12) * hours + hourHandX, hourHandY = findPointOnCircle(clockMiddle.x, clockMiddle.y, HOUR_HAND_LENGTH, hourHandAngle) + mcdrawing.drawLine(clockMiddle.x, clockMiddle.y, clockMiddle.z, hourHandX, hourHandY, clockMiddle.z, block.DIRT.id) + + minHandAngle = (360 / 60) * minutes + minHandX, minHandY = findPointOnCircle(clockMiddle.x, clockMiddle.y,MIN_HAND_LENGTH, minHandAngle) + mcdrawing.drawLine(clockMiddle.x, clockMiddle.y, clockMiddle.z - 1,minHandX, minHandY, clockMiddle.z - 1,block.WOOD_PLANKS.id) + + secHandAngle = (360 / 60) * seconds + secHandX, secHandY = findPointOnCircle(clockMiddle.x, clockMiddle.y,SEC_HAND_LENGTH, secHandAngle) + mcdrawing.drawLine(clockMiddle.x, clockMiddle.y, clockMiddle.z + 1,secHandX, secHandY, clockMiddle.z + 1, block.STONE.id) + + time.sleep(1) + + mcdrawing.drawLine( + clockMiddle.x, clockMiddle.y, clockMiddle.z,hourHandX, hourHandY, clockMiddle.z,block.AIR.id ) + mcdrawing.drawLine( + clockMiddle.x, clockMiddle.y, clockMiddle.z - 1, + minHandX, minHandY, clockMiddle.z - 1,block.AIR.id) + mcdrawing.drawLine(clockMiddle.x, clockMiddle.y, clockMiddle.z + 1,secHandX, secHandY, clockMiddle.z + 1,block.AIR.id) \ No newline at end of file diff --git a/secondBook/object1.csv b/secondBook/object1.csv new file mode 100644 index 0000000..9c0925a --- /dev/null +++ b/secondBook/object1.csv @@ -0,0 +1,31 @@ +5,5,5 + +1,1,1,1,1 +1,1,1,1,1 +1,1,1,1,1 +1,1,1,1,1 +1,1,1,1,1 + +1,1,1,1,1 +0,0,0,0,1 +0,0,0,0,1 +0,0,0,0,1 +1,1,1,1,1 + +1,1,1,1,1 +0,0,0,0,1 +0,0,0,0,1 +0,0,0,0,1 +1,1,1,1,1 + +1,1,1,1,1 +0,0,0,0,1 +0,0,0,0,1 +0,0,0,0,1 +1,1,1,1,1 + +1,1,1,1,1 +1,1,1,1,1 +1,1,1,1,1 +1,1,1,1,1 +1,1,1,1,1 diff --git a/secondBook/umniyBlock.py b/secondBook/umniyBlock.py new file mode 100644 index 0000000..aae2dec --- /dev/null +++ b/secondBook/umniyBlock.py @@ -0,0 +1,58 @@ +import mcpi.minecraft as minecraft +mc = minecraft.Minecraft.create() +import minecraftstuff +mcdrawing = minecraftstuff.MinecraftDrawing(mc ) +import mcpi.block as block +import time +import math + + +def distanceBetweenPoints(pointl, point2) : + xd = point2.x - pointl.x + yd = point2.y - pointl.y + zd = point2.z - pointl.z + return math.sqrt((xd*xd) + (yd*yd) + (zd*zd)) + +TOO_FAR_AWAY = 15 + +blockMood = "happy" + +friend = mc.player.getTilePos() +friend.x = friend.x + 5 +friend.y = mc.getHeight(friend.x, friend.z) + +mc.setBlock(friend.x, friend.y, friend . z, block.DIAMOND_BLOCK.id ) + +mc.postToChat(" Privet, drug :). Da, a almazniy block!") + +target = friend.clone() + +while True: + pos = mc.player.getTilePos() + distance = distanceBetweenPoints(pos, friend) + + if blockMood == "happy": + if distance < TOO_FAR_AWAY: + target = pos.clone() + + if distance >= TOO_FAR_AWAY: + blockMood = "sad" + mc.postToChat(" Vernis ko mne! Mne grustno:( Obnimi mena!(stan radom so mnoy)") + + elif blockMood == "sad": + if distance <= 1: + blockMood = "happy" + mc.postToChat(" Spasibo! Ti takoy klassniy:) Poshli dalshe") + + if friend != target: + blocksBetween = mcdrawing.getLine(friend.x, friend.y, friend.z, target.x, target.y, target.z) + + for blockBetween in blocksBetween[: -1]: + mc.setBlock(friend.x, friend.y, friend.z, block.AIR.id) + friend = blockBetween.clone() + friend.y = mc.getHeight(friend.x, friend.z) + mc.setBlock(friend.x, friend.y, friend.z,block.DIAMOND_BLOCK.id) + time.sleep(0.25) + target = friend.clone() + + time.sleep(0.25) \ No newline at end of file diff --git a/secondBook/umniyBlockNewFunction.py b/secondBook/umniyBlockNewFunction.py new file mode 100644 index 0000000..32f6ccc --- /dev/null +++ b/secondBook/umniyBlockNewFunction.py @@ -0,0 +1,67 @@ +import mcpi.minecraft as minecraft +mc = minecraft.Minecraft.create() +import minecraftstuff +mcdrawing = minecraftstuff.MinecraftDrawing(mc ) +import mcpi.block as block +import time +import math +import random + +def distanceBetweenPoints(pointl, point2) : + xd = point2.x - pointl.x + yd = point2.y - pointl.y + zd = point2.z - pointl.z + return math.sqrt((xd*xd) + (yd*yd) + (zd*zd)) + +TOO_FAR_AWAY = 15 + +blockMood = "happy" + +friend = mc.player.getTilePos() +friend.x = friend.x + 5 +friend.y = mc.getHeight(friend.x, friend.z) + +mc.setBlock(friend.x, friend.y, friend . z, block.DIAMOND_BLOCK.id ) + +mc.postToChat(" Privet, drug :). Da, a almazniy block!") + +target = friend.clone() + +while True: + pos = mc.player.getTilePos() + distance = distanceBetweenPoints(pos, friend) + + if blockMood == "happy": + if distance < TOO_FAR_AWAY: + target = pos.clone() + + if distance >= TOO_FAR_AWAY: + blockMood = "sad" + mc.postToChat(" Vernis ko mne! Mne grustno:( Obnimi mena!(stan radom so mnoy)") + + elif blockMood == "sad": + if distance <= 1: + blockMood = "happy" + mc.postToChat(" Spasibo! Ti takoy klassniy:) Poshli dalshe") + if random.randint(1, 100) == 100: + blockMood = "hadenough" + mc.postToChat(" Vse, hvatit. Ti mena brosaesh! A uhozhu ot teba! I bolshe ne razgovarivau") + + elif blockMood == "hadenough": + if random.randint(1, 50) == 50: + if distance <= 1: + blockMood = "happy" + mc.postToChat(" ladno,spasibo! Ti takoy klassniy:) Poshli dalshe. A proshau vse obidi! ;)") + + if friend != target: + blocksBetween = mcdrawing.getLine(friend.x, friend.y, friend.z, target.x, target.y, target.z) + + for blockBetween in blocksBetween[: -1]: + mc.setBlock(friend.x, friend.y, friend.z, block.AIR.id) + friend = blockBetween.clone() + friend.y = mc.getHeight(friend.x, friend.z) + mc.setBlock(friend.x, friend.y, friend.z,block.DIAMOND_BLOCK.id) + time.sleep(0.25) + target = friend.clone() + + time.sleep(0.25) \ No newline at end of file diff --git a/secondBook/vtorzenieInoplanetan.py b/secondBook/vtorzenieInoplanetan.py new file mode 100644 index 0000000..ea1409c --- /dev/null +++ b/secondBook/vtorzenieInoplanetan.py @@ -0,0 +1,76 @@ +from mcpi.minecraft import Minecraft +mc = Minecraft.create() +import mcpi.block as block +import minecraftstuff as minecraftstuff +mcdrawing = minecraftstuff.MinecraftDrawing(mc) +import time +import math +import random + + +def distanceBetweenPoints(point1, point2): + xd = point2.x - point1.x + yd = point2.y - point1.y + zd = point2.z - point1.z + return math.sqrt((xd*xd) + (yd*yd) + (zd*zd)) + +HOVER_HEIGHT = 15 +ALIEN_TAUNTS = ["<àîȉɇĦЅ>Ti ne smozes ubegat veshno", +"<àîȉɇĦЅ>Soprotivlenie bespolzno!", +"<àîȉɇĦЅ>Mi vsevo lish hotim bit druzami"] + + +alienPos = mc.player.getTilePos() +alienPos.y = alienPos.y + 50 +mode = "landing" + +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) + +while mode != "missionaccomplished": + playerPos = mc.player.getTilePos() + if mode == "landing": + mc.postToChat("<àîȉɇĦЅ>Mi prishli ne s mirom-pozaluysta, panikuyte!") + alienTarget = playerPos.clone() + alienTarget.y = alienTarget.y + HOVER_HEIGHT + mode = "attack" + elif mode == "attack": + if alienPos.x == playerPos.x and alienPos.z == playerPos.z: + mc.postToChat("<àîȉɇĦЅ>Teper ti nash! ") + + mc.setBlocks(0,50,0,6,56,6, block.BEDROCK.id) + mc.setBlocks(1,51,1,5,55,5, block.AIR.id) + mc.setBlock(3,55,3, block.GLOWSTONE_BLOCK.id) + + mc.player.setTilePos(3,51,5) + time.sleep(20) + mc.postToChat(" <àîȉɇĦЅ>ne samoe interesboe-otpravit nazad" ) + time.sleep(2) + + mc.player.setTilePos(playerPos.x, playerPos.y, playerPos.z) + + mc.setBlocks(0,50,0,6,56,6, block.AIR.id) + mode = "missionaccomplished" + + else: + mc.postToChat(ALIEN_TAUNTS[random.randint(0, len(ALIEN_TAUNTS) - 1)]) + alienTarget = playerPos.clone() + alienTarget.y = alienTarget.y + HOVER_HEIGHT + + if alienPos != alienTarget: + blocksBetween = mcdrawing.getLine(alienPos.x, alienPos.y, alienPos.z,alienTarget.x, alienTarget.y, alienTarget.z) + + for blockBetween in blocksBetween: + alienShape.move(blockBetween.x, blockBetween.y, blockBetween.z) + time.sleep(0.25) + alienPos = alienTarget.clone() + +alienShape.clear() +