Skip to content
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

Mod Meta #2201

Closed
rubenwardy opened this issue Jan 25, 2015 · 8 comments
Closed

Mod Meta #2201

rubenwardy opened this issue Jan 25, 2015 · 8 comments
Labels
Feature request Issues that request the addition or enhancement of a feature @ Script API

Comments

@rubenwardy
Copy link
Member

I suggest that a new file called mod.conf or meta.conf is added to the mod structure.
description.txt should be depreciated.

title = Amazing Mod
 ^ human readable title
name = amazing
 ^ correct folder name
author = rubenwardy
 ^ can contain many authors, comma separated.
 ^ first name is main author
description = Adds amazing things to Minetest such as
              a flying hover and jelly babies.
version = 3.1
 ^ human readable
release-count = 3
 ^ increments on each release, would be used to check for for newer versions in mod store
@kaeza
Copy link
Contributor

kaeza commented Jan 25, 2015

Related: #1062.

@ShadowNinja ShadowNinja added Feature request Issues that request the addition or enhancement of a feature @ Script API labels Jan 25, 2015
@Wuzzy2
Copy link
Contributor

Wuzzy2 commented Feb 2, 2015

Comments:

The “author” field is problematic, because some names are impossible to write into this. Any names containing a comma is not possible, also whitespace is not possible.
Also, I would not say that the first author in the author list should imply that it is the main author. In collaborative mods like community_mod the notion of a “main” author does not really make sense. So I would say the order of authors in the author list should really not imply anything.

I suggest that all fields containing a string should be written in quotation marks instead to unambigiously mark the beginning and end of a string. Also, the following characters have to be escaped:

  • " as \"
  • \ as \\
  • newline as \n

The “author” field should be a comma-seperated list of such strings.
Multiple examples:

name = "My awesome mod"

version = "1.2.3"

release-count = 5

description = "This is a description of the mod. Cool, right?"

description = "This description has\na line break."

author = "Programmer 1", "Programmer 2", "wEiR,.D nAmE", "Ev3N We1rd0r n4m3!1!1  .-3"

author = "Programmer"

author = "Name with \\ escaped \"characters\""

→ The last one will be displayed as “Name with \ escaped "characters"
→ release-count is not a string, only a number

@rubenwardy
Copy link
Member Author

That is true about the authors. I was trying to make it resemble minetest.conf's format as much as possible.

My current favourite format for configurations is YAML, it's pretty awesome (IMO), so if we're to create a new parser, I'd like it to be like that.

authors:
- rubenwardy
- blah blah
- foo bar

Maybe there should be some separation between authors and contributors? It is just for human reading. The logic behind main author is there may not be enough space for all of them. Maybe something like "rubenwardy, Wuzzy, sapier (and 5 more)" where those names are the first three.

@paramat
Copy link
Contributor

paramat commented Mar 31, 2016

@rubenwardy i think we have this now?

@rubenwardy
Copy link
Member Author

I don't think we do
mod.conf is only used for name =, and doesn't support/standardise other things.

@rubenwardy
Copy link
Member Author

#3392 would mostly fix this
Apart from tags etc

@paramat
Copy link
Contributor

paramat commented Apr 8, 2016

Okay my mistake.

@0-afflatus
Copy link

I'd like to see mod.conf and game.conf support a wider range of settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature request Issues that request the addition or enhancement of a feature @ Script API
Projects
None yet
Development

No branches or pull requests

6 participants