Standardized groups for mods compatibility

User avatar
Gael de Sailly
Member
 
Posts: 475
Joined: Sun Jan 26, 2014 17:01
GitHub: Gael-de-Sailly
IRC: Gael-de-Sailly
In-game: Gael-de-Sailly

Standardized groups for mods compatibility

by Gael de Sailly » Tue Jun 30, 2015 08:25

We could define more standard groups that would be documented, and used. This will improve the compatibility between mods. We should add all possible data for the nodes in mods and in minetest_game, even if they are useless without any other mod.

Problem : it seems that it's not the main trend in minetest_game.
I'm especially against commit 4ec4672 : it is the exact opposite of what I mean.

A few suggestions :
  • hot
  • cold
  • freezes
  • melts
  • nonsolid* : its weight is considered null. Can be crushed. (grass, fire, …)
  • heavy : particulary heavy (for example steelblock with rating 1, copperblock with 2, goldblock with 3)
  • gas*
  • buildable_to* should be a group, I think. It's not exactely the same as nonsolid.
  • soil : use different ratings. Some saplings need 3 but some others have enough with 1
* : should also be added for air, in builtin

And, for example, add a special group that we could name food or edible, with a rating. Item can be eaten and restores this rating through a public function defined in builtin, that mods can change.
And do really use in mods groups like flammable, connect_to_raillike, cracky, snappy, explody, vessel when it's logical, even if it's not the main interest of your mod.
Very busy this year too, so do not expect me to be very active on the forum or in game. But I'm not about to drop Minetest forever :)
 

User avatar
rubenwardy
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

Re: Standardized groups for mods compatibility

by rubenwardy » Tue Jun 30, 2015 09:01

Also these groups: https://github.com/rubenwardy/food/blob ... rt.lua#L15

  • food_cocoa
  • food_cup
  • food_cactus
  • food_apple
  • food_orange
  • food_potato
  • food_tomato
  • food_carrot
  • food_milk
  • food_egg
  • food_meat
  • food_sugar
  • food_strawberry

and more.
 

User avatar
Nathan.S
Member
 
Posts: 679
Joined: Wed Sep 24, 2014 17:47
GitHub: NathanSalapat
IRC: NathanS21
In-game: NathanS21

Re: Standardized groups for mods compatibility

by Nathan.S » Wed Jul 01, 2015 14:18

There are a lot of groups that would be helpful, I know of several mods that create sugar, and forcing any other mods that have a recipe that uses sugar to list all options is just silly, people would probably just add sugar to their own mod than have to deal with getting it from another, and that just adds to the problem.
I record Minetest videos, Mod reviews, Modding tutorials, and Lets plays.
Check out my website.
 

User avatar
rubenwardy
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

Re: Standardized groups for mods compatibility

by rubenwardy » Wed Jul 01, 2015 15:45

So true. The food mod does a lot of work to add groups to nodes.
 

User avatar
Wuzzy
Member
 
Posts: 2161
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy

Re: Standardized groups for mods compatibility

by Wuzzy » Thu Jul 02, 2015 03:13

Perhaps not a standardization, maybe, but the dev wiki has a page on groups:
http://dev.minetest.net/Groups

I have moved the custom groups to a subpage:
http://dev.minetest.net/Groups/Custom_groups

Anyone can feel free to add the groups of their own mods or subgames on this wiki page. Rubenwardy, feel free to add your food groups, if you really intend them for outside usage. I have just added groups for 2 of my mods. I urge other modders to add “their” groups, too, I want to have a comprehensive documentation of the mod groups on a single place.

However, this is not really a standarization, I guess, because this page is intended to document current actual usage, is dependend on mods and subgames and is not a standard.

Maybe we could together define a bunch of standardized group names following a naming sheme to avoid collisions with existing groups and then put the result on another wiki page. Maybe we create a new group name system completely from scratch, even if such groups may even exist. This is to avoid dependency on a single mod or subgame, even Minetest Game. I don't trust Minetest Game because they quite aggressively and unilaterally dropped the “hot” group (If I understood correctly). Also, it might help if we define those groups independently.

For example:
  • std_craft_wood: Item is made out of wood (to be used in craftings)
  • std_action_flammable: Node is flammable (higher rating = more flammable)
  • std_action_igniter: Note ignites flammable blocks
  • std_tool_admin: This is a tool for administrative purposes (i.e. node remover)
  • std_som_liquid: Node is liquid (som = state of matter)
  • std_som_solid: Node is solid
  • std_som_gaseous: Node is gaseous

These are only examples. So you get the idea what I am trying to do. The real group names need to be discussed. I am also unsure about a structure, IMO a good standard should have some structure Also the definitions need to be much clearer, the modders should know what exact purpose a group serves, otherwise this will lead to conflicts because of misunderstandings.


What do you think of the basic idea? Do you think that woud work in practise? Do you have more input/ideas here?
 

User avatar
Gael de Sailly
Member
 
Posts: 475
Joined: Sun Jan 26, 2014 17:01
GitHub: Gael-de-Sailly
IRC: Gael-de-Sailly
In-game: Gael-de-Sailly

Re: Standardized groups for mods compatibility

by Gael de Sailly » Thu Jul 02, 2015 10:27

The problem is that some of these groups are not present in minetest_game. Even worse, they have been removed because "useless".

The aim is not to force the usage of these groups, the modder is free to respect them or not, but it's an advise for the modder. And I'm sure that, if they are properly documented, most of the modders will naturally use them.

PS : Maybe I've not exactely understood the word "standardization". English is not my mother tongue :p
I try to use Google traduction intelligently.
Very busy this year too, so do not expect me to be very active on the forum or in game. But I'm not about to drop Minetest forever :)
 


Return to Minetest Features

Who is online

Users browsing this forum: No registered users and 7 guests

cron