Files
pythonmc/secondBook/megaChasi.py
BarsTigerMeowcat 8bed7171c2 Initial commit
2020-01-26 12:49:01 +02:00

54 lines
2.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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)