[MFFGame] Update

master
LeMagnesium 2015-11-09 20:12:37 +01:00
parent 634325420d
commit 6f6a086596
14 changed files with 229 additions and 281 deletions

View File

@ -9,7 +9,8 @@
# 0 to disable
#share_bones_time = 1200
# Whether fire should be disabled (all fire nodes will instantly disappear)
# Whether standard fire should be disabled ('basic flame' nodes will disappear)
# 'permanent flame' nodes will remain with either setting
#disable_fire = false
# Whether steel tools, torches and cobblestone should be given to new players

View File

@ -68,9 +68,9 @@ minetest.register_alias("steel_ingot", "default:steel_ingot")
minetest.register_alias("clay_brick", "default:clay_brick")
minetest.register_alias("snow", "default:snow")
-- 'mese_block' was used for a while for the block form of mese
minetest.register_alias("default:mese_block", "default:mese")
-- Aliases for corrected pine node names
minetest.register_alias("default:pinetree", "default:pine_tree")
minetest.register_alias("default:pinewood", "default:pine_wood")
-- Mese now comes in the form of blocks, ore, crystal and fragments
minetest.register_alias("default:mese", "default:mese_block")

View File

@ -423,6 +423,11 @@ minetest.register_abm({
end
})
--
-- Grass and dry grass removed in darkness
--
minetest.register_abm({
nodenames = {"default:dirt_with_grass", "default:dirt_with_dry_grass"},
interval = 2,
@ -439,3 +444,18 @@ minetest.register_abm({
end
})
--[[
-- Moss growth on cobble near water
--
minetest.register_abm({
nodenames = {"default:cobble"},
neighbors = {"group:water"},
interval = 17,
chance = 200,
catch_up = false,
action = function(pos, node)
minetest.set_node(pos, {name = "default:mossycobble"})
end
})]]

View File

@ -53,7 +53,7 @@ function default.register_ores()
-- Clay
minetest.register_ore({
minetest.register_ore({
ore_type = "blob",
ore = "default:clay",
wherein = {"default:sand"},
@ -61,20 +61,20 @@ function default.register_ores()
clust_size = 7,
y_min = -15,
y_max = 0,
noise_threshhold = 0,
noise_threshhold = 0.0,
noise_params = {
offset = 0.35,
offset = 0.5,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = -316,
octaves = 1,
persist = 0.5
persist = 0.0
},
})
-- Sand
minetest.register_ore({
minetest.register_ore({
ore_type = "blob",
ore = "default:sand",
wherein = {"default:stone"},
@ -82,14 +82,14 @@ function default.register_ores()
clust_size = 7,
y_min = -63,
y_max = 4,
noise_threshhold = 0,
noise_threshhold = 0.0,
noise_params = {
offset = 0.35,
offset = 0.5,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = 2316,
octaves = 1,
persist = 0.5
persist = 0.0
},
})
@ -103,14 +103,14 @@ function default.register_ores()
clust_size = 7,
y_min = -63,
y_max = 31000,
noise_threshhold = 0,
noise_threshhold = 0.0,
noise_params = {
offset = 0.35,
offset = 0.5,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = 17676,
octaves = 1,
persist = 0.5
persist = 0.0
},
})
@ -124,14 +124,14 @@ function default.register_ores()
clust_size = 7,
y_min = -31000,
y_max = 31000,
noise_threshhold = 0,
noise_threshhold = 0.0,
noise_params = {
offset = 0.35,
offset = 0.5,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = 766,
octaves = 1,
persist = 0.5
persist = 0.0
},
})
@ -188,7 +188,7 @@ function default.register_ores()
ore_type = "scatter",
ore = "default:stone_with_iron",
wherein = "default:stone",
clust_scarcity = 11 * 11 * 11,
clust_scarcity = 12 * 12 * 12,
clust_num_ores = 3,
clust_size = 2,
y_min = -15,
@ -199,35 +199,33 @@ function default.register_ores()
ore_type = "scatter",
ore = "default:stone_with_iron",
wherein = "default:stone",
clust_scarcity = 10 * 10 * 10,
clust_scarcity = 9 * 9 * 9,
clust_num_ores = 5,
clust_size = 3,
y_min = -63,
y_max = -16,
y_min = -63,
y_max = -16,
})
minetest.register_ore({
ore_type = "scatter",
ore = "default:stone_with_iron",
wherein = "default:stone",
clust_scarcity = 9 * 9 * 9,
clust_scarcity = 7 * 7 * 7,
clust_num_ores = 5,
clust_size = 3,
y_min = -30000,
y_max = -64,
flags = "absheight",
})
minetest.register_ore({
ore_type = "scatter",
ore = "default:stone_with_iron",
wherein = "default:stone",
clust_scarcity = 25 * 25 * 25,
clust_scarcity = 24 * 24 * 24,
clust_num_ores = 27,
clust_size = 6,
y_min = -30000,
y_max = -64,
flags = "absheight",
})
minetest.register_ore({
@ -264,7 +262,6 @@ function default.register_ores()
clust_size = 3,
y_min = -1024,
y_max = -256,
flags = "absheight",
})
minetest.register_ore({
@ -276,7 +273,6 @@ function default.register_ores()
clust_size = 2,
y_min = -30000,
y_max = -1024,
flags = "absheight",
})
minetest.register_ore({
@ -341,7 +337,6 @@ function default.register_ores()
clust_size = 2,
y_min = -255,
y_max = -64,
flags = "absheight",
})
minetest.register_ore({
@ -353,7 +348,6 @@ function default.register_ores()
clust_size = 3,
y_min = -30000,
y_max = -256,
flags = "absheight",
})
-- Diamond
@ -662,7 +656,7 @@ function default.register_biomes()
node_river_water = "default:ice",
y_min = -8,
y_max = 31000,
heat_point = -5,
heat_point = 0,
humidity_point = 50,
})
@ -672,7 +666,7 @@ function default.register_biomes()
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -680,7 +674,7 @@ function default.register_biomes()
--node_river_water = "",
y_min = -112,
y_max = -9,
heat_point = -5,
heat_point = 0,
humidity_point = 50,
})
@ -688,11 +682,11 @@ function default.register_biomes()
minetest.register_biome({
name = "tundra",
node_dust = "default:snow",
--node_dust = "",
node_top = "default:dirt_with_snow",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 0,
depth_filler = 1,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -700,8 +694,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = 2,
y_max = 31000,
heat_point = 20,
humidity_point = 25,
heat_point = 15,
humidity_point = 35,
})
minetest.register_biome({
@ -710,7 +704,7 @@ function default.register_biomes()
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -718,18 +712,18 @@ function default.register_biomes()
--node_river_water = "",
y_min = -112,
y_max = 1,
heat_point = 20,
humidity_point = 25,
heat_point = 15,
humidity_point = 35,
})
minetest.register_biome({
name = "taiga",
node_dust = "default:snow",
node_top = "default:snowblock",
node_top = "default:dirt_with_snow",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -737,8 +731,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = 2,
y_max = 31000,
heat_point = 20,
humidity_point = 75,
heat_point = 15,
humidity_point = 65,
})
minetest.register_biome({
@ -747,7 +741,7 @@ function default.register_biomes()
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -755,8 +749,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = -112,
y_max = 1,
heat_point = 20,
humidity_point = 75,
heat_point = 15,
humidity_point = 65,
})
-- Temperate
@ -767,7 +761,7 @@ function default.register_biomes()
node_top = "default:dirt_with_grass",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 0,
depth_filler = 1,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -775,8 +769,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = 5,
y_max = 31000,
heat_point = 45,
humidity_point = 25,
heat_point = 40,
humidity_point = 35,
})
minetest.register_biome({
@ -785,7 +779,7 @@ function default.register_biomes()
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -793,8 +787,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = -112,
y_max = 4,
heat_point = 45,
humidity_point = 25,
heat_point = 40,
humidity_point = 35,
})
@ -804,7 +798,7 @@ function default.register_biomes()
node_top = "default:dirt_with_grass",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -812,8 +806,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = 5,
y_max = 31000,
heat_point = 45,
humidity_point = 75,
heat_point = 40,
humidity_point = 65,
})
minetest.register_biome({
@ -822,7 +816,7 @@ function default.register_biomes()
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -830,8 +824,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = -112,
y_max = 4,
heat_point = 45,
humidity_point = 75,
heat_point = 40,
humidity_point = 65,
})
@ -841,7 +835,7 @@ function default.register_biomes()
node_top = "default:dirt_with_grass",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 0,
depth_filler = 1,
node_stone = "default:sandstone",
--node_water_top = "",
--depth_water_top = ,
@ -849,8 +843,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = 5,
y_max = 31000,
heat_point = 70,
humidity_point = 25,
heat_point = 60,
humidity_point = 35,
})
minetest.register_biome({
@ -859,7 +853,7 @@ function default.register_biomes()
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 2,
depth_filler = 3,
node_stone = "default:sandstone",
--node_water_top = "",
--depth_water_top = ,
@ -867,8 +861,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = -112,
y_max = 4,
heat_point = 70,
humidity_point = 25,
heat_point = 60,
humidity_point = 35,
})
@ -878,7 +872,7 @@ function default.register_biomes()
node_top = "default:dirt_with_grass",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -886,8 +880,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = 1,
y_max = 31000,
heat_point = 70,
humidity_point = 75,
heat_point = 60,
humidity_point = 65,
})
minetest.register_biome({
@ -896,7 +890,7 @@ function default.register_biomes()
node_top = "default:dirt",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -904,8 +898,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = -3,
y_max = 0,
heat_point = 70,
humidity_point = 75,
heat_point = 60,
humidity_point = 65,
})
minetest.register_biome({
@ -914,7 +908,7 @@ function default.register_biomes()
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -922,8 +916,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = -112,
y_max = -4,
heat_point = 70,
humidity_point = 75,
heat_point = 60,
humidity_point = 65,
})
-- Hot
@ -942,8 +936,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = 5,
y_max = 31000,
heat_point = 95,
humidity_point = 10,
heat_point = 85,
humidity_point = 20,
})
minetest.register_biome({
@ -952,7 +946,7 @@ function default.register_biomes()
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 2,
depth_filler = 3,
node_stone = "default:desert_stone",
--node_water_top = "",
--depth_water_top = ,
@ -960,8 +954,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = -112,
y_max = 4,
heat_point = 95,
humidity_point = 10,
heat_point = 85,
humidity_point = 20,
})
@ -979,7 +973,7 @@ function default.register_biomes()
--node_river_water = "",
y_min = 1,
y_max = 31000,
heat_point = 95,
heat_point = 85,
humidity_point = 50,
})
@ -989,7 +983,7 @@ function default.register_biomes()
node_top = "default:dirt",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -997,7 +991,7 @@ function default.register_biomes()
--node_river_water = "",
y_min = -3,
y_max = 0,
heat_point = 95,
heat_point = 85,
humidity_point = 50,
})
@ -1007,7 +1001,7 @@ function default.register_biomes()
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -1015,7 +1009,7 @@ function default.register_biomes()
--node_river_water = "",
y_min = -112,
y_max = -4,
heat_point = 95,
heat_point = 85,
humidity_point = 50,
})
@ -1026,7 +1020,7 @@ function default.register_biomes()
node_top = "default:dirt_with_grass",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -1034,8 +1028,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = 1,
y_max = 31000,
heat_point = 95,
humidity_point = 90,
heat_point = 85,
humidity_point = 80,
})
minetest.register_biome({
@ -1044,7 +1038,7 @@ function default.register_biomes()
node_top = "default:dirt",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -1052,8 +1046,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = -3,
y_max = 0,
heat_point = 95,
humidity_point = 90,
heat_point = 85,
humidity_point = 80,
})
minetest.register_biome({
@ -1062,7 +1056,7 @@ function default.register_biomes()
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 2,
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
@ -1070,8 +1064,8 @@ function default.register_biomes()
--node_river_water = "",
y_min = -112,
y_max = -4,
heat_point = 95,
humidity_point = 90,
heat_point = 85,
humidity_point = 80,
})
-- Underground
@ -1092,10 +1086,6 @@ function default.register_biomes()
y_max = -113,
heat_point = 50,
humidity_point = 50,
node_underwater = "default:sand",
height_shore = 3,
node_shore_filler = "default:sand",
node_shore_top = "default:sand",
})
end
@ -1127,7 +1117,7 @@ function default.register_mgv6_decorations()
y_max = 1,
decoration = "default:papyrus",
height = 2,
y_max = 4,
height_max = 4,
spawn_by = "default:water_source",
num_spawn_by = 1,
})
@ -1150,7 +1140,7 @@ function default.register_mgv6_decorations()
y_max = 30,
decoration = "default:cactus",
height = 3,
y_max = 4,
height_max = 4,
})
-- Long grasses
@ -1293,11 +1283,11 @@ function default.register_decorations()
rotation = "random",
})
-- Taiga and temperate forest pine tree
-- Taiga and temperate coniferous forest pine tree
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:snowblock", "default:dirt_with_grass"},
place_on = {"default:dirt_with_snow", "default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.04,
@ -1377,7 +1367,7 @@ function default.register_decorations()
y_max = 31000,
decoration = "default:cactus",
height = 2,
y_max = 5,
height_max = 5,
})
-- Papyrus
@ -1491,13 +1481,13 @@ function default.generate_nyancats(minp, maxp, seed)
local volume = (maxp.x - minp.x + 1) * (y_max - y_min + 1) * (maxp.z - minp.z + 1)
local pr = PseudoRandom(seed + 9324342)
local max_num_nyancats = math.floor(volume / (16 * 16 * 16))
for i = 1,max_num_nyancats do
for i = 1, max_num_nyancats do
if pr:next(0, 1000) == 0 then
local x0 = pr:next(minp.x, maxp.x)
local y0 = pr:next(minp.y, maxp.y)
local z0 = pr:next(minp.z, maxp.z)
local p0 = { x =x0, y = y0, z = z0}
default.make_nyancat(p0, pr:next(0, 3), pr:next(10, 15))
local p0 = {x = x0, y = y0, z = z0}
default.make_nyancat(p0, pr:next(0, 3), pr:next(3, 15))
end
end
end

