Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Summary of the Python support in Minecraft/Minetest #50

Closed
acs opened this issue May 4, 2020 · 5 comments
Closed

Summary of the Python support in Minecraft/Minetest #50

acs opened this issue May 4, 2020 · 5 comments

Comments

@acs
Copy link
Contributor

acs commented May 4, 2020

Once we have tested that Python can be used in:

  • Spigot 1.15.2 (with 1.11 and 1.12 plugin versions)
  • Minecraft Forge: for using it in the client with 1.12.2 version. The mod does not work in newer versions of the Forge.
  • Minetest: 1.12 working with Minetest 5.1 (not tested yet with 5.2 but it probably will work)

It seems that all the mod/plugin version for the Rasperry PI API share the same code, because all stopped in 1.12 version. But I need to review it. For example, for minetest, it has not been changed since 4 years ago.

@acs
Copy link
Contributor Author

acs commented May 4, 2020

About Spigot, it seems that the plugin is not been developed since 1.12 because ot changes in the internals of Minecraft server about blocks ids, changed from numbers to strings.

https://www.spigotmc.org/resources/raspberryjuice.22724
https://github.com/zhuowei/RaspberryJuice
zhuowei/RaspberryJuice#97 -> 1.15 support

«The change to minecraft's data model replacing integer ids with strings means that any version based on 1.13+ will no longer be compatible with programs made against previous versions or any program written to run on Minecraft: Pi edition.»

But the versions 1.11.x and 1.12.x of the plugin works with 1.15.x minecraft server. At least with Spigot.

It seems someone is creating the mapping between the integer ids and the string ids for the blocks. And they are talking about RaspberryJuice2. But let's see. The discussion was in on Oct 20, 2019 and no news. Other try here: zhuowei/RaspberryJuice#93 (from Jan 2020).

So it seems that the key piece to use Python with MC is now in danger.

@acs
Copy link
Contributor Author

acs commented May 4, 2020

Taking a look to MC Forge support, it is based on:

https://github.com/arpruss/raspberryjammod

And it is pretty different from the Spigot/Bukkit one. But it stopped also at 1.12. But this probably because there was a kind of hype around this Python API during sometime.

And the status is pretty much the same than the Spigot one:

arpruss/raspberryjammod#49

Compare both projects answering to the same question:

zhuowei/RaspberryJuice#97
arpruss/raspberryjammod#49

I am pretty sure it is easier to work in the Spigot case because it works with an API.

But in any case, both plugins/mods are not maintained anymore.

@acs
Copy link
Contributor Author

acs commented May 4, 2020

And the status in Minetest is a bit worse in theory. The plugin for Minetest is:

https://github.com/arpruss/raspberryjammod-minetest

And it is also from arpruss, the same guy doing the Minecraft Forge mod.

But it seems in this case, as it has been coded against the Lua Minetest API, it works with newer versions. But it has no changes for the last 4 years!

@acs
Copy link
Contributor Author

acs commented May 4, 2020

  • Minetest: 1730 SLOC Lua
  • RaspberryJuice-master: 2316 SLOC Java
  • raspberryjammod-master: 10452 SLOC Java

It is clear that the MC Forge plugin, not using an API, it is the hard one to maintain and evolve. And it only works with specific versions, as we have seen with the 1.12 version.

So if we should put some efforts, it is clear to go for and API based support.

@acs acs changed the title Summary of the Python support in Minecraft/Mintest Summary of the Python support in Minecraft/Minetest May 4, 2020
@acs
Copy link
Contributor Author

acs commented May 4, 2020

Ok, so the strategy is clear beating for the API based solutions. Let's see if we have time and motivation for working on this if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant