I've got lots of things to say about the minecraft modding community from end to end having done some stuff in the background of both sides. From development, to server management, to being an end user of all this.
I think that the only hope for a good API is to actually have an API. Bukkit was the correct way to go from the start, forge is not an API.
If anyone want's to know funny stories about bukit, forge, minecraft modding, and all you can get in contact with me and I'd be glad to talk about it all.
However, most of the more interesting mods still could not possibly exist for Bukkit, due to it's server side status, so I can't see any MS API faring any better than Bukkit
"Sponge is a combination of a new API (based off of Spout/Flow’s APIs) implemented on top of Forge, with assistance from other parts of Minecraft’s modding community (Glowstone, Cauldron, Spout, etc.).
It will be both a server and client API, and its target user base is pretty much anyone that wants to mod their game, including server owners. However, we may focus on the server-side portion first.
We invite any developer to help out."
https://www.spongepowered.org/
Development seems quite active on Github.
They are even making some of the VERY basic yet devastating problems that Bukkit made at the start. Again, there is more to go into than I can fit into the scope of this comment chain.
Bukkit failed because of copyright laws. Despite this, people still use bukkit. It was powerful, easy, and had an intuitive API. It made programming seem fun to me.
A proper API done client side would look like bukkit, but have hooks into almost anything you could need. Look at GMod for example.
I tried MineTest but it really (!) wasn't as easy to get started modding it as with Forge-Gradle. You can see my little mod at https://github.com/voltagex/minecraft-rebridge. I want to go back to i, one day.
Then again, part of that is that I'm a clumsy coder, and part of that is Forge's "support" channels.
Let's hope this becomes Minetest's time to shine.
Yes! I've been waiting for this forever. The first time I ran Minetest on a crappy laptop years ago it was as smooth as butter and I couldn't help but think, "Why is no one playing this?!"
I think the primary reason very few people play Minetest is because of marketing and piss poor default gameplay. If you just run Minetest without adding any of the (nearly built-in) mods you'll get an odd-looking Minecraft-like world stuck in "creative mode" (which is boring). If, however, you take the time (lots of time) to fiddle around with it and put together a collection of decent mods it becomes a good game!
The fact that it is written in C and has a proper modding API (in Lua!) should be drawing people in like crazy but for some reason it isn't.
I agree. "Vanilla" Minetest needs monsters, villages, villagers, fortresses, more ores, more items, etc. in order to compete with "vanilla" Minecraft.
It's so very close to being a Minecraft killer...but there seems to be strong resistance to adding more to the base game.
Unfortunately, right now, every query about vanilla Minetest being a little "barren" results in replies like, "Install some mods." sigh
Personally, modded minecraft is the only type I continue to pay. If I didn't have the choice of mods, I'd rather go with one of the better options among the infinite number of minecraft clones.
I wonder if this going to create some bizarre fork situation, with an MS-approved-and-bound C++ version and a legally questionable, community-maintained legacy Java version.
https://github.com/byteandahalf/MCPE-NativeMods/wiki/1:-Maki...
This doesn't mean the Education Edition will be cross-platform. It does mean that the fact that it's written in C++ doesn't prevent it from being cross-platform.
Against that, how many pupils would benefit from spending that development time -- a finite resource -- on incorporating mods into the C++ code base?
It's not a pseudo-religious issue.
Do you think Microsoft is actively trying to sabotage the modding community? Or is it just that they failed to take it into consideration?
Of course even if the plugin/mod architecture is good getting existing mods converted will be a struggle, particularly where the original coder considered them complete and is now busy working on something else new & exciting.
> good sense to build in a good API for mods
LOL. That API already exists - it's called Forge. We gave up caring about an official "mod API" many years ago.
"Where's The Modding API?" - Yogscast, Dec 20, 2013
This is such an antiquated view at this point in time. This is the same Microsoft that is taking .NET open-source and cross-platform, including ASP.Next. This is the same Microsoft that just open-sourced their JavaScript engine and integrated it with Node.js. This is the same Microsoft developing the open-source and cross-platform Visual Studio Code. This is the same Microsoft that writes more apps with better user experiences for iOS and Android than it does for Windows Mobile 8 and so far 10.
Node.js isn't particularly relevant to their primary business, nor is keeping Visual Studio proprietary. Opening them makes developers happy at a time when fewer non-MS developers are writing for their platform (they moved to the web and mobile).
Microsoft's bad behavior with Windows 10 (including the drama involving the back-ports and strong-arm upgrades in 7/8) suggest the company's behavior hasn't changed much.
But as I said, you're entitled to your opinion. I would love to be proven wrong here. Unfortunately, experience has taught me otherwise.
The real question - that you ignored - was this:
> I suspect that "always get updates" promise I paid for years ago will be ignored.
Given that Microsoft already restricted a C++ version of Minecraft to Windows 10, do you really think they will ever ship this new C++ version of Minecraft for Linux and Mac? At the same time, not years later? Or will they split the community?
Considering that this named and marketed as a separate product ("Minecraft - Education Edition"), I don't really see where you believe you have a standing here. It certainly wouldn't be the first time a company put out a new version of something in order to move on from previous commitments. For instance, "Minecraft - XBox Edition" and "Minecraft - Android Edition" are not in sync with "Minecraft - The Original PC Edition" either.
And I certainly won't pretend to know where they're going with this, and I also want and hope for this new version to be a cross-platform product. I was more addressing the general opening statement, which is exactly what I quoted in my response.
Even as open source .NET is still a huge pain to get running under Linux and development of .NET anything is extremely difficult without Visual Studio (which doesn't run on Linux). Not only that but most of the .NET libraries one would use for any given purpose only work on Windows. So even if the core of .NET is open source and cross platform any software written using that platform can only effectively run on Windows.
When Microsoft puts out a version of Visual Studio for Linux desktops ("Minecraft modding edition"!) then I might start believing that they're serious about cross-platform software. It'll also signify their complete lack of relevance because to have gotten to that point would mean a level of desperation that would indicate a sinking ship.
It's just not in Microsoft's nature to make a product that's truly independent of its operating system and/or office software.
I don't know: there's more than enough ignorance around for completely absurd views to be popular. Look at Trump ;-)
Microsoft is actually more cross-platform than either Apple or Google. It has stuff on everything from memory sticks to mainframe class servers, and it has a cloud business (which supports Linux, as well as Windows). It has dozens of apps on iOS and Android, not just on Windows.
Office runs on Windows and Mac OS X, in browsers, and there are apps for Android and iOS.
Visual Studio Code is free and available for Linux and Max OS X as well as Windows https://code.visualstudio.com/Download
It's not everything, but who does more?
> Even as open source .NET is still a huge pain to get running under Linux and development of .NET anything is extremely difficult without Visual Studio (which doesn't run on Linux). Not only that but most of the .NET libraries one would use for any given purpose only work on Windows. So even if the core of .NET is open source and cross platform any software written using that platform can only effectively run on Windows.
The open-sourcing and cross-platform development of .NET is an ongoing process that's still in its infancy. Yes, of course it's a pain in the ass right now. Installing git on Windows was also a pain in the ass, and even now it's still basically a prepackaged Linux emulation environment wrapper.
To be fair, that's where the users are, and that's how they make their money.
They seem to have given up on the server market, but they're still trying as hard as ever to keep the desktops.
> patching bytecode
There is a lot less patching bytecode going on now, and it is now handled by Forge.
> unofficial APIs ... like Minecraft Forge
Unofficial APIs are what happen when nobody else provides them. It's far too late for any "official" mod API that isn't Forge, because the massive[1] amount of modding that already exists is just not going to be re-written.
The best thing that could happen would be to bless Forge as "official".
I also agree that, by default judgement, Forge basically is the modding API at this point. But I disagree that blessing Forge as official is the way forward, precisely because of how tightly bound it is with the existing structure. How well would Forge be able to integrate with this new C++ version? Who knows! So, yes, use Forge as a primary input or even a starting point for a true official API. But don't just blindly bless Forge.
... That's exactly what the word "completed" would mean in every other context. Things are typically not called "completed" unless there is no more pending work on them. I would maybe look at terms like "feature complete" as an alternative here, where the intent is that the only development will be in maintaining compatibility with future releases.