Fixed hungry mod and updated some textures
@ -551,8 +551,9 @@ mesecon_lamp_box = {
|
|||||||
|
|
||||||
minetest.register_node("default:torch", {
|
minetest.register_node("default:torch", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {"default_torch.png", "default_torch_side.png"},
|
description = "Electrical lamp",
|
||||||
inventory_image = "default_torch.png",
|
tiles = {"default_torch.png"},
|
||||||
|
inventory_image = "default_torch_inventory.png",
|
||||||
wield_light = 5,
|
wield_light = 5,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "wallmounted",
|
paramtype2 = "wallmounted",
|
||||||
|
Before Width: | Height: | Size: 290 B After Width: | Height: | Size: 225 B |
Before Width: | Height: | Size: 599 B After Width: | Height: | Size: 230 B |
Before Width: | Height: | Size: 225 B After Width: | Height: | Size: 206 B |
Before Width: | Height: | Size: 258 B After Width: | Height: | Size: 166 B |
Before Width: | Height: | Size: 219 B After Width: | Height: | Size: 168 B |
Before Width: | Height: | Size: 180 B After Width: | Height: | Size: 181 B |
@ -1,51 +1,46 @@
|
|||||||
--Simplest hunger mod ever by bas080
|
--Simplest hunger mod ever by bas080
|
||||||
local enabled = minetest.setting_getbool("enable_damage")
|
local hunger = {}
|
||||||
if enabled then
|
hunger.enabled = minetest.setting_getbool("enable_damage")
|
||||||
local timer = 0
|
if hunger.enabled then
|
||||||
local distance_interval = 15 --set distance check interval in seconds
|
local distance_interval = 15 --set distance check interval in seconds
|
||||||
|
|
||||||
local hunger_per_meter = 1/500 --1 hp per 500 meter walk
|
local hunger_per_meter = 1/500 --1 hp per 500 meter walk
|
||||||
local hunger_per_cubic = 1/100 --1 hp per 100 blocks dig
|
local hunger_per_cubic = 1/100 --1 hp per 100 blocks dig
|
||||||
|
|
||||||
local hunger = 0
|
|
||||||
|
|
||||||
local player = nil
|
|
||||||
local pos_one
|
|
||||||
minetest.register_on_joinplayer(function(joiner)
|
minetest.register_on_joinplayer(function(joiner)
|
||||||
minetest.after(0.5, function(param)
|
local player = joiner
|
||||||
player = joiner
|
local name = player:get_player_name()
|
||||||
pos_one = player:getpos()
|
minetest.after(5, function()
|
||||||
|
hunger[name] = 0
|
||||||
|
local pos_one = player:getpos()
|
||||||
|
hunger.update(player, pos_one)
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
hunger.update = function(player, pos_one)
|
||||||
|
if player == nil or pos_one == nil then return end
|
||||||
|
local pos_two = player:getpos()
|
||||||
|
if pos_two == nil then return end
|
||||||
|
local name = player:get_player_name()
|
||||||
|
minetest.after(distance_interval, function()
|
||||||
|
hunger.update(player,pos_two)
|
||||||
|
end)
|
||||||
|
print(hunger[name])
|
||||||
|
hunger[name] = hunger[name] + (math.hypot(pos_one.x-pos_two.x, pos_one.y-pos_two.y)+math.abs(pos_one.y-pos_two.y))*hunger_per_meter
|
||||||
|
if hunger[name] >=0.5 then
|
||||||
|
player:set_hp(player:get_hp()-hunger[name])
|
||||||
|
hunger[name] = 0
|
||||||
|
minetest.sound_play({ name="hunger_stomach" }, {
|
||||||
|
gain = 1.0;
|
||||||
|
max_hear_distance = 16;
|
||||||
|
});
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
minetest.register_on_dignode(function(pos, oldnode, player)
|
minetest.register_on_dignode(function(pos, oldnode, player)
|
||||||
hunger = hunger + hunger_per_cubic
|
local name = player:get_player_name()
|
||||||
if hunger >= 0.5 then
|
hunger[name] = hunger[name] + hunger_per_cubic
|
||||||
hunger = 0
|
if hunger[name] >= 0.5 then
|
||||||
player:set_hp(player:get_hp()-hunger)
|
player:set_hp(player:get_hp()-hunger[name])
|
||||||
end
|
hunger[name] = 0
|
||||||
end)
|
|
||||||
|
|
||||||
minetest.register_globalstep(function(dtime)
|
|
||||||
if player ~= nil then
|
|
||||||
timer = timer + dtime
|
|
||||||
if timer >= distance_interval then
|
|
||||||
timer = 0
|
|
||||||
local pos_two = player:getpos()
|
|
||||||
hunger = hunger + (math.hypot(pos_one.x-pos_two.x, pos_one.y-pos_two.y)+math.abs(pos_one.y-pos_two.y))*hunger_per_meter
|
|
||||||
pos_one = pos_two
|
|
||||||
if hunger >=0.5 then
|
|
||||||
timer = 0
|
|
||||||
player:set_hp(player:get_hp()-hunger)
|
|
||||||
hunger=0
|
|
||||||
minetest.sound_play({ name="hunger_stomach" }, {
|
|
||||||
gain = 1.0;
|
|
||||||
max_hear_distance = 16;
|
|
||||||
});
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|