Microsoft / Mojang puts part of Minecraft opensource


#1

This is awesome news, and gives mod developers entirely new toys to play with. We can probably expect mods that are more stable, and that have a tighter tie into the Minecraft workings.

Also, @hexparrot, with opensourcing their command engine could MineOS use that to hook into the minecraft command and chat even more? This probably would need major MineOS rewrites, so I do not expect anything. This also mean making a bridge between java and MineOS’s codebase wich may not be possible.

Exiting news anyways though!

https://minecraft.net/en-us/article/programmers-play-minecrafts-inner-workings


#2

Well, honestly I think (in my opinion) it would probably need to be something like a plugin written for every Minecraft version and may only work for the latest versions or the current version(s) going on forward (and/or we may have to manually patch each and every Minecraft Server Jar file (and/or every Minecraft Server type on each version) we wish to use), though overall likely isn’t really worth doing considering what we currently already have with MineOS as well as what can still be done to/with it additionally.

Currently MineOS does already use query to get a list of players and provides a page to interact with said players (which uses commands just as normal as if you had typed them into console and run them yourself), so this really probably wouldn’t make much difference if any, especially since it’s objective mainly was just to be a frontend for managing Minecraft servers, though it would be cool to expand the player interaction page and maybe add an additional server interaction page other than just the console log page with buttons to trigger various actions or commands, maybe even an additional page used to add buttons/actions to both pages, and it’d actually be possible to use the existing methods that are already in play rather than creating new ones that may not work with the older versions as well as custom versions of the game (thus raising questions and threads for anyone trying to make use of that new stuff with older versions, but then support may be added to older versions either officially or via some method so an autodetection method to show or hide those pages might not be the greatest idea to work around it either).

I actually have no idea how much of a difference this one thing will make in terms of mods and the like, but it’s something I guess; only thing I see really is making it easier or more open to adding new commands to the game in either an identical way to before or maybe easier now, though numerous mods would have to share this unless it’s injected or there’s some kind of bridge so I really have no idea.


#3

From the outset, I’m not seeing much from Brigadier that I think would integrate too ground-breakingly with MineOS. Right now, admittedly, the console input is a bit limited (what with santization getting in the way of many JSON characters, etc.), but it looks like Brigadier is all about adding new functionality to the console rather than opening up a new way to interface the console (which would be preferred).

Right now, it’s mostly text to mineos_console.js, and there is limited functionality using rcon and then the query business.

There are far superior ways to interface the console, but I was wary to touch the already-quite-popular and known-mostly-working methods in NodeJS. I ended up learning how to do this in mineos-ruby, which was use STDIN, STDERR, and STDOUT I/O channels. For something I wrote up 2 years ago and haven’t progressed since, that ruby code is astonishingly robust to Minecraft’s development.

It sometimes saddens me that the reason that dev died was because I couldn’t figure out swift, an object store that would’ve tied together the latest MineOS iteration so nicely.

I digress: brigadier is more of a mod than it is a server type, so I don’t foresee many changes to the current NodeJS webui even with wider adoption of Brigadier. I’m not dismissing it, but my limited vision doesn’t yet see what can be integrated, so if I’m missing something novel, please do point it out!


#4

Thanks for an update :slight_smile:
As I understood Brigadier it is the engine that parses all the chat entered commands and passes them on th the game engine itself. I do agree however, that there is at the current time little to gain in implementing compared to effort needed rewriting. It’ll be more exiting seeing what other parts of Minecraft will get open sourced and what those could be used for.