Live data from Hacker News

Folia – Multithreading Coming to your Minecraft server

paper-chan.moe

21–30 of 72 posts

Re: Folia – Multithreading Coming to your Minecraft server

#21
post #17

Earlier quoted context omitted.

Well the Java version is so moddable because its Java, thats almost impossible for Bedrock unless it goes open source or moves to unobfuscated C# (which is impossible because of the MTX of course).

Bedrock has IAPs now? I mean it was useless anyway for running a private server, and only runs on Windows, and automation is limited because they crippled the world update distance to have the omg raytracing! or whatever. And now it has IAPs too?

Bedrock has had IAPs for many years. It's fine for a private server and they offer Windows and Linux versions of it (client side it supports pretty much every platform except Mac/Linux, including oddities like ChromeOS). Just don't go running it expecting to set up what you would on a Java server - it's two different environments. World update distance default is lower in Realms but can be configured on a private server or client hosted session. It's not really related to raytracing, simulation range has little to do with that.

Both clients/servers have their ups and downs. I do wish they'd release the Bedrock client for Mac/Linux though. Then all platforms would have an official way to interop.

Re: Folia – Multithreading Coming to your Minecraft server

#22
post #3

The modding/custom server situation with Minecraft is so exhausting. I can't believe after all these years there is still no official modding or plugin API. So now we have Folia, which is a fork of Paper, which is a fork of Spigot, which I believe was originally a fork of Bukkit. Nice. I guess people don't want to upstream patches for some reason.

I remember, back before Mojang was acquired by Microsoft the devs mentioned working on a modding API, and how it would allow for all kinds of things. I have a feeling such plans were killed off during the acquisition, as it has never been mentioned since then. Even now it would be simple for the devs to allow players to add new blocks and items via server sent resource packs without needed a modded client, and yet fo…

There is a 9 year old song that was making fun of the modding API taking seemingly forever back then already.

https://www.youtube.com/watch?v=G-zthYFjk6s

Re: Folia – Multithreading Coming to your Minecraft server

#23

Earlier quoted context omitted.

Well the Java version is so moddable because its Java, thats almost impossible for Bedrock unless it goes open source or moves to unobfuscated C# (which is impossible because of the MTX of course).

Does modding need to mean actually modifying game files? When we say modding, we generally mean adding new blocks, items, and behaviours no? Surely this could be done with a public API? It might not give you quite as much freedom as existing mods but you could get most of the way there.

I'm not sure you understand how mechanically complex MC modding gets.

https://www.youtube.com/watch?v=rR8W-f9YhYA

... and that is just one mod. There are mods for interplanetary space travel, mods for modular portals and matter-energy conversion, mods for full z height terrain gen and massive premade structures, mods for virtual NPCs and towns, "backend" mods that overhaul the render, light engine, chunk loading and such. You cant get that with simple block APIs (which Java and Bedrock have to a limited extent).

And we do have modding APIs, like Fabric and Forge. They are just unofficial.

That being said, there is a better middle ground between the current extremely limited official APIs and the very permissive unofficial modding APIs, but it will never happen because it would interfere with Bedrock's MTX, and Java's development is too conservative.

Re: Folia – Multithreading Coming to your Minecraft server

#24

Earlier quoted context omitted.

I remember, back before Mojang was acquired by Microsoft the devs mentioned working on a modding API, and how it would allow for all kinds of things. I have a feeling such plans were killed off during the acquisition, as it has never been mentioned since then. Even now it would be simple for the devs to allow players to add new blocks and items via server sent resource packs without needed a modded client, and yet fo…

