Sunday, May 30, 2021

Mike C. Fletcher: PycraftServer Plugin

So the boys (and their cousin) are both into Minecraft again, so I've been refining the Pycraft code quite a bit. We no longer use the RaspberryJuice plugin, but instead have a custom Bukkit plugin that does Java reflection/introspection to auto-generate the API. That lets us do a lot more, manipulate inventories, read and write large sets of blocks, and generally act like a first-class client of the Bukkit API. (Bukkit is a common core api shared between Bukkit, Spigot and Paper servers).

The core idea is still the same, let coder parents setup a Dockerised container with plugins that let you connect Pocket Edition and Java Edition Minecraft to the same server, without needing any mucking about on the clients (e.g. you don't need to install a mod-pack on the client), and let you create "magic" by writing (Python) code.

The chat interface means you can do things like:

echo([circle(center=user.position+(0,i,0),material='obsidian') for i in range(8)])

right in the Minecraft chat and get an 8m high round tower, or you can write extensions in Python modules and load them into the namespace for use at runtime.

Code is up on github if you'd like to play with it (or play with the backend extension).



from Planet Python
via read more

No comments:

Post a Comment

TestDriven.io: Working with Static and Media Files in Django

This article looks at how to work with static and media files in a Django project, locally and in production. from Planet Python via read...