Live data from Hacker News

Custom Minecraft Classic client written from scratch in C

github.com

61–70 of 80 posts

Re: Custom Minecraft Classic client written from scratch in C

#61

There's certainly a standalone minecraft variant, with full modding capability as a first class citizen, modeled after `forge`, with an asset store modeled after `curseforge` or the `feed the beast launcher` of yesteryear. Vanilla minecraft no longer appeals to me whereas the hardcore modpacks are ridiculously addictive. Think factorio meets minecraft.

Factorio was inspired by minecraft tech modpacks, so that tracks.

Re: Custom Minecraft Classic client written from scratch in C

#62
post #45

There's certainly a standalone minecraft variant, with full modding capability as a first class citizen, modeled after `forge`, with an asset store modeled after `curseforge` or the `feed the beast launcher` of yesteryear. Vanilla minecraft no longer appeals to me whereas the hardcore modpacks are ridiculously addictive. Think factorio meets minecraft.

Do you have recommendations for modern "factorio meets Minecraft" modpacks? The more hardcore and complex the better. I am very out of the loop with Minecraft, not having played in quite a few years. Meanwhile, I have been getting into factorio... but the thought of going back to my Minecraft roots is appealing

Nomifactory and Multiblock Madness have well-written questbooks that guide you into building up infrastructure and setting up automation.

Re: Custom Minecraft Classic client written from scratch in C

#63
post #22

Earlier quoted context omitted.

Minecraft Java can be run fully offline without their launcher, and servers can be run with authentication disabled. There's no need to rewrite the whole game ...

As far as I could tell, it can't be installed offline or without a MS account. There's no offline installer. If a rewrite corrects this, that's a huge win

...Ah. Totally can-ish. I helped the RasPi4 community a few years ago with that. I'll go see if I can dig up those scripts. Though I have a sneaking suspicion you might be right in that to generate the initial flurry of download urls you need someone to have had an account to get the urls for version of the client you're downloading, plus the asset packs. Once you have those urls, you should be able to wget to stage/mirror to your hearts content locally, and then you just have to use a shellscript and a bonkers lontg java invocation that the launcher normally generates. You don't need the installer/an account to start the game once you have the clients downloaded, though not having to deal with wrangling lwjgl libs, java classpathery, and the occasional java runtime increment is definitely an increase in ergonomics, I'll give you that.

Didn't maintain it or anything, but another member of the community took the lessons learned from my teardown of it and I think polished it up. Needed a pick me up project at the time. Was around 1.14-ish I think? Also helped them get sound working in Forge.

Found one of the threads, though this either wasn't one of the ones with the gorey details, or they probably snipped the posts as they may not have been super comfortable with me laying out how to vivisect Microsoft's shiny new acquisition for people. I was in a rough headspace back then.

https://forums.raspberrypi.com/viewtopic.php?t=260357

Re: Custom Minecraft Classic client written from scratch in C

#64
post #53

Earlier quoted context omitted.

I wouldn't describe Minecraft as being unusually unfriendly to open source. Compared to most games, the company treats the mod devs pretty well (nobody's getting sued, they released decompilation symbols to make life easier, the whole thing's in Java), and there's a healthy collaboration scene among the mod developers, most of whom release their mods as open source projects these days (with a couple of notable except…

There are two things called “minecraft”, and one of them is not written in java, is much more prickly about mods, and iirc has a significantly larger playerbase.

Bedrock has more players?

Re: Custom Minecraft Classic client written from scratch in C

#65
post #64
post #53

Earlier quoted context omitted.

There are two things called “minecraft”, and one of them is not written in java, is much more prickly about mods, and iirc has a significantly larger playerbase.

Bedrock has more players?

I'm pretty sure it does. Bedrock (aka glorified Pocket Edition) is available on PCs (Windows 10/11), Android, iOS and consoles

I mean, I've seen people talking about Minecraft Java on Android and you can certainly run it on the Stream Deck, but both of these tasks are not something the average user would do

Re: Custom Minecraft Classic client written from scratch in C

#66

Earlier quoted context omitted.

I have done something similar for another game. It started as a fun curious idea to understand more about programming and mechanics in games, but became very quickly extremely addictive. Paired with big personal problems at that time it provided me with an excellent opportunity to escape and basically not leave my home until I was done. And I regret none of it. I learned much much much more about engineering than I w…

Is that something you have shared online (or would share here)?

No, I didn’t and won’t. Hope you can understand it, this is too intimate for me to share on the internet :-)

Re: Custom Minecraft Classic client written from scratch in C

#67

I’m a bit short on time and can’t dig into the code, but maybe somebody can answer this for this or the original version: In what data structure are the blocks in Minecraft actually stored? And by which mechanism are they quickly retrieved to check which block the player was hitting? I would think the model partitions the space with an octree and their position jumps from parent node to parent node. Then at each bit…

A bit of searching implies that they are not stored as Octrees due to "performance reasons": > [...] To understand why octrees are slower for Minecraft games, it isn’t really necessary to invoke such exotic explanations. The underlying reason for the worse performance is purely algorithmic: each time an arbitrary voxel is touched, either when iterating or performing a random access, it is necessary to traverse to the…

Thanks a lot! Posts like yours are exactly what make this community great.

Re: Custom Minecraft Classic client written from scratch in C

#68

This is great. It would be cool to do this in Rust and run on WASM.

Whoever is downvoting this so hard, I'd like some explanation.

This was the most innocent comment ever.

Is there an anti-Rust sentiment?

Is it so bad to say something was a good idea, it makes me think of trying other things too.

Re: Custom Minecraft Classic client written from scratch in C

#69
post #64
post #53

Earlier quoted context omitted.

There are two things called “minecraft”, and one of them is not written in java, is much more prickly about mods, and iirc has a significantly larger playerbase.

Bedrock has more players?

Bedrock almost certainly has more players, especially in the younger bracket.

Most adults and definitely most content on YouTube is on Java.

Re: Custom Minecraft Classic client written from scratch in C

#70
post #45

Earlier quoted context omitted.

Do you have recommendations for modern "factorio meets Minecraft" modpacks? The more hardcore and complex the better. I am very out of the loop with Minecraft, not having played in quite a few years. Meanwhile, I have been getting into factorio... but the thought of going back to my Minecraft roots is appealing

GregTech: New Horizons. Pretty sure between the very active developer community they've built up and the incredibly deep and broad tech progression, new end-game content is being added faster than players could possibly reach it. Got pretty in-depth quest tree to keep pointed in the right direction.

GTNH modded Minecraft 1.7.10 to run on Java 17 and 20.

That’s the level of dedication there.

Post reply on HN