There's a lot of drama there. Basically, there was Bukkit. In 2011, Mojang hired a bunch of Bukkit's developers, but didn't tell anyone that they also legally took control of the Bukkit project. This was because Mojang didn't really want Bukkit to be their official API as much as being a temporary API for the time being (and also didn't want to have anyone assume they would be responsible for it), but from that point…

The DMCA was since Bukkit is an API while CraftBukkit is an implementation of Bukkit. Bukkit is GPL meaning you can't make a combined work with proprietary software - such as Minecraft, which is what CraftBukkit is.

Re: Folia – Multithreading Coming to your Minecraft server

#25
post #20

Earlier quoted context omitted.

Also Java performance doesn't have to be so horrendous, that is Mojang'a fault. They could iron it out with a tiny fraction of their sales. That being said, the low hanging mod fruit they could incorporate is often poisoned by GPL or some other weird license.

Why isn't there a mod to iron out the performance if its so trivial?

There are many such mods. There have been for years.

https://github.com/TheUsefulLists/UsefulMods#performance-and...

Re: Folia – Multithreading Coming to your Minecraft server

#26
post #3

The modding/custom server situation with Minecraft is so exhausting. I can't believe after all these years there is still no official modding or plugin API. So now we have Folia, which is a fork of Paper, which is a fork of Spigot, which I believe was originally a fork of Bukkit. Nice. I guess people don't want to upstream patches for some reason.

Minecraft server forks almost seem to develop as fast as Javascript toolkits. It's impressive, in a way.

I think this has to do with the way that ultimate, true upstream involves the closed source Microsoft components. None of these servers seem to be built from the ground up, each extending an existing package (closed or open source) in one way or another.

Re: Folia – Multithreading Coming to your Minecraft server

#27
post #3

The modding/custom server situation with Minecraft is so exhausting. I can't believe after all these years there is still no official modding or plugin API. So now we have Folia, which is a fork of Paper, which is a fork of Spigot, which I believe was originally a fork of Bukkit. Nice. I guess people don't want to upstream patches for some reason.

I remember, back before Mojang was acquired by Microsoft the devs mentioned working on a modding API, and how it would allow for all kinds of things. I have a feeling such plans were killed off during the acquisition, as it has never been mentioned since then. Even now it would be simple for the devs to allow players to add new blocks and items via server sent resource packs without needed a modded client, and yet fo…

Actually, this is absolutely possible today using data packs. They're the successor to the modding API project and they provide a very simple declarative JSON-based syntax for adding new blocks, items, customizing world gen, adding new commands, advancements, and even custom entity behavior (using the flexible tag-based entity data system).

Re: Folia – Multithreading Coming to your Minecraft server

#28
post #3

The modding/custom server situation with Minecraft is so exhausting. I can't believe after all these years there is still no official modding or plugin API. So now we have Folia, which is a fork of Paper, which is a fork of Spigot, which I believe was originally a fork of Bukkit. Nice. I guess people don't want to upstream patches for some reason.

What exactly would the point of an official modding API be, even? Anything Mojang could provide would inevitably be inferior to what can be done by directly modifying the game's code via existing third party mod APIs.

Re: Folia – Multithreading Coming to your Minecraft server

#29
post #3

The modding/custom server situation with Minecraft is so exhausting. I can't believe after all these years there is still no official modding or plugin API. So now we have Folia, which is a fork of Paper, which is a fork of Spigot, which I believe was originally a fork of Bukkit. Nice. I guess people don't want to upstream patches for some reason.

Folia is a complete re-write of Minecraft's core game loop to support "true multithreading and regionalized ticking" ("ticking" being the term for a single turn of Minecraft's core game event loop). Even the most ambitious official modding API in the world would never ever contemplate supporting something as thorough and involved as this. Minecraft does in fact have an official plugin API, known as data packs—they're obviously more limited then the ability to completely rewrite the game's code, but they can create new blocks, items, entities, customize their behavior, change worldgen, add achievements, and more. Here's an example of a "bendy pistons" mod that was built entirely using the datapacks API, with no mods required: https://www.youtube.com/watch?v=_Wk7ZUYkrpI (and 7 more features from the original video: https://www.youtube.com/watch?v=2LRvq6H11bs)

Re: Folia – Multithreading Coming to your Minecraft server

#30
post #3

The modding/custom server situation with Minecraft is so exhausting. I can't believe after all these years there is still no official modding or plugin API. So now we have Folia, which is a fork of Paper, which is a fork of Spigot, which I believe was originally a fork of Bukkit. Nice. I guess people don't want to upstream patches for some reason.

I remember, back before Mojang was acquired by Microsoft the devs mentioned working on a modding API, and how it would allow for all kinds of things. I have a feeling such plans were killed off during the acquisition, as it has never been mentioned since then. Even now it would be simple for the devs to allow players to add new blocks and items via server sent resource packs without needed a modded client, and yet fo…

It didn't die, it evolved. Mojang began taking cues from the modding communities, improving the internal APIs, making the overall codebase more generalized and robust, moving model data to declarative JSON, adding registry systems instead of hard coding, introducing additional resources namespaces by default, resource packs, data packs, simpler creation of custom blocks, biomes, and most recently opening up Mojang's own class and method name mappings so that the insane process of mapping obfuscated Java class and method names can be stopped, allowing mod frameworks like Forge et al to have consistent API making and to reduce the previously huge amount of time needed for mods to get ported to new versions.

The biggest problem with the "mod API" is that, effectively, you'll need to open source Minecraft entirely to satisfy the kinds of changes mods make to the vanilla experience, or else everyone will keep using the patch systems we are building on now. It is discouraged unless absolutely needed, but mods can even apply bytecode level runtime patches on the vanilla classpath to enable functionality that the mod framework hasn't yet exposed.

Post reply on HN