[minetestforfun_game] Update

master
LeMagnesium 2015-10-21 13:59:12 +02:00
parent afd765477d
commit fbc99a5af3
9 changed files with 49 additions and 47 deletions

View File

@ -50,4 +50,4 @@ Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
http://creativecommons.org/licenses/by-sa/3.0/
License of menu/header.png
Copyright (C) 2013 BlockMen CC BY-3.0
Copyright (C) 2015 paramat CC BY-SA 3.0

View File

@ -163,7 +163,7 @@ on_rotate(pos, node, user, mode, new_param2)
Stairs API
----------
The stairs API lets you register stairs and slabs and ensures that they are registered the same way as those
delivered with minetest_game, to keep them compatible with other mods.
delivered with Minetest Game, to keep them compatible with other mods.
stairs.register_stair(subname, recipeitem, groups, images, description, sounds)
-> Registers a stair.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -1,3 +1,4 @@
local pi = math.pi
local player_in_bed = 0
local is_sp = minetest.is_singleplayer()
local enable_respawn = minetest.setting_getbool("enable_bed_respawn")
@ -11,13 +12,13 @@ end
local function get_look_yaw(pos)
local n = minetest.get_node(pos)
if n.param2 == 1 then
return 7.9, n.param2
return pi/2, n.param2
elseif n.param2 == 3 then
return 4.75, n.param2
return -pi/2, n.param2
elseif n.param2 == 0 then
return 3.15, n.param2
return pi, n.param2
else
return 6.28, n.param2
return 0, n.param2
end
end

View File

@ -33,7 +33,8 @@ local function book_on_use(itemstack, user, pointed_thing)
formspec = "size[8,8]"..default.gui_bg..
"label[0.5,0.5;by "..owner.."]"..
"label[0.5,0;"..minetest.formspec_escape(title).."]"..
"textarea[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text)..";]"
"tableoptions[background=#00000000;highlight=#00000000;border=false]"..
"table[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text):gsub("\n", ",")..";1]"
end
minetest.show_formspec(user:get_player_name(), "default:book", formspec)
end

View File

@ -351,7 +351,12 @@ minetest.register_abm({
default.leafdecay_trunk_find_allow_accumulator - 1
-- Assume ignore is a trunk, to make the thing
-- work at the border of the active area
local p1 = minetest.find_node_near(p0, d, {"ignore", "group:tree"})
local p1
if n0.name == "moretrees:palm_leaves" then
p1 = minetest.find_node_near(p0, d, {"ignore", "moretrees:palm_trunk"})
else
p1 = minetest.find_node_near(p0, d, {"ignore", "group:tree"})
end
if p1 then
do_preserve = true
if default.leafdecay_enable_cache then

View File

@ -669,9 +669,9 @@ function default.register_biomes()
minetest.register_biome({
name = "glacier_ocean",
node_dust = "default:snowblock",
node_top = "default:gravel",
node_top = "default:sand",
depth_top = 1,
node_filler = "default:gravel",
node_filler = "default:sand",
depth_filler = 2,
--node_stone = "",
--node_water_top = "",
@ -810,26 +810,8 @@ function default.register_biomes()
--depth_water_top = ,
--node_water = "",
--node_river_water = "",
y_min = 9,
y_max = 31000,
heat_point = 45,
humidity_point = 75,
})
minetest.register_biome({
name = "coniferous_forest_dunes",
--node_dust = "",
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 2,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
--node_water = "",
--node_river_water = "",
y_min = 5,
y_max = 8,
y_max = 31000,
heat_point = 45,
humidity_point = 75,
})
@ -1245,7 +1227,7 @@ local function register_grass_decoration(offset, scale, length)
persist = 0.6
},
biomes = {"stone_grassland", "sandstone_grassland",
"deciduous_forest", "coniferous_forest", "coniferous_forest_dunes"},
"deciduous_forest", "coniferous_forest"},
y_min = 1,
y_max = 31000,
decoration = "default:grass_"..length,

View File

@ -16,6 +16,10 @@ local function can_grow(pos)
if is_soil == 0 then
return false
end
local ll = minetest.get_node_light(pos)
if not ll or ll < 13 then -- Minimum light level for growth
return false -- matches grass, wheat and cotton
end
return true
end

View File

@ -14,33 +14,42 @@ home.sethome = function(name)
p_status = "nether"
end
home.homepos[p_status][name] = pos
minetest.chat_send_player(name, "Home set!")
local output = io.open(home.homes_file[p_status], "w")
output:write(minetest.serialize(home.homepos[p_status]))
io.close(output)
return true
local function assign_home()
home.homepos[p_status][name] = pos
minetest.chat_send_player(name, "Home set!")
local output = io.open(home.homes_file[p_status], "w")
output:write(minetest.serialize(home.homepos[p_status]))
io.close(output)
return true
end
action_timers.wrapper(name, "sethome", "sethome_" .. name, home.time, assign_home, {})
end
home.tohome = function(name)
local player = minetest.get_player_by_name(name)
if player == nil then
-- just a check to prevent the server crashing
return false
end
local player = minetest.get_player_by_name(name)
if player == nil then
-- just a check to prevent the server crashing
return false
end
local p_status = "real"
if player:getpos().y < -19600 then
p_status = "nether"
end
if home.homepos[p_status][name] then
player:setpos(home.homepos[p_status][player:get_player_name()])
minetest.chat_send_player(name, "Teleported to home!")
minetest.log("action","Player ".. name .." teleported to home. Next teleportation allowed in ".. home.time .." seconds.")
return true
else
local function go_to_home()
player:setpos(home.homepos[p_status][player:get_player_name()])
minetest.chat_send_player(name, "Teleported to home!")
minetest.log("action","Player ".. name .." teleported to home. Next teleportation allowed in ".. home.time .." seconds.")
return true
end
action_timers.wrapper(name, "home", "home_" .. name, home.time, go_to_home, {})
else
minetest.chat_send_player(name, "Set a home using /sethome")
return false
end
end
end
local function loadhomes()