mirror of
https://github.com/minetest-mods/MoreMesecons.git
synced 2025-01-09 17:30:24 +01:00
Define vector_extras functions in moremesecons_utils
if vector_extras is not loaded Loading vector_extras is still recommended because its functions may be more up-to-date.
This commit is contained in:
parent
66ccf8af3b
commit
d8c859a162
@ -4,11 +4,10 @@ Based on Mesecons by Jeija
|
|||||||
By @paly2 and @HybridDog
|
By @paly2 and @HybridDog
|
||||||
With the participation of @LeMagnesium (bugfix), @Ataron (textures), @JAPP (texture).
|
With the participation of @LeMagnesium (bugfix), @Ataron (textures), @JAPP (texture).
|
||||||
|
|
||||||
Dependencies: [Mesecons](https://github.com/Jeija/minetest-mod-mesecons/), [vector_extras](https://github.com/HybridDog/vector_extras/), [digilines](https://github.com/minetest-mods/digilines) (optional).
|
Dependencies: [Mesecons](https://github.com/Jeija/minetest-mod-mesecons/)
|
||||||
|
Optional dependencies: [vector_extras](https://github.com/HybridDog/vector_extras/) [digilines](https://github.com/minetest-mods/digilines)
|
||||||
|
|
||||||
This mod is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License v3.0 as published by the Free Software Foundation. You should have received a copy of the GNU General Public License along with this mod.
|
MoreMesecons is a mod for minetest which adds some mesecons items.
|
||||||
|
|
||||||
MoreMesecons is a mod for minetest wich adds some mesecons items.
|
|
||||||
|
|
||||||
[Here](http://github.com/minetest-mods/MoreMesecons/wiki)'s the wiki !
|
[Here](http://github.com/minetest-mods/MoreMesecons/wiki)'s the wiki !
|
||||||
|
|
||||||
|
@ -1,3 +1,2 @@
|
|||||||
mesecons
|
mesecons
|
||||||
vector_extras
|
|
||||||
moremesecons_utils
|
moremesecons_utils
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
mesecons
|
mesecons
|
||||||
vector_extras
|
moremesecons_utils
|
||||||
|
@ -255,7 +255,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||||||
local code = get_code_or_nil(pname, fields.player_name, fields.template_name)
|
local code = get_code_or_nil(pname, fields.player_name, fields.template_name)
|
||||||
if code then
|
if code then
|
||||||
set_luacontroller_code(pos, code)
|
set_luacontroller_code(pos, code)
|
||||||
minetest.chat_send_player(pname, "code set to template at "..vector.pos_to_string(pos))
|
minetest.chat_send_player(pname, "code set to template at "..minetest.pos_to_string(pos))
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@ -265,7 +265,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||||||
local code = get_code_or_nil(pname, fields.player_name, fields.template_name)
|
local code = get_code_or_nil(pname, fields.player_name, fields.template_name)
|
||||||
if code then
|
if code then
|
||||||
set_luacontroller_code(pos, meta:get_string("code").."\r"..code)
|
set_luacontroller_code(pos, meta:get_string("code").."\r"..code)
|
||||||
minetest.chat_send_player(pname, "code added to luacontroller at "..vector.pos_to_string(pos))
|
minetest.chat_send_player(pname, "code added to luacontroller at "..minetest.pos_to_string(pos))
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -1,3 +1,2 @@
|
|||||||
mesecons
|
mesecons
|
||||||
vector_extras
|
|
||||||
moremesecons_utils
|
moremesecons_utils
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
vector_extras?
|
@ -24,3 +24,54 @@ function moremesecons.setting(modname, settingname, default, min)
|
|||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Vector helpers
|
||||||
|
-- All the following functions are from the vector_extras mod (https://github.com/HybridDog/vector_extras).
|
||||||
|
-- If you enable that mod, its functions will be used instead of the ones defined below
|
||||||
|
|
||||||
|
if not vector.get_data_from_pos then
|
||||||
|
function vector.get_data_from_pos(tab, z,y,x)
|
||||||
|
local data = tab[z]
|
||||||
|
if data then
|
||||||
|
data = data[y]
|
||||||
|
if data then
|
||||||
|
return data[x]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if not vector.set_data_to_pos then
|
||||||
|
function vector.set_data_to_pos(tab, z,y,x, data)
|
||||||
|
if tab[z] then
|
||||||
|
if tab[z][y] then
|
||||||
|
tab[z][y][x] = data
|
||||||
|
return
|
||||||
|
end
|
||||||
|
tab[z][y] = {[x] = data}
|
||||||
|
return
|
||||||
|
end
|
||||||
|
tab[z] = {[y] = {[x] = data}}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if not vector.remove_data_from_pos then
|
||||||
|
function vector.remove_data_from_pos(tab, z,y,x)
|
||||||
|
if vector.get_data_from_pos(tab, z,y,x) == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
tab[z][y][x] = nil
|
||||||
|
if not next(tab[z][y]) then
|
||||||
|
tab[z][y] = nil
|
||||||
|
end
|
||||||
|
if not next(tab[z]) then
|
||||||
|
tab[z] = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if not vector.unpack then
|
||||||
|
function vector.unpack(pos)
|
||||||
|
return pos.z, pos.y, pos.x
|
||||||
|
end
|
||||||
|
end
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
mesecons
|
mesecons
|
||||||
vector_extras
|
|
||||||
moremesecons_utils
|
moremesecons_utils
|
||||||
digilines?
|
digilines?
|
||||||
|
Loading…
Reference in New Issue
Block a user