stackotter / delta-client

An open source Minecraft Java Edition client built for speed.
https://deltaclient.app
GNU General Public License v3.0
323 stars 33 forks source link

Singleplayer #70

Open stackotter opened 2 years ago

stackotter commented 2 years ago

Add basic singleplayer support. The easiest way to achieve that would be to programmatically setup a regular server (probably paper for performance) and then provide the user with some way to manage and load worlds. Open to LAN would also be useful. One complexity for this feature is managing java versions. It would probably be best to just programmatically download the correct java version and use that (ignoring any existing java installations).

ninjadev64 commented 2 years ago

Possibly the running Paper server could automatically install ViaVersion. Since the client is built for an older version, in the meantime while it's not updated this would allow newer versions to join when the world is opened to LAN.

FrankTCA commented 2 years ago

Do purpur. Purpur is faster.

FrankTCA commented 2 years ago

Also purpur is more customizable if we want to mess around with it a little in the future.

FrankTCA commented 2 years ago

We could have like, a dialog with all the different Purpur options and stuff:

https://purpurmc.org/docs/Configuration/

FrankTCA commented 2 years ago

Also use zulu jdk probably since that runs best on Arm.

ninjadev64 commented 2 years ago

Also purpur is more customizable if we want to mess around with it a little in the future.

Reading through their docs on the configuration page, most options seem to be focused on changing vanilla gameplay, which I don’t think is what we’re going for in singleplayer. A handful are nice optimisations / tweaks but I think it would be better to stick with a much more popular software like Paper.

stackotter commented 2 years ago

I agree, let's use paper

t-brieger commented 2 years ago

since it's easy to forget: obligatory reminder to put a notice to paper, as well as its download page, somewhere as per gnu gpl v3 5d and 6d

MoustacheOff commented 2 years ago

Also purpur is more customizable if we want to mess around with it a little in the future.

Reading through their docs on the configuration page, most options seem to be focused on changing vanilla gameplay, which I don’t think is what we’re going for in singleplayer. A handful are nice optimisations / tweaks but I think it would be better to stick with a much more popular software like Paper.

It just fixes some issues present in vanilla without deeply changing the way the game work.

ninjadev64 commented 1 year ago

Also use zulu jdk probably since that runs best on Arm.

Or GraalVM. We could even try to transpile the Paper jar to native with it.

FrankTCA commented 1 year ago

Yoooo that's awesome they finally have a replacement for GCJ!

I wouldn't know if it would be possible to implement using someone else's complex code like Paper (that relies on closed-source)

But that is cool!!!

ninjadev64 commented 1 year ago

Yoooo that's awesome they finally have a replacement for GCJ!

It doesn't work too well though.