View File

@ -195,13 +195,9 @@ default:nyancat_rainbow
minetest.register_node("default:stone", {
description = "Stone",
tiles = {"default_stone.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 1},
drop = {
items = {
{items = {"default:cobble"}},
},
},
drop = 'default:cobble',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
@ -234,13 +230,8 @@ minetest.register_node("default:mossycobble", {
description = "Mossy Cobblestone",
tiles = {"default_mossycobble.png"},
is_ground_content = false,
groups = {cracky=3, stone=1},
drop = {
items = {
{items = {"default:mossycobble"}},
},
},
groups = {cracky = 3},
groups = {cracky = 3, stone = 1},
drop = "default:mossycobble",
sounds = default.node_sound_stone_defaults(),
})
@ -248,13 +239,9 @@ minetest.register_node("default:mossycobble", {
minetest.register_node("default:desert_stone", {
description = "Desert Stone",
tiles = {"default_desert_stone.png"},
legacy_mineral = true,
groups = {crumbly = 1, cracky = 3, stone = 1},
drop = {
items = {
{items = {"default:desert_cobble"}},
},
},
drop = 'default:desert_cobble',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
@ -278,7 +265,7 @@ minetest.register_node("default:desert_stonebrick", {
minetest.register_node("default:sandstone", {
description = "Sandstone",
tiles = {"default_sandstone.png"},
groups = {crumbly=1,cracky=3},
groups = {crumbly = 1,cracky = 3},
sounds = default.node_sound_stone_defaults(),
})
@ -286,7 +273,7 @@ minetest.register_node("default:sandstonebrick", {
description = "Sandstone Brick",
tiles = {"default_sandstone_brick.png"},
is_ground_content = false,
groups = {cracky=2},
groups = {cracky = 2},
sounds = default.node_sound_stone_defaults(),
})
@ -323,12 +310,8 @@ minetest.register_node("default:obsidianbrick", {
minetest.register_node("default:dirt", {
description = "Dirt",
tiles = {"default_dirt.png"},
groups = {crumbly=3, soil=1},
drop = {
items = {
{items = {"default:dirt"}},
},
},
groups = {crumbly = 3, soil = 1},
drop = "default:dirt",
sounds = default.node_sound_dirt_defaults(),
})
@ -337,14 +320,10 @@ minetest.register_node("default:dirt_with_grass", {
tiles = {"default_grass.png", "default_dirt.png",
{name = "default_dirt.png^default_grass_side.png",
tileable_vertical = false}},
groups = {crumbly=3,soil=1},
drop = {
items = {
{items = {"default:dirt"}},
},
},
groups = {crumbly = 3, soil = 1},
drop = 'default:dirt',
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_grass_footstep", gain=0.8},
footstep = {name = "default_grass_footstep", gain = 0.8},
}),
})
@ -420,7 +399,7 @@ minetest.register_node("default:desert_sand", {
minetest.register_node("default:gravel", {
description = "Gravel",
tiles = {"default_gravel.png"},
groups = {crumbly=2, falling_node=1},
groups = {crumbly = 2, falling_node = 1},
drop = {
items = {
{items = {"default:gravel"}},
@ -466,14 +445,9 @@ minetest.register_node("default:snow", {
tiles = {"default_snow.png"},
inventory_image = "default_snowball.png",
wield_image = "default_snowball.png",
is_ground_content = true,
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
leveled = 7,
drawtype = "nodebox",
freezemelt = "default:water_flowing",
node_box = {
type = "fixed",
fixed = {
@ -507,13 +481,10 @@ minetest.register_node("default:snowblock", {
minetest.register_node("default:ice", {
description = "Ice",
drawtype = "glasslike",
tiles = {"default_ice.png"},
is_ground_content = true,
is_ground_content = false,
paramtype = "light",
groups = {cracky = 3, puts_out_fire = 1},
use_texture_alpha = true,
post_effect_color = {a = 120, r = 120, g = 160, b = 180},
sounds = default.node_sound_glass_defaults(),
})
@ -555,12 +526,11 @@ minetest.register_node("default:sapling", {
paramtype = "light",
sunlight_propagates = true,
walkable = false,
is_ground_content = true,
selection_box = {
type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
},
groups = {snappy = 3, flammable=2,
groups = {snappy = 1, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
})
@ -573,21 +543,20 @@ minetest.register_node("default:leaves", {
tiles = {"default_leaves.png"},
special_tiles = {"default_leaves_simple.png"},
paramtype = "light",
walkable = false,
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
drop = {
max_items = 1,
items = {
{
-- Player will get sapling with 1/18 chance:
items = {"default:sapling"},
-- player will get sapling with 1/18 chance
items = {'default:sapling'},
rarity = 18,
},
{
-- Player will get leaves only if he gets no saplings
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {"default:leaves"},
items = {'default:leaves'},
}
}
},
@ -605,7 +574,7 @@ minetest.register_node("default:apple", {
paramtype = "light",
sunlight_propagates = true,
walkable = false,
is_ground_content = true,
is_ground_content = false,
selection_box = {
type = "fixed",
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
@ -652,25 +621,17 @@ minetest.register_node("default:jungleleaves", {
description = "Jungle Leaves",
drawtype = "allfaces_optional",
waving = 1,
visual_scale = 1.3,
tiles = {"default_jungleleaves.png"},
special_tiles = {"default_jungleleaves_simple.png"},
paramtype = "light",
is_ground_content = false,
walkable = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
drop = {
max_items = 1,
items = {
{
-- Player will get sapling with 1/18 chance:
items = {"default:junglesapling"},
rarity = 18,
},
{
-- Player will get leaves only if he gets no saplings,
-- this is because max_items is 1:
items = {"default:jungleleaves"},
}
{items = {'default:junglesapling'}, rarity = 20},
{items = {'default:jungleleaves'}}
}
},
sounds = default.node_sound_leaves_defaults(),
@ -686,6 +647,7 @@ minetest.register_node("default:junglesapling", {
inventory_image = "default_junglesapling.png",
wield_image = "default_junglesapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
@ -748,7 +710,6 @@ minetest.register_node("default:pine_sapling", {
paramtype = "light",
sunlight_propagates = true,
walkable = false,
is_ground_content = true,
selection_box = {
type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
@ -1093,7 +1054,6 @@ minetest.register_node("default:goldblock", {
})
minetest.register_node("default:stone_with_diamond", {
description = "Diamond Ore",
tiles = {"default_stone.png^default_mineral_diamond.png"},
@ -1161,7 +1121,6 @@ minetest.register_node("default:papyrus", {
paramtype = "light",
sunlight_propagates = true,
walkable = false,
is_ground_content = true,
selection_box = {
type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
@ -1185,7 +1144,6 @@ minetest.register_node("default:dry_shrub", {
paramtype = "light",
sunlight_propagates = true,
walkable = false,
is_ground_content = true,
buildable_to = true,
groups = {snappy = 3, flammable = 3, attached_node = 1},
sounds = default.node_sound_leaves_defaults(),
@ -1199,6 +1157,7 @@ minetest.register_node("default:junglegrass", {
description = "Jungle Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.3,
tiles = {"default_junglegrass.png"},
inventory_image = "default_junglegrass.png",
wield_image = "default_junglegrass.png",
@ -1210,7 +1169,7 @@ minetest.register_node("default:junglegrass", {
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
},
})
@ -1226,13 +1185,12 @@ minetest.register_node("default:grass_1", {
paramtype = "light",
sunlight_propagates = true,
walkable = false,
is_ground_content = true,
buildable_to = true,
groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
},
on_place = function(itemstack, placer, pointed_thing)
@ -1256,7 +1214,6 @@ for i = 2, 5 do
sunlight_propagates = true,
walkable = false,
buildable_to = true,
is_ground_content = true,
drop = "default:grass_1",
groups = {snappy = 3, flammable = 3, flora = 1,
attached_node = 1, not_in_creative_inventory = 1},
@ -1334,7 +1291,7 @@ minetest.register_node("default:water_source", {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 1.5,
length = 2.0,
},
},
},
@ -1346,7 +1303,7 @@ minetest.register_node("default:water_source", {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 1.5,
length = 2.0,
},
backface_culling = false,
},
@ -1359,13 +1316,13 @@ minetest.register_node("default:water_source", {
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 2,
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "default:water_flowing",
liquid_alternative_source = "default:water_source",
liquid_viscosity = 1,
liquid_range = 3,
post_effect_color = {a = 120, r = 20, g = 60, b = 80},
post_effect_color = {a = 120, r = 30, g = 60, b = 90},
groups = {water = 3, liquid = 3, puts_out_fire = 1},
})
@ -1382,7 +1339,7 @@ minetest.register_node("default:water_flowing", {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.6,
length = 0.8,
},
},
{
@ -1392,7 +1349,7 @@ minetest.register_node("default:water_flowing", {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.6,
length = 0.8,
},
},
},
@ -1405,17 +1362,18 @@ minetest.register_node("default:water_flowing", {
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 2,
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "default:water_flowing",
liquid_alternative_source = "default:water_source",
liquid_viscosity = 1,
liquid_range = 3,
post_effect_color = {a = 120, r = 20, g = 60, b = 80},
post_effect_color = {a = 120, r = 30, g = 60, b = 90},
groups = {water = 3, liquid = 3, puts_out_fire = 1,
not_in_creative_inventory=1},
not_in_creative_inventory = 1},
})
minetest.register_node("default:river_water_source", {
description = "River Water Source",
inventory_image = minetest.inventorycube("default_river_water.png"),
@ -1451,14 +1409,14 @@ minetest.register_node("default:river_water_source", {
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 2,
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "default:river_water_flowing",
liquid_alternative_source = "default:river_water_source",
liquid_viscosity = 1,
liquid_renewable = false,
liquid_range = 2,
post_effect_color = {a = 64, r = 100, g = 100, b = 200},
post_effect_color = {a = 120, r = 30, g = 76, b = 90},
groups = {water = 3, liquid = 3, puts_out_fire = 1},
})
@ -1498,18 +1456,19 @@ minetest.register_node("default:river_water_flowing", {
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 2,
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "default:river_water_flowing",
liquid_alternative_source = "default:river_water_source",
liquid_viscosity = 1,
liquid_renewable = false,
liquid_range = 2,
post_effect_color = {a = 64, r = 100, g = 100, b = 200},
post_effect_color = {a = 120, r = 30, g = 76, b = 90},
groups = {water = 3, liquid = 3, puts_out_fire = 1,
not_in_creative_inventory = 1},
})
minetest.register_node("default:lava_source", {
description = "Lava Source",
inventory_image = minetest.inventorycube("default_lava.png"),
@ -1546,7 +1505,7 @@ minetest.register_node("default:lava_source", {
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 2,
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "default:lava_flowing",
liquid_alternative_source = "default:lava_source",
@ -1554,7 +1513,7 @@ minetest.register_node("default:lava_source", {
liquid_range = 3,
liquid_renewable = false,
damage_per_second = 4 * 2,
post_effect_color = {a = 220, r = 250, g = 70, b = 20},
post_effect_color = {a = 192, r = 255, g = 64, b = 0},
groups = {lava = 3, liquid = 2, hot = 3, igniter = 1},
})
@ -1571,7 +1530,7 @@ minetest.register_node("default:lava_flowing", {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 1.5,
length = 3.3,
},
},
{
@ -1581,7 +1540,7 @@ minetest.register_node("default:lava_flowing", {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 1.5,
length = 3.3,
},
},
},
@ -1594,7 +1553,7 @@ minetest.register_node("default:lava_flowing", {
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 2,
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "default:lava_flowing",
liquid_alternative_source = "default:lava_source",
@ -1602,7 +1561,7 @@ minetest.register_node("default:lava_flowing", {
liquid_range = 3,
liquid_renewable = false,
damage_per_second = 4 * 2,
post_effect_color = {a = 220, r = 250, g = 70, b = 20},
post_effect_color = {a = 192, r = 255, g = 64, b = 0},
groups = {lava = 3, liquid = 2, hot = 3, igniter = 1,
not_in_creative_inventory = 1},
})
@ -1738,10 +1697,10 @@ minetest.register_node("default:sand_flowing", {
minetest.register_node("default:torch", {
description = "Torch",
drawtype = "nodebox",
drawtype = "torchlike",
tiles = {
{
name = "default_torch_new_top.png",
name = "default_torch_on_floor_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
@ -1750,7 +1709,7 @@ minetest.register_node("default:torch", {
},
},
{
name="default_torch_new_bottom.png",
name="default_torch_on_ceiling_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
@ -1759,7 +1718,7 @@ minetest.register_node("default:torch", {
},
},
{
name="default_torch_new_side.png",
name="default_torch_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
@ -1768,33 +1727,26 @@ minetest.register_node("default:torch", {
},
},
},
inventory_image = "default_torch_new_inv.png",
wield_image = "default_torch_new_inv.png",
wield_scale = {x = 1, y = 1, z = 1.25},
inventory_image = "default_torch_on_floor.png",
wield_image = "default_torch_on_floor.png",
paramtype = "light",
paramtype2 = "wallmounted",
sunlight_propagates = true,
is_ground_content = false,
walkable = false,
light_source = default.LIGHT_MAX - 1,
node_box = {
type = "wallmounted",
wall_top = {-0.0625, -0.0625, -0.0625, 0.0625, 0.5 , 0.0625},
wall_bottom = {-0.0625, -0.5 , -0.0625, 0.0625, 0.0625, 0.0625},
wall_side = {-0.5 , -0.5 , -0.0625, -0.375, 0.0625, 0.0625},
},
selection_box = {
type = "wallmounted",
wall_top = {-0.25, -0.0625, -0.25, 0.25, 0.5 , 0.25},
wall_bottom = {-0.25, -0.5 , -0.25, 0.25, 0.0625, 0.25},
wall_side = {-0.25, -0.5 , -0.25, -0.5, 0.0625, 0.25},
wall_top = {-0.1, 0.5 - 0.6, -0.1, 0.1, 0.5, 0.1},
wall_bottom = {-0.1, -0.5, -0.1, 0.1, -0.5 + 0.6, 0.1},
wall_side = {-0.5, -0.3, -0.1, -0.5 + 0.3, 0.3, 0.1},
},
groups = {choppy = 2, dig_immediate = 3, flammable = 1, attached_node = 1,
hot = 2},
legacy_wallmounter = true,
sounds = default.node_sound_wood_defaults(),
groups = {choppy = 2, dig_immediate = 3, flammable = 1, attached_node = 1},
legacy_wallmounted = true,
sounds = default.node_sound_defaults(),
})
local chest_formspec =
"size[8,9]" ..
default.gui_bg ..
@ -1810,12 +1762,12 @@ local chest_formspec =
local function get_locked_chest_formspec(pos)
local spos = pos.x .. "," .. pos.y .. "," .. pos.z
local formspec =
"size[8,9]"..
default.gui_slots..
"size[8,9]" ..
default.gui_bg ..
default.gui_bg_img ..
default.gui_slots ..
"list[nodemeta:".. spos .. ";main;0,0.3;8,4;]"..
"list[current_player;main;0,4.85;8,1;]"..
"list[nodemeta:" .. spos .. ";main;0,0.3;8,4;]" ..
"list[current_player;main;0,4.85;8,1;]" ..
"list[current_player;main;0,6.08;8,3;8]" ..
"listring[nodemeta:" .. spos .. ";main]" ..
"listring[current_player;main]" ..
@ -1837,6 +1789,7 @@ minetest.register_node("default:chest", {
paramtype2 = "facedir",
groups = {choppy = 2, oddly_breakable_by_hand = 2},
legacy_facedir_simple = true,
is_ground_content = false,
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
@ -1898,10 +1851,6 @@ minetest.register_node("default:chest_locked", {
to_list, to_index, count, player)
local meta = minetest.get_meta(pos)
if not has_locked_chest_privilege(meta, player) then
minetest.log("action", player:get_player_name()..
" tried to access a locked chest belonging to "..
meta:get_string("owner").." at "..
minetest.pos_to_string(pos) .. ".")
return 0
end
return count
@ -1909,10 +1858,6 @@ minetest.register_node("default:chest_locked", {
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
local meta = minetest.get_meta(pos)
if not has_locked_chest_privilege(meta, player) then
minetest.log("action", player:get_player_name()..
" tried to access a locked chest belonging to "..
meta:get_string("owner").." at "..
minetest.pos_to_string(pos) .. ".")
return 0
end
return stack:get_count()
@ -1920,18 +1865,10 @@ minetest.register_node("default:chest_locked", {
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
local meta = minetest.get_meta(pos)
if not has_locked_chest_privilege(meta, player) then
minetest.log("action", player:get_player_name()..
" tried to access a locked chest belonging to "..
meta:get_string("owner").." at "..
minetest.pos_to_string(pos) .. ".")
return 0
end
return stack:get_count()
end,
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
minetest.log("action", player:get_player_name()..
" moves stuff in locked chest at "..minetest.pos_to_string(pos) .. ".")
end,
on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name() ..
" moves stuff to locked chest at " .. minetest.pos_to_string(pos))
@ -1956,7 +1893,7 @@ minetest.register_node("default:chest_locked", {
default.bookshelf_formspec =
"size[8,7;]" ..
default.gui_slots ..
default.gui_bg ..
default.gui_bg_img ..
default.gui_slots ..
"list[context;books;0,0.3;8,2;]" ..
@ -1964,8 +1901,7 @@ default.bookshelf_formspec =
"list[current_player;main;0,4.08;8,3;8]" ..
"listring[context;books]" ..
"listring[current_player;main]" ..
default.get_hotbar_bg(0, 2.85) ..
default.get_hotbar_bg(0, 3.85)
default.get_hotbar_bg(0,2.85)
minetest.register_node("default:bookshelf", {
description = "Bookshelf",
@ -2049,8 +1985,8 @@ minetest.register_node("default:sign_wall", {
wall_bottom = {-0.4375, -0.5, -0.3125, 0.4375, -0.4375, 0.3125},
wall_side = {-0.5, -0.3125, -0.4375, -0.4375, 0.3125, 0.4375},
},
legacy_wallmounted = true,
groups = {choppy = 2, dig_immediate = 2, attached_node = 1},
legacy_wallmounted = true,
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
@ -2077,7 +2013,7 @@ minetest.register_node("default:sign_wall", {
minetest.register_node("default:ladder", {
description = "Ladder",
drawtype = "nodebox",
drawtype = "signlik",
tiles = {"default_ladder_new.png"},
inventory_image = "default_ladder_new_inv.png",
wield_image = "default_ladder_new_inv.png",
@ -2096,6 +2032,7 @@ minetest.register_node("default:ladder", {
sounds = default.node_sound_wood_defaults(),
})
local fence_texture =
"default_fence_overlay.png^default_wood.png^default_fence_overlay.png^[makealpha:255,126,126"
@ -2125,8 +2062,8 @@ minetest.register_node("default:fence_wood", {
description = "Wooden Fence",
drawtype = "fencelike",
tiles = {"default_wood.png"},
inventory_image = fence_wood_texture,
wield_image = fence_wood_texture,
inventory_image = fence_texture,
wield_image = fence_texture,
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
@ -2214,7 +2151,8 @@ minetest.register_node("default:fence_brick", {
minetest.register_node("default:glass", {
description = "Glass",
drawtype = "glasslike_framed_optional",
tiles = {"default_glass_frame.png", "default_glass_detail.png"},
tiles = {"default_glass.png", "default_glass_detail.png"},
inventory_image = minetest.inventorycube("default_glass.png"),
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
@ -2284,7 +2222,6 @@ minetest.register_node("default:meselamp", {
minetest.register_node("default:cloud", {
description = "Cloud",
sunlight_propagates = true,
tiles = {"default_cloud.png"},
is_ground_content = false,
sounds = default.node_sound_defaults(),
@ -2295,23 +2232,20 @@ minetest.register_node("default:nyancat", {
description = "Nyan Cat",
tiles = {"default_nc_side.png", "default_nc_side.png", "default_nc_side.png",
"default_nc_side.png", "default_nc_back.png", "default_nc_front.png"},
paramtype = "light",
paramtype2 = "facedir",
light_source = default.LIGHT_MAX - 1,
groups = {cracky = 2},
is_ground_content = false,
post_effect_color = {a = 128, r= 255, g= 128, b= 255},
legacy_facedir_simple = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:nyancat_rainbow", {
description = "Nyan Cat Rainbow",
drawtype = "glasslike",
tiles = {
"default_nc_rb.png^[transformR90", "default_nc_rb.png^[transformR90",
"default_nc_rb.png", "default_nc_rb.png"
},
paramtype = "light",
paramtype2 = "facedir",
groups = {cracky = 2},
light_source = default.LIGHT_MAX - 1,

View File

@ -95,7 +95,7 @@ minetest.register_on_joinplayer(function(player)
default.player_attached[player:get_player_name()] = false
default.player_set_model(player, "character.b3d")
player:set_local_animation({x=0, y=79}, {x=168, y=187}, {x=189, y=198}, {x=200, y=219}, 30)
-- set GUI
if not minetest.setting_getbool("creative_mode") then
player:set_inventory_formspec(default.gui_survival_form)

View File

@ -14,7 +14,7 @@ minetest.register_item(":", {
snappy = {times = {[3] = 0.25}, uses = 0, maxlevel = 1},
oddly_breakable_by_hand = {times = {[1] = 3.50, [2] = 2.00, [3] = 0.65}, uses = 0}
},
damage_groups = {fleshy = 2},
damage_groups = {fleshy=1},
}
})

View File

@ -16,9 +16,9 @@ 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
local light_level = minetest.get_node_light(pos)
if not light_level or light_level < 13 then
return false
end
return true
end
@ -360,6 +360,7 @@ function default.grow_pine_tree(pos)
vm:update_map()
end
-- New apple tree
function default.grow_new_apple_tree(pos)

View File

@ -25,8 +25,8 @@ function doors.register_door(name, def)
if not def.sound_open_door then
def.sound_open_door = "doors_door_open"
end
minetest.register_craftitem(name, {
description = def.description,
inventory_image = def.inventory_image,
@ -100,7 +100,7 @@ function doors.register_door(name, def)
local tt = def.tiles_top
local tb = def.tiles_bottom
local function after_dig_node(pos, name, digger)
local node = minetest.get_node(pos)
if node.name == name then
@ -134,16 +134,16 @@ function doors.register_door(name, def)
end
local p2 = minetest.get_node(pos).param2
p2 = params[p2+1]
minetest.swap_node(pos, {name=replace_dir, param2=p2})
pos.y = pos.y-dir
minetest.swap_node(pos, {name=replace, param2=p2})
local snd_1 = def.sound_close_door
local snd_2 = def.sound_open_door
local snd_2 = def.sound_open_door
if params[1] == 3 then
snd_1 = def.sound_open_door
snd_1 = def.sound_open_door
snd_2 = def.sound_close_door
end
@ -206,18 +206,18 @@ function doors.register_door(name, def)
fixed = def.selection_box_bottom
},
groups = def.groups,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
pos.y = pos.y+1
after_dig_node(pos, name.."_t_1", digger)
end,
on_rightclick = function(pos, node, clicker)
if check_player_priv(pos, clicker) then
on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0})
end
end,
on_rotate = function(pos, node, user, mode, new_param2)
return on_rotate(pos, node, 1, user, name.."_t_1", mode)
end,
@ -244,18 +244,18 @@ function doors.register_door(name, def)
fixed = def.selection_box_top
},
groups = def.groups,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
pos.y = pos.y-1
after_dig_node(pos, name.."_b_1", digger)
end,
on_rightclick = function(pos, node, clicker)
if check_player_priv(pos, clicker) then
on_rightclick(pos, -1, name.."_b_1", name.."_t_2", name.."_b_2", {1,2,3,0})
end
end,
on_rotate = function(pos, node, user, mode, new_param2)
return on_rotate(pos, node, -1, user, name.."_b_1", mode)
end,
@ -282,18 +282,18 @@ function doors.register_door(name, def)
fixed = def.selection_box_bottom
},
groups = def.groups,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
pos.y = pos.y+1
after_dig_node(pos, name.."_t_2", digger)
end,
on_rightclick = function(pos, node, clicker)
if check_player_priv(pos, clicker) then
on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2})
end
end,
on_rotate = function(pos, node, user, mode, new_param2)
return on_rotate(pos, node, 1, user, name.."_t_2", mode)
end,
@ -320,18 +320,18 @@ function doors.register_door(name, def)
fixed = def.selection_box_top
},
groups = def.groups,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
pos.y = pos.y-1
after_dig_node(pos, name.."_b_2", digger)
end,
on_rightclick = function(pos, node, clicker)
if check_player_priv(pos, clicker) then
on_rightclick(pos, -1, name.."_b_2", name.."_t_1", name.."_b_1", {3,0,1,2})
end
end,
on_rotate = function(pos, node, user, mode, new_param2)
return on_rotate(pos, node, -1, user, name.."_b_2", mode)
end,

4
minetestforfun_game/mods/fire/README.txt Executable file → Normal file
View File

@ -1,5 +1,5 @@
Minetest 0.4 mod: fire
======================
Minetest Game mod: fire
=======================
License of source code:
-----------------------

View File

@ -216,7 +216,7 @@ minetest.register_decoration({
-- Mods using singlenode mapgen can call these functions to enable
-- the use of minetest.generate_ores or minetest.generate_decorations
-- Enable in mapgen v6 only
local mg_params = minetest.get_mapgen_params()
if mg_params.mgname == "v6" then
flowers.register_mgv6_decorations()

View File

@ -170,7 +170,7 @@ function stairs.register_slab(subname, recipeitem, groups, images, description,
end
return itemstack
end
-- Upside down slabs
if p0.y - 1 == p1.y then
-- Turn into full block if pointing at a existing slab
@ -335,7 +335,7 @@ stairs.register_stair_and_slab("sandstone", "default:sandstone",
"Sandstone Stair",
"Sandstone Slab",
default.node_sound_stone_defaults())
stairs.register_stair_and_slab("sandstonebrick", "default:sandstonebrick",
{crumbly = 2, cracky = 2},
{"default_sandstone_brick.png"},

View File

@ -52,7 +52,7 @@ minetest.register_node("vessels:shelf", {
local stack = inv:get_stack(from_list, from_index)
local to_stack = inv:get_stack(to_list, to_index)
if to_list == "vessels" then
if minetest.get_item_group(stack:get_name(), "vessel") ~= 0
if minetest.get_item_group(stack:get_name(), "vessel") ~= 0
and to_stack:is_empty() then
return 1
else

View File

@ -1,8 +1,10 @@
Copyright (C) UjEdwin 2015
Mod by UjEdwin
Your rights:
1: Use it / for public/servers
2: Take parts of the code
3: Edit the mod
See the version in the init.lua or type /dihelp in game
Rename this folder to diplazer