1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2025-06-28 06:11:47 +02:00

Fix [buckets] w/ acid or sand, make [death_message] work w/ aliases

This commit is contained in:
Dorian Wouters
2016-08-21 12:32:06 +02:00
parent 2841c76d60
commit 32ae8aca19
8 changed files with 53 additions and 43 deletions

View File

@ -124,12 +124,12 @@ local monsters = {
["mobs:cow"] = "cow",
["mobs:creeper"] = "creeper",
["mobs:dog"] = "dog",
["mobs:greenbig"] = "big green slim",
["mobs:greenmedium"] = "medium green slim",
["mobs:greensmall"] = "small green slim",
["mobs:lavabig"] = "big lava slim",
["mobs:lavamedium"] = "medium lava slim",
["mobs:lavasmall"] = "small lava slim",
["mobs:greenbig"] = "big green slime",
["mobs:greenmedium"] = "medium green slime",
["mobs:greensmall"] = "small green slime",
["mobs:lavabig"] = "big lava slime",
["mobs:lavamedium"] = "medium lava slime",
["mobs:lavasmall"] = "small lava slime",
["mobs:yeti"] = "yeti",
["mobs:snowball"] = "yeti",
["mobs:npc"] = "npc",
@ -197,6 +197,11 @@ minetest.register_on_respawnplayer(function(player)
whacked[player:get_player_name()] = nil
end)
local function equiv(what, to)
what = (type(what) ~= 'string') and what.name or what
return what == to or minetest.registered_aliases[what] == to
end
if RANDOM_MESSAGES == true then
minetest.register_on_dieplayer(function(player)
local player_name = player:get_player_name()
@ -219,10 +224,10 @@ if RANDOM_MESSAGES == true then
elseif player:get_breath() == 0 and node.groups.water then
death_message = messages.water[math.random(1,#messages.water)]
-- Death by fire
elseif node.name == "fire:basic_flame" then
elseif equiv(node, "fire:basic_flame") then
death_message = messages.fire[math.random(1,#messages.fire)]
-- Death in quicksand
elseif player:get_breath() == 0 and node.name == "default:sand_source" or node.name == "default:sand_flowing" then
elseif player:get_breath() == 0 and equiv(node, "default:sand_source") or equiv(node, "default:sand_flowing") then
death_message = messages.sand[math.random(1,#messages.sand)]
-- Death by something else
else
@ -254,7 +259,7 @@ else
elseif player:get_breath() == 0 then
minetest.chat_send_all(player_name .. " ran out of air.")
-- Death by fire
elseif node.name == "fire:basic_flame" then
elseif equiv(node, "fire:basic_flame") then
minetest.chat_send_all(player_name .. " burned to a crisp.")
-- Death by something else
else

View File

@ -33,3 +33,8 @@ do -- moreores
minetest.register_alias('silver_block', modname .. ':silverblock')
minetest.register_alias('tin_block', modname .. ':tinblock')
end
minetest.register_alias('bucket_acid', modname .. ':bucket_acid')
minetest.register_alias('bucket:bucket_acid', modname .. ':bucket_acid')
minetest.register_alias('bucket_sand', modname .. ':bucket_sand')
minetest.register_alias('bucket:bucket_sand', modname .. ':bucket_sand')

View File

@ -1 +1,2 @@
default
bucket

View File

@ -11,3 +11,4 @@ dofile(modpath .. '/biomes.lua')
dofile(modpath .. '/mapgen.lua')
dofile(modpath .. '/nodes.lua')
dofile(modpath .. '/trees.lua')
dofile(modpath .. '/registers.lua')

View File

@ -0,0 +1,28 @@
local modname = minetest.get_current_modname()
bucket.register_liquid(
modname .. ':acid_source',
modname .. ':acid_flowing',
modname .. ':bucket_acid',
'bucket_acid.png',
"Acid Bucket",
{not_in_creative_inventory = 1}
)
bucket.register_liquid(
modname .. ':sand_source',
modname .. ':sand_flowing',
modname .. ':bucket_sand',
'bucket_sand.png',
"Sand Bucket",
{not_in_creative_inventory = 1}
)
minetest.register_craft({
output = modname .. ':bucket_sand',
recipe = {
{'group:sand'},
{'group:sand'},
{'bucket:bucket_water'}
},
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B