Ich schaffe es einfach nicht. Bzw ich weiß nicht wo der Fehler ist...
ich habe noch nicht ganz so viel Erfahrung mit Python...
Code: Alles auswählen
import time
from mcstatus import MinecraftServer
from mcpi.minecraft import Minecraft
from mcpi.block import Block
# Verbindung zum Minecraft-Server herstellen
server = MinecraftServer.lookup("<Server-IP>")
mc = Minecraft.create("<Server-IP>")
# Koordinaten des Lesepults und des Villagers
read_table_x = <x-Koordinate>
read_table_y = <y-Koordinate>
read_table_z = <z-Koordinate>
villager_x = <x-Koordinate>
villager_y = <y-Koordinate>
villager_z = <z-Koordinate>
# Schleife, die das Lesepult abbaut und wieder aufbaut, bis der Villager das gewünschte Buch anbietet
while True:
# Bewege den Bot zum Lesepult
mc.player.setPos(read_table_x, read_table_y, read_table_z)
time.sleep(1)
# Baue das Lesepult ab und wieder auf
mc.setBlock(read_table_x, read_table_y, read_table_z, Block.AIR.id)
time.sleep(1)
mc.setBlock(read_table_x, read_table_y, read_table_z, Block.BOOKSHELF.id)
time.sleep(1)
# Überprüfe, ob der Villager das gewünschte Buch anbietet
entities = mc.getEntitiesWithinSphere(villager_x, villager_y, villager_z, 1)
for entity in entities:
if entity.getEntityTypeId() == "villager":
trades = entity.getTrades()
for trade in trades:
if trade.getDisplayName() == "<gewünschtes verzaubertes Buch>":
# Sende eine Nachricht im Minecraft-Chat
mc.postToChat("Gewünschtes Buch verfügbar!")
break
time.sleep(10)