minetest / minetest

Minetest is an open source voxel game-creation platform with easy modding and game creation
https://www.minetest.net/
Other
10.72k stars 2.02k forks source link

Conditional resource pack content #10974

Open mk-pmb opened 3 years ago

mk-pmb commented 3 years ago

Problem

Once #10829 (Texture pack extension) is solved and resource packs can override each other, I might have a situation where I make a RP with a rather good sunflower, but

Also I might want to include a rather crappy oakwood that usually shouldn't be used, but it's still better than the oakwood from Alice's plants v0.0 to v3.4. Except if the game being played is the infinite ikea.

Solutions

Let me add a RP manifest that describes in which cases which parts of it shall not apply. Or maybe let me have a LUA script that gets a list of which of my resouces would effectively win, and against whom they have won, and then my LUA script can choose for eachof them to yield to one of the losers.

Alternatives

Additional context

jkf16m commented 2 years ago

Mmm I'll try to make something I don't promise anything, it's my first time contributing to software so I'll be reading the contributing guidelines.

Let's hope for the best, I'll check out other pull requests to see if any match this problem.

erlehmann commented 2 years ago

A short time later Alice becomes your biggest fan, so Alice's plants v4.5 is configured to never override your sunflower.

Then it turns out that Bob ha also been your biggest fan for a while, so Bob's plants want to use your sunflower.

Infinite Ikea players that like Alice's oakwood and have it prioritized file issues on Minetest for years.

Your Lua script randomly crashes if a specific texture is missing, but only without LuaJIT.

Edit: You type ”What is the halting problem?” in a search field and press enter.

mk-pmb commented 2 years ago

so Alice's plants v4.5 is configured to never override your sunflower.

As long as it still ships the resource, and my RP wins, it still has authority and thus can decide to use the Alice texture. If Alice's plants v4.5 has too sneaky evasion, I might need to advise players to downgrade Alice's plants to v4.4. Of course the better choice is to come to an agreement with my newly found fan Alice.

Then it turns out that Bob ha also been your biggest fan for a while, so Bob's plants want to use your sunflower.

Same. If Bob's pack wins the sunflower, It can decide to use mine. If my pack wins and Bob still ships his, I can delegate to his. If he stops shipping it, I have to advise users to downgrade Bob's pack.

Infinite Ikea players that like Alice's oakwood and have it prioritized file issues on Minetest for years.

I'm not sure I understand the problem here.

Your Lua script randomly crashes if a specific texture is missing, but only without LuaJIT.

The MineTest client should blame my texture pack for the crash and offer to disable it.

Edit: Didn't mean to close. I usually don't confuse the buttons either. Welp. 🤷

jkf16m commented 2 years ago

From what I understood you would like to have fine control about which textures should be enable or not, with some sort of config file, like, textures.conf or something like that.

And decide which should be use and not.

That's from what I understood, for now I'll keep working on the textures override. I'm not quite sure if this would be used in the long-run but I'll try to understand the problem later, after doing my best with the textures override.

After that, we could check this out, but I don't promise anything sorry.

mk-pmb commented 2 years ago

but I don't promise anything sorry.

No worries. I'm currently in a phase of lost hope for MineTest, so I won't use this feature any time soon. Nowadays, best consider this thread as inspiration rather than actual request.

NA0341 commented 1 year ago

@mk-pmb What you requested is quite specific. But it comes from a very simple wish: having a good gaming experience and a game that looks good in every aspect.

Minecraft used to cause me headaches on this one: not only because there are loads and loads of resourcepacks out there - many of them are also mostly half-finished or very unfinished, but have some really good looking textures […].

In my opinion, the ability to use multiple resourcepacks is a very needed feature. Beyond that, however, it get's technically quite complicated. Not because it'd be to difficult to make implementations for individual customization - but maintaining is a very different matter.

That's why I'd suggest an external tool for customizations beyond using multiple resourcepacks: https://github.com/minetest/minetest/issues/11786#issuecomment-1728510919

⮱ See Resource Remixer