Willard21 / MineKhan

Minecraft for Khan Academy
81 stars 53 forks source link

Plugins / Mods #78

Open Mist-Stego opened 2 years ago

Mist-Stego commented 2 years ago

This may not be a real issue, but if people can make mods for clones of things like OptiFine or Gammabright, that would be cool 🤔

I know that for one thing, it would not take a huge amount of time to make this happen due to the fact that #1, you need to only make another button in the settings UI (I am supposing that Willard has created a buttons creator object), and #2, it would just need to have a drag or click mechanisim like this:

if (/ button colls go here / & mouseIsPressed){ gamma++; };

I am sorry if that example isn't accurate, I am more of a Python, C++ oriented fellow :/

MicrolemurDev commented 2 years ago

We won't get a clone of Optifine because we could just push it to the main program due to the open source nature. However, I agree that if we can get a mod API that would be nice. After all, we can load mods by just injecting our own JavaScript because really nothing uses const and that allows us to basically override anything we see.

RepeatGitHub commented 2 years ago

Maybe some way to add, similar to the marketplace, sort of "extra features" that have functionality similar to popular mods? Like, a way in settings or something to enable/disable a zoom key, or a way to edit brightness, or something along those lines.

MicrolemurDev commented 2 years ago

This would be a good feature and could be something among the lines of Minetest mods.

runbobfun1 commented 2 years ago

i want things like carpenters blocks or mallasis doors and even crazy craft

MicrolemurDev commented 2 years ago

Well, that would be very hard and would require a HUGE refactor but it should (in theory) be possible. However, due to the nature of MineKhan's engine, a large amount of code may need to be rewritten all together. But, you could try if you think you are up to the challenge!

trevorwatkins1129 commented 10 months ago

In theory all that would need to be implemented would be code for changing blockIDs, blockData, and a few other minor variables. I hate arrays in JS so I definitly won't be working on this.