From be03e62452fcd571554f6cf7d6739e2b502b8441 Mon Sep 17 00:00:00 2001 From: Wouters Dorian Date: Thu, 9 Jul 2015 00:59:05 +0200 Subject: [PATCH] Add [warps]; Reformat and update update_sources for future scripted use --- mods/warps/LICENSE | 19 + mods/warps/README | 37 ++ mods/warps/depends.txt | 1 + mods/warps/description.txt | 1 + mods/warps/init.lua | 250 +++++++ mods/warps/models/warps_warpstone.obj | 70 ++ mods/warps/sounds/LICENSE | 10 + mods/warps/sounds/warps_plop.ogg | Bin 0 -> 6770 bytes mods/warps/sounds/warps_woosh.ogg | Bin 0 -> 67376 bytes mods/warps/textures/warps_warpstone.png | Bin 0 -> 1737 bytes mods/warps/textures/warps_warpstone_guide.png | Bin 0 -> 199 bytes other_things/update_sources.txt | 616 +++++++++++++++--- 12 files changed, 905 insertions(+), 99 deletions(-) create mode 100644 mods/warps/LICENSE create mode 100644 mods/warps/README create mode 100644 mods/warps/depends.txt create mode 100644 mods/warps/description.txt create mode 100644 mods/warps/init.lua create mode 100644 mods/warps/models/warps_warpstone.obj create mode 100644 mods/warps/sounds/LICENSE create mode 100644 mods/warps/sounds/warps_plop.ogg create mode 100644 mods/warps/sounds/warps_woosh.ogg create mode 100644 mods/warps/textures/warps_warpstone.png create mode 100644 mods/warps/textures/warps_warpstone_guide.png diff --git a/mods/warps/LICENSE b/mods/warps/LICENSE new file mode 100644 index 00000000..43eb4897 --- /dev/null +++ b/mods/warps/LICENSE @@ -0,0 +1,19 @@ + +warps- a minetest mod that adds more farming crops + +See spdx.org/licenses to see what the License Identifiers used below mean. + +=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ + +All source code (lua): + (C) Auke Kok + LGPL-2.0+ + +All textures, models: + (C) Auke Kok + CC-BY-SA-3.0 + +All sounds: read sounds/LICENSE + +=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ + diff --git a/mods/warps/README b/mods/warps/README new file mode 100644 index 00000000..211de5c8 --- /dev/null +++ b/mods/warps/README @@ -0,0 +1,37 @@ + +"Warps" - a simple warp mod for minetest. + +======== + +/setwarp [name] +/delwarp [name] +/warp [name] +/listwarps + +priv: warp_admin - set/change/delete warps +priv: warp_user - list, and use warps + +warps are stored in the world folder file "warps.txt". + +A warpstone can be given or found in the creative inventory (item +id: warps:warpstone). This warpstone can be placed on the ground +and be programmed to warp players who punch it to a certain warp +location (one of the warps in /listwarps). Right-clicking the item +as a warp_admin user will allow you to program the warpstone. The +warpstone can be removed by shift-punching the warp stone. + +All warps are delayed by ~5 seconds. You have to stand still for +that duration, otherwise the warp will be cancelled. This may avoid +warp spamming and warping out of combat a bit. There's a bit +of variation in time due to the timer resolution in minetest +being rather large. + +======== + +Copyright (C) 2015 - Auke Kok + +"warps" is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 +of the license, or (at your option) any later version. + diff --git a/mods/warps/depends.txt b/mods/warps/depends.txt new file mode 100644 index 00000000..4ad96d51 --- /dev/null +++ b/mods/warps/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/warps/description.txt b/mods/warps/description.txt new file mode 100644 index 00000000..b87e447e --- /dev/null +++ b/mods/warps/description.txt @@ -0,0 +1 @@ +Warp locations and warp stones (portal stones) diff --git a/mods/warps/init.lua b/mods/warps/init.lua new file mode 100644 index 00000000..259e75a9 --- /dev/null +++ b/mods/warps/init.lua @@ -0,0 +1,250 @@ + +--[[ + +Copyright (C) 2015 - Auke Kok + +"warps" is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 +of the license, or (at your option) any later version. + +--]] + +warps = {} +warps_queue = {} +queue_state = 0 +local warps_freeze = 5 +-- t = time in usec +-- p = player obj +-- w = warp name + +local warp = function(player, dest) + for i = 1,table.getn(warps) do + if warps[i].name == dest then + player:setpos({x = warps[i].x, y = warps[i].y, z = warps[i].z}) + -- MT Core FIXME + -- get functions don't output proper values for set! + -- https://github.com/minetest/minetest/issues/2658 + player:set_look_yaw(warps[i].yaw - (math.pi/2)) + player:set_look_pitch(0 - warps[i].pitch) + minetest.chat_send_player(player:get_player_name(), "Warped to \"" .. dest .. "\"") + minetest.log("action", player:get_player_name() .. " warped to \"" .. dest .. "\"") + minetest.sound_play("warps_plop", { + pos = {x = warps[i].x, y = warps[i].y, z = warps[i].z}, + }) + return + end + end + minetest.chat_send_player(player:get_player_name(), "Unknown warp \"" .. dest .. "\"") +end + +do_warp_queue = function() + if table.getn(warps_queue) == 0 then + queue_state = 0 + return + end + local t = minetest.get_us_time() + for i = table.getn(warps_queue),1,-1 do + local e = warps_queue[i] + if e.p:getpos().x == e.pos.x and e.p:getpos().y == e.pos.y and e.p:getpos().z == e.pos.z then + if t > e.t then + warp(e.p, e.w) + table.remove(warps_queue, i) + end + else + minetest.sound_stop(e.sh) + minetest.chat_send_player(e.p:get_player_name(), "You have to stand still for " .. warps_freeze .. " seconds!") + table.remove(warps_queue, i) + end + end + if table.getn(warps_queue) == 0 then + queue_state = 0 + return + end + minetest.after(1, do_warp_queue) +end + +local warp_queue_add = function(player, dest) + table.insert(warps_queue, { + t = minetest.get_us_time() + ( warps_freeze * 1000000 ), + pos = player:getpos(), + p = player, + w = dest, + sh = minetest.sound_play("warps_woosh", { pos = player:getpos() }) + }) + minetest.chat_send_player(player:get_player_name(), "Don't move for " .. warps_freeze .. " seconds!") + if queue_state == 0 then + queue_state = 1 + minetest.after(1, do_warp_queue) + end +end + +local worldpath = minetest.get_worldpath() + +local save = function () + local fh,err = io.open(worldpath .. "/warps.txt", "w") + if err then + print("No existing warps to read.") + return + end + for i = 1,table.getn(warps) do + local s = warps[i].name .. " " .. warps[i].x .. " " .. warps[i].y .. " " .. warps[i].z .. " " .. warps[i].yaw .. " " .. warps[i].pitch .. "\n" + fh:write(s) + end + fh:close() +end + +local load = function () + local fh,err = io.open(worldpath .. "/warps.txt", "r") + if err then + minetest.log("action", "[warps] loaded ") + return + end + while true do + local line = fh:read() + if line == nil then + break + end + local paramlist = string.split(line, " ") + local w = { + name = paramlist[1], + x = tonumber(paramlist[2]), + y = tonumber(paramlist[3]), + z = tonumber(paramlist[4]), + yaw = tonumber(paramlist[5]), + pitch = tonumber(paramlist[6]) + } + table.insert(warps, w) + end + fh:close() + minetest.log("action", "[warps] loaded " .. table.getn(warps) .. " warp location(s)") +end + +minetest.register_privilege("warp_admin", { + description = "Allows modification of warp points", + give_to_singleplayer = true, + default = false +}) + +minetest.register_privilege("warp_user", { + description = "Allows use of warp points", + give_to_singleplayer = true, + default = true +}) + +minetest.register_chatcommand("setwarp", { + params = "name", + description = "Set a warp location to the players location", + privs = { warp_admin = true }, + func = function(name, param) + local h = "created" + for i = 1,table.getn(warps) do + if warps[i].name == param then + table.remove(warps, i) + h = "changed" + break + end + end + local player = minetest.get_player_by_name(name) + local pos = player:getpos() + table.insert(warps, { name = param, x = pos.x, y = pos.y, z = pos.z, yaw = player:get_look_yaw(), pitch = player:get_look_pitch() }) + save() + minetest.log("action", name .. " " .. h .. " warp \"" .. param .. "\": " .. pos.x .. ", " .. pos.y .. ", " .. pos.z) + return true, h .. " warp \"" .. param .. "\"" + end, +}) + +minetest.register_chatcommand("delwarp", { + params = "name", + description = "Set a warp location to the players location", + privs = { warp_admin = true }, + func = function(name, param) + for i = 1,table.getn(warps) do + if warps[i].name == param then + table.remove(warps, i) + minetest.log("action", name .. " removed warp \"" .. param .. "\"") + return true, "Removed warp \"" .. param .. "\"" + end + end + return false, "Unknown warp location \"" .. param .. "\"" + end, +}) + +minetest.register_chatcommand("listwarps", { + params = "name", + description = "List known warp locations", + privs = { warp_user = true }, + func = function(name, param) + local s = "List of known warp locations:\n" + for i = 1,table.getn(warps) do + s = s .. "- " .. warps[i].name .. "\n" + end + return true, s + end +}) + +minetest.register_chatcommand("warp", { + params = "name", + description = "Warp to a warp location", + privs = { warp_user = true }, + func = function(name, param) + local player = minetest.get_player_by_name(name) + warp_queue_add(player, param) + end +}) + +minetest.register_node("warps:warpstone", { + visual = "mesh", + mesh = "warps_warpstone.obj", + description = "A Warp Stone", + tiles = { "warps_warpstone.png" }, + drawtype = "mesh", + sunlight_propagates = true, + walkable = false, + paramtype = "light", + groups = { choppy=3 }, + light_source = 8, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.5, 0.25} + }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", + "field[destination;Warp Destination;]") + meta:set_string("infotext", "Uninitialized Warp Stone") + end, + on_receive_fields = function(pos, formname, fields, sender) + if not minetest.check_player_privs(sender:get_player_name(), {warp_admin = true}) then + minetest.chat_send_player(sender:get_player_name(), "You do not have permission to modify warp stones") + return false + end + if not fields.destination then + return + end + local meta = minetest.get_meta(pos) + meta:set_string("formspec", + "field[destination;Warp Destination;" .. fields.destination .. "]") + meta:set_string("infotext", "Warp stone to " .. fields.destination) + meta:set_string("warps_destination", fields.destination) + minetest.log("action", sender:get_player_name() .. " changed warp stone to \"" .. fields.destination .. "\"") + end, + on_punch = function(pos, node, puncher, pointed_thingo) + if puncher:get_player_control().sneak and minetest.check_player_privs(puncher:get_player_name(), {warp_admin = true}) then + minetest.remove_node(pos) + minetest.chat_send_player(puncher:get_player_name(), "Warp stone removed!") + return + end + local meta = minetest.get_meta(pos) + local destination = meta:get_string("warps_destination") + if destination == "" then + minetest.chat_send_player(puncher:get_player_name(), "Unknown warp location for this warp stone, cannot warp!") + return false + end + warp_queue_add(puncher, destination) + end, +}) + +-- load existing warps +load() + diff --git a/mods/warps/models/warps_warpstone.obj b/mods/warps/models/warps_warpstone.obj new file mode 100644 index 00000000..5858c889 --- /dev/null +++ b/mods/warps/models/warps_warpstone.obj @@ -0,0 +1,70 @@ +# Blender v2.60 (sub 0) OBJ File: '' +# www.blender.org +mtllib warps_warpstone.mtl +o Plane +v 0.000345 -0.332211 0.238072 +v -0.238873 -0.332211 -0.000181 +v -0.187467 0.347788 0.000753 +v 0.003339 0.347788 0.186987 +v -0.000061 0.473738 -0.000013 +v -0.000061 -0.400212 -0.000013 +v 0.238345 -0.332211 0.000071 +v 0.187345 0.347788 -0.000779 +v -0.000467 -0.332211 -0.238097 +v -0.003461 0.347788 -0.187013 +vt 0.247005 0.000534 +vt 0.000000 0.000534 +vt 0.000000 0.499516 +vt 0.247005 0.499516 +vt 0.744000 0.749758 +vt 0.744000 0.501019 +vt 0.248498 0.501019 +vt 0.248498 0.749758 +vt 0.495503 0.000534 +vt 0.248498 0.000534 +vt 0.248498 0.499516 +vt 0.495503 0.499516 +vt 0.744000 1.000000 +vt 0.744000 0.751261 +vt 0.248498 0.751261 +vt 0.248498 1.000000 +vt 0.247005 1.000000 +vt 0.247005 0.752012 +vt 0.000746 1.000000 +vt 0.497742 0.249273 +vt 0.744000 0.001285 +vt 0.744000 0.249273 +vt 0.744000 0.251528 +vt 0.497742 0.499516 +vt 0.744000 0.499516 +vt 0.247005 0.749758 +vt 0.000746 0.749758 +vt 0.247005 0.501770 +vt 0.000000 0.751261 +vt 0.000000 0.999249 +vt 0.246259 0.751261 +vt 0.743254 0.000534 +vt 0.496995 0.248522 +vt 0.496995 0.000534 +vt 0.496995 0.250776 +vt 0.496995 0.498764 +vt 0.743254 0.250776 +vt 0.000000 0.501019 +vt 0.246259 0.501019 +vt 0.000000 0.749006 +g Plane_Plane_Material.001 +usemtl Material.001 +s off +f 2/1 1/2 4/3 3/4 +f 1/5 7/6 8/7 4/8 +f 7/9 9/10 10/11 8/12 +f 9/13 2/14 3/15 10/16 +s 1 +f 5/17 3/18 4/19 +f 1/20 2/21 6/22 +f 7/23 1/24 6/25 +f 5/26 4/27 8/28 +f 5/29 8/30 10/31 +f 9/32 7/33 6/34 +f 6/35 2/36 9/37 +f 5/38 10/39 3/40 diff --git a/mods/warps/sounds/LICENSE b/mods/warps/sounds/LICENSE new file mode 100644 index 00000000..373e81e2 --- /dev/null +++ b/mods/warps/sounds/LICENSE @@ -0,0 +1,10 @@ + +File: warps_plop.ogg +Original: 19987__acclivity__fingerplop1.flac +Url: https://www.freesound.org/people/acclivity/sounds/19987/ +License: CC-BY-NC-3.0 + +File: warps_woosh.ogg +Original: 112837__dymewiz__whoosh-21.wav +Url: https://www.freesound.org/people/Dymewiz/sounds/112837/ +License: CC-BY-3.0 diff --git a/mods/warps/sounds/warps_plop.ogg b/mods/warps/sounds/warps_plop.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f214d255f1892a4be08c39d678786645e901b1c5 GIT binary patch literal 6770 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 literal 0 HcmV?d00001 diff --git a/mods/warps/sounds/warps_woosh.ogg b/mods/warps/sounds/warps_woosh.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8c12c24848181e0060a0b34a541037680f558c70 GIT binary patch literal 67376 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
    45$GmK;Amr2fVY6l40*_^KAw&tbf4 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 literal 0 HcmV?d00001 diff --git a/mods/warps/textures/warps_warpstone.png b/mods/warps/textures/warps_warpstone.png new file mode 100644 index 0000000000000000000000000000000000000000..21d9a1687d5729f8c2eeabc818b8265b7e4359f6 GIT binary patch literal 1737 zcmV;)1~&PLP)w0{Y*UY}p-AAIo_#MiAAiG#MbN3qS zj`hs^JCL0bmH+$qM^lGmyI=Z!pwZaP`G4XTiEbi0>+9pdMo%tdF|y;O-!-(oD!fkp zs$|Md?Iv#4(%!}&pZ(|3eO$;@PJo`t*bwXU&?XPsC`q}e!@jI*GOC!`wG;`E`RAH8 zM{ZIy#ndl{?#YW+u?4x{N73AMWZsueeg%DbiG4~Uv97PAcyB5d(}?x8qm#McT$yVx z7o?`5oW%wXb>h#PIq|_%spdh#(7dR)+yGm?xRfh)4m7Q4t7=-Y?n7NK{HCgP`#;;r zn&;w_I1hnSKd)=MEAzQK7UVJ~0L=+)Tr?#P>S!==>n;$P6(xgvN)a3eB8O z^exc?ABSesHCaj8Wf`5|`bXGR=5&$=tu7kD9`w6{Y0&0LmAo1Unc0aAR)U+AHea!o3GVYC%i8FqoZZ z))SAmdnq_^7jhZeQQr=4Ht{I-<_nZ zP}%>D12L#$=GVxmXJ(0eruv)!Pr3md0<^Ucsk<5nHi~sijIM^Pvkk1C+_a*#vQ}vZ zN1qGgEm^Yy&44<;f}yU9a!Yn_0IYA#UGK!4wq#B1x3rJ>to)v*sT~y4(=a-TtBe%1 zhI*Y`bOa^8x~R{YdShD_P<&q9b09KARGgL8vc*yv*#^&VNnZ z{!w?Rfm#PThYo?f;*~BxfZbQL2|Xx~Hek;1Br-1}v%M7j!+{1X6aPIb!0ld|h>lmV z6Kg>VxC^l-ddLs3_MZ=0JK3bt1Eviw9qBqUTbd6SPwlyiY_cu9_sqN^QB@mF4M^xb z68hk&o6H`4E{l+OU0a+28Q@Rk#+$;iPwi$!hl}R+{N0sYCw|s4qo&L`8gVpCh;(T( zO3d8;#{i7n8!4T6jcQW21gNGNc6CD5fO96k5koa4X|-fU020T^%cezOfTH53pR9s8 z4n$|izmX#NuoEwXOF%?#PWrM}a)T>0B!y{!er0Zm$4XBl1W$nE=N^19I!Kco(ImbE z*;D&E&}IK74b3*u&qTM-zb!N7Oj){hGiYnX6^4+xIyjQx86slbm~WJxbXzwe zhn^v#rMO;6%RtnYRYeAM6IUdtN*HLCSwwJH`FG4XA0kq__?rN*9%N88!vy~U86ZLp z_yqNJOvJc^*vV(I(8r zfoy=ZX%aprHf_KYL(O7+$!8IFLTC!m;DecjE~d|Qi4uLKlqtoXkYzJ+8C!<-o+KdN z+PI zBR{~Q@E20xdc1O!bD fo&Q((LxBGR_Si_$tfu1x00000NkvXXu0mjfJIr1J literal 0 HcmV?d00001 diff --git a/mods/warps/textures/warps_warpstone_guide.png b/mods/warps/textures/warps_warpstone_guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a54a5bf86f52a1bfe6a2fd4237c67122cfe11ce4 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRaTa()7Bet#3xhBt!>l?_k qvc6#z6)9-u5!%6I{kTDH+n>kNW(P{1J=qMjlEKr}&t;ucLK6TY+(6F& literal 0 HcmV?d00001 diff --git a/other_things/update_sources.txt b/other_things/update_sources.txt index 3a0b4cf5..c26549b7 100755 --- a/other_things/update_sources.txt +++ b/other_things/update_sources.txt @@ -1,109 +1,527 @@ -Sources file -============ +# Sources file + +# Here are listed all the git remote repositories for the server. +# Please stick to the current file format, it is used by an update script. +# If you have doubts regarding syntax refer to Python 3's ConfigParser example: +# https://docs.python.org/3/library/configparser.html#supported-ini-file-structure + +# Ici sont répertoriés les dépôts git des mods du serveur. +# Merci de conserver la structure du fichier, il est utilisé par un script de mise à jour. +# Si vous avez des toutes concernant la syntaxe, regardez l'exemple de config de ConfigParser de Python 3: +# https://docs.python.org/3/library/configparser.html#supported-ini-file-structure -Here are listed all the git remote repositories for the server : # MFF_Game -http://github.com/minetest/minetest -http://gitorious.org/calinou/carbone -https://github.com/Jordach/big_freaking_dig (some elements) +# http://github.com/minetest/minetest +# http://gitorious.org/calinou/carbone +# https://github.com/Jordach/big_freaking_dig (some elements) # Mods -http://github.com/stujones11/minetest-3d_armor.git -http://github.com/Neuromancer56/MinetestAmbiance.git <= ERROR 404 -http://github.com/ShadowNinja/areas.git - => Modifié pour : ajout de megabuilder et openfarming -http://bitbucket.org/ardrido/arrow_signs.git -http://github.com/rubenwardy/awards.git - => Modifié pour : ajout de divers awards -bedrock is already in carbone original game -http://github.com/LeMagnesium/beginners_chest.git -https://github.com/rabbibob/BobBlocks.git -https://forum.minetest.net/viewtopic.php?id=5429 <= Is this our one? \ need to be replaced by a git repository -https://github.com/PilzAdam/builtin_item <= Semble inactif/abandonné - OU https://github.com/HybridDog/builtin_item <= Semble actif -https://forum.minetest.net/viewtopic.php?f=9&t=10525 <= DEVRAIT être remplacé par un dépot git / mort -# CHESTTOOLS : ? -https://bitbucket.org/kingarthursteam/christmas_craft.git <= Is it this? -https://github.com/VanessaE/coloredwood.git - => Modifié pour : que les objets s'affiche dans la grille de craft -https://github.com/Sokomine/colormachine.git -https://github.com/CraigyDavi/colouredstonebricks.git -https://github.com/Glunggi/columnia.git -https://github.com/adrido/darkage.git - OU - https://github.com/MasterGollum/darkage.git ???? -https://github.com/4Evergreen4/death_messages.git -https://github.com/minermoder27/minetest-dropondie.git - => Modifié pour : Drop des sacs lors de le mort d'un joueur -https://github.com/sapier/factions.git -http://github.com/LeMagnesium/fail.git -https://github.com/tenplus1/farming.git - => Modifié pour : light pour que certaines plantes poussent -https://forum.minetest.net/viewtopic.php?t=5016 <= Should be replaced by a git repository -https://github.com/Mossmanikin/fishing.git -https://github.com/rubenwardy/food.git -https://github.com/minetest-technic/framedglass.git -https://github.com/VanessaE/future_ban.git => pas activé -Gauges déjà présent dans carbone original -https://github.com/bdjnk/glow.git -http://github.com/VanessaE/homedecor.git -https://github.com/BlockMen/hud.git - OU https://github.com/mgl512/hud.git <= ?? - => Modifié pour : fichier de conf pour la position, valeur de hunger/health des aliments -https://forum.minetest.net/viewtopic.php?id=5694 <= he has a problem with git or what? -http://github.com/kaeza/minetest-irc.git -[IRC_Commands] -http://github.com/PilzAdam/item_drop.git -https://gitorious.org/calinou/carbone/source/3d917e25bc7ac44a657020497c7f2ebfbd7209a1:mods/jumping (from carbone) -[Lantern] => homedecor_modpack ? -[Lavalamp] +[3D Armor] +dir: 3d_armor +git: http://github.com/stujones11/minetest-3d_armor.git + +[3D Armor Classes] +dir: 3d_armor_classes +internal: true + +[Ambience] +dir: ambience_modpack +git: https://github.com/Neuromancer56/MinetestAmbience +web: https://forum.minetest.net/viewtopic.php?pid=38355 + +[Areas] +dir: areas +git: http://github.com/ShadowNinja/areas.git +mff-edit: Add megabuilder and openfarming +mff-edit-fr: Ajout de megabuilder et openfarming + +[Arrow signs] +dir: arrow_signs +git: http://bitbucket.org/ardrido/arrow_signs.git + +[Awards] +dir: awards +git: http://github.com/rubenwardy/awards.git +mff-edit: Add multiple awards +mff-edit-fr: Ajout de divers awards + +[Bedrock] +dir: bedrock +note: bedrock is already in Carbone original game +internal: true + +[Beginner's chest] +dir: beginners_chest +git: http://github.com/LeMagnesium/beginners_chest.git + +[BobBlocks] +dir: bobblocks +git: https://github.com/rabbibob/BobBlocks.git + +[Bone] +dir: bone +# Is this our one? \ need to be replaced by a git repository +web: https://forum.minetest.net/viewtopic.php?id=5429 + +[builtin_item] +dir: builtin_item +git: https://github.com/HybridDog/builtin_item.git +#git: https://github.com/PilzAdam/builtin_item.git +#note: Seems inactive/abandoned +#note-fr: Semble inactif/abandonné + +[builtin_falling] +dir: builtin_falling +web: https://forum.minetest.net/viewtopic.php?f=9&t=10525 +note: SHOULD be replace by a git repo / dead +note-fr: DEVRAIT être remplacé par un dépot git / mort + +[Carts] +dir: carts +git: https://github.com/PilzAdam/carts.git +web: https://forum.minetest.net/viewtopic.php?id=2451 + +[Chat plus] +dir: chatplus +git: https://github.com/rubenwardy/chatplus.git +web: https://forum.minetest.net/viewtopic.php?id=6273 + +[Chesttools] +dir: chesttools +git: https://github.com/Sokomine/chesttools.git +web: https://forum.minetest.net/viewtopic.php?f=9&t=10160 + +[Christmas Craft] +dir: christmas_craft +git: https://bitbucket.org/kingarthursteam/christmas_craft.git +web: http://forum.minetest.org/viewtopic.php?f=11&t=7780 + +[Colored wood] +dir: coloredwool +git: https://github.com/VanessaE/coloredwood.git +mff-edit: Items shows up in crafting grid +mff-edit-fr: Les objets s'affiche dans la grille de craft + +[Color machine] +dir: colormachine +git: https://github.com/Sokomine/colormachine.git + +# Soon +# [Coloured nametag] +# dir: coloured_nametag +# git: https://github.com/crabman77/coloured_nametag.git + +[Coloured stone bricks] +dir: colouredstonebricks +git: https://github.com/CraigyDavi/colouredstonebricks.git + +[Columnia] +dir: columnia +git: https://github.com/Glunggi/columnia.git + +[Compass GPS] +dir: compassgps +git: https://github.com/Kilarin/compassgps.git +web: https://forum.minetest.net/viewtopic.php?f=9&t=9373 + +[Connected Chests] +dir: connected_chests +git: https://github.com/HybridDog/connected_chests.git +web: https://forum.minetest.net/viewtopic.php?f=9&t=10264 + +[DarkAge] +dir: darkage +git: https://github.com/adrido/darkage.git +# Original: https://github.com/MasterGollum/darkage.git + +[Death messages] +dir: death_messages +git: https://github.com/4Evergreen4/death_messages.git + +[Drop on die] +dir: dropondie +git: https://github.com/minermoder27/minetest-dropondie.git +mff-edit: Bags drops when player dies +mff-edit-fr: Drop des sacs lors de le mort d'un joueur + +[Factions] +dir: factions +git: https://github.com/sapier/factions.git + +[Events' Objects] +dir: eventobjects +internal: true + +[Fail] +dir: fail +git: http://github.com/LeMagnesium/fail.git + +[Fences] +dir: fences +web: https://forum.minetest.net/viewtopic.php?pid=74716 + +[Fishing] +dir: fishing +web: https://forum.minetest.net/viewtopic.php?f=11&t=4375 + +# For the near future +# [Fishing] +# dir: fishing +# git: https://github.com/crabman77/fishing.git + +[Food] +dir: food +git: https://github.com/rubenwardy/food.git +web: https://forum.minetest.net/viewtopic.php?id=2960 + +[Forceload] +dir: forceload +git: https://github.com/rubenwardy/forceload.git + +[Framed glass] +dir: framedglass +git: https://github.com/minetest-technic/framedglass.git + +[Future ban] +dir: future_ban +git: https://github.com/VanessaE/future_ban.git +note: Not enabled +note-fr: Pas activé + +# [Farming] +# https://github.com/tenplus1/farming.git +# => Modifié pour : light pour que certaines plantes poussent + +[Gauges] +dir: gauges +internal: true +note-fr: déjà présent dans carbone original + +[Glow] +dir: glow +git: https://github.com/bdjnk/glow.git + +[Armor HUD bar] +dir: hbarmor +web: https://forum.minetest.net/viewtopic.php?f=9&t=11337 + +[Hunger with HUD bar] +dir: hbhunger +web: https://forum.minetest.net/viewtopic.php?f=9&t=11336 + +[Homedecor] +dir: homedecor +git: http://github.com/VanessaE/homedecor.git + +[HUD] +dir: hud +git: https://github.com/BlockMen/hud.git +# Not https://github.com/mgl512/hud.git , it's behind the above +mff-edit: Config file to add position, hunger/health value of food +mff-edit-fr: Fichier de conf pour la position, valeur de hunger/health des aliments + +[HUD Bars] +dir: hudbars +git: http://repo.or.cz/w/minetest_hudbars.git +web: https://forum.minetest.net/viewtopic.php?f=9&t=11153 + +[Interact] +dir: interact +git: https://github.com/Amaz1/interact.git +web: https://forum.minetest.net/viewtopic.php?f=9&t=11200 + +[Inventory icon] +dir: inventory_icon +git: http://repo.or.cz/w/minetest_inventory_icon.git +web: https://forum.minetest.net/viewtopic.php?f=9&t=12358 + +[Inventory Tweaks] +dir: invtweak +git: https://github.com/BlockMen/invtweak.git +web: https://forum.minetest.net/viewtopic.php?id=5694 + +[IRC] +dir: irc +git: http://github.com/kaeza/minetest-irc.git + +[IRC Commands] +dir: irc_commands +git: https://github.com/ShadowNinja/minetest-irc_commands.git +web: https://forum.minetest.net/viewtopic.php?id=5275 + +[Item drop] +dir: item_drop +git: http://github.com/PilzAdam/item_drop.git + +[Jukebox] +dir: jukebox +git: https://forum.minetest.net/viewtopic.php?id=5913 + +[Jumping] +dir: jumping +internal: true +# https://gitorious.org/calinou/carbone/source/3d917e25bc7ac44a657020497c7f2ebfbd7209a1:mods/jumping (from carbone) + +[Lantern] +dir: lantern +git: https://github.com/RHRhino/lantern.git +web: https://forum.minetest.net/viewtopic.php?id=8718 + [Lavatemple] -[Locked_Sign] => homedecor_modpack ? -http://github.com/Gael-de-Sailly/mapfix.git -http://gitorious.org/calinou/maptools.git - => Modifié pour : unbreakable rail/rail_power/fence -https://github.com/Sokomine/markers - => Modifié pour : ajout de megabuilder -https://github.com/Jeija/minetest-mod-mesecons.git +dir: lavatemple +check-update: false +git: https://github.com/Zeg9/minetest-zmobs.git +note: Merged in a modpack with zmob; TODO: update + +[Locked Sign] +dir: locked_sign +git: https://github.com/Kotolegokot/minetest-mod-locked_sign.git +web: https://forum.minetest.net/viewtopic.php?id=2256 + +[Mana] +dir: mana +git: http://repo.or.cz/w/minetest_mana.git +web: https://forum.minetest.net/viewtopic.php?f=9&t=11154 + +[Mapfix] +dir: mapfix +git: http://github.com/Gael-de-Sailly/mapfix.git + +[Maptools] +dir: maptools +git: http://gitorious.org/calinou/maptools.git +mff-edit: unbreakable rail/rail_power/fence + +[Markers] +dir: markers +git: https://github.com/Sokomine/markers +mff-edit: Add megabuilder +mff-edit-fr: Ajout de megabuilder + +[Maze] +dir: maze +web: https://forum.minetest.net/viewtopic.php?id=7210 + +[Mesecons] +dir: mesecons +git: https://github.com/Jeija/minetest-mod-mesecons.git + +[Metatools] +dir: metatools +git: https://github.com/LeMagnesium/minetest-mod-metatools.git +web: https://forum.minetest.net/viewtopic.php?f=9&t=12090 + +[Mobs] +dir: mobs https://github.com/tenplus1/mobs - => Modifié pour : mélange entre paramêtre propre au serveur, mobs redo(principalement) et mobs carbone +mff-edit: Mix with server-specific settings, mobs redo and Carbone mobs +mff-edit-fr: Mélange entre paramêtre propre au serveur, mobs redo(principalement) et mobs Carbone + [Money] -https://github.com/Megaf/more_chests -http://gitorious.org/calinou/moreblocks.git -http://gitorious.org/calinou/moreores.git -http://github.com/VanessaE/moretrees.git -https://forum.minetest.net/viewtopic.php?f=11&t=9334&hilit=MultiTest (pas de github) -[Name_Restriction] => m'a été donné par VanessaE en pastebin - => Modifié pour : tableau de nom interdit -https://github.com/SmallJoker/names_per_ip -https://github.com/HybridDog/minetest-nether -[New] -https://gitorious.org/calinou/carbone/source/3d917e25bc7ac44a657020497c7f2ebfbd7209a1:mods/paintings (from carbone) -http://github.com/VanessaE/pipeworks.git -http://github.com/VanessaE/plantlife_modpack.git - => Modifié pour : palmtree avec branche non walkable, crashfix (nénuphare sur door) -http://github.com/Ombridride/minetest-player_inactive.git -[PlayerPlus] => désactivé ou supprimé depuis longtemps ? -[Quarts (by 4EverGreen?)] -http://github.com/arsdragonfly/random_messages.git -https://github.com/HybridDog/riesenpilz --nether dependence -http://github.com/TenPlus1/screwdriver.git - => Modifié pour : screwdriver infini et valeur du screwdriver normal +dir: money +git: https://github.com/Kotolegokot/minetest-mod-money.git +web: https://forum.minetest.net/viewtopic.php?id=2263 + +[More chests] +dir: more_chests +git: https://github.com/Megaf/more_chests.git +web: https://forum.minetest.net/viewtopic.php?f=9&t=9495 + +[More blocks] +dir: moreblocks +git: http://gitorious.org/calinou/moreblocks.git +web: https://forum.minetest.net/viewtopic.php?id=509 + +[More ores] +dir: moreores +git: http://gitorious.org/calinou/moreores.git +web: https://forum.minetest.net/viewtopic.php?id=549 + +[More trees] +dir: moretrees +git: http://github.com/VanessaE/moretrees.git +web: https://forum.minetest.net/viewtopic.php?id=4394 + +[Multitest] +dir: multitest +web: https://forum.minetest.net/viewtopic.php?f=11&t=9334 + +[Name Restrictions] +dir: name_restrictions +internal: true +note: Given by VanessaE using pastebin +note-fr: Donné par VanessaE en pastebin +mff-edit: Restricted names table +mff-edit-fr: Tableau de nom interdit + +[Names per IP] +dir: names_per_ip +git: https://github.com/SmallJoker/names_per_ip.git +web: https://forum.minetest.net/viewtopic.php?f=11&t=9768 + +[Nether] +dir: nether +git: https://github.com/HybridDog/minetest-nether.git +web: https://forum.minetest.net/viewtopic.php?id=5790 + +[News] +dir: news +internal: true + +[Pipeworks] +dir: pipeworks +git: http://github.com/VanessaE/pipeworks.git +web: https://forum.minetest.net/viewtopic.php?pid=27794 + +# [Paintings] +# dir: paintings +# https://gitorious.org/calinou/carbone/source/3d917e25bc7ac44a657020497c7f2ebfbd7209a1:mods/paintings (from carbone) + +[Plantlife] +dir: plantlife_modpack +git: http://github.com/VanessaE/plantlife_modpack.git +web: https://forum.minetest.net/viewtopic.php?id=3898 +mff-edit: palmtree with nonwalkable branches, crashfix (lily pad on door) +mff-edit-fr: palmtree avec branche non walkable, crashfix (nénuphare sur door) + +[Player inactive] +dir: player_inactive +git: http://github.com/Ombridride/minetest-player_inactive.git +# Semi-internal + +[Quartz] +dir: quartz +git: https://github.com/4Evergreen4/quartz.git +web: https://forum.minetest.net/viewtopic.php?id=5682 + +[Random Messages] +dir: random_messages +git: http://github.com/arsdragonfly/random_messages.git + +[Mirror of Returning] +dir: returnmirror +web: https://forum.minetest.net/viewtopic.php?f=9&t=11224 + +[Riesenpilz] +dir: riezenpilz +git: https://github.com/HybridDog/riesenpilz.git +note: Nether dependence + +[Runes] +dir: runes +internal: true + +[Sea] +dir: sea +web: https://forum.minetest.net/viewtopic.php?id=4627 + +[Shutdown] +dir: shutdown +internal: true + +# [Screw Driver] +# dir: screwdriver +# git: http://github.com/TenPlus1/screwdriver.git +# mff-edit-fr => Modifié pour : screwdriver infini et valeur du screwdriver normal + +[Snow] +dir: snow +git: https://github.com/Splizard/minetest-mod-snow/ +web: https://forum.minetest.net/viewtopic.php?f=11&t=4627&hilit=Sea (pas de github...) +mff-edit: Minimum snowfall setting +mff-edit-fr: Paramétrage minimal pour la tombé de neige + +[Snowdrift] +dir: snowdrift +git: https://github.com/paramat/snowdrift.git +web: https://forum.minetest.net/viewtopic.php?id=6854 + +[Solar Mana] +dir: solarmana +git: https://github.com/bendeutsch/minetest-solarmana.git +web: https://forum.minetest.net/viewtopic.php?f=9&t=11728 + +[Soundset] +dir: soundset +git: https://github.com/crabman77/soundset.git + +[Spawn] +dir: spawn +internal: true + +[Sponge] +dir: sponge +internal: true +note: By davedevils, given it to me in a .zip... + +[Sprint] +dir: sprint +git: https://github.com/GunshipPenguin/sprint.git +mff-edit: Stop when clicking, cacti damage included in the position check loop +mff-edit-fr: Arrêt quand un clique est effectué, dégât des cactus dans la boucle du check position + +[Stained Glass] +dir: stained_glass + +[Throwing] +dir: throwing +git: https://github.com/PilzAdam/throwing.git + +[Track players] +dir: track_players +internal: true + +[Treasurer] +dir: treasurer +web: https://forum.minetest.net/viewtopic.php?id=7292 + +[TrmPyramids] +dir: trm_pyramids +internal: true + +[TsmPyramids] +dir: tsm_pyramids +git: http://repo.or.cz/w/minetest_pyramids/tsm_pyramids.git + +[Unified Dyes] +dir: unifieddyes +git: https://github.com/VanessaE/unifieddyes.git + +[Unified Inventory] +dir: unified_inventory +git: https://github.com/minetest-technic/unified_inventory.git + +[U_skins] +dir: u_skins +git: https://github.com/SmallJoker/minetest-u_skinsdb.git + +[Vector Extras] +dir: vector_extras +git: https://github.com/HybridDog/vector_extras.git + +[Warps] +dir: warps +git: https://github.com/sofar/warps.git +web: https://forum.minetest.net/viewtopic.php?t=12005&p=177374 + +[Watershed] +dir: Watershed +git: https://github.com/paramat/watershed.git -https://forum.minetest.net/viewtopic.php?f=11&t=4627&hilit=Sea (pas de github...) -https://github.com/Splizard/minetest-mod-snow/ - => Modifié pour : paramétrage minimal pour la tombé de neige -https://github.com/GunshipPenguin/sprint -[Sponge] => by davedevils, given it to me in a .zip... -https://github.com/GunshipPenguin/sprint - => Modifié pour : arrêt quand un clique est effectué, dégât des cactus dans la boucle du check position -[Stained_Glass] -https://github.com/PilzAdam/throwing -https://github.com/SmallJoker/minetest-u_skinsdb/ -https://github.com/minetest-technic/unified_inventory -https://github.com/VanessaE/unifieddyes -https://github.com/HybridDog/vector_extras --nether dependence, with riesenpilz [WhoIsOn] -http://github.com/kaeza/minetest-xban2.git +dir: whoison +internal: true -======= TO CHECK ======= +[World Edge] +dir: worldedge +git: https://github.com/DonBatman/worldedge.git +web: https://forum.minetest.net/viewtopic.php?f=9&t=10753 + +[World Edit] +dir: WorldEdit +git: https://github.com/Uberi/Minetest-WorldEdit.git +web: https://forum.minetest.net/viewtopic.php?id=572 + +[Xban2] +dir: xban2 +git: http://github.com/kaeza/minetest-xban2.git