Mods in den Spieleordner reingeschoben. So richtig tief.
This commit is contained in:
parent
b4b6c08f4f
commit
f7bc25a670
1674 changed files with 56056 additions and 530 deletions
127
mods/cucina_vegana/lib.lua
Normal file
127
mods/cucina_vegana/lib.lua
Normal file
|
@ -0,0 +1,127 @@
|
|||
--[[
|
||||
**********************************************
|
||||
*** cucina_vegana ***
|
||||
*** lib.lua ***
|
||||
**********************************************
|
||||
]]--
|
||||
|
||||
local cv = cucina_vegana
|
||||
local mt = minetest
|
||||
local S = cv.get_translator
|
||||
math.randomseed(os.time())
|
||||
|
||||
function cv.lib.register_bottom_abm(node, nextnode, duration, light)
|
||||
local percent = 1
|
||||
|
||||
if(mt.registered_nodes[node]) then
|
||||
mt.register_abm({
|
||||
nodenames = {node},
|
||||
interval = duration,
|
||||
chance = percent,
|
||||
catch_up = true,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local nodepos = pos
|
||||
if(cv.lib.check_soil(nodepos)) then
|
||||
if(cv.lib.check_light(nodepos, light)) then
|
||||
mt.set_node(nodepos, {name = nextnode})
|
||||
|
||||
end -- if(cv.check_light
|
||||
|
||||
end -- if(cv.lib.check_soil)
|
||||
|
||||
end, -- function(
|
||||
|
||||
}) -- minetest.register_abm({
|
||||
|
||||
end -- if(nodename ~= nil
|
||||
|
||||
end
|
||||
|
||||
function cv.lib.register_top_abm(node, nextnode, duration, light)
|
||||
local percent = 1
|
||||
|
||||
if(mt.registered_nodes[node]) then
|
||||
mt.register_abm({
|
||||
nodenames = {node},
|
||||
interval = duration,
|
||||
chance = percent,
|
||||
catch_up = true,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local nodepos = pos
|
||||
if(cv.lib.check_light(nodepos, light)) then
|
||||
mt.set_node(nodepos, {name = nextnode})
|
||||
|
||||
end -- if(cv.check_light
|
||||
|
||||
end, -- function(
|
||||
|
||||
}) -- minetest.register_abm({
|
||||
|
||||
end -- if(nodename ~= nil
|
||||
|
||||
end
|
||||
|
||||
function cv.lib.check_light(pos, level)
|
||||
local node = mt.get_node_or_nil(pos)
|
||||
|
||||
if(node) then
|
||||
local light = mt.get_node_light(pos) or 0
|
||||
if(light >= level) then return true end
|
||||
|
||||
end -- if(minetest.get_node_or_nil(
|
||||
|
||||
return false
|
||||
|
||||
end -- function aqua_farming.check_light
|
||||
|
||||
function cv.lib.check_soil(pos)
|
||||
local below = {x = pos.x, y = pos.y - 1, z = pos.z}
|
||||
local soil = mt.get_node_or_nil(below)
|
||||
|
||||
if(soil and mt.get_item_group(soil, "group:soil")) then
|
||||
return true
|
||||
|
||||
end -- if(minetest.get_node_or_nil(
|
||||
|
||||
return false
|
||||
|
||||
end -- cv.lib.check_soil
|
||||
|
||||
function cv.lib.check_air(pos)
|
||||
local air = mt.get_node_or_nil(pos)
|
||||
if (air) and (string.match(air.name,"air")) then
|
||||
return true
|
||||
|
||||
end
|
||||
|
||||
return false
|
||||
|
||||
end -- cv.lib.check_air
|
||||
|
||||
function cv.lib.coffee_effect(playerobject)
|
||||
if(not playerobject) then return end
|
||||
|
||||
local playername = playerobject:get_player_name()
|
||||
local seconds = cv.settings.coffee_effect_duration
|
||||
local highspeed = cv.settings.coffee_effect_speed
|
||||
local normalspeed = 1
|
||||
|
||||
playerobject:set_physics_override({speed = highspeed})
|
||||
minetest.chat_send_player(playername, S("Coffeespeed. @1 Seconds left.", seconds))
|
||||
|
||||
minetest.after(seconds/2, function()
|
||||
local playerobject = minetest.get_player_by_name(playername)
|
||||
if(not playerobject) then return end
|
||||
|
||||
minetest.chat_send_player(playername,S("@1 Seconds left.", seconds/2))
|
||||
end, playername)
|
||||
|
||||
minetest.after(seconds, function()
|
||||
local playerobject = minetest.get_player_by_name(playername)
|
||||
if(not playerobject) then return end
|
||||
|
||||
minetest.chat_send_player(playername,S("You move normal again."))
|
||||
playerobject:set_physics_override({speed = normalspeed})
|
||||
end, playername)
|
||||
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue