-
Notifications
You must be signed in to change notification settings - Fork 572
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add in-game configuration inventory tab #1696
Conversation
+1 |
It's nice to see an idea take shape this quickly.
|
f6a5808
to
2335ce1
Compare
@sofar this should be fixed now. |
Is there any useful options that can be added to those? |
@Fixer-007 probably, but I am not sure which options for now. However, with the config API, it will be very easy to add them anyway if we see we missed an option, so it can just go in a later PR. |
Is this being done for good reasons other than the recent controversy? Yet another settings method needs a good reason, we already have 2 levels of settings. |
This solves several problems at once:
I think this is a good step forward to making working with servers a lot more simple. |
One for disabling/enabling lava cooling would be great. I have to delete the chunk of code every time I update for my server. |
That's probably too specialist. Hopefully we will replace that ABM with something less intensive soon. |
I think it would be better to:
|
I'd also love an easy option to disable lava cooling (or any replacement for it). It was the second thing I tried to work out after setting up my first server, right after stopping fire from spreading, so I don't think it's too specialist to add. |
Why are we adding another settings page when one already exists in the main menu ? This is not needed and just overcomplicates mods relying on checking it's settings. |
Perhaps i do not realise something, why is switching lavacooling important to server admins? Fire sounds are not important enough to be here, that is a specialist setting for those who write mods to provide their own sounds. |
Maybe to prevent griefing via lava-water interaction and control cobble generators. |
@tenplus1 because these settings are properly per world and not for all worlds. |
@rubenwardy I can see your ideas, but I really don't think a I actually like that this is a separate namespace and can live entirely outside of any mod or subgame by itself, just as it should be.
That' is just a terrible idea. The idea of making this in any way backwards compatible makes me more uncomfortable than a parent with a kid with a balloon in Jushua Tree National park. |
The current solution only works for mods you add support for it for, just like my suggested solution. Mods would opt in in a similar way. This solution feels like a "hack" to me, when proper world and setting change support should be in the engine - where the setting API is |
This configuration tab with api would be very useful for mods to get per player in game settings in one tidy spot. I have a mod that resorts to overriding the crafting page to add a checkbox for a setting. Having a uniform location of all mods to hook in to would be excellent. |
The intention seems fine, but this sort of significant configuration feature should be in the engine, otherwise every subgame will then need to duplicate code. The fire controversy, although the discussion was er, lively, is not important enough to be a primary justification fo this, this feature should be considered mainly for general reasons. It still seems this is a rushed 'kneejerk reaction' to that. I feel this needs to be in the engine and reconsidered. I'm concerned having about another settings implementation, perhaps this can be integrated more into what we aread have? |
We already have a setting architecture and this adds extra 'register setting' code that has to be added to mods, it is messy. Concerning 'per-world configuration', this is a powerful feature that should obviously be in the engine, it would probably have been added to the engine anyway without the fire and TNT controversy. The fire and TNT issues should be forgotten here, this PR somewhat misses the point. In terms of the fire and TNT issues i would even prefer #1694 "TNT: do not change behavior based on All that has been added to this PR is fire and TNT settings, this suggests this is indeed a hasty and hacky reaction to that controversy and does not have much use outside those settings. |
We already have a setting architecture and this adds extra 'register
setting' code that has to be added to mods, it is messy.
Concerning the intent to make changing subgame settings more easily, i
can imagine a better approach in the engine:
Use the existing 'settingtypes.txt' feature and add a field that flags
a setting for inclusion in a new 'Subgame basic settings' menu.
Concerning 'per-world configuration', this is a powerful feature that
should obviously be in the engine, it would probably have been added to
the engine anyway without the fire and TNT controversy.
The fire and TNT issues should be forgotten here, this PR somewhat
misses the point.
The actual fire and TNT issues are making server admin aware of the
dangers, aware of the settings, and choosing how the defaults are set
dependent on singleplayer / multiplayer.
Ease of changing the settings is not a big issue as subgame settings
are easily found in the subgame section in advanced settings menu. A
server admin will usually have enough ability to find and change
settings in that menu.
In terms of the fire and TNT issues i would even prefer #1694 "TNT: do
not change behavior based on `singleplayer` gameplay" to this PR. At
least 1694 is simple. I do support 1693 but with 3 MTG devs against
that is pretty much blocked.
All that has been added to this PR is fire and TNT settings, this
suggests this is indeed a hasty and hacky reaction to that controversy
and does not have much use outside those settings.
You know, I'm reading this and I'm just shaking my head.
The engine already supports a special API especially made for this, and this pr actually uses it.
You can't register a LuA callback from a txt file, either.
The whole discussion also started because it evidently *is hard to change* these settings because otherwise nobody would have asked to disable fire and TNT in the first place.
And now it is irrelevant?
Geesh
|
@paramat As sofar said, you can't register a callback from a text file. Moreover, these settings should clearly be per-world but they are not right now, and the boilerplate code for doing per-world settings makes that few modders do it. |
You could add a per-world settings API to the engine but leave the logic that creates the inventory tab to MTG. Imho, the admin inventory tab is a good idea. And I think it would be more powerful if the per-world settings were used by the engine as well. Correct me if I'm wrong, but I don't think it's currently possible from a mod to change engine settings for a world (eg: "time_speed", "item_entity_ttl", "movement_speed_walk"...), without writing into the global minetest.conf which would affect every single world. Some of that kind of settings might also be interesting for the admin window, imho. Subgames can do this because there's a per-subgame |
Ok, it must be a small part of this as most of this is setting architecture added to a subgame, which is not good.
What i mean is:
Some said that but i did not and disagree that that is the issue. |
Ekdohibs, this will sound odd but, where is the code for in-game standard inventory? Is it in creative mod or in builtin? I can't find it yet. It seems sfinv should be wherever inventory code is.
^ This is fundamental setting stuff that should be in buitin, otherwise every subgame needs to duplicate it. |
I'm ok with that, but it should just be another normal configuration settting in MTG. I guess it's to make cleanup easier by avoiding stone being created. |
I like the idea of this, just not the current implementation :P |
I would like to see per world settings, I'm tired of my minetest.conf polluted with dreambuilder settings and other. |
I think settings set using minetest.setting should be default per world. I can't see any use cases for global settings that aren't abuses. |
This is never going to get fixed unless someone rewrites this entire API/code block. |
This does not need doing for release, and is still very controversial. |
TNT issue is now settled, so that needs removing from this PR.
Per-world settings are useful, but should be implemented in builtin, obviously. Probably needs adoption as @Ekdohibs is absent. |
I don't understand why I would want settings on my inventory but okay. Why not just make a /settings command? |
👎 in its current form. This needs engine callbacks for setting changes. |
sofar has stated he's not interested in MTG anymore, PR has no activity and and this has 2 disapprovals. |
For now, only the options
enable_tnt
,enable_fire
, andflame_sound
are in it; I'm open for more suggestions.Still need to do:
This pull request enables both TNT and fire by default, even in multiplayer. However, it is now very easy to disable them.