Skip to content

Instantly share code, notes, and snippets.

@evgkarasev
Last active March 26, 2020 12:21
Show Gist options
  • Save evgkarasev/27914674cc103fbb5e605d0611c5d645 to your computer and use it in GitHub Desktop.
Save evgkarasev/27914674cc103fbb5e605d0611c5d645 to your computer and use it in GitHub Desktop.
Start python commandline and start coding
#!/usr/bin/env python3
from mcpi.minecraft import Minecraft
# Подключаемся к серверу Minecraft - заменить SERVER_IP на реальный IP адрес сервера
mc = Minecraft.create('SERVER_IP')
# Пишем приветствие в чат
mc.postToChat("Hello world of Minecraft!")
#!/usr/bin/env python3
from mcpi.minecraft import Minecraft
from mcpi import block
# Подключаемся к серверу Minecraft - заменить SERVER_IP на реальный IP адрес сервера
mc = Minecraft.create('SERVER_IP')
# Получаем идентификатор сущности типа Игрок по имени Alexey
entityId = mc.getPlayerEntityId("Alexey")
# Получаем текущие координаты сущности по идентификатору
x, y, z = mc.entity.getPos(entityId)
# Ставим новый блок из камня прямо перед игроком по имени Alexey
mc.setBlock(x+2, y, z, block.STONE.id)
# Пишем в чат об окончании телепортации
mc.postToChat("New stone block is put right afront of Alexey")
#!/usr/bin/env python3
import mcpi.minecraft as minecraft
import mcpi.block as block
from math import *
# Задаем высоту радуги
height = 60
# Формируем массив из кодов семи цветов радуги
colors = [14, 1, 4, 5, 3, 11, 10]
# Подключаемся к серверу Minecraft - заменить SERVER_IP на реальный IP адрес сервера
mc = minecraft.Minecraft.create('SERVER_IP')
# Получаем идентификатор сущности типа Игрок по имени Alexey
entityId = mc.getPlayerEntityId("Alexey")
# Получаем текущие координаты сущности по идентификатору
entityX, entityY, entityZ = mc.entity.getPos(entityId)
# Рисуем радугу, центр полукруга радуги будет расположен по коорд. (entityX, 0, entityZ)
# Очищаем плоскость радуги - делаем кубоид из воздуха
mc.setBlocks(entityX - 64, 0, entityZ, entityX + 64, height + len(colors), entityZ, block.AIR.id)
# Формируем радугу из 128 полосок единичной ширины и глубины, высотой в семь блоков, по количеству цветов радуги
for x in range(entityX, entityX + 128):
# Формируем полоску радуги единичной ширины и глубины, состоящей из кубика каждого цвета
for colourindex in range(0, len(colors)):
# Высота кубика в полоске зависит от его цвета
y = sin((x / 128.0) * pi) * height + colourindex
# Устанавливаем единичный кубик полоски, материал - шерсть (ее можно красить)
mc.setBlock(x - 64, y, entityZ, block.WOOL.id, colors[len(colors) - 1 - colourindex])
# Пишем в чат о выполнении программы
mc.postToChat("New rainbow around Alexey is just completed")
#!/usr/bin/env python3
from mcpi.minecraft import Minecraft
from mcpi import block
# Подключаемся к серверу Minecraft - заменить SERVER_IP на реальный IP адрес сервера
mc = Minecraft.create('SERVER_IP')
# Получаем идентификатор сущности типа Игрок по имени Alexey
entityId = mc.getPlayerEntityId("Alexey")
# Получаем текущие координаты сущности по идентификатору
x, y, z = mc.entity.getPos(entityId)
# Задаем параметры строения - ширину, высоту и глубину
width, height, depth = 5, 3, 6
# Строим внешние стены из кирпича
# Формируем кубоид из кирпича
mc.setBlocks(x, y, z+3, x+width, y+height, z+3+depth, block.BRICK_BLOCK.id)
# Освобождаем полость внутри кубоида
mc.setBlocks(x+1, y, z+4, x+width-1, y+height-1, z+2+depth, block.AIR.id)
# Строим пол
mc.setBlocks(x-1, y-1, z+2, x+1+width, y-1, z+4+depth, block.COBBLESTONE.id)
# Ставим дверь
mc.setBlock(x+1, y, z+3, block.DOOR_WOOD.id, 0)
mc.setBlock(x+1, y+1, z+3, block.DOOR_WOOD.id, 8)
# Добавляем окна
mc.setBlocks(x+3, y+1, z+3, x+4, y+2, z+3, block.GLASS.id)
mc.setBlocks(x+2, y+1, z+3+depth, x+3, y+2, z+3+depth, block.GLASS.id)
mc.setBlocks(x, y+1, z+5, x, y+2, z+7, block.GLASS.id)
mc.setBlocks(x+width, y+1, z+5, x+width, y+2, z+7, block.GLASS.id)
# Строим крышу
for i in range(int(width/2) + 1):
mc.setBlocks(x+i, y+height+i, z+3, x+i, y+height+i, z+3+depth, block.STAIRS_WOOD.id, 0)
mc.setBlocks(x+width-i, y+height+i, z+3, x+width-i, y+height+i, z+3+depth, block.STAIRS_WOOD.id, 1)
# Строим верхнюю треугольную часть фасада
if (int(width/2) - i > 0):
mc.setBlocks(x+1+i, y+height+i, z+3, x+width-i-1, y+height+i, z+3, block.BRICK_BLOCK.id, 0)
mc.setBlocks(x+1+i, y+height+i, z+3+depth, x+width-i-1, y+height+i, z+3+depth, block.BRICK_BLOCK.id, 1)
# Пишем в чат о выполнении программы
mc.postToChat("New house is just completed")
#!/usr/bin/env python3
from mcpi.minecraft import Minecraft
# Подключаемся к серверу Minecraft - заменить SERVER_IP на реальный IP адрес сервера
mc = Minecraft.create('SERVER_IP')
# Получаем идентификатор сущности типа Игрок по имени Alexey
entityId = mc.getPlayerEntityId("Alexey")
# Получаем текущие координаты сущности по идентификатору
x, y, z = mc.entity.getPos(entityId)
# Меняем текущие координаты сущности - перемещаем игрока по оси X на 100 ед.
mc.entity.setPos(entityId, x+100, y, z)
# Пишем в чат об окончании телепортации
mc.postToChat("Alexey Teleportation is completed")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment