-
Create module named
examplemod.py
:async def hello(api): await api.print('Hello world!')
-
Start a server:
python -m computercraft.server examplemod
-
In minecraft, open up any computer and type:
wget http://127.0.0.1:8080/ py py hello
py
is short Lua program that interacts with the server.
Argument is the name of coroutine inside the module.
api
object contains almost everything as is in ComputerCraft documentation:
async def program(api):
await api.disk.eject('right')
await api.print(await api.os.getComputerLabel())
# ...
Using python coroutines allows launching commands in parallel, effectively replacing parallel
API:
async def program(api):
# Since os.sleep is mostly waiting for events, it doesn't block execution of parallel threads
# and this snippet takes approximately 2 seconds to complete.
await asyncio.gather(api.os.sleep(2), api.os.sleep(2))