planung:interaktionen

Man kann auch Python-Funktionen ausführen, wenn bestimmte Bedingungen erfüllt sind. Dazu verwendet man sogenannte „Listeners“. Das sind Funktionen, die im Hintergrund mitlaufen und darauf warten, dass etwas bestimmtes passiert. Ist dies der Fall, so wird eine weitere Funktion aufgerufen. Du kennst dies bereits von der Funktion player.on_chat:

Wenn der Spieler „baue_Goldhaus“ in den Chat tippt, soll der ausgehöhlte Goldblock erstellt werden:

def baue_Goldhaus():
    blocks.fill(GOLD_BLOCK, pos(1, 1, 1), pos(10, 10, 10))
    blocks.fill(AIR, pos(2,2,2),  pos(9, 9, 9))

player.on_chat("baue_Goldhaus", baue_GoldHaus)

Es gibt verschiedene von diesen Listenern. Alle beginnen mit player.on, oder mit blocks.on . (player.on_chat, player.on_item_interacted, blocks.on_block_broken, blocks,on_blocks_placed,)

Was ich noch selber rausfinden muss: wie ruft man am Besten eine Python-Funktion auf aus Minecraf (so dass man z.B. einen Schalter bewegen kann und die Funktion wird ausgeführt). Aktuell funktioniert für mich nur der Trick, dass ich einen Block erstelle und wenn man ihn zerstört wird die Funktion aufgerufen, die den Block gleich wieder hinzufügt. Dies ist dann ein „Pseudo-Schalter“. Es wäre aber eleganter, wenn man z.B. Command_Blocks verwenden könnte (das scheint aber nicht zu gehen).

  • planung/interaktionen.txt
  • Zuletzt geändert: 2022/10/27 11:48
  • von lehmannr