Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't want to denigrate the effort, but... I'll be interested when I see something with a Forge-equivalent API.

Porting Electrical Age to a different Java-based minecraft server is in principle not terribly difficult, it's reasonably well abstracted already, but there needs to be a modding api.



While there's no reason this is fundamentally impossible, there are several difficulties:

- Forge doesn't really have an API layer and expects devs to work directly against deobfuscated Minecraft code. Mods break every Minecraft version.

- Forge-level mods require cooperation from the client, beyond what the official client offers. Forge mods are structured so the same mod file runs on both clients and servers.

- Because of this, a server reimplementation providing Forge features must do one of three things: compromising on open-source by releasing a client mod, reimplementing the Minecraft client (hard, and hard to get people to use), or mods splitting in Forge-based client halves and new-API-based server halves (code duplication, hard to convince modders to not just use Forge).


I can address the first point, at least. Forge-equivalent wasn't meant to mean identical; I'd be absolutely delighted to see a better (that is, existent) API, it just needs to support about the same things. Which does not include coremod hackery.

And yes, you'd need to create a client mod. Sure, it's a compromise, but it'd still be an improvement over the current state of affairs.


We're actually working on this, first with a rewrite of our item/block behavior system to be modular and moddable using lamdbas.

Then we will be adding a way for plugins to provide new textures in resource packs.

Once that's all done, we will create a client Forge mod to allow for plugins to add new blocks rather than reuse existing ones.

We also have a pretty nice modular system for AI tasks, but it needs more stress testing with a pathfinding implementation before we start finalizing the API for it.


I believe Sponge is built on Forge: https://www.spongepowered.org/


Actually sponge is just an API, for which there just happens to be a implementation built with Forge

There's also a plain Vanilla impl as well.


You're correct.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: