New translation system, part 5: Items, part 1

This commit is contained in:
Wuzzy 2019-03-07 21:35:02 +01:00
parent 0cc038c545
commit 342202c979
9 changed files with 153 additions and 138 deletions

View file

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_beds")
local pi = math.pi
local player_in_bed = 0
local is_sp = minetest.is_singleplayer()
@ -67,20 +69,20 @@ local function lay_down(player, pos, bed_pos, state, skip)
if bed_pos then
-- No sleeping if too far away
if vector.distance(bed_pos, pos) > 2 then
minetest.chat_send_player(name, "You can't sleep, the bed's too far away!")
minetest.chat_send_player(name, S("You can't sleep, the bed's too far away!"))
return false
end
for _, other_pos in pairs(mcl_beds.bed_pos) do
if vector.distance(bed_pos, other_pos) < 0.1 then
minetest.chat_send_player(name, "This bed is already occupied!")
minetest.chat_send_player(name, S("This bed is already occupied!"))
return false
end
end
-- No sleeping while moving. Slightly different behaviour than in MC.
if vector.length(player:get_player_velocity()) > 0.001 then
minetest.chat_send_player(name, "You have to stop moving before going to bed!")
minetest.chat_send_player(name, S("You have to stop moving before going to bed!"))
return false
end
@ -96,7 +98,7 @@ local function lay_down(player, pos, bed_pos, state, skip)
-- Approximation of monster detection range
if def._cmi_is_mob and ((mobname ~= "mobs_mc:pigman" and def.type == "monster" and not monster_exceptions[mobname]) or (mobname == "mobs_mc:pigman" and ent.state == "attack")) then
if math.abs(bed_pos.y - obj:get_pos().y) <= 5 then
minetest.chat_send_player(name, "You can't sleep now, monsters are nearby!")
minetest.chat_send_player(name, S("You can't sleep now, monsters are nearby!"))
end
return false
end
@ -143,10 +145,10 @@ local function lay_down(player, pos, bed_pos, state, skip)
local def1 = minetest.registered_nodes[n1.name]
local def2 = minetest.registered_nodes[n2.name]
if def1.walkable or def2.walkable then
minetest.chat_send_player(name, "You can't sleep, the bed is obstructed!")
minetest.chat_send_player(name, S("You can't sleep, the bed is obstructed!"))
return false
elseif (def1.damage_per_second ~= nil and def1.damage_per_second > 0) or (def2.damage_per_second ~= nil and def2.damage_per_second > 0) then
minetest.chat_send_player(name, "It's too dangerous to sleep here!")
minetest.chat_send_player(name, S("It's too dangerous to sleep here!"))
return false
end
@ -162,14 +164,14 @@ local function lay_down(player, pos, bed_pos, state, skip)
-- Values taken from Minecraft Wiki with offset of +6000
if tod < 18541 and tod > 5458 and (not weather_mod or (mcl_weather.get_weather() ~= "thunder")) then
if spawn_changed then
minetest.chat_send_player(name, "New respawn position set! But you can only sleep at night or during a thunderstorm.")
minetest.chat_send_player(name, S("New respawn position set! But you can only sleep at night or during a thunderstorm."))
else
minetest.chat_send_player(name, "You can only sleep at night or during a thunderstorm.")
minetest.chat_send_player(name, S("You can only sleep at night or during a thunderstorm."))
end
return false
end
if spawn_changed then
minetest.chat_send_player(name, "New respawn position set!")
minetest.chat_send_player(name, S("New respawn position set!"))
end
mcl_beds.player[name] = 1