diff --git a/games/default/files/Kids/letterscolors/LICENSE b/games/default/files/Kids/letterscolors/LICENSE
new file mode 100644
index 000000000..8abcfff60
--- /dev/null
+++ b/games/default/files/Kids/letterscolors/LICENSE
@@ -0,0 +1,171 @@
+Letters Colors Mod for Minetest, Multicraft and Minetest
+
+LGPL v3 for Code / CC BY SA 3.0 for Medias (MrChiantos)
+
+-
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/games/default/files/Kids/letterscolors/init.lua b/games/default/files/Kids/letterscolors/init.lua
new file mode 100644
index 000000000..1339091aa
--- /dev/null
+++ b/games/default/files/Kids/letterscolors/init.lua
@@ -0,0 +1,74 @@
+color1 = minetest.setting_get("color1") or "292421"
+color2 = minetest.setting_get("color2") or "0000FF"
+color3 = minetest.setting_get("color3") or "00FF00"
+color4 = minetest.setting_get("color4") or "F5F5F5"
+color5 = minetest.setting_get("color5") or "FF6103"
+color6 = minetest.setting_get("color6") or "FF0000"
+color7 = minetest.setting_get("color7") or "FFFF00"
+color8 = minetest.setting_get("color8") or "FF69B4"
+
+local source_list = {
+ {"black", color1},
+ {"blue", color2},
+ {"green", color3},
+ {"white", color4},
+ {"orange", color5},
+ {"red", color6},
+ {"yellow", color7},
+ {"pink", color8}
+}
+
+local letters = {
+
+ {"a"},
+ {"b"},
+ {"c"},
+ {"d"},
+ {"e"},
+ {"f"},
+ {"g"},
+ {"h"},
+ {"i"},
+ {"j"},
+ {"k"},
+ {"l"},
+ {"m"},
+ {"n"},
+ {"o"},
+ {"p"},
+ {"q"},
+ {"r"},
+ {"s"},
+ {"t"},
+ {"u"},
+ {"v"},
+ {"w"},
+ {"y"},
+ {"x"},
+ {"z"},
+
+}
+
+for i in ipairs(source_list) do
+ local name = source_list[i][1]
+ local colour = source_list[i][2]
+
+for i in ipairs(letters) do
+ local letter = letters[i][1]
+
+ minetest.register_node("letterscolors:".. letter .. "_" .. name, {
+
+ description = name .. " color",
+ inventory_image = letter .. ".png^[colorize:#"..colour..":70",
+ tiles = {letter .. ".png^[colorize:#"..colour..":70"},
+ is_ground_content = true,
+ groups = {snappy = 2, choppy = 2, wool = 2},
+ sounds = default.node_sound_defaults(),
+ oddly_breakable_by_hand = 1,
+
+ })
+
+
+
+end
+end
\ No newline at end of file
diff --git a/games/default/files/Kids/letterscolors/textures/a.png b/games/default/files/Kids/letterscolors/textures/a.png
new file mode 100644
index 000000000..3f0a804f3
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/a.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/b.png b/games/default/files/Kids/letterscolors/textures/b.png
new file mode 100644
index 000000000..817ec1d50
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/b.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/c.png b/games/default/files/Kids/letterscolors/textures/c.png
new file mode 100644
index 000000000..b1f760d0a
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/c.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/d.png b/games/default/files/Kids/letterscolors/textures/d.png
new file mode 100644
index 000000000..3cc5fdcbb
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/d.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/e.png b/games/default/files/Kids/letterscolors/textures/e.png
new file mode 100644
index 000000000..d994fd11b
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/e.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/f.png b/games/default/files/Kids/letterscolors/textures/f.png
new file mode 100644
index 000000000..23f2a083c
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/f.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/g.png b/games/default/files/Kids/letterscolors/textures/g.png
new file mode 100644
index 000000000..a20368614
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/g.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/h.png b/games/default/files/Kids/letterscolors/textures/h.png
new file mode 100644
index 000000000..a3dbda597
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/h.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/i.png b/games/default/files/Kids/letterscolors/textures/i.png
new file mode 100644
index 000000000..240d87da3
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/i.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/j.png b/games/default/files/Kids/letterscolors/textures/j.png
new file mode 100644
index 000000000..0bd11f7ec
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/j.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/k.png b/games/default/files/Kids/letterscolors/textures/k.png
new file mode 100644
index 000000000..38bcaead7
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/k.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/l.png b/games/default/files/Kids/letterscolors/textures/l.png
new file mode 100644
index 000000000..ccd17bcae
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/l.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/m.png b/games/default/files/Kids/letterscolors/textures/m.png
new file mode 100644
index 000000000..1b8873229
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/m.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/n.png b/games/default/files/Kids/letterscolors/textures/n.png
new file mode 100644
index 000000000..e18718c75
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/n.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/o.png b/games/default/files/Kids/letterscolors/textures/o.png
new file mode 100644
index 000000000..c3a14fd0d
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/o.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/p.png b/games/default/files/Kids/letterscolors/textures/p.png
new file mode 100644
index 000000000..129b0fcf1
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/p.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/q.png b/games/default/files/Kids/letterscolors/textures/q.png
new file mode 100644
index 000000000..6ae61aa53
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/q.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/r.png b/games/default/files/Kids/letterscolors/textures/r.png
new file mode 100644
index 000000000..b36ae8c5e
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/r.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/s.png b/games/default/files/Kids/letterscolors/textures/s.png
new file mode 100644
index 000000000..963fd7974
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/s.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/t.png b/games/default/files/Kids/letterscolors/textures/t.png
new file mode 100644
index 000000000..b3f9c89a5
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/t.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/u.png b/games/default/files/Kids/letterscolors/textures/u.png
new file mode 100644
index 000000000..5d53f61da
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/u.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/v.png b/games/default/files/Kids/letterscolors/textures/v.png
new file mode 100644
index 000000000..c40e16222
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/v.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/w.png b/games/default/files/Kids/letterscolors/textures/w.png
new file mode 100644
index 000000000..7929f67d4
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/w.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/x.png b/games/default/files/Kids/letterscolors/textures/x.png
new file mode 100644
index 000000000..b9e0f884f
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/x.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/y.png b/games/default/files/Kids/letterscolors/textures/y.png
new file mode 100644
index 000000000..393115287
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/y.png differ
diff --git a/games/default/files/Kids/letterscolors/textures/z.png b/games/default/files/Kids/letterscolors/textures/z.png
new file mode 100644
index 000000000..da407b3b0
Binary files /dev/null and b/games/default/files/Kids/letterscolors/textures/z.png differ
diff --git a/games/default/files/Kids/mathscolors/LICENSE b/games/default/files/Kids/mathscolors/LICENSE
new file mode 100644
index 000000000..186245ee3
--- /dev/null
+++ b/games/default/files/Kids/mathscolors/LICENSE
@@ -0,0 +1,171 @@
+Maths Colors Mod for Minetest, Multicraft and Minetest
+
+LGPL v3 for Code / CC BY SA 3.0 for Medias (MrChiantos)
+
+-
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/games/default/files/Kids/mathscolors/init.lua b/games/default/files/Kids/mathscolors/init.lua
new file mode 100644
index 000000000..8e3603a41
--- /dev/null
+++ b/games/default/files/Kids/mathscolors/init.lua
@@ -0,0 +1,66 @@
+color1 = minetest.setting_get("color1") or "292421"
+color2 = minetest.setting_get("color2") or "0000FF"
+color3 = minetest.setting_get("color3") or "00FF00"
+color4 = minetest.setting_get("color4") or "F5F5F5"
+color5 = minetest.setting_get("color5") or "FF6103"
+color6 = minetest.setting_get("color6") or "FF0000"
+color7 = minetest.setting_get("color7") or "FFFF00"
+color8 = minetest.setting_get("color8") or "FF69B4"
+
+local source_list = {
+ {"black", color1},
+ {"blue", color2},
+ {"green", color3},
+ {"white", color4},
+ {"orange", color5},
+ {"red", color6},
+ {"yellow", color7},
+ {"pink", color8}
+}
+
+local maths = {
+
+ {"0"},
+ {"1"},
+ {"2"},
+ {"3"},
+ {"4"},
+ {"5"},
+ {"6"},
+ {"7"},
+ {"8"},
+ {"9"},
+ {"diviser"},
+ {"egale"},
+ {"inferieure"},
+ {"moins"},
+ {"multiplier"},
+ {"plus"},
+ {"superieure"},
+ {"virgule"},
+
+}
+
+for i in ipairs(source_list) do
+ local name = source_list[i][1]
+ local colour = source_list[i][2]
+
+for i in ipairs(maths) do
+ local math = maths[i][1]
+
+ minetest.register_node("mathscolors:".. math .. "_" .. name, {
+
+ description = name .. " color",
+ inventory_image = math .. ".png^[colorize:#"..colour..":70",
+ tiles = {math.. ".png^[colorize:#"..colour..":70"},
+ is_ground_content = true,
+ groups = {snappy = 2, choppy = 2, wool = 2},
+ sounds = default.node_sound_defaults(),
+ oddly_breakable_by_hand = 1,
+
+ })
+
+
+
+end
+end
\ No newline at end of file
diff --git a/games/default/files/Kids/mathscolors/textures/0.png b/games/default/files/Kids/mathscolors/textures/0.png
new file mode 100644
index 000000000..cefc20726
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/0.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/1.png b/games/default/files/Kids/mathscolors/textures/1.png
new file mode 100644
index 000000000..e00d934fe
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/1.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/2.png b/games/default/files/Kids/mathscolors/textures/2.png
new file mode 100644
index 000000000..775527759
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/2.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/3.png b/games/default/files/Kids/mathscolors/textures/3.png
new file mode 100644
index 000000000..5860d9097
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/3.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/4.png b/games/default/files/Kids/mathscolors/textures/4.png
new file mode 100644
index 000000000..271e02be4
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/4.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/5.png b/games/default/files/Kids/mathscolors/textures/5.png
new file mode 100644
index 000000000..0926c10c5
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/5.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/6.png b/games/default/files/Kids/mathscolors/textures/6.png
new file mode 100644
index 000000000..afdaaf36e
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/6.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/7.png b/games/default/files/Kids/mathscolors/textures/7.png
new file mode 100644
index 000000000..249345417
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/7.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/8.png b/games/default/files/Kids/mathscolors/textures/8.png
new file mode 100644
index 000000000..f06bd7b68
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/8.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/9.png b/games/default/files/Kids/mathscolors/textures/9.png
new file mode 100644
index 000000000..71546f8aa
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/9.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/diviser.png b/games/default/files/Kids/mathscolors/textures/diviser.png
new file mode 100644
index 000000000..d9f0280a1
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/diviser.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/egale.png b/games/default/files/Kids/mathscolors/textures/egale.png
new file mode 100644
index 000000000..686424f17
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/egale.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/inferieure.png b/games/default/files/Kids/mathscolors/textures/inferieure.png
new file mode 100644
index 000000000..d3fa13ccf
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/inferieure.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/moins.png b/games/default/files/Kids/mathscolors/textures/moins.png
new file mode 100644
index 000000000..10eed999e
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/moins.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/multiplier.png b/games/default/files/Kids/mathscolors/textures/multiplier.png
new file mode 100644
index 000000000..ce6cf84b3
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/multiplier.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/plus.png b/games/default/files/Kids/mathscolors/textures/plus.png
new file mode 100644
index 000000000..d2b7453b2
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/plus.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/superieure.png b/games/default/files/Kids/mathscolors/textures/superieure.png
new file mode 100644
index 000000000..70e314e3c
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/superieure.png differ
diff --git a/games/default/files/Kids/mathscolors/textures/virgule.png b/games/default/files/Kids/mathscolors/textures/virgule.png
new file mode 100644
index 000000000..ade1f2e9b
Binary files /dev/null and b/games/default/files/Kids/mathscolors/textures/virgule.png differ
diff --git a/games/default/files/Kids/modpack.txt b/games/default/files/Kids/modpack.txt
new file mode 100644
index 000000000..e69de29bb
diff --git a/games/default/files/Menu/inventory_plus/letters.lua b/games/default/files/Menu/inventory_plus/letters.lua
new file mode 100644
index 000000000..bdc14f103
--- /dev/null
+++ b/games/default/files/Menu/inventory_plus/letters.lua
@@ -0,0 +1,482 @@
+-- a
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.lettera then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:a_white')
+player:get_inventory():add_item('main', 'letterscolors:a_black')
+player:get_inventory():add_item('main', 'letterscolors:a_red')
+player:get_inventory():add_item('main', 'letterscolors:a_orange')
+player:get_inventory():add_item('main', 'letterscolors:a_yellow')
+player:get_inventory():add_item('main', 'letterscolors:a_pink')
+player:get_inventory():add_item('main', 'letterscolors:a_green')
+player:get_inventory():add_item('main', 'letterscolors:a_blue')
+
+end
+end
+)
+
+-- b
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterb then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:b_white')
+player:get_inventory():add_item('main', 'letterscolors:b_black')
+player:get_inventory():add_item('main', 'letterscolors:b_red')
+player:get_inventory():add_item('main', 'letterscolors:b_orange')
+player:get_inventory():add_item('main', 'letterscolors:b_yellow')
+player:get_inventory():add_item('main', 'letterscolors:b_pink')
+player:get_inventory():add_item('main', 'letterscolors:b_green')
+player:get_inventory():add_item('main', 'letterscolors:b_blue')
+
+end
+end
+)
+
+-- c
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterc then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:c_white')
+player:get_inventory():add_item('main', 'letterscolors:c_black')
+player:get_inventory():add_item('main', 'letterscolors:c_red')
+player:get_inventory():add_item('main', 'letterscolors:c_orange')
+player:get_inventory():add_item('main', 'letterscolors:c_yellow')
+player:get_inventory():add_item('main', 'letterscolors:c_pink')
+player:get_inventory():add_item('main', 'letterscolors:c_green')
+player:get_inventory():add_item('main', 'letterscolors:c_blue')
+
+end
+end
+)
+
+-- d
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterd then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:d_white')
+player:get_inventory():add_item('main', 'letterscolors:d_black')
+player:get_inventory():add_item('main', 'letterscolors:d_red')
+player:get_inventory():add_item('main', 'letterscolors:d_orange')
+player:get_inventory():add_item('main', 'letterscolors:d_yellow')
+player:get_inventory():add_item('main', 'letterscolors:d_pink')
+player:get_inventory():add_item('main', 'letterscolors:d_green')
+player:get_inventory():add_item('main', 'letterscolors:d_blue')
+
+end
+end
+)
+
+-- e
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.lettere then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:e_white')
+player:get_inventory():add_item('main', 'letterscolors:e_black')
+player:get_inventory():add_item('main', 'letterscolors:e_red')
+player:get_inventory():add_item('main', 'letterscolors:e_orange')
+player:get_inventory():add_item('main', 'letterscolors:e_yellow')
+player:get_inventory():add_item('main', 'letterscolors:e_pink')
+player:get_inventory():add_item('main', 'letterscolors:e_green')
+player:get_inventory():add_item('main', 'letterscolors:e_blue')
+
+end
+end
+)
+
+-- f
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterf then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:f_white')
+player:get_inventory():add_item('main', 'letterscolors:f_black')
+player:get_inventory():add_item('main', 'letterscolors:f_red')
+player:get_inventory():add_item('main', 'letterscolors:f_orange')
+player:get_inventory():add_item('main', 'letterscolors:f_yellow')
+player:get_inventory():add_item('main', 'letterscolors:f_pink')
+player:get_inventory():add_item('main', 'letterscolors:f_green')
+player:get_inventory():add_item('main', 'letterscolors:f_blue')
+
+end
+end
+)
+
+-- g
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterg then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:g_white')
+player:get_inventory():add_item('main', 'letterscolors:g_black')
+player:get_inventory():add_item('main', 'letterscolors:g_red')
+player:get_inventory():add_item('main', 'letterscolors:g_orange')
+player:get_inventory():add_item('main', 'letterscolors:g_yellow')
+player:get_inventory():add_item('main', 'letterscolors:g_pink')
+player:get_inventory():add_item('main', 'letterscolors:g_green')
+player:get_inventory():add_item('main', 'letterscolors:g_blue')
+
+end
+end
+)
+
+-- k
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterk then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:k_white')
+player:get_inventory():add_item('main', 'letterscolors:k_black')
+player:get_inventory():add_item('main', 'letterscolors:k_red')
+player:get_inventory():add_item('main', 'letterscolors:k_orange')
+player:get_inventory():add_item('main', 'letterscolors:k_yellow')
+player:get_inventory():add_item('main', 'letterscolors:k_pink')
+player:get_inventory():add_item('main', 'letterscolors:k_green')
+player:get_inventory():add_item('main', 'letterscolors:k_blue')
+
+end
+end
+)
+
+-- l
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterl then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:l_white')
+player:get_inventory():add_item('main', 'letterscolors:l_black')
+player:get_inventory():add_item('main', 'letterscolors:l_red')
+player:get_inventory():add_item('main', 'letterscolors:l_orange')
+player:get_inventory():add_item('main', 'letterscolors:l_yellow')
+player:get_inventory():add_item('main', 'letterscolors:l_pink')
+player:get_inventory():add_item('main', 'letterscolors:l_green')
+player:get_inventory():add_item('main', 'letterscolors:l_blue')
+
+end
+end
+)
+
+-- m
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterm then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:m_white')
+player:get_inventory():add_item('main', 'letterscolors:m_black')
+player:get_inventory():add_item('main', 'letterscolors:m_red')
+player:get_inventory():add_item('main', 'letterscolors:m_orange')
+player:get_inventory():add_item('main', 'letterscolors:m_yellow')
+player:get_inventory():add_item('main', 'letterscolors:m_pink')
+player:get_inventory():add_item('main', 'letterscolors:m_green')
+player:get_inventory():add_item('main', 'letterscolors:m_blue')
+
+end
+end
+)
+
+-- n
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.lettern then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:n_white')
+player:get_inventory():add_item('main', 'letterscolors:n_black')
+player:get_inventory():add_item('main', 'letterscolors:n_red')
+player:get_inventory():add_item('main', 'letterscolors:n_orange')
+player:get_inventory():add_item('main', 'letterscolors:n_yellow')
+player:get_inventory():add_item('main', 'letterscolors:n_pink')
+player:get_inventory():add_item('main', 'letterscolors:n_green')
+player:get_inventory():add_item('main', 'letterscolors:n_blue')
+
+end
+end
+)
+
+-- o
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.lettero then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:o_white')
+player:get_inventory():add_item('main', 'letterscolors:o_black')
+player:get_inventory():add_item('main', 'letterscolors:o_red')
+player:get_inventory():add_item('main', 'letterscolors:o_orange')
+player:get_inventory():add_item('main', 'letterscolors:o_yellow')
+player:get_inventory():add_item('main', 'letterscolors:o_pink')
+player:get_inventory():add_item('main', 'letterscolors:o_green')
+player:get_inventory():add_item('main', 'letterscolors:o_blue')
+
+end
+end
+)
+
+-- p
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterp then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:p_white')
+player:get_inventory():add_item('main', 'letterscolors:p_black')
+player:get_inventory():add_item('main', 'letterscolors:p_red')
+player:get_inventory():add_item('main', 'letterscolors:p_orange')
+player:get_inventory():add_item('main', 'letterscolors:p_yellow')
+player:get_inventory():add_item('main', 'letterscolors:p_pink')
+player:get_inventory():add_item('main', 'letterscolors:p_green')
+player:get_inventory():add_item('main', 'letterscolors:p_blue')
+
+end
+end
+)
+
+-- q
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterq then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:q_white')
+player:get_inventory():add_item('main', 'letterscolors:q_black')
+player:get_inventory():add_item('main', 'letterscolors:q_red')
+player:get_inventory():add_item('main', 'letterscolors:q_orange')
+player:get_inventory():add_item('main', 'letterscolors:q_yellow')
+player:get_inventory():add_item('main', 'letterscolors:q_pink')
+player:get_inventory():add_item('main', 'letterscolors:q_green')
+player:get_inventory():add_item('main', 'letterscolors:q_blue')
+
+end
+end
+)
+
+-- r
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterr then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:r_white')
+player:get_inventory():add_item('main', 'letterscolors:r_black')
+player:get_inventory():add_item('main', 'letterscolors:r_red')
+player:get_inventory():add_item('main', 'letterscolors:r_orange')
+player:get_inventory():add_item('main', 'letterscolors:r_yellow')
+player:get_inventory():add_item('main', 'letterscolors:r_pink')
+player:get_inventory():add_item('main', 'letterscolors:r_green')
+player:get_inventory():add_item('main', 'letterscolors:r_blue')
+
+end
+end
+)
+
+-- s
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letters then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:s_white')
+player:get_inventory():add_item('main', 'letterscolors:s_black')
+player:get_inventory():add_item('main', 'letterscolors:s_red')
+player:get_inventory():add_item('main', 'letterscolors:s_orange')
+player:get_inventory():add_item('main', 'letterscolors:s_yellow')
+player:get_inventory():add_item('main', 'letterscolors:s_pink')
+player:get_inventory():add_item('main', 'letterscolors:s_green')
+player:get_inventory():add_item('main', 'letterscolors:s_blue')
+
+end
+end
+)
+
+-- t
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.lettert then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:t_white')
+player:get_inventory():add_item('main', 'letterscolors:t_black')
+player:get_inventory():add_item('main', 'letterscolors:t_red')
+player:get_inventory():add_item('main', 'letterscolors:t_orange')
+player:get_inventory():add_item('main', 'letterscolors:t_yellow')
+player:get_inventory():add_item('main', 'letterscolors:t_pink')
+player:get_inventory():add_item('main', 'letterscolors:t_green')
+player:get_inventory():add_item('main', 'letterscolors:t_blue')
+
+end
+end
+)
+
+-- u
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letteru then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:u_white')
+player:get_inventory():add_item('main', 'letterscolors:u_black')
+player:get_inventory():add_item('main', 'letterscolors:u_red')
+player:get_inventory():add_item('main', 'letterscolors:u_orange')
+player:get_inventory():add_item('main', 'letterscolors:u_yellow')
+player:get_inventory():add_item('main', 'letterscolors:u_pink')
+player:get_inventory():add_item('main', 'letterscolors:u_green')
+player:get_inventory():add_item('main', 'letterscolors:u_blue')
+
+end
+end
+)
+
+-- v
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterv then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:v_white')
+player:get_inventory():add_item('main', 'letterscolors:v_black')
+player:get_inventory():add_item('main', 'letterscolors:v_red')
+player:get_inventory():add_item('main', 'letterscolors:v_orange')
+player:get_inventory():add_item('main', 'letterscolors:v_yellow')
+player:get_inventory():add_item('main', 'letterscolors:v_pink')
+player:get_inventory():add_item('main', 'letterscolors:v_green')
+player:get_inventory():add_item('main', 'letterscolors:v_blue')
+
+end
+end
+)
+
+-- x
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterx then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:x_white')
+player:get_inventory():add_item('main', 'letterscolors:x_black')
+player:get_inventory():add_item('main', 'letterscolors:x_red')
+player:get_inventory():add_item('main', 'letterscolors:x_orange')
+player:get_inventory():add_item('main', 'letterscolors:x_yellow')
+player:get_inventory():add_item('main', 'letterscolors:x_pink')
+player:get_inventory():add_item('main', 'letterscolors:x_green')
+player:get_inventory():add_item('main', 'letterscolors:x_blue')
+
+end
+end
+)
+
+-- y
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.lettery then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:y_white')
+player:get_inventory():add_item('main', 'letterscolors:y_black')
+player:get_inventory():add_item('main', 'letterscolors:y_red')
+player:get_inventory():add_item('main', 'letterscolors:y_orange')
+player:get_inventory():add_item('main', 'letterscolors:y_yellow')
+player:get_inventory():add_item('main', 'letterscolors:y_pink')
+player:get_inventory():add_item('main', 'letterscolors:y_green')
+player:get_inventory():add_item('main', 'letterscolors:y_blue')
+
+end
+end
+)
+
+-- z
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterz then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:z_white')
+player:get_inventory():add_item('main', 'letterscolors:z_black')
+player:get_inventory():add_item('main', 'letterscolors:z_red')
+player:get_inventory():add_item('main', 'letterscolors:z_orange')
+player:get_inventory():add_item('main', 'letterscolors:z_yellow')
+player:get_inventory():add_item('main', 'letterscolors:z_pink')
+player:get_inventory():add_item('main', 'letterscolors:z_green')
+player:get_inventory():add_item('main', 'letterscolors:z_blue')
+
+end
+end
+)
+
+-- w
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.letterw then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'letterscolors:w_white')
+player:get_inventory():add_item('main', 'letterscolors:w_black')
+player:get_inventory():add_item('main', 'letterscolors:w_red')
+player:get_inventory():add_item('main', 'letterscolors:w_orange')
+player:get_inventory():add_item('main', 'letterscolors:w_yellow')
+player:get_inventory():add_item('main', 'letterscolors:w_pink')
+player:get_inventory():add_item('main', 'letterscolors:w_green')
+player:get_inventory():add_item('main', 'letterscolors:w_blue')
+
+end
+end
+)
\ No newline at end of file
diff --git a/games/default/files/Menu/inventory_plus/maths.lua b/games/default/files/Menu/inventory_plus/maths.lua
new file mode 100644
index 000000000..2359568a6
--- /dev/null
+++ b/games/default/files/Menu/inventory_plus/maths.lua
@@ -0,0 +1,377 @@
+-- 0
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.math0 then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:0_white')
+player:get_inventory():add_item('main', 'mathscolors:0_black')
+player:get_inventory():add_item('main', 'mathscolors:0_red')
+player:get_inventory():add_item('main', 'mathscolors:0_orange')
+player:get_inventory():add_item('main', 'mathscolors:0_yellow')
+player:get_inventory():add_item('main', 'mathscolors:0_pink')
+player:get_inventory():add_item('main', 'mathscolors:0_green')
+player:get_inventory():add_item('main', 'mathscolors:0_blue')
+
+end
+end
+)
+
+-- 1
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.math1 then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:1_white')
+player:get_inventory():add_item('main', 'mathscolors:1_black')
+player:get_inventory():add_item('main', 'mathscolors:1_red')
+player:get_inventory():add_item('main', 'mathscolors:1_orange')
+player:get_inventory():add_item('main', 'mathscolors:1_yellow')
+player:get_inventory():add_item('main', 'mathscolors:1_pink')
+player:get_inventory():add_item('main', 'mathscolors:1_green')
+player:get_inventory():add_item('main', 'mathscolors:1_blue')
+
+end
+end
+)
+
+-- 2
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.math2 then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:2_white')
+player:get_inventory():add_item('main', 'mathscolors:2_black')
+player:get_inventory():add_item('main', 'mathscolors:2_red')
+player:get_inventory():add_item('main', 'mathscolors:2_orange')
+player:get_inventory():add_item('main', 'mathscolors:2_yellow')
+player:get_inventory():add_item('main', 'mathscolors:2_pink')
+player:get_inventory():add_item('main', 'mathscolors:2_green')
+player:get_inventory():add_item('main', 'mathscolors:2_blue')
+
+end
+end
+)
+
+-- 3
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.math3 then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:3_white')
+player:get_inventory():add_item('main', 'mathscolors:3_black')
+player:get_inventory():add_item('main', 'mathscolors:3_red')
+player:get_inventory():add_item('main', 'mathscolors:3_orange')
+player:get_inventory():add_item('main', 'mathscolors:3_yellow')
+player:get_inventory():add_item('main', 'mathscolors:3_pink')
+player:get_inventory():add_item('main', 'mathscolors:3_green')
+player:get_inventory():add_item('main', 'mathscolors:3_blue')
+
+end
+end
+)
+
+-- 4
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.math4 then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:4_white')
+player:get_inventory():add_item('main', 'mathscolors:4_black')
+player:get_inventory():add_item('main', 'mathscolors:4_red')
+player:get_inventory():add_item('main', 'mathscolors:4_orange')
+player:get_inventory():add_item('main', 'mathscolors:4_yellow')
+player:get_inventory():add_item('main', 'mathscolors:4_pink')
+player:get_inventory():add_item('main', 'mathscolors:4_green')
+player:get_inventory():add_item('main', 'mathscolors:4_blue')
+
+end
+end
+)
+
+-- 5
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.math5 then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:5_white')
+player:get_inventory():add_item('main', 'mathscolors:5_black')
+player:get_inventory():add_item('main', 'mathscolors:5_red')
+player:get_inventory():add_item('main', 'mathscolors:5_orange')
+player:get_inventory():add_item('main', 'mathscolors:5_yellow')
+player:get_inventory():add_item('main', 'mathscolors:5_pink')
+player:get_inventory():add_item('main', 'mathscolors:5_green')
+player:get_inventory():add_item('main', 'mathscolors:5_blue')
+
+end
+end
+)
+
+-- 6
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.math6 then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:6_white')
+player:get_inventory():add_item('main', 'mathscolors:6_black')
+player:get_inventory():add_item('main', 'mathscolors:6_red')
+player:get_inventory():add_item('main', 'mathscolors:6_orange')
+player:get_inventory():add_item('main', 'mathscolors:6_yellow')
+player:get_inventory():add_item('main', 'mathscolors:6_pink')
+player:get_inventory():add_item('main', 'mathscolors:6_green')
+player:get_inventory():add_item('main', 'mathscolors:6_blue')
+
+end
+end
+)
+
+-- 7
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.math7 then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:7_white')
+player:get_inventory():add_item('main', 'mathscolors:7_black')
+player:get_inventory():add_item('main', 'mathscolors:7_red')
+player:get_inventory():add_item('main', 'mathscolors:7_orange')
+player:get_inventory():add_item('main', 'mathscolors:7_yellow')
+player:get_inventory():add_item('main', 'mathscolors:7_pink')
+player:get_inventory():add_item('main', 'mathscolors:7_green')
+player:get_inventory():add_item('main', 'mathscolors:7_blue')
+
+end
+end
+)
+
+-- 8
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.math8 then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:8_white')
+player:get_inventory():add_item('main', 'mathscolors:8_black')
+player:get_inventory():add_item('main', 'mathscolors:8_red')
+player:get_inventory():add_item('main', 'mathscolors:8_orange')
+player:get_inventory():add_item('main', 'mathscolors:8_yellow')
+player:get_inventory():add_item('main', 'mathscolors:8_pink')
+player:get_inventory():add_item('main', 'mathscolors:8_green')
+player:get_inventory():add_item('main', 'mathscolors:8_blue')
+
+end
+end
+)
+
+-- 9
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.math9 then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:9_white')
+player:get_inventory():add_item('main', 'mathscolors:9_black')
+player:get_inventory():add_item('main', 'mathscolors:9_red')
+player:get_inventory():add_item('main', 'mathscolors:9_orange')
+player:get_inventory():add_item('main', 'mathscolors:9_yellow')
+player:get_inventory():add_item('main', 'mathscolors:9_pink')
+player:get_inventory():add_item('main', 'mathscolors:9_green')
+player:get_inventory():add_item('main', 'mathscolors:9_blue')
+
+end
+end
+)
+
+-- diviser
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.mathdiviser then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:diviser_white')
+player:get_inventory():add_item('main', 'mathscolors:diviser_black')
+player:get_inventory():add_item('main', 'mathscolors:diviser_red')
+player:get_inventory():add_item('main', 'mathscolors:diviser_orange')
+player:get_inventory():add_item('main', 'mathscolors:diviser_yellow')
+player:get_inventory():add_item('main', 'mathscolors:diviser_pink')
+player:get_inventory():add_item('main', 'mathscolors:diviser_green')
+player:get_inventory():add_item('main', 'mathscolors:diviser_blue')
+
+end
+end
+)
+
+-- egale
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.mathegale then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:egale_white')
+player:get_inventory():add_item('main', 'mathscolors:egale_black')
+player:get_inventory():add_item('main', 'mathscolors:egale_red')
+player:get_inventory():add_item('main', 'mathscolors:egale_orange')
+player:get_inventory():add_item('main', 'mathscolors:egale_yellow')
+player:get_inventory():add_item('main', 'mathscolors:egale_pink')
+player:get_inventory():add_item('main', 'mathscolors:egale_green')
+player:get_inventory():add_item('main', 'mathscolors:egale_blue')
+
+end
+end
+)
+
+-- inferieure
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.mathinferieure then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:inferieure_white')
+player:get_inventory():add_item('main', 'mathscolors:inferieure_black')
+player:get_inventory():add_item('main', 'mathscolors:inferieure_red')
+player:get_inventory():add_item('main', 'mathscolors:inferieure_orange')
+player:get_inventory():add_item('main', 'mathscolors:inferieure_yellow')
+player:get_inventory():add_item('main', 'mathscolors:inferieure_pink')
+player:get_inventory():add_item('main', 'mathscolors:inferieure_green')
+player:get_inventory():add_item('main', 'mathscolors:inferieure_blue')
+
+end
+end
+)
+
+-- moins
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.mathmoins then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:moins_white')
+player:get_inventory():add_item('main', 'mathscolors:moins_black')
+player:get_inventory():add_item('main', 'mathscolors:moins_red')
+player:get_inventory():add_item('main', 'mathscolors:moins_orange')
+player:get_inventory():add_item('main', 'mathscolors:moins_yellow')
+player:get_inventory():add_item('main', 'mathscolors:moins_pink')
+player:get_inventory():add_item('main', 'mathscolors:moins_green')
+player:get_inventory():add_item('main', 'mathscolors:moins_blue')
+
+end
+end
+)
+
+-- multiplier
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.mathmultiplier then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:multiplier_white')
+player:get_inventory():add_item('main', 'mathscolors:multiplier_black')
+player:get_inventory():add_item('main', 'mathscolors:multiplier_red')
+player:get_inventory():add_item('main', 'mathscolors:multiplier_orange')
+player:get_inventory():add_item('main', 'mathscolors:multiplier_yellow')
+player:get_inventory():add_item('main', 'mathscolors:multiplier_pink')
+player:get_inventory():add_item('main', 'mathscolors:multiplier_green')
+player:get_inventory():add_item('main', 'mathscolors:multiplier_blue')
+
+end
+end
+)
+
+-- plus
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.mathplus then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:plus_white')
+player:get_inventory():add_item('main', 'mathscolors:plus_black')
+player:get_inventory():add_item('main', 'mathscolors:plus_red')
+player:get_inventory():add_item('main', 'mathscolors:plus_orange')
+player:get_inventory():add_item('main', 'mathscolors:plus_yellow')
+player:get_inventory():add_item('main', 'mathscolors:plus_pink')
+player:get_inventory():add_item('main', 'mathscolors:plus_green')
+player:get_inventory():add_item('main', 'mathscolors:plus_blue')
+
+end
+end
+)
+
+-- superieure
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.mathsuperieure then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:superieure_white')
+player:get_inventory():add_item('main', 'mathscolors:superieure_black')
+player:get_inventory():add_item('main', 'mathscolors:superieure_red')
+player:get_inventory():add_item('main', 'mathscolors:superieure_orange')
+player:get_inventory():add_item('main', 'mathscolors:superieure_yellow')
+player:get_inventory():add_item('main', 'mathscolors:superieure_pink')
+player:get_inventory():add_item('main', 'mathscolors:superieure_green')
+player:get_inventory():add_item('main', 'mathscolors:superieure_blue')
+
+end
+end
+)
+
+-- virgule
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ if fields.mathvirgule then --main page
+
+ player:get_inventory():set_list("main", {})
+
+player:get_inventory():add_item('main', 'mathscolors:virgule_white')
+player:get_inventory():add_item('main', 'mathscolors:virgule_black')
+player:get_inventory():add_item('main', 'mathscolors:virgule_red')
+player:get_inventory():add_item('main', 'mathscolors:virgule_orange')
+player:get_inventory():add_item('main', 'mathscolors:virgule_yellow')
+player:get_inventory():add_item('main', 'mathscolors:virgule_pink')
+player:get_inventory():add_item('main', 'mathscolors:virgule_green')
+player:get_inventory():add_item('main', 'mathscolors:virgule_blue')
+
+end
+end
+)
\ No newline at end of file
diff --git a/games/default/files/Menu/inventory_plus/menu.lua b/games/default/files/Menu/inventory_plus/menu.lua
index 4fe422f1a..119d6e8f5 100644
--- a/games/default/files/Menu/inventory_plus/menu.lua
+++ b/games/default/files/Menu/inventory_plus/menu.lua
@@ -310,6 +310,115 @@ if page == "trees" then
.. ""
end
+
+ -- letters page
+ if page == "mathmenu" then
+
+ local inv = player:get_inventory() or nil
+
+ if not inv then
+ print ("NO INVENTORY FOUND")
+ return
+ end
+
+ formspec = formspec
+
+ .. "image_button_exit[0,0.5;1,1;0.png;math0;]"
+ .. "image_button_exit[1,0.5;1,1;1.png;math1;]"
+ .. "image_button_exit[2,0.5;1,1;2.png;math2;]"
+ .. "image_button_exit[3,0.5;1,1;3.png;math3;]"
+ .. "image_button_exit[4,0.5;1,1;4.png;math4;]"
+ .. "image_button_exit[5,0.5;1,1;5.png;math5;]"
+ .. "image_button_exit[6,0.5;1,1;6.png;math6;]"
+ .. "image_button_exit[7,0.5;1,1;7.png;math7;]"
+ .. "image_button_exit[0,2.5;1,1;8.png;math8;]"
+ .. "image_button_exit[1,2.5;1,1;9.png;math9;]"
+ .. "image_button_exit[2,2.5;1,1;egale.png;mathegale;]"
+ .. "image_button_exit[3,2.5;1,1;inferieure.png;mathinferieure;]"
+ .. "image_button_exit[4,2.5;1,1;superieure.png;mathsuperieure;]"
+ .. "image_button_exit[5,2.5;1,1;diviser.png;mathdiviser;]"
+ .. "image_button_exit[6,2.5;1,1;plus.png;mathplus;]"
+ .. "image_button_exit[7,2.5;1,1;moins.png;mathmoins;]"
+ .. "image_button_exit[0,4.5;1,1;multiplier.png;mathmultiplier;]"
+ .. "image_button_exit[1,4.5;1,1;virgule.png;mathvirgule;]"
+
+ .. "image_button[0,6.5;1,1;gauche.png;main;]"
+ .. "image_button_exit[1,6.5;1,1;rotate.png;rotate;]"
+ .. "image_button_exit[2,6.5;1,1;nones.png;none;]"
+
+.. ""
+
+ end
+
+ -- letters page
+ if page == "lettermenu" then
+
+ local inv = player:get_inventory() or nil
+
+ if not inv then
+ print ("NO INVENTORY FOUND")
+ return
+ end
+
+ formspec = formspec
+
+ .. "image_button_exit[0,0.5;1,1;a.png;lettera;]"
+ .. "image_button_exit[1,0.5;1,1;b.png;letterb;]"
+ .. "image_button_exit[2,0.5;1,1;c.png;letterc;]"
+ .. "image_button_exit[3,0.5;1,1;d.png;letterd;]"
+ .. "image_button_exit[4,0.5;1,1;e.png;lettere;]"
+ .. "image_button_exit[5,0.5;1,1;f.png;letterf;]"
+ .. "image_button_exit[6,0.5;1,1;g.png;letterg;] "
+ .. "image_button_exit[7,0.5;1,1;h.png;letterh;]"
+ .. "image_button_exit[0,2.5;1,1;i.png;letteri;]"
+ .. "image_button_exit[1,2.5;1,1;j.png;letterj;]"
+ .. "image_button_exit[2,2.5;1,1;k.png;letterk;]"
+ .. "image_button_exit[3,2.5;1,1;l.png;letterl;]"
+ .. "image_button_exit[4,2.5;1,1;m.png;letterm;]"
+ .. "image_button_exit[5,2.5;1,1;n.png;lettern;]"
+ .. "image_button_exit[6,2.5;1,1;o.png;lettero;]"
+ .. "image_button_exit[7,2.5;1,1;p.png;letterp;]"
+ .. "image_button_exit[0,4.5;1,1;q.png;letterq;]"
+ .. "image_button_exit[1,4.5;1,1;r.png;letterr;]"
+ .. "image_button_exit[2,4.5;1,1;s.png;letters;]"
+ .. "image_button_exit[3,4.5;1,1;t.png;lettert;]"
+ .. "image_button_exit[4,4.5;1,1;u.png;letteru;]"
+ .. "image_button_exit[5,4.5;1,1;v.png;letterv;]"
+ .. "image_button_exit[6,4.5;1,1;w.png;letterw;]"
+ .. "image_button[7,4.5;1,1;droite.png;lettermenu2;]"
+
+ .. "image_button[0,6.5;1,1;gauche.png;main;]"
+ .. "image_button_exit[1,6.5;1,1;rotate.png;rotate;]"
+ .. "image_button_exit[2,6.5;1,1;nones.png;none;]"
+
+.. ""
+
+ end
+
+ -- letters page 2
+
+ if page == "lettermenu2" then
+
+ local inv = player:get_inventory() or nil
+
+ if not inv then
+ print ("NO INVENTORY FOUND")
+ return
+ end
+
+ formspec = formspec
+
+ .. "image_button_exit[0,0.5;1,1;x.png;letterx;]"
+ .. "image_button_exit[1,0.5;1,1;y.png;lettery;]"
+ .. "image_button_exit[2,0.5;1,1;z.png;letterz;]"
+
+ .. "image_button[0,6.5;1,1;gauche.png;lettermenu;]"
+ .. "image_button_exit[1,6.5;1,1;rotate.png;rotate;]"
+ .. "image_button_exit[2,6.5;1,1;nones.png;none;]"
+
+.. ""
+
+ end
-- main page
if page == "main" then
@@ -327,8 +436,11 @@ if page == "trees" then
.. "image_button[2,2.5;4,1;;trees;Tree]"
.. "image_button[2,3.5;4,1;;animals;Animals]"
-.. "image_button[2,4.5;4,1;;nodes;Build]"
-.. "image_button[2,5.5;4,1;;furnitures;Decorations]"
+.. "image_button[2,4.5;2,1;;nodes;Build]"
+.. "image_button[4,4.5;2,1;;furnitures;Decorations]"
+
+.. "image_button[2,5.5;2,1;;lettermenu;Letters]"
+.. "image_button[4,5.5;2,1;;mathmenu;Maths]"
.. "image_button_exit[2,6.5;4,1;;quit;Back To Game]"
@@ -372,6 +484,38 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
return
end
+ if fields.lettermenu then
+
+ inventory_plus.set_inventory_formspec(player,
+ inventory_plus.get_formspec(player, "lettermenu"))
+
+ return
+ end
+
+ if fields.lettermenu2 then
+
+ inventory_plus.set_inventory_formspec(player,
+ inventory_plus.get_formspec(player, "lettermenu2"))
+
+ return
+ end
+
+ if fields.mathmenu then
+
+ inventory_plus.set_inventory_formspec(player,
+ inventory_plus.get_formspec(player, "mathmenu"))
+
+ return
+ end
+
+ if fields.lettermenu2 then
+
+ inventory_plus.set_inventory_formspec(player,
+ inventory_plus.get_formspec(player, "mathmenu2"))
+
+ return
+ end
+
if fields.nodes2 then
inventory_plus.set_inventory_formspec(player,
diff --git a/games/default/files/Menu/inventory_plus/stuff.lua b/games/default/files/Menu/inventory_plus/stuff.lua
index 689f7b1ea..d43a18a42 100644
--- a/games/default/files/Menu/inventory_plus/stuff.lua
+++ b/games/default/files/Menu/inventory_plus/stuff.lua
@@ -7,6 +7,8 @@ dofile(minetest.get_modpath("inventory_plus") .. "/trees.lua")
dofile(minetest.get_modpath("inventory_plus") .. "/planets.lua")
dofile(minetest.get_modpath("inventory_plus") .. "/vehicules.lua")
dofile(minetest.get_modpath("inventory_plus") .. "/animals.lua")
+dofile(minetest.get_modpath("inventory_plus") .. "/letters.lua")
+dofile(minetest.get_modpath("inventory_plus") .. "/maths.lua")
-- Initial Stuff and Delete Legacy Stuff