Revert mff_classic
@ -3,6 +3,7 @@
|
||||
|
||||
minetest.register_alias("bucket", "bucket:bucket_empty")
|
||||
minetest.register_alias("bucket_water", "bucket:bucket_water")
|
||||
minetest.register_alias("bucket_acid", "bucket:bucket_acid")
|
||||
minetest.register_alias("bucket_lava", "bucket:bucket_lava")
|
||||
|
||||
minetest.register_craft({
|
||||
@ -52,7 +53,6 @@ function bucket.register_liquid(source, flowing, itemname, inventory_image, name
|
||||
stack_max = 1,
|
||||
liquids_pointable = true,
|
||||
groups = groups,
|
||||
|
||||
on_place = function(itemstack, user, pointed_thing)
|
||||
-- Must be pointing to node
|
||||
if pointed_thing.type ~= "node" then
|
||||
@ -60,8 +60,10 @@ function bucket.register_liquid(source, flowing, itemname, inventory_image, name
|
||||
end
|
||||
|
||||
local node = minetest.get_node_or_nil(pointed_thing.under)
|
||||
local ndef = node and minetest.registered_nodes[node.name]
|
||||
|
||||
local ndef
|
||||
if node then
|
||||
ndef = minetest.registered_nodes[node.name]
|
||||
end
|
||||
-- Call on_rightclick if the pointed node defines it
|
||||
if ndef and ndef.on_rightclick and
|
||||
user and not user:get_player_control().sneak then
|
||||
@ -104,6 +106,8 @@ function bucket.register_liquid(source, flowing, itemname, inventory_image, name
|
||||
end
|
||||
end
|
||||
|
||||
-- Empty Bucket code by Casimir.
|
||||
|
||||
minetest.register_craftitem("bucket:bucket_empty", {
|
||||
description = "Empty Bucket",
|
||||
inventory_image = "bucket.png",
|
||||
@ -141,7 +145,7 @@ minetest.register_craftitem("bucket:bucket_empty", {
|
||||
else
|
||||
local pos = user:getpos()
|
||||
pos.y = math.floor(pos.y + 0.5)
|
||||
minetest.add_item(pos, liquiddef.itemname)
|
||||
core.add_item(pos, liquiddef.itemname)
|
||||
end
|
||||
|
||||
-- set to return empty buckets minus 1
|
||||
@ -182,6 +186,24 @@ bucket.register_liquid(
|
||||
"Lava Bucket"
|
||||
)
|
||||
|
||||
bucket.register_liquid(
|
||||
"default:acid_source",
|
||||
"default:acid_flowing",
|
||||
"bucket:bucket_acid",
|
||||
"bucket_acid.png",
|
||||
"Acid Bucket",
|
||||
{not_in_creative_inventory = 1}
|
||||
)
|
||||
|
||||
bucket.register_liquid(
|
||||
"default:sand_source",
|
||||
"default:sand_flowing",
|
||||
"bucket:bucket_sand",
|
||||
"bucket_sand.png",
|
||||
"Sand Bucket",
|
||||
{not_in_creative_inventory = 1}
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "bucket:bucket_lava",
|
||||
@ -189,3 +211,11 @@ minetest.register_craft({
|
||||
replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "bucket:bucket_sand",
|
||||
recipe = {
|
||||
{"group:sand"},
|
||||
{"group:sand"},
|
||||
{"bucket:bucket_water"},
|
||||
},
|
||||
})
|
||||
|
Before Width: | Height: | Size: 216 B After Width: | Height: | Size: 216 B |
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 250 B |
@ -39,6 +39,8 @@ minetest.register_alias("locked_chest", "default:chest_locked")
|
||||
minetest.register_alias("cobble", "default:cobble")
|
||||
minetest.register_alias("mossycobble", "default:mossycobble")
|
||||
minetest.register_alias("steelblock", "default:steelblock")
|
||||
minetest.register_alias("nyancat", "default:nyancat")
|
||||
minetest.register_alias("nyancat_rainbow", "default:nyancat_rainbow")
|
||||
minetest.register_alias("sapling", "default:sapling")
|
||||
minetest.register_alias("apple", "default:apple")
|
||||
|
||||
@ -75,3 +77,26 @@ minetest.register_alias("default:pinewood", "default:pine_wood")
|
||||
|
||||
minetest.register_alias("default:ladder", "default:ladder_wood")
|
||||
minetest.register_alias("default:sign_wall", "default:sign_wall_wood")
|
||||
|
||||
-- Those lines are for moreores integration
|
||||
minetest.register_alias("moreores:pick_silver", "default:pick_silver")
|
||||
minetest.register_alias("moreores:pick_mithril", "default:pick_mithril")
|
||||
minetest.register_alias("moreores:shovel_silver", "default:shovel_silver")
|
||||
minetest.register_alias("moreores:shovel_mithril", "default:shovel_mithril")
|
||||
minetest.register_alias("moreores:axe_silver", "default:axe_silver")
|
||||
minetest.register_alias("moreores:axe_mithril", "default:axe_mithril")
|
||||
minetest.register_alias("moreores:sword_silver", "default:sword_silver")
|
||||
minetest.register_alias("moreores:sword_mithril", "default:sword_mithril")
|
||||
minetest.register_alias("moreores:mineral_silver", "default:stone_with_silver")
|
||||
minetest.register_alias("moreores:mineral_tin", "default:stone_with_tin")
|
||||
minetest.register_alias("moreores:mineral_mithril", "default:stone_with_mithril")
|
||||
minetest.register_alias("moreores:mithril_ingot", "default:mithril_ingot")
|
||||
minetest.register_alias("moreores:silver_ingot", "default:silver_ingot")
|
||||
minetest.register_alias("moreores:tin_ingot", "default:tin_ingot")
|
||||
minetest.register_alias("moreores:mithril_lump", "default:mithril_lump")
|
||||
minetest.register_alias("moreores:silver_lump", "default:silver_lump")
|
||||
minetest.register_alias("moreores:tin_lump", "default:tin_lump")
|
||||
minetest.register_alias("moreores:mithril_block", "default:mithrilblock")
|
||||
minetest.register_alias("moreores:silver_block", "default:silverblock")
|
||||
minetest.register_alias("moreores:tin_block", "default:tinblock")
|
||||
|
||||
|
@ -7,6 +7,13 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:cherry_plank 6',
|
||||
recipe = {
|
||||
{'default:cherry_log'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:junglewood 4',
|
||||
recipe = {
|
||||
@ -104,6 +111,24 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:pick_silver',
|
||||
recipe = {
|
||||
{'default:silver_ingot', 'default:silver_ingot', 'default:silver_ingot'},
|
||||
{'', 'group:stick', ''},
|
||||
{'', 'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:pick_gold',
|
||||
recipe = {
|
||||
{'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'},
|
||||
{'', 'group:stick', ''},
|
||||
{'', 'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:pick_mese',
|
||||
recipe = {
|
||||
@ -113,6 +138,15 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:pick_mithril',
|
||||
recipe = {
|
||||
{'default:mithril_ingot', 'default:mithril_ingot', 'default:mithril_ingot'},
|
||||
{'', 'group:stick', ''},
|
||||
{'', 'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:pick_diamond',
|
||||
recipe = {
|
||||
@ -122,6 +156,15 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:pick_nyan',
|
||||
recipe = {
|
||||
{'default:nyancat', 'default:nyancat', 'default:nyancat'},
|
||||
{'', 'group:stick', ''},
|
||||
{'', 'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:shovel_wood',
|
||||
recipe = {
|
||||
@ -158,6 +201,24 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:shovel_silver',
|
||||
recipe = {
|
||||
{'default:silver_ingot'},
|
||||
{'group:stick'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:shovel_gold',
|
||||
recipe = {
|
||||
{'default:gold_ingot'},
|
||||
{'group:stick'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:shovel_mese',
|
||||
recipe = {
|
||||
@ -167,6 +228,15 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:shovel_mithril',
|
||||
recipe = {
|
||||
{'default:mithril_ingot'},
|
||||
{'group:stick'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:shovel_diamond',
|
||||
recipe = {
|
||||
@ -176,6 +246,15 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:shovel_nyan",
|
||||
recipe = {
|
||||
{"default:nyancat"},
|
||||
{"group:stick"},
|
||||
{"group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:axe_wood',
|
||||
recipe = {
|
||||
@ -212,6 +291,24 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:axe_silver',
|
||||
recipe = {
|
||||
{'default:silver_ingot', 'default:silver_ingot'},
|
||||
{'default:silver_ingot', 'group:stick'},
|
||||
{'', 'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:axe_gold",
|
||||
recipe = {
|
||||
{"default:gold_ingot", "default:gold_ingot"},
|
||||
{"default:gold_ingot", "group:stick"},
|
||||
{"", "group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:axe_mese',
|
||||
recipe = {
|
||||
@ -221,6 +318,15 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:axe_mithril',
|
||||
recipe = {
|
||||
{'default:mithril_ingot', 'default:mithril_ingot'},
|
||||
{'default:mithril_ingot', 'group:stick'},
|
||||
{'', 'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:axe_diamond',
|
||||
recipe = {
|
||||
@ -230,6 +336,15 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:axe_nyan",
|
||||
recipe = {
|
||||
{"default:nyancat", "default:nyancat"},
|
||||
{"default:nyancat", "group:stick"},
|
||||
{"", "group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:axe_wood',
|
||||
recipe = {
|
||||
@ -266,6 +381,24 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:axe_silver',
|
||||
recipe = {
|
||||
{'default:silver_ingot', 'default:silver_ingot'},
|
||||
{'group:stick', 'default:silver_ingot'},
|
||||
{'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:axe_gold',
|
||||
recipe = {
|
||||
{'default:gold_ingot', 'default:gold_ingot'},
|
||||
{'group:stick', 'default:gold_ingot'},
|
||||
{'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:axe_mese',
|
||||
recipe = {
|
||||
@ -275,6 +408,15 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:axe_mithril',
|
||||
recipe = {
|
||||
{'default:mithril_ingot', 'default:mithril_ingot'},
|
||||
{'group:stick', 'default:mithril_ingot'},
|
||||
{'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:axe_diamond',
|
||||
recipe = {
|
||||
@ -284,6 +426,15 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:axe_nyan',
|
||||
recipe = {
|
||||
{'default:nyancat', 'default:nyancat'},
|
||||
{'group:stick', 'default:nyancat'},
|
||||
{'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:sword_wood',
|
||||
recipe = {
|
||||
@ -320,6 +471,24 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:sword_silver',
|
||||
recipe = {
|
||||
{'default:silver_ingot'},
|
||||
{'default:silver_ingot'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:sword_gold",
|
||||
recipe = {
|
||||
{"default:gold_ingot"},
|
||||
{"default:gold_ingot"},
|
||||
{"group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:sword_mese',
|
||||
recipe = {
|
||||
@ -329,6 +498,15 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:sword_mithril',
|
||||
recipe = {
|
||||
{'default:mithril_ingot'},
|
||||
{'default:mithril_ingot'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:sword_diamond',
|
||||
recipe = {
|
||||
@ -338,6 +516,25 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:sword_nyan",
|
||||
recipe = {
|
||||
{"default:nyancat"},
|
||||
{"default:nyancat"},
|
||||
{"group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({ -- Ultimate Warrior weapon
|
||||
output = 'default:dungeon_master_s_blood_sword',
|
||||
recipe = {
|
||||
{"mobs:dungeon_master_blood", "nether:white", "mobs:dungeon_master_blood"},
|
||||
{"mobs:dungeon_master_blood", "mobs:dungeon_master_diamond", "mobs:dungeon_master_blood"},
|
||||
{"default:mithrilblock", "mobs:zombie_tibia", "default:mithril_block"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:rail 24',
|
||||
recipe = {
|
||||
@ -380,12 +577,37 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:furnace_locked",
|
||||
recipe = {
|
||||
{"group:stone", "group:stone", "group:stone"},
|
||||
{"group:stone", "group:ingot", "group:stone"},
|
||||
{"group:stone", "group:stone", "group:stone"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "default:furnace_locked",
|
||||
recipe = {"default:furnace", "group:ingot"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "default:bronze_ingot",
|
||||
recipe = {"default:steel_ingot", "default:copper_ingot"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "default:bronze_ingot 3",
|
||||
recipe = {
|
||||
"default:tin_ingot",
|
||||
"default:copper_ingot",
|
||||
"default:copper_ingot",
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:coalblock',
|
||||
recipe = {
|
||||
@ -434,6 +656,23 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:tinblock',
|
||||
recipe = {
|
||||
{'default:tin_ingot', 'default:tin_ingot', 'default:tin_ingot'},
|
||||
{'default:tin_ingot', 'default:tin_ingot', 'default:tin_ingot'},
|
||||
{'default:tin_ingot', 'default:tin_ingot', 'default:tin_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:tin_ingot 9',
|
||||
recipe = {
|
||||
{'default:tinblock'},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:bronzeblock',
|
||||
recipe = {
|
||||
@ -450,6 +689,22 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:silverblock',
|
||||
recipe = {
|
||||
{'default:silver_ingot', 'default:silver_ingot', 'default:silver_ingot'},
|
||||
{'default:silver_ingot', 'default:silver_ingot', 'default:silver_ingot'},
|
||||
{'default:silver_ingot', 'default:silver_ingot', 'default:silver_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:silver_ingot 9',
|
||||
recipe = {
|
||||
{'default:silverblock'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:goldblock',
|
||||
recipe = {
|
||||
@ -459,6 +714,22 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:mithrilblock',
|
||||
recipe = {
|
||||
{'default:mithril_ingot', 'default:mithril_ingot', 'default:mithril_ingot'},
|
||||
{'default:mithril_ingot', 'default:mithril_ingot', 'default:mithril_ingot'},
|
||||
{'default:mithril_ingot', 'default:mithril_ingot', 'default:mithril_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:mithril_ingot 9',
|
||||
recipe = {
|
||||
{'default:mithrilblock'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:gold_ingot 9',
|
||||
recipe = {
|
||||
@ -505,6 +776,7 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:desert_sand",
|
||||
recipe = {
|
||||
@ -615,6 +887,28 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:dirt 4",
|
||||
type = "shapeless",
|
||||
recipe = {"default:gravel", "default:gravel", "default:gravel", "default:gravel"}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:gravel",
|
||||
recipe = {
|
||||
{"default:cobble"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:desert_stone 2",
|
||||
recipe = {
|
||||
{"default:desert_sand", "default:desert_sand"},
|
||||
{"default:desert_sand", "default:desert_sand"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:meselamp 1',
|
||||
recipe = {
|
||||
@ -706,6 +1000,12 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "maptools:superapple",
|
||||
type = "shapeless",
|
||||
recipe = {"default:apple", "default:mese", "default:mese"},
|
||||
})
|
||||
|
||||
--
|
||||
-- Crafting (tool repair)
|
||||
--
|
||||
@ -760,12 +1060,30 @@ minetest.register_craft({
|
||||
recipe = "default:copper_lump",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "default:tin_ingot",
|
||||
recipe = "default:tin_lump",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "default:silver_ingot",
|
||||
recipe = "default:silver_lump",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "default:gold_ingot",
|
||||
recipe = "default:gold_lump",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "default:mithril_ingot",
|
||||
recipe = "default:mithril_lump",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 2, -- //MFF(Mg|07/24/15)
|
||||
@ -773,6 +1091,12 @@ minetest.register_craft({
|
||||
recipe = "default:clay_lump",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "default:clay_burned",
|
||||
recipe = "default:clay",
|
||||
})
|
||||
|
||||
--
|
||||
-- Fuels
|
||||
--
|
||||
@ -783,6 +1107,12 @@ minetest.register_craft({
|
||||
burntime = 40,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "group:stick",
|
||||
burntime = 1,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "default:junglegrass",
|
||||
@ -932,3 +1262,4 @@ minetest.register_craft({
|
||||
recipe = "default:dry_grass_1",
|
||||
burntime = 2,
|
||||
})
|
||||
|
||||
|
@ -188,6 +188,16 @@ minetest.register_craftitem("default:copper_lump", {
|
||||
inventory_image = "default_copper_lump.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:tin_lump", {
|
||||
description = "Tin Lump",
|
||||
inventory_image = "default_tin_lump.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:silver_lump", {
|
||||
description = "Silver Lump",
|
||||
inventory_image = "default_silver_lump.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:mese_crystal", {
|
||||
description = "Mese Crystal",
|
||||
inventory_image = "default_mese_crystal.png",
|
||||
@ -198,6 +208,11 @@ minetest.register_craftitem("default:gold_lump", {
|
||||
inventory_image = "default_gold_lump.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:mithril_lump", {
|
||||
description = "Mithril Lump",
|
||||
inventory_image = "default_mithril_lump.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:diamond", {
|
||||
description = "Diamond",
|
||||
inventory_image = "default_diamond.png",
|
||||
@ -221,12 +236,24 @@ minetest.register_craftitem("default:copper_ingot", {
|
||||
groups = {ingot = 1},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:tin_ingot", {
|
||||
description = "Tin Ingot",
|
||||
inventory_image = "default_tin_ingot.png",
|
||||
groups = {ingot = 1},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:bronze_ingot", {
|
||||
description = "Bronze Ingot",
|
||||
inventory_image = "default_bronze_ingot.png",
|
||||
groups = {ingot = 1},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:silver_ingot", {
|
||||
description = "Silver Ingot",
|
||||
inventory_image = "default_silver_ingot.png",
|
||||
groups = {ingot = 1},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:gold_ingot", {
|
||||
description = "Gold Ingot",
|
||||
groups = {ingot = 1},
|
||||
@ -238,11 +265,22 @@ minetest.register_craftitem("default:mese_crystal_fragment", {
|
||||
inventory_image = "default_mese_crystal_fragment.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:mithril_ingot", {
|
||||
description = "Mithril Ingot",
|
||||
groups = {ingot = 1},
|
||||
inventory_image = "default_mithril_ingot.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:clay_brick", {
|
||||
description = "Clay Brick",
|
||||
inventory_image = "default_clay_brick.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:scorched_stuff", {
|
||||
description = "Scorched Stuff",
|
||||
inventory_image = "default_scorched_stuff.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("default:obsidian_shard", {
|
||||
description = "Obsidian Shard",
|
||||
inventory_image = "default_obsidian_shard.png",
|
||||
|
@ -126,7 +126,6 @@ minetest.register_abm({
|
||||
--
|
||||
-- optimized helper to put all items in an inventory into a drops list
|
||||
--
|
||||
|
||||
function default.get_inventory_drops(pos, inventory, drops)
|
||||
local inv = minetest.get_meta(pos):get_inventory()
|
||||
local n = #drops
|
||||
@ -231,7 +230,6 @@ end
|
||||
--
|
||||
-- Fence registration helper
|
||||
--
|
||||
|
||||
function default.register_fence(name, def)
|
||||
minetest.register_craft({
|
||||
output = name .. " 4",
|
||||
@ -308,8 +306,6 @@ default.after_place_leaves = function(pos, placer, itemstack, pointed_thing)
|
||||
end
|
||||
end
|
||||
|
||||
-- Leafdecay ABM
|
||||
|
||||
minetest.register_abm({
|
||||
label = "Leaf decay",
|
||||
nodenames = {"group:leafdecay"},
|
||||
@ -450,7 +446,6 @@ minetest.register_abm({
|
||||
end
|
||||
})
|
||||
|
||||
|
||||
--
|
||||
-- Grass and dry grass removed in darkness
|
||||
--
|
||||
|
@ -301,6 +301,150 @@ function default.register_ores()
|
||||
flags = "absheight",
|
||||
})
|
||||
|
||||
-- Beware of Meze
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:meze",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 40 * 40 * 40,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 2,
|
||||
y_min = 0,
|
||||
y_max = 64,
|
||||
flags = "absheight",
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:meze",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 40 * 40 * 40,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 2,
|
||||
y_min = 0,
|
||||
y_max = 64,
|
||||
flags = "absheight",
|
||||
})
|
||||
|
||||
|
||||
-- Tin
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:stone_with_tin",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 7 * 7 * 7,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 7,
|
||||
y_min = -31000,
|
||||
y_max = 12,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:desert_stone_with_tin",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 7 * 7 * 7,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 7,
|
||||
y_min = -31000,
|
||||
y_max = 12,
|
||||
})
|
||||
|
||||
-- Silver
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:stone_with_silver",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 11 * 11 * 11,
|
||||
clust_num_ores = 4,
|
||||
clust_size = 11,
|
||||
y_min = -31000,
|
||||
y_max = -12,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:desert_stone_with_silver",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 11 * 11 * 11,
|
||||
clust_num_ores = 4,
|
||||
clust_size = 11,
|
||||
y_min = -31000,
|
||||
y_max = -12,
|
||||
})
|
||||
|
||||
-- Mithril
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:stone_with_mithril",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 11 * 11 * 11,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 11,
|
||||
y_min = -31000,
|
||||
y_max = -1024,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:stone_with_mithril",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 15 * 15 * 15,
|
||||
clust_num_ores = 2,
|
||||
clust_size = 3,
|
||||
y_min = -31000,
|
||||
y_max = -2048,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:stone_with_mithril",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 22 * 22 * 22,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 5,
|
||||
y_min = -31000,
|
||||
y_max = -4096,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:stone_with_mithril",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 28 * 28 * 28,
|
||||
clust_num_ores = 20,
|
||||
clust_size = 7,
|
||||
y_min = -31000,
|
||||
y_max = -12288,
|
||||
})
|
||||
|
||||
-- Gold
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:stone_with_gold",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 15 * 15 * 15,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 2,
|
||||
y_min = -255,
|
||||
y_max = -64,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:stone_with_gold",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 13 * 13 * 13,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 3,
|
||||
y_min = -30000,
|
||||
y_max = -256,
|
||||
})
|
||||
|
||||
-- Diamond
|
||||
|
||||
@ -372,6 +516,20 @@ function default.register_ores()
|
||||
y_max = -64,
|
||||
})
|
||||
|
||||
-- Gold Coins
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "default:stone_with_coin",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 26 * 26 * 26,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = -30000,
|
||||
y_max = 0,
|
||||
flags = "absheight",
|
||||
})
|
||||
|
||||
-- Super Apples
|
||||
|
||||
minetest.register_ore({
|
||||
@ -1230,6 +1388,23 @@ function default.register_mgv6_decorations()
|
||||
y_max = 30,
|
||||
decoration = "default:dry_shrub",
|
||||
})
|
||||
|
||||
-- Cherry tree
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = "default:dirt_with_grass",
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.005,
|
||||
spread = {x=100, y=100, z=100},
|
||||
seed = 278,
|
||||
octaves = 2,
|
||||
persist = 0.7
|
||||
},
|
||||
decoration = "default:mg_cherry_sapling",
|
||||
height = 1,
|
||||
})
|
||||
end
|
||||
|
||||
-- All mapgens except mgv6 and singlenode
|
||||
@ -1649,16 +1824,73 @@ function default.register_decorations()
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Generate nyan cats
|
||||
--
|
||||
|
||||
-- All mapgens except singlenode
|
||||
|
||||
function default.make_nyancat(pos, facedir, length)
|
||||
local tailvec = {x = 0, y = 0, z = 0}
|
||||
if facedir == 0 then
|
||||
tailvec.z = 1
|
||||
elseif facedir == 1 then
|
||||
tailvec.x = 1
|
||||
elseif facedir == 2 then
|
||||
tailvec.z = -1
|
||||
elseif facedir == 3 then
|
||||
tailvec.x = -1
|
||||
else
|
||||
facedir = 0
|
||||
tailvec.z = 1
|
||||
end
|
||||
local p = {x = pos.x, y = pos.y, z = pos.z}
|
||||
minetest.set_node(p, {name = "default:nyancat", param2 = facedir})
|
||||
for i = 1, length do
|
||||
p.x = p.x + tailvec.x
|
||||
p.z = p.z + tailvec.z
|
||||
minetest.set_node(p, {name = "default:nyancat_rainbow", param2 = facedir})
|
||||
end
|
||||
end
|
||||
|
||||
function default.generate_nyancats(minp, maxp, seed)
|
||||
local height_min = -19600
|
||||
local height_max = 30000
|
||||
if maxp.y < height_min or minp.y > height_max then
|
||||
return
|
||||
end
|
||||
local y_min = math.max(minp.y, height_min)
|
||||
local y_max = math.min(maxp.y, height_max)
|
||||
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
|
||||
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))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Detect mapgen to select functions
|
||||
--
|
||||
|
||||
local mg_name = minetest.get_mapgen_params().name
|
||||
if mg_name == "v6" then
|
||||
-- Mods using singlenode mapgen can call these functions to enable
|
||||
-- the use of minetest.generate_ores or minetest.generate_decorations
|
||||
|
||||
local mg_params = minetest.get_mapgen_params()
|
||||
if mg_params.mgname == "v6" then
|
||||
default.register_ores()
|
||||
default.register_mgv6_decorations()
|
||||
else
|
||||
minetest.register_on_generated(default.generate_nyancats)
|
||||
elseif mg_params.mgname ~= "singlenode" then
|
||||
default.register_biomes()
|
||||
default.register_ores()
|
||||
default.register_decorations()
|
||||
minetest.register_on_generated(default.generate_nyancats)
|
||||
end
|
||||
|
@ -32,6 +32,7 @@ default:sandstonebrick
|
||||
default:sandstone_block
|
||||
|
||||
default:obsidian
|
||||
default:obsidian_cooled
|
||||
default:obsidianbrick
|
||||
default:obsidian_block
|
||||
|
||||
@ -51,6 +52,7 @@ default:desert_sand
|
||||
default:gravel
|
||||
|
||||
default:clay
|
||||
default:clay_burned
|
||||
|
||||
default:snow
|
||||
default:snowblock
|
||||
@ -87,29 +89,52 @@ default:aspen_wood
|
||||
default:aspen_leaves
|
||||
default:aspen_sapling
|
||||
|
||||
default:cherry_tree
|
||||
default:cherry_log
|
||||
default:cherry_plank
|
||||
default:cherry_blossom_leaves
|
||||
default:cherry_leaves_deco
|
||||
|
||||
Ores
|
||||
----
|
||||
(1. In stone 2. Blocks)
|
||||
|
||||
default:stone_with_coal
|
||||
default:desert_stone_with_coal
|
||||
default:coalblock
|
||||
|
||||
default:stone_with_iron
|
||||
default:steelblock
|
||||
|
||||
default:stone_with_copper
|
||||
default:desert_stone_with_copper
|
||||
default:copperblock
|
||||
|
||||
default:stone_with_tin
|
||||
default:desert_stone_with_tin
|
||||
default:tinblock
|
||||
|
||||
default:bronzeblock
|
||||
|
||||
default:stone_with_silver
|
||||
default:desert_stone_with_silver
|
||||
default:silverblock
|
||||
|
||||
default:stone_with_mithril
|
||||
default:mithrilblock
|
||||
|
||||
default:stone_with_gold
|
||||
default:goldblock
|
||||
|
||||
default:stone_with_mese
|
||||
default:mese
|
||||
default:meze
|
||||
|
||||
default:stone_with_diamond
|
||||
default:diamondblock
|
||||
|
||||
default:stone_with_coin
|
||||
|
||||
Plantlife (non-cubic)
|
||||
---------------------
|
||||
|
||||
@ -143,6 +168,12 @@ default:river_water_flowing
|
||||
default:lava_source
|
||||
default:lava_flowing
|
||||
|
||||
default:acid_source
|
||||
default:acid_flowing
|
||||
|
||||
default:sand_source
|
||||
default:sand_flowing
|
||||
|
||||
Tools / "Advanced" crafting / Non-"natural"
|
||||
-------------------------------------------
|
||||
|
||||
@ -158,12 +189,17 @@ default:sign_wall_steel
|
||||
|
||||
default:ladder_wood
|
||||
default:ladder_steel
|
||||
default:ladder_obsidian
|
||||
|
||||
default:fence_wood
|
||||
default:fence_acacia_wood
|
||||
default:fence_junglewood
|
||||
default:fence_pine_wood
|
||||
default:fence_aspen_wood
|
||||
default:fence_cobble
|
||||
default:fence_desert_cobble
|
||||
default:fence_steelblock
|
||||
default:fence_brick
|
||||
|
||||
default:glass
|
||||
default:obsidian_glass
|
||||
@ -178,6 +214,8 @@ Misc
|
||||
----
|
||||
|
||||
default:cloud
|
||||
default:nyancat
|
||||
default:nyancat_rainbow
|
||||
|
||||
--]]
|
||||
|
||||
@ -202,6 +240,15 @@ minetest.register_node("default:cobble", {
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:cobble_cooled", {
|
||||
description = "Cobblestone (cooled)",
|
||||
tiles = {"default_cobble.png"},
|
||||
is_ground_content = true,
|
||||
drop = "default:cobble",
|
||||
groups = {cracky = 3, stone = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:stonebrick", {
|
||||
description = "Stone Brick",
|
||||
paramtype2 = "facedir",
|
||||
@ -311,6 +358,15 @@ minetest.register_node("default:obsidian", {
|
||||
groups = {cracky = 1, level = 2},
|
||||
})
|
||||
|
||||
minetest.register_node("default:obsidian_cooled", {
|
||||
description = "Obsidian (cooled)",
|
||||
tiles = {"default_obsidian.png"},
|
||||
is_ground_content = true,
|
||||
drop = "default:obsidian",
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
groups = {cracky = 1, level = 2},
|
||||
})
|
||||
|
||||
minetest.register_node("default:obsidianbrick", {
|
||||
description = "Obsidian Brick",
|
||||
paramtype2 = "facedir",
|
||||
@ -454,6 +510,15 @@ minetest.register_node("default:clay", {
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:clay_burned", {
|
||||
description = "Burned Clay",
|
||||
tiles = {"default_clay_burned.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly = 3},
|
||||
drop = 'default:clay_lump 4',
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("default:snow", {
|
||||
description = "Snow",
|
||||
@ -949,6 +1014,94 @@ minetest.register_node("default:aspen_sapling", {
|
||||
end,
|
||||
})
|
||||
|
||||
-- From BFD, cherry tree
|
||||
minetest.register_node("default:cherry_tree", {
|
||||
description = "Cherry Log",
|
||||
tiles = {"default_cherry_top.png", "default_cherry_top.png", "default_cherry_tree.png"},
|
||||
is_ground_content = false,
|
||||
groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
drop = "default:cherry_log"
|
||||
})
|
||||
|
||||
minetest.register_node("default:cherry_log", {
|
||||
description = "Cherry Log",
|
||||
tiles = {"default_cherry_top.png", "default_cherry_top.png", "default_cherry_tree.png"},
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {choppy=2,oddly_breakable_by_hand=1,flammable=2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_place = minetest.rotate_node,
|
||||
})
|
||||
|
||||
minetest.register_node("default:cherry_plank", {
|
||||
description = "Cherry Planks",
|
||||
tiles = {"default_wood_cherry_planks.png"},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
groups = {oddly_breakable_by_hand=1, flammable=1, choppy=3, wood=1},
|
||||
})
|
||||
|
||||
minetest.register_node("default:cherry_blossom_leaves", {
|
||||
description = "Cherry Blossom Leaves",
|
||||
drawtype = "allfaces_optional",
|
||||
visual_scale = 1.3,
|
||||
tiles = {"default_cherry_blossom_leaves.png"},
|
||||
paramtype = "light",
|
||||
waving = 1,
|
||||
is_ground_content = false,
|
||||
groups = {snappy=3, leafdecay=3, leafdecay_drop = 1, flammable=2, leaves=1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{
|
||||
items = {'default:cherry_sapling'},
|
||||
rarity = 32,
|
||||
},
|
||||
{
|
||||
items = {'default:cherry_blossom_leaves'},
|
||||
}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
-- place a random grass node
|
||||
local stack = ItemStack("default:cherry_leaves_deco")
|
||||
local ret = minetest.item_place(stack, placer, pointed_thing)
|
||||
return ItemStack("default:cherry_blossom_leaves".." "..itemstack:get_count()-(1-ret:get_count()))
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("default:cherry_leaves_deco", {
|
||||
description = "Cherry Leaves",
|
||||
drawtype = "allfaces_optional",
|
||||
visual_scale = 1.3,
|
||||
tiles = {"default_cherry_blossom_leaves.png"},
|
||||
paramtype = "light",
|
||||
waving=1,
|
||||
is_ground_content = false,
|
||||
groups = {snappy=3, flammable=2, leaves=1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
drop = {'default:cherry_blossom_leaves'},
|
||||
})
|
||||
|
||||
minetest.register_node("default:cherry_sapling", {
|
||||
description = "Cherry Sapling",
|
||||
waving = 1,
|
||||
visual_scale = 1.0,
|
||||
inventory_image = "default_cherry_sapling.png",
|
||||
wield_image = "default_cherry_sapling.png",
|
||||
drawtype = "plantlike",
|
||||
paramtype = "light",
|
||||
tiles = {"default_cherry_sapling.png"},
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
|
||||
},
|
||||
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
|
||||
attached_node = 1, sapling = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
--
|
||||
-- Ores
|
||||
--
|
||||
@ -967,6 +1120,21 @@ minetest.register_node("default:stone_with_coal", {
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:desert_stone_with_coal", {
|
||||
description = "Coal Ore",
|
||||
tiles = {"default_desert_stone.png^default_mineral_coal.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly = 1, cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"default:desert_cobble"}},
|
||||
{items = {"default:coal_lump"}},
|
||||
{items = {"maptools:copper_coin"}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:coalblock", {
|
||||
description = "Coal Block",
|
||||
tiles = {"default_coal_block.png"},
|
||||
@ -1014,6 +1182,21 @@ minetest.register_node("default:stone_with_copper", {
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:desert_stone_with_copper", {
|
||||
description = "Copper Ore",
|
||||
tiles = {"default_desert_stone.png^default_mineral_copper.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly = 1, cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"default:desert_cobble"}},
|
||||
{items = {"default:copper_lump"}},
|
||||
{items = {"maptools:copper_coin 3"}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:copperblock", {
|
||||
description = "Copper Block",
|
||||
tiles = {"default_copper_block.png"},
|
||||
@ -1030,6 +1213,81 @@ minetest.register_node("default:bronzeblock", {
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:stone_with_tin", {
|
||||
description = "Tin Ore",
|
||||
tiles = {"default_stone.png^default_mineral_tin.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"default:cobble"}},
|
||||
{items = {"default:tin_lump"}},
|
||||
{items = {"maptools:copper_coin 3"}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:desert_stone_with_tin", {
|
||||
description = "Tin Ore",
|
||||
tiles = {"default_desert_stone.png^default_mineral_tin.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly = 1, cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"default:desert_cobble"}},
|
||||
{items = {"default:tin_lump"}},
|
||||
{items = {"maptools:copper_coin 3"}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:tinblock", {
|
||||
description = "Tin Block",
|
||||
tiles = {"default_tin_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:stone_with_silver", {
|
||||
description = "Silver Ore",
|
||||
tiles = {"default_stone.png^default_mineral_silver.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"default:cobble"}},
|
||||
{items = {"default:silver_lump"}},
|
||||
{items = {"maptools:copper_coin 3"}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:desert_stone_with_silver", {
|
||||
description = "Silver Ore",
|
||||
tiles = {"default_desert_stone.png^default_mineral_silver.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly = 1, cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"default:desert_cobble"}},
|
||||
{items = {"default:silver_lump"}},
|
||||
{items = {"maptools:copper_coin 3"}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:silverblock", {
|
||||
description = "Silver Block",
|
||||
tiles = {"default_silver_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:stone_with_mese", {
|
||||
description = "Mese Ore",
|
||||
@ -1061,6 +1319,30 @@ minetest.register_node("default:mese", {
|
||||
light_source = 3,
|
||||
})
|
||||
|
||||
local function die_later(digger)
|
||||
digger:set_hp(0)
|
||||
end
|
||||
|
||||
minetest.register_node("default:meze", {
|
||||
description = "Meze Block",
|
||||
tiles = {"default_meze_block.png"},
|
||||
is_ground_content = true,
|
||||
drop = "",
|
||||
groups = {cracky = 1, level = 2, fall_damage_add_percent = -75},
|
||||
sounds = default.node_sound_wood_defaults(), -- Intended.
|
||||
|
||||
on_dig = function(pos, node, digger)
|
||||
if digger and minetest.setting_getbool("enable_damage") and not minetest.setting_getbool("creative_mode") then
|
||||
minetest.after(3, die_later, digger)
|
||||
minetest.chat_send_player(digger:get_player_name(), "You feel like you did a mistake.")
|
||||
minetest.node_dig(pos, node, digger)
|
||||
elseif digger then
|
||||
minetest.node_dig(pos, node, digger)
|
||||
end
|
||||
end,
|
||||
})
|
||||
minetest.register_alias("default:meze_block", "default:meze")
|
||||
|
||||
|
||||
minetest.register_node("default:stone_with_gold", {
|
||||
description = "Gold Ore",
|
||||
@ -1084,6 +1366,28 @@ minetest.register_node("default:goldblock", {
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:stone_with_mithril", {
|
||||
description = "Mithril Ore",
|
||||
tiles = {"default_stone.png^default_mineral_mithril.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"default:cobble"}},
|
||||
{items = {"default:mithril_lump"}},
|
||||
{items = {"maptools:copper_coin 3"}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:mithrilblock", {
|
||||
description = "Mithril Block",
|
||||
tiles = {"default_mithril_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:stone_with_diamond", {
|
||||
description = "Diamond Ore",
|
||||
@ -1107,6 +1411,21 @@ minetest.register_node("default:diamondblock", {
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("default:stone_with_coin", {
|
||||
description = "Stone with Coin",
|
||||
tiles = {"default_stone.png^maptools_gold_coin.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"default:cobble"}},
|
||||
{items = {"maptools:gold_coin"}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
--
|
||||
-- Plantlife (non-cubic)
|
||||
--
|
||||
@ -1579,6 +1898,131 @@ minetest.register_node("default:lava_flowing", {
|
||||
not_in_creative_inventory = 1},
|
||||
})
|
||||
|
||||
minetest.register_node("default:acid_source", {
|
||||
description = "Acid Source",
|
||||
inventory_image = minetest.inventorycube("default_acid.png"),
|
||||
drawtype = "liquid",
|
||||
tiles = {
|
||||
{name = "default_acid_source_animated.png", animation={type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 1.5}}
|
||||
},
|
||||
special_tiles = {
|
||||
-- New-style acid source material (mostly unused)
|
||||
{
|
||||
name = "default_acid_source_animated.png",
|
||||
animation = {type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 1.5},
|
||||
backface_culling = false,
|
||||
}
|
||||
},
|
||||
alpha = 160,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
drowning = 2,
|
||||
liquidtype = "source",
|
||||
liquid_alternative_flowing = "default:acid_flowing",
|
||||
liquid_alternative_source = "default:acid_source",
|
||||
liquid_viscosity = 1,
|
||||
liquid_range = 4,
|
||||
damage_per_second = 3,
|
||||
post_effect_color = {a = 120, r = 50, g = 90, b = 30},
|
||||
groups = {water = 3, acid = 3, liquid = 3, puts_out_fire = 1},
|
||||
})
|
||||
|
||||
minetest.register_node("default:acid_flowing", {
|
||||
description = "Flowing Acid",
|
||||
inventory_image = minetest.inventorycube("default_acid.png"),
|
||||
drawtype = "flowingliquid",
|
||||
tiles = {"default_acid.png"},
|
||||
special_tiles = {
|
||||
{
|
||||
image = "default_acid_flowing_animated.png",
|
||||
backface_culling=false,
|
||||
animation={type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 0.6}
|
||||
},
|
||||
{
|
||||
image = "default_acid_flowing_animated.png",
|
||||
backface_culling=true,
|
||||
animation={type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 0.6}
|
||||
},
|
||||
},
|
||||
alpha = 160,
|
||||
paramtype = "light",
|
||||
paramtype2 = "flowingliquid",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
drowning = 2,
|
||||
liquidtype = "flowing",
|
||||
liquid_alternative_flowing = "default:acid_flowing",
|
||||
liquid_alternative_source = "default:acid_source",
|
||||
liquid_viscosity = 1,
|
||||
liquid_range = 4,
|
||||
damage_per_second = 3,
|
||||
post_effect_color = {a = 120, r = 50, g = 90, b = 30},
|
||||
groups = {water = 3, acid = 3, liquid = 3, puts_out_fire = 1, not_in_creative_inventory = 1},
|
||||
})
|
||||
|
||||
minetest.register_node("default:sand_source", {
|
||||
description = "Sand Source",
|
||||
inventory_image = minetest.inventorycube("default_sand.png"),
|
||||
drawtype = "liquid",
|
||||
tiles = {"default_sand.png"},
|
||||
alpha = 255,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
drowning = 4,
|
||||
liquidtype = "source",
|
||||
liquid_alternative_flowing = "default:sand_flowing",
|
||||
liquid_alternative_source = "default:sand_source",
|
||||
liquid_viscosity = 20,
|
||||
liquid_renewable = false,
|
||||
post_effect_color = {a = 250, r = 0, g = 0, b = 0},
|
||||
groups = {liquid = 3},
|
||||
})
|
||||
|
||||
minetest.register_node("default:sand_flowing", {
|
||||
description = "Flowing Sand",
|
||||
inventory_image = minetest.inventorycube("default_sand.png"),
|
||||
drawtype = "flowingliquid",
|
||||
tiles = {"default_sand.png"},
|
||||
special_tiles = {
|
||||
{
|
||||
image = "default_sand_flowing_animated.png",
|
||||
backface_culling=false,
|
||||
animation={type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 0.6}
|
||||
},
|
||||
{
|
||||
image = "default_sand_flowing_animated.png",
|
||||
backface_culling=true,
|
||||
animation={type = "vertical_frames", aspect_w= 16, aspect_h = 16, length = 0.6}
|
||||
},
|
||||
},
|
||||
alpha = 255,
|
||||
paramtype = "light",
|
||||
paramtype2 = "flowingliquid",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
drowning = 4,
|
||||
liquidtype = "flowing",
|
||||
liquid_alternative_flowing = "default:sand_flowing",
|
||||
liquid_alternative_source = "default:sand_source",
|
||||
liquid_viscosity = 20,
|
||||
post_effect_color = {a = 250, r = 0, g = 0, b = 0},
|
||||
groups = {liquid = 3, not_in_creative_inventory = 1},
|
||||
})
|
||||
|
||||
--
|
||||
-- Tools / "Advanced" crafting / Non-"natural"
|
||||
--
|
||||
@ -1942,6 +2386,28 @@ minetest.register_node("default:ladder_wood", {
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:ladder_obsidian", {
|
||||
description = "Obsidian Ladder",
|
||||
drawtype = "signlike",
|
||||
tiles = {"default_ladder_obsidian.png"},
|
||||
inventory_image = "default_ladder_obsidian.png",
|
||||
wield_image = "default_ladder_obsidian.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
is_ground_content = false,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
--wall_top = = <default>
|
||||
--wall_bottom = = <default>
|
||||
--wall_side = = <default>
|
||||
},
|
||||
groups = {cracky = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("default:ladder_steel", {
|
||||
description = "Steel Ladder",
|
||||
drawtype = "signlike",
|
||||
@ -1967,8 +2433,6 @@ minetest.register_node("default:ladder_steel", {
|
||||
default.register_fence("default:fence_wood", {
|
||||
description = "Wooden Fence",
|
||||
texture = "default_fence_wood.png",
|
||||
inventory_image = "default_fence_overlay.png^default_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^default_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = "default:wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
@ -1977,8 +2441,6 @@ default.register_fence("default:fence_wood", {
|
||||
default.register_fence("default:fence_acacia_wood", {
|
||||
description = "Acacia Fence",
|
||||
texture = "default_fence_acacia_wood.png",
|
||||
inventory_image = "default_fence_overlay.png^default_acacia_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^default_acacia_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = "default:acacia_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
@ -1987,8 +2449,6 @@ default.register_fence("default:fence_acacia_wood", {
|
||||
default.register_fence("default:fence_junglewood", {
|
||||
description = "Junglewood Fence",
|
||||
texture = "default_fence_junglewood.png",
|
||||
inventory_image = "default_fence_overlay.png^default_junglewood.png^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^default_junglewood.png^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = "default:junglewood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
@ -1997,8 +2457,6 @@ default.register_fence("default:fence_junglewood", {
|
||||
default.register_fence("default:fence_pine_wood", {
|
||||
description = "Pine Fence",
|
||||
texture = "default_fence_pine_wood.png",
|
||||
inventory_image = "default_fence_overlay.png^default_pine_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^default_pine_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = "default:pine_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
@ -2007,13 +2465,43 @@ default.register_fence("default:fence_pine_wood", {
|
||||
default.register_fence("default:fence_aspen_wood", {
|
||||
description = "Aspen Fence",
|
||||
texture = "default_fence_aspen_wood.png",
|
||||
inventory_image = "default_fence_overlay.png^default_aspen_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^default_aspen_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = "default:aspen_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("default:fence_cobble", {
|
||||
description = "Cobble Fence",
|
||||
texture = "default_fence_cobble.png",
|
||||
material = "default:cobble",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("default:fence_desert_cobble", {
|
||||
description = "Desert Cobble Fence",
|
||||
texture = "default_fence_desert_cobble.png",
|
||||
material = "default:desert_cobble",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("default:fence_steelblock", {
|
||||
description = "Steel Block Fence",
|
||||
texture = "default_fence_steelblock.png",
|
||||
material = "default:steelblock",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("default:fence_brick", {
|
||||
description = "Brick Fence",
|
||||
texture = "default_fence_brick.png",
|
||||
material = "default:brick",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("default:glass", {
|
||||
description = "Glass",
|
||||
drawtype = "glasslike_framed_optional",
|
||||
@ -2092,3 +2580,34 @@ minetest.register_node("default:cloud", {
|
||||
sounds = default.node_sound_defaults(),
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
})
|
||||
|
||||
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"},
|
||||
paramtype2 = "facedir",
|
||||
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_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},
|
||||
sunlight_propagate = true,
|
||||
walkable = false,
|
||||
use_texture_alpha = true,
|
||||
climbable = true,
|
||||
is_ground_content = false,
|
||||
post_effect_color = {a = 128, r= 255, g= 128, b= 255},
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
|
Before Width: | Height: | Size: 360 B After Width: | Height: | Size: 360 B |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 571 B After Width: | Height: | Size: 571 B |
Before Width: | Height: | Size: 167 B After Width: | Height: | Size: 167 B |
Before Width: | Height: | Size: 627 B After Width: | Height: | Size: 627 B |
Before Width: | Height: | Size: 632 B After Width: | Height: | Size: 632 B |
Before Width: | Height: | Size: 320 B After Width: | Height: | Size: 320 B |
Before Width: | Height: | Size: 347 B After Width: | Height: | Size: 347 B |
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 261 B |
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 235 B |
Before Width: | Height: | Size: 319 B After Width: | Height: | Size: 319 B |
Before Width: | Height: | Size: 208 B After Width: | Height: | Size: 208 B |
Before Width: | Height: | Size: 209 B After Width: | Height: | Size: 209 B |
Before Width: | Height: | Size: 303 B After Width: | Height: | Size: 303 B |
Before Width: | Height: | Size: 141 B After Width: | Height: | Size: 141 B |
Before Width: | Height: | Size: 141 B After Width: | Height: | Size: 141 B |
Before Width: | Height: | Size: 141 B After Width: | Height: | Size: 141 B |
Before Width: | Height: | Size: 372 B After Width: | Height: | Size: 372 B |
Before Width: | Height: | Size: 266 B After Width: | Height: | Size: 266 B |
Before Width: | Height: | Size: 220 B After Width: | Height: | Size: 220 B |
Before Width: | Height: | Size: 186 B After Width: | Height: | Size: 186 B |
Before Width: | Height: | Size: 204 B After Width: | Height: | Size: 204 B |
Before Width: | Height: | Size: 137 B After Width: | Height: | Size: 137 B |
Before Width: | Height: | Size: 148 B After Width: | Height: | Size: 148 B |
Before Width: | Height: | Size: 669 B After Width: | Height: | Size: 669 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 315 B After Width: | Height: | Size: 315 B |
Before Width: | Height: | Size: 181 B After Width: | Height: | Size: 181 B |
Before Width: | Height: | Size: 183 B After Width: | Height: | Size: 183 B |
Before Width: | Height: | Size: 486 B After Width: | Height: | Size: 486 B |
Before Width: | Height: | Size: 258 B After Width: | Height: | Size: 258 B |
Before Width: | Height: | Size: 224 B After Width: | Height: | Size: 224 B |
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 257 B |
Before Width: | Height: | Size: 311 B After Width: | Height: | Size: 311 B |
Before Width: | Height: | Size: 304 B After Width: | Height: | Size: 304 B |
Before Width: | Height: | Size: 856 B After Width: | Height: | Size: 856 B |
Before Width: | Height: | Size: 434 B After Width: | Height: | Size: 434 B |
Before Width: | Height: | Size: 308 B After Width: | Height: | Size: 308 B |
Before Width: | Height: | Size: 274 B After Width: | Height: | Size: 274 B |
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 334 B |
Before Width: | Height: | Size: 220 B After Width: | Height: | Size: 220 B |
Before Width: | Height: | Size: 270 B After Width: | Height: | Size: 270 B |
Before Width: | Height: | Size: 204 B After Width: | Height: | Size: 204 B |
Before Width: | Height: | Size: 480 B After Width: | Height: | Size: 480 B |
Before Width: | Height: | Size: 555 B After Width: | Height: | Size: 555 B |
Before Width: | Height: | Size: 735 B After Width: | Height: | Size: 735 B |
Before Width: | Height: | Size: 788 B After Width: | Height: | Size: 788 B |
Before Width: | Height: | Size: 856 B After Width: | Height: | Size: 856 B |
@ -157,7 +157,6 @@ local function add_trunk_and_leaves(data, a, pos, tree_cid, leaves_cid,
|
||||
end
|
||||
end
|
||||
|
||||
default.add_trunk_and_leaves = add_trunk_and_leaves -- MFF edit 2016-08-21
|
||||
|
||||
-- Apple tree
|
||||
|
||||
@ -430,7 +429,6 @@ function default.grow_new_aspen_tree(pos)
|
||||
path, "0", nil, false)
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Sapling 'on place' function to check protection of node and resulting tree volume
|
||||
--
|
||||
@ -474,3 +472,137 @@ function default.sapling_on_place(itemstack, placer, pointed_thing,
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
-- From BFD:
|
||||
|
||||
minetest.register_node("default:mg_cherry_sapling", {
|
||||
description = "Impossible to get node.",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
tiles = {"xfences_space.png"},
|
||||
groups = {not_in_creative_inventory=1},
|
||||
})
|
||||
|
||||
local c_mg_cherry_sapling = minetest.get_content_id("default:mg_cherry_sapling")
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp, seed)
|
||||
local timer = os.clock()
|
||||
local vm, emin, emax = minetest.get_mapgen_object("voxelmanip")
|
||||
local data = vm:get_data()
|
||||
local area = VoxelArea:new{MinEdge=emin, MaxEdge=emax}
|
||||
local trees_grown = 0
|
||||
for z=minp.z, maxp.z, 1 do
|
||||
for y=minp.y, maxp.y, 1 do
|
||||
for x=minp.x, maxp.x, 1 do
|
||||
local p_pos = area:index(x,y,z)
|
||||
local content_id = data[p_pos]
|
||||
if content_id == c_mg_cherry_sapling then
|
||||
minetest.after(1, default.grow_cherry_tree,
|
||||
{x=x, y=y, z=z},
|
||||
false,
|
||||
"default:cherry_tree",
|
||||
"default:cherry_blossom_leaves")
|
||||
trees_grown = trees_grown + 1
|
||||
else
|
||||
-- nope
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
local geninfo = string.format(" trees grown after: %.2fs", os.clock() - timer)
|
||||
minetest.log("action", trees_grown..geninfo)
|
||||
end)
|
||||
|
||||
function default.grow_cherry_tree(pos, is_apple_tree, trunk_node, leaves_node)
|
||||
--[[
|
||||
NOTE: Tree-placing code is currently duplicated in the engine
|
||||
and in games that have saplings; both are deprecated but not
|
||||
replaced yet
|
||||
--]]
|
||||
|
||||
local x, y, z = pos.x, pos.y, pos.z
|
||||
local height = random(4, 5)
|
||||
local c_tree = minetest.get_content_id(trunk_node)
|
||||
local c_leaves = minetest.get_content_id(leaves_node)
|
||||
|
||||
local vm = minetest.get_voxel_manip()
|
||||
local minp, maxp = vm:read_from_map(
|
||||
{x = pos.x - 2, y = pos.y, z = pos.z - 2},
|
||||
{x = pos.x + 2, y = pos.y + height + 1, z = pos.z + 2}
|
||||
)
|
||||
local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp})
|
||||
local data = vm:get_data()
|
||||
|
||||
add_trunk_and_leaves(data, a, pos, c_tree, c_leaves, height, 2, 8, is_apple_tree)
|
||||
|
||||
vm:set_data(data)
|
||||
vm:write_to_map()
|
||||
vm:update_map()
|
||||
end
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"default:cherry_sapling", "default:mg_cherry_sapling"},
|
||||
interval = 80,
|
||||
chance = 3,
|
||||
action = function(pos, node)
|
||||
|
||||
local nu = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name
|
||||
local is_soil = minetest.get_item_group(nu, "soil")
|
||||
|
||||
if is_soil == 0 then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
minetest.remove_node({x=pos.x, y=pos.y, z=pos.z})
|
||||
default.grow_cherry_tree(pos, false, "default:cherry_tree", "default:cherry_blossom_leaves")
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
name = "cherry_blossom_forest",
|
||||
node_shore_filler = "default:sand",
|
||||
node_top = "default:grass",
|
||||
depth_top = 1,
|
||||
node_filler = "default:dirt",
|
||||
depth_filler = 3,
|
||||
node_dust = "air",
|
||||
node_underwater = "default:gravel",
|
||||
y_min = 1,
|
||||
y_max = 40,
|
||||
heat_point = 50,
|
||||
humidity_point = 55,
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
name = "cherry_blossom_forest_floral",
|
||||
node_shore_filler = "default:sand",
|
||||
node_top = "default:grass",
|
||||
depth_top = 1,
|
||||
node_filler = "default:dirt",
|
||||
depth_filler = 3,
|
||||
node_dust = "air",
|
||||
node_underwater = "default:gravel",
|
||||
y_min = 1,
|
||||
y_max = 40,
|
||||
heat_point = 47,
|
||||
humidity_point = 50,
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
name = "cherry_blossom_forest_grassy",
|
||||
node_shore_filler = "default:sand",
|
||||
node_top = "default:grass",
|
||||
depth_top = 1,
|
||||
node_filler = "default:dirt",
|
||||
depth_filler = 3,
|
||||
node_dust = "air",
|
||||
node_underwater = "default:gravel",
|
||||
y_min = 1,
|
||||
y_max = 42,
|
||||
heat_point = 55,
|
||||
humidity_point = 55,
|
||||
})
|
||||
|
@ -124,12 +124,12 @@ local monsters = {
|
||||
["mobs:cow"] = "cow",
|
||||
["mobs:creeper"] = "creeper",
|
||||
["mobs:dog"] = "dog",
|
||||
["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: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:yeti"] = "yeti",
|
||||
["mobs:snowball"] = "yeti",
|
||||
["mobs:npc"] = "npc",
|
||||
@ -197,11 +197,6 @@ 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()
|
||||
@ -224,10 +219,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 equiv(node, "fire:basic_flame") then
|
||||
elseif node.name == "fire:basic_flame" then
|
||||
death_message = messages.fire[math.random(1,#messages.fire)]
|
||||
-- Death in quicksand
|
||||
elseif player:get_breath() == 0 and equiv(node, "default:sand_source") or equiv(node, "default:sand_flowing") then
|
||||
elseif player:get_breath() == 0 and node.name == "default:sand_source" or node.name == "default:sand_flowing" then
|
||||
death_message = messages.sand[math.random(1,#messages.sand)]
|
||||
-- Death by something else
|
||||
else
|
||||
@ -259,7 +254,7 @@ else
|
||||
elseif player:get_breath() == 0 then
|
||||
minetest.chat_send_all(player_name .. " ran out of air.")
|
||||
-- Death by fire
|
||||
elseif equiv(node, "fire:basic_flame") then
|
||||
elseif node.name == "fire:basic_flame" then
|
||||
minetest.chat_send_all(player_name .. " burned to a crisp.")
|
||||
-- Death by something else
|
||||
else
|
||||
|
@ -1,20 +0,0 @@
|
||||
local modname = minetest.get_current_modname()
|
||||
local thismod = _G[modname]
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {modname .. ':cherry_sapling', modname .. 'mg_cherry_sapling'},
|
||||
interval = 80,
|
||||
chance = 3,
|
||||
action = function(pos, node)
|
||||
|
||||
local nu = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name
|
||||
local is_soil = minetest.get_item_group(nu, 'soil')
|
||||
|
||||
if is_soil == 0 then
|
||||
return
|
||||
end
|
||||
|
||||
minetest.remove_node({x=pos.x, y=pos.y, z=pos.z})
|
||||
thismod.grow_cherry_tree(pos, false, modname .. ':cherry_tree', modname .. ':cherry_blossom_leaves')
|
||||
end,
|
||||
})
|
@ -1,51 +0,0 @@
|
||||
local modname = minetest.get_current_modname()
|
||||
|
||||
local alias
|
||||
if minetest.setting_get(modname .. '.output_alias_list') == 'true' then
|
||||
alias = function(from, to)
|
||||
minetest.log('action', "[" .. modname .. "] " .. from .. " -> " .. to)
|
||||
minetest.register_alias(from, to)
|
||||
end
|
||||
else
|
||||
alias = minetest.register_alias
|
||||
end
|
||||
|
||||
do -- default
|
||||
local aliases = {
|
||||
'mg_cherry_sapling', 'acid_source', 'acid_flowing', 'sand_source', 'sand_flowing',
|
||||
'clay_burned', 'cherry_tree', 'cherry_log', 'cherry_plank', 'cherry_blossom_leaves',
|
||||
'cherry_leaves_deco', 'cherry_sapling', 'desert_stone_with_coal', 'desert_stone_with_copper',
|
||||
'stone_with_tin', 'desert_stone_with_tin', 'tinblock', 'stone_with_silver',
|
||||
'desert_stone_with_silver', 'silverblock', 'meze', 'stone_with_mithril', 'mithrilblock',
|
||||
'stone_with_coin', 'ladder_obsidian', 'fence_cobble', 'fence_desert_cobble',
|
||||
'fence_steelblock', 'fence_brick', 'nyancat', 'nyancat_rainbow', 'obsidian_cooled',
|
||||
'cobble_cooled', 'scorched_stuff'
|
||||
}
|
||||
for _, node in pairs(aliases) do
|
||||
alias('default:' .. node, modname .. ':' .. node)
|
||||
end
|
||||
alias('default:meze_block', modname .. ':meze')
|
||||
end
|
||||
|
||||
do -- moreores
|
||||
local aliases = {
|
||||
'pick_silver', 'pick_mithril', 'shovel_silver', 'shovel_mithril', 'axe_silver', 'axe_mithril',
|
||||
'sword_silver', 'sword_mithril', 'mithril_ingot', 'silver_ingot', 'tin_ingot', 'mithril_lump',
|
||||
'silver_lump', 'tin_lump'
|
||||
}
|
||||
for _, node in pairs(aliases) do
|
||||
alias('moreores:' .. node, modname .. ':' .. node)
|
||||
alias('default:' .. node, modname .. ':' .. node)
|
||||
end
|
||||
alias('mineral_silver', modname .. ':stone_with_silver')
|
||||
alias('mineral_tin', modname .. ':stone_with_tin')
|
||||
alias('mineral_mithril', modname .. ':stone_with_mithril')
|
||||
alias('mithril_block', modname .. ':mithrilblock')
|
||||
alias('silver_block', modname .. ':silverblock')
|
||||
alias('tin_block', modname .. ':tinblock')
|
||||
end
|
||||
|
||||
alias('bucket_acid', modname .. ':bucket_acid')
|
||||
alias('bucket:bucket_acid', modname .. ':bucket_acid')
|
||||
alias('bucket_sand', modname .. ':bucket_sand')
|
||||
alias('bucket:bucket_sand', modname .. ':bucket_sand')
|
@ -1,44 +0,0 @@
|
||||
minetest.register_biome({
|
||||
name = "cherry_blossom_forest",
|
||||
node_shore_filler = "default:sand",
|
||||
node_top = "default:grass",
|
||||
depth_top = 1,
|
||||
node_filler = "default:dirt",
|
||||
depth_filler = 3,
|
||||
node_dust = "air",
|
||||
node_underwater = "default:gravel",
|
||||
y_min = 1,
|
||||
y_max = 40,
|
||||
heat_point = 50,
|
||||
humidity_point = 55,
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
name = "cherry_blossom_forest_floral",
|
||||
node_shore_filler = "default:sand",
|
||||
node_top = "default:grass",
|
||||
depth_top = 1,
|
||||
node_filler = "default:dirt",
|
||||
depth_filler = 3,
|
||||
node_dust = "air",
|
||||
node_underwater = "default:gravel",
|
||||
y_min = 1,
|
||||
y_max = 40,
|
||||
heat_point = 47,
|
||||
humidity_point = 50,
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
name = "cherry_blossom_forest_grassy",
|
||||
node_shore_filler = "default:sand",
|
||||
node_top = "default:grass",
|
||||
depth_top = 1,
|
||||
node_filler = "default:dirt",
|
||||
depth_filler = 3,
|
||||
node_dust = "air",
|
||||
node_underwater = "default:gravel",
|
||||
y_min = 1,
|
||||
y_max = 42,
|
||||
heat_point = 55,
|
||||
humidity_point = 55,
|
||||
})
|
@ -1,316 +0,0 @@
|
||||
local modname = minetest.get_current_modname()
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'cooking',
|
||||
output = modname .. ':mithril_ingot',
|
||||
recipe = modname .. ':mithril_lump',
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'cooking',
|
||||
output = modname .. ':clay_burned',
|
||||
recipe = 'default:clay',
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'fuel',
|
||||
recipe = 'group:stick',
|
||||
burntime = 1,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'cooking',
|
||||
output = modname .. ':tin_ingot',
|
||||
recipe = modname .. ':tin_lump',
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'cooking',
|
||||
output = modname .. ':silver_ingot',
|
||||
recipe = modname .. ':silver_lump',
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':pick_silver',
|
||||
recipe = {
|
||||
{modname .. ':silver_ingot', modname .. ':silver_ingot', modname .. ':silver_ingot'},
|
||||
{'', 'group:stick', ''},
|
||||
{'', 'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':pick_gold',
|
||||
recipe = {
|
||||
{modname .. ':gold_ingot', modname .. ':gold_ingot', modname .. ':gold_ingot'},
|
||||
{'', 'group:stick', ''},
|
||||
{'', 'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'maptools:superapple',
|
||||
type = 'shapeless',
|
||||
recipe = {'default:apple', 'default:mese', 'default:mese'},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':cherry_plank 6',
|
||||
recipe = {
|
||||
{modname .. ':cherry_log'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':pick_mithril',
|
||||
recipe = {
|
||||
{modname .. ':mithril_ingot', modname .. ':mithril_ingot', modname .. ':mithril_ingot'},
|
||||
{'', 'group:stick', ''},
|
||||
{'', 'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':pick_nyan',
|
||||
recipe = {
|
||||
{modname .. ':nyancat', modname .. ':nyancat', modname .. ':nyancat'},
|
||||
{'', 'group:stick', ''},
|
||||
{'', 'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':shovel_silver',
|
||||
recipe = {
|
||||
{modname .. ':silver_ingot'},
|
||||
{'group:stick'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':shovel_gold',
|
||||
recipe = {
|
||||
{'default:gold_ingot'},
|
||||
{'group:stick'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':shovel_mithril',
|
||||
recipe = {
|
||||
{modname .. ':mithril_ingot'},
|
||||
{'group:stick'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':shovel_nyan',
|
||||
recipe = {
|
||||
{modname .. ':nyancat'},
|
||||
{'group:stick'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':axe_silver',
|
||||
recipe = {
|
||||
{modname .. ':silver_ingot', modname .. ':silver_ingot'},
|
||||
{modname .. ':silver_ingot', 'group:stick'},
|
||||
{'', 'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':axe_gold',
|
||||
recipe = {
|
||||
{modname .. ':gold_ingot', modname .. ':gold_ingot'},
|
||||
{modname .. ':gold_ingot', 'group:stick'},
|
||||
{'', 'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':axe_mithril',
|
||||
recipe = {
|
||||
{modname .. ':mithril_ingot', modname .. ':mithril_ingot'},
|
||||
{modname .. ':mithril_ingot', 'group:stick'},
|
||||
{'', 'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':axe_nyan',
|
||||
recipe = {
|
||||
{modname .. ':nyancat', modname .. ':nyancat'},
|
||||
{modname .. ':nyancat', 'group:stick'},
|
||||
{'', 'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':axe_silver',
|
||||
recipe = {
|
||||
{modname .. ':silver_ingot', modname .. ':silver_ingot'},
|
||||
{'group:stick', modname .. ':silver_ingot'},
|
||||
{'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':axe_gold',
|
||||
recipe = {
|
||||
{'default:gold_ingot', 'default:gold_ingot'},
|
||||
{'group:stick', 'default:gold_ingot'},
|
||||
{'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':axe_mithril',
|
||||
recipe = {
|
||||
{modname .. ':mithril_ingot', modname .. ':mithril_ingot'},
|
||||
{'group:stick', modname .. ':mithril_ingot'},
|
||||
{'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':axe_nyan',
|
||||
recipe = {
|
||||
{modname .. ':nyancat', modname .. ':nyancat'},
|
||||
{'group:stick', modname .. ':nyancat'},
|
||||
{'group:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':sword_silver',
|
||||
recipe = {
|
||||
{modname .. ':silver_ingot'},
|
||||
{modname .. ':silver_ingot'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':sword_gold',
|
||||
recipe = {
|
||||
{'default:gold_ingot'},
|
||||
{'default:gold_ingot'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':sword_mithril',
|
||||
recipe = {
|
||||
{modname .. ':mithril_ingot'},
|
||||
{modname .. ':mithril_ingot'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':sword_nyan',
|
||||
recipe = {
|
||||
{modname .. ':nyancat'},
|
||||
{modname .. ':nyancat'},
|
||||
{'group:stick'},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({ -- Ultimate Warrior weapon
|
||||
output = modname .. ':dungeon_master_s_blood_sword',
|
||||
recipe = {
|
||||
{'mobs:dungeon_master_blood', 'nether:white', 'mobs:dungeon_master_blood'},
|
||||
{'mobs:dungeon_master_blood', 'mobs:dungeon_master_diamond', 'mobs:dungeon_master_blood'},
|
||||
{modname .. ':mithrilblock', 'mobs:zombie_tibia', modname .. ':mithril_block'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'shapeless',
|
||||
output = 'default:bronze_ingot 3',
|
||||
recipe = {
|
||||
modname .. ':tin_ingot',
|
||||
'default:copper_ingot',
|
||||
'default:copper_ingot',
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':tinblock',
|
||||
recipe = {
|
||||
{modname .. ':tin_ingot', modname .. ':tin_ingot', modname .. ':tin_ingot'},
|
||||
{modname .. ':tin_ingot', modname .. ':tin_ingot', modname .. ':tin_ingot'},
|
||||
{modname .. ':tin_ingot', modname .. ':tin_ingot', modname .. ':tin_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':tin_ingot 9',
|
||||
recipe = {
|
||||
{modname .. ':tinblock'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':silverblock',
|
||||
recipe = {
|
||||
{modname .. ':silver_ingot', modname .. ':silver_ingot', modname .. ':silver_ingot'},
|
||||
{modname .. ':silver_ingot', modname .. ':silver_ingot', modname .. ':silver_ingot'},
|
||||
{modname .. ':silver_ingot', modname .. ':silver_ingot', modname .. ':silver_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':silver_ingot 9',
|
||||
recipe = {
|
||||
{modname .. ':silverblock'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':mithrilblock',
|
||||
recipe = {
|
||||
{modname .. ':mithril_ingot', modname .. ':mithril_ingot', modname .. ':mithril_ingot'},
|
||||
{modname .. ':mithril_ingot', modname .. ':mithril_ingot', modname .. ':mithril_ingot'},
|
||||
{modname .. ':mithril_ingot', modname .. ':mithril_ingot', modname .. ':mithril_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ':mithril_ingot 9',
|
||||
recipe = {
|
||||
{modname .. ':mithrilblock'},
|
||||
}
|
||||
})
|
||||
|
||||
-- Utility crafts
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:dirt 4',
|
||||
type = 'shapeless',
|
||||
recipe = {'default:gravel', 'default:gravel', 'default:gravel', 'default:gravel'}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:gravel',
|
||||
recipe = {
|
||||
{'default:cobble'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'default:desert_stone 2',
|
||||
recipe = {
|
||||
{'default:desert_sand', 'default:desert_sand'},
|
||||
{'default:desert_sand', 'default:desert_sand'},
|
||||
}
|
||||
})
|
||||
|
@ -1,39 +0,0 @@
|
||||
local modname = minetest.get_current_modname()
|
||||
|
||||
minetest.register_craftitem(modname .. ':tin_lump', {
|
||||
description = "Tin Lump",
|
||||
inventory_image = 'default_tin_lump.png',
|
||||
})
|
||||
|
||||
minetest.register_craftitem(modname .. ':silver_lump', {
|
||||
description = "Silver Lump",
|
||||
inventory_image = 'default_silver_lump.png',
|
||||
})
|
||||
|
||||
minetest.register_craftitem(modname .. ':mithril_lump', {
|
||||
description = "Mithril Lump",
|
||||
inventory_image = 'default_mithril_lump.png',
|
||||
})
|
||||
|
||||
minetest.register_craftitem(modname .. ':tin_ingot', {
|
||||
description = "Tin Ingot",
|
||||
inventory_image = 'default_tin_ingot.png',
|
||||
groups = {ingot = 1},
|
||||
})
|
||||
|
||||
minetest.register_craftitem(modname .. ':silver_ingot', {
|
||||
description = "Silver Ingot",
|
||||
inventory_image = 'default_silver_ingot.png',
|
||||
groups = {ingot = 1},
|
||||
})
|
||||
|
||||
minetest.register_craftitem(modname .. ':mithril_ingot', {
|
||||
description = "Mithril Ingot",
|
||||
groups = {ingot = 1},
|
||||
inventory_image = 'default_mithril_ingot.png',
|
||||
})
|
||||
|
||||
minetest.register_craftitem(modname .. ':scorched_stuff', {
|
||||
description = "Scorched Stuff",
|
||||
inventory_image = 'default_scorched_stuff.png',
|
||||
})
|
@ -1,2 +0,0 @@
|
||||
default
|
||||
bucket
|
@ -1,21 +0,0 @@
|
||||
local modname = minetest.get_current_modname()
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
|
||||
local thismod = {}
|
||||
_G[modname] = thismod
|
||||
|
||||
local start = os.time()
|
||||
minetest.log('action', "[" .. modname .. "] Loading")
|
||||
|
||||
dofile(modpath .. '/aliases.lua')
|
||||
|
||||
dofile(modpath .. '/abms.lua')
|
||||
dofile(modpath .. '/biomes.lua')
|
||||
dofile(modpath .. '/nodes.lua')
|
||||
dofile(modpath .. '/trees.lua')
|
||||
dofile(modpath .. '/craftitems.lua')
|
||||
dofile(modpath .. '/registers.lua')
|
||||
dofile(modpath .. '/crafting.lua')
|
||||
dofile(modpath .. '/mapgen.lua')
|
||||
|
||||
minetest.log('action', "[" .. modname .. "] Loaded in " .. (os.time() - start) .. " seconds")
|
@ -1,234 +0,0 @@
|
||||
local modname = minetest.get_current_modname()
|
||||
local thismod = _G[modname]
|
||||
|
||||
-- Beware of Meze
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = modname .. ':meze',
|
||||
wherein = 'default:stone',
|
||||
clust_scarcity = 40 * 40 * 40,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 2,
|
||||
y_min = 0,
|
||||
y_max = 64,
|
||||
flags = 'absheight',
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = modname .. ':meze',
|
||||
wherein = 'default:desert_stone',
|
||||
clust_scarcity = 40 * 40 * 40,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 2,
|
||||
y_min = 0,
|
||||
y_max = 64,
|
||||
flags = 'absheight',
|
||||
})
|
||||
|
||||
|
||||
-- Tin
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = modname .. ':stone_with_tin',
|
||||
wherein = 'default:stone',
|
||||
clust_scarcity = 7 * 7 * 7,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 7,
|
||||
y_min = -31000,
|
||||
y_max = 12,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = modname .. ':desert_stone_with_tin',
|
||||
wherein = 'default:desert_stone',
|
||||
clust_scarcity = 7 * 7 * 7,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 7,
|
||||
y_min = -31000,
|
||||
y_max = 12,
|
||||
})
|
||||
|
||||
-- Silver
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = modname .. ':stone_with_silver',
|
||||
wherein = 'default:stone',
|
||||
clust_scarcity = 11 * 11 * 11,
|
||||
clust_num_ores = 4,
|
||||
clust_size = 11,
|
||||
y_min = -31000,
|
||||
y_max = -12,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = modname .. ':desert_stone_with_silver',
|
||||
wherein = 'default:desert_stone',
|
||||
clust_scarcity = 11 * 11 * 11,
|
||||
clust_num_ores = 4,
|
||||
clust_size = 11,
|
||||
y_min = -31000,
|
||||
y_max = -12,
|
||||
})
|
||||
|
||||
-- Mithril
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = modname .. ':stone_with_mithril',
|
||||
wherein = 'default:stone',
|
||||
clust_scarcity = 11 * 11 * 11,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 11,
|
||||
y_min = -31000,
|
||||
y_max = -1024,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = modname .. ':stone_with_mithril',
|
||||
wherein = 'default:stone',
|
||||
clust_scarcity = 15 * 15 * 15,
|
||||
clust_num_ores = 2,
|
||||
clust_size = 3,
|
||||
y_min = -31000,
|
||||
y_max = -2048,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = modname .. ':stone_with_mithril',
|
||||
wherein = 'default:stone',
|
||||
clust_scarcity = 22 * 22 * 22,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 5,
|
||||
y_min = -31000,
|
||||
y_max = -4096,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = modname .. ':stone_with_mithril',
|
||||
wherein = 'default:stone',
|
||||
clust_scarcity = 28 * 28 * 28,
|
||||
clust_num_ores = 20,
|
||||
clust_size = 7,
|
||||
y_min = -31000,
|
||||
y_max = -12288,
|
||||
})
|
||||
|
||||
-- Gold Coins
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = modname .. ':stone_with_coin',
|
||||
wherein = 'default:stone',
|
||||
clust_scarcity = 26 * 26 * 26,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = -30000,
|
||||
y_max = 0,
|
||||
flags = 'absheight',
|
||||
})
|
||||
|
||||
-- Cherry tree
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = 'simple',
|
||||
place_on = 'default:dirt_with_grass"',
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.005,
|
||||
spread = {x=100, y=100, z=100},
|
||||
seed = 278,
|
||||
octaves = 2,
|
||||
persist = 0.7
|
||||
},
|
||||
decoration = modname .. ':mg_cherry_sapling',
|
||||
height = 1,
|
||||
})
|
||||
|
||||
-- More ores, MORE ORES!!!
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = 'default:stone_with_coal',
|
||||
wherein = 'default:stone',
|
||||
clust_scarcity = 32 * 32 * 32,
|
||||
clust_num_ores = 40,
|
||||
clust_size = 4,
|
||||
y_max = 64,
|
||||
y_min = -30000,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = 'scatter',
|
||||
ore = 'default:stone_with_iron',
|
||||
wherein = 'default:stone',
|
||||
clust_scarcity = 12 * 12 * 12,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 2,
|
||||
y_min = -15,
|
||||
y_max = 2,
|
||||
})
|
||||
|
||||
--
|
||||
-- Generate nyan cats
|
||||
--
|
||||
|
||||
-- All mapgens except singlenode
|
||||
|
||||
function thismod.make_nyancat(pos, facedir, length)
|
||||
local tailvec = {x = 0, y = 0, z = 0}
|
||||
if facedir == 0 then
|
||||
tailvec.z = 1
|
||||
elseif facedir == 1 then
|
||||
tailvec.x = 1
|
||||
elseif facedir == 2 then
|
||||
tailvec.z = -1
|
||||
elseif facedir == 3 then
|
||||
tailvec.x = -1
|
||||
else
|
||||
facedir = 0
|
||||
tailvec.z = 1
|
||||
end
|
||||
local p = {x = pos.x, y = pos.y, z = pos.z}
|
||||
minetest.set_node(p, {name = modname .. ':nyancat', param2 = facedir})
|
||||
for i = 1, length do
|
||||
p.x = p.x + tailvec.x
|
||||
p.z = p.z + tailvec.z
|
||||
minetest.set_node(p, {name = modname .. ':nyancat_rainbow', param2 = facedir})
|
||||
end
|
||||
end
|
||||
|
||||
function thismod.generate_nyancats(minp, maxp, seed)
|
||||
local height_min = -19600
|
||||
local height_max = 30000
|
||||
if maxp.y < height_min or minp.y > height_max then
|
||||
return
|
||||
end
|
||||
local y_min = math.max(minp.y, height_min)
|
||||
local y_max = math.min(maxp.y, height_max)
|
||||
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
|
||||
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}
|
||||
thismod.make_nyancat(p0, pr:next(0, 3), pr:next(10, 15))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if minetest.setting_get(modname .. '.disable_nyancat_mapgen') ~= 'true' then
|
||||
minetest.register_on_generated(thismod.generate_nyancats)
|
||||
end
|
@ -1,504 +0,0 @@
|
||||
local modname = minetest.get_current_modname()
|
||||
|
||||
minetest.register_node(modname .. ':acid_source', {
|
||||
description = 'Acid Source',
|
||||
inventory_image = minetest.inventorycube('default_acid.png'),
|
||||
drawtype = 'liquid',
|
||||
tiles = {
|
||||
{name = 'default_acid_source_animated.png', animation={type = 'vertical_frames', aspect_w = 16, aspect_h = 16, length = 1.5}}
|
||||
},
|
||||
special_tiles = {
|
||||
-- New-style acid source material (mostly unused)
|
||||
{
|
||||
name = 'default_acid_source_animated.png',
|
||||
animation = {type = 'vertical_frames', aspect_w= 16, aspect_h = 16, length = 1.5},
|
||||
backface_culling = false,
|
||||
}
|
||||
},
|
||||
alpha = 160,
|
||||
paramtype = 'light',
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drop = '',
|
||||
drowning = 2,
|
||||
liquidtype = 'source',
|
||||
liquid_alternative_flowing = modname .. ':acid_flowing',
|
||||
liquid_alternative_source = modname .. ':acid_source',
|
||||
liquid_viscosity = 1,
|
||||
liquid_range = 4,
|
||||
damage_per_second = 3,
|
||||
post_effect_color = {a = 120, r = 50, g = 90, b = 30},
|
||||
groups = {water = 3, acid = 3, liquid = 3, puts_out_fire = 1},
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':acid_flowing', {
|
||||
description = 'Flowing Acid',
|
||||
inventory_image = minetest.inventorycube('default_acid.png'),
|
||||
drawtype = 'flowingliquid',
|
||||
tiles = {'default_acid.png'},
|
||||
special_tiles = {
|
||||
{
|
||||
image = 'default_acid_flowing_animated.png',
|
||||
backface_culling=false,
|
||||
animation={type = 'vertical_frames', aspect_w= 16, aspect_h = 16, length = 0.6}
|
||||
},
|
||||
{
|
||||
image = 'default_acid_flowing_animated.png',
|
||||
backface_culling=true,
|
||||
animation={type = 'vertical_frames', aspect_w= 16, aspect_h = 16, length = 0.6}
|
||||
},
|
||||
},
|
||||
alpha = 160,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'flowingliquid',
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drop = '',
|
||||
drowning = 2,
|
||||
liquidtype = 'flowing',
|
||||
liquid_alternative_flowing = modname .. ':acid_flowing',
|
||||
liquid_alternative_source = modname .. ':acid_source',
|
||||
liquid_viscosity = 1,
|
||||
liquid_range = 4,
|
||||
damage_per_second = 3,
|
||||
post_effect_color = {a = 120, r = 50, g = 90, b = 30},
|
||||
groups = {water = 3, acid = 3, liquid = 3, puts_out_fire = 1, not_in_creative_inventory = 1},
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':sand_source', {
|
||||
description = 'Sand Source',
|
||||
inventory_image = minetest.inventorycube('default_sand.png'),
|
||||
drawtype = 'liquid',
|
||||
tiles = {'default_sand.png'},
|
||||
alpha = 255,
|
||||
paramtype = 'light',
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drop = '',
|
||||
drowning = 4,
|
||||
liquidtype = 'source',
|
||||
liquid_alternative_flowing = modname .. ':sand_flowing',
|
||||
liquid_alternative_source = modname .. ':sand_source',
|
||||
liquid_viscosity = 20,
|
||||
liquid_renewable = false,
|
||||
post_effect_color = {a = 250, r = 0, g = 0, b = 0},
|
||||
groups = {liquid = 3},
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':sand_flowing', {
|
||||
description = 'Flowing Sand',
|
||||
inventory_image = minetest.inventorycube('default_sand.png'),
|
||||
drawtype = 'flowingliquid',
|
||||
tiles = {'default_sand.png'},
|
||||
special_tiles = {
|
||||
{
|
||||
image = 'default_sand_flowing_animated.png',
|
||||
backface_culling=false,
|
||||
animation={type = 'vertical_frames', aspect_w= 16, aspect_h = 16, length = 0.6}
|
||||
},
|
||||
{
|
||||
image = 'default_sand_flowing_animated.png',
|
||||
backface_culling=true,
|
||||
animation={type = 'vertical_frames', aspect_w= 16, aspect_h = 16, length = 0.6}
|
||||
},
|
||||
},
|
||||
alpha = 255,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'flowingliquid',
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
drop = '',
|
||||
drowning = 4,
|
||||
liquidtype = 'flowing',
|
||||
liquid_alternative_flowing = modname .. ':sand_flowing',
|
||||
liquid_alternative_source = modname .. ':sand_source',
|
||||
liquid_viscosity = 20,
|
||||
post_effect_color = {a = 250, r = 0, g = 0, b = 0},
|
||||
groups = {liquid = 3, not_in_creative_inventory = 1},
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node(modname .. ':clay_burned', {
|
||||
description = 'Burned Clay',
|
||||
tiles = {'default_clay_burned.png'},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly = 3},
|
||||
drop = 'default:clay_lump 4',
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
-- From BFD, cherry tree
|
||||
minetest.register_node(modname .. ':cherry_tree', {
|
||||
description = 'Cherry Log',
|
||||
tiles = {'default_cherry_top.png', 'default_cherry_top.png', 'default_cherry_tree.png'},
|
||||
is_ground_content = false,
|
||||
groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
drop = modname .. ':cherry_log'
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':cherry_log', {
|
||||
description = 'Cherry Log',
|
||||
tiles = {'default_cherry_top.png', 'default_cherry_top.png', 'default_cherry_tree.png'},
|
||||
paramtype2 = 'facedir',
|
||||
is_ground_content = false,
|
||||
groups = {choppy=2,oddly_breakable_by_hand=1,flammable=2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_place = minetest.rotate_node,
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':cherry_plank', {
|
||||
description = 'Cherry Planks',
|
||||
tiles = {'default_wood_cherry_planks.png'},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
groups = {oddly_breakable_by_hand=1, flammable=1, choppy=3, wood=1},
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':cherry_blossom_leaves', {
|
||||
description = 'Cherry Blossom Leaves',
|
||||
drawtype = 'allfaces_optional',
|
||||
visual_scale = 1.3,
|
||||
tiles = {'default_cherry_blossom_leaves.png'},
|
||||
paramtype = 'light',
|
||||
waving = 1,
|
||||
is_ground_content = false,
|
||||
groups = {snappy=3, leafdecay=3, leafdecay_drop = 1, flammable=2, leaves=1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{
|
||||
items = {modname .. ':cherry_sapling'},
|
||||
rarity = 32,
|
||||
},
|
||||
{
|
||||
items = {modname .. ':cherry_blossom_leaves'},
|
||||
}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
-- place a random grass node
|
||||
local stack = ItemStack(modname .. ':cherry_leaves_deco')
|
||||
local ret = minetest.item_place(stack, placer, pointed_thing)
|
||||
return ItemStack(modname .. ':cherry_blossom_leaves'..' '..itemstack:get_count()-(1-ret:get_count()))
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':cherry_leaves_deco', {
|
||||
description = 'Cherry Leaves',
|
||||
drawtype = 'allfaces_optional',
|
||||
visual_scale = 1.3,
|
||||
tiles = {'default_cherry_blossom_leaves.png'},
|
||||
paramtype = 'light',
|
||||
waving=1,
|
||||
is_ground_content = false,
|
||||
groups = {snappy=3, flammable=2, leaves=1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
drop = {modname .. ':cherry_blossom_leaves'},
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':cherry_sapling', {
|
||||
description = 'Cherry Sapling',
|
||||
waving = 1,
|
||||
visual_scale = 1.0,
|
||||
inventory_image = 'default_cherry_sapling.png',
|
||||
wield_image = 'default_cherry_sapling.png',
|
||||
drawtype = 'plantlike',
|
||||
paramtype = 'light',
|
||||
tiles = {'default_cherry_sapling.png'},
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
|
||||
},
|
||||
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
|
||||
attached_node = 1, sapling = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':desert_stone_with_coal', {
|
||||
description = 'Coal Ore',
|
||||
tiles = {'default_desert_stone.png^default_mineral_coal.png'},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly = 1, cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'default:desert_cobble'}},
|
||||
{items = {'default:coal_lump'}},
|
||||
{items = {'maptools:copper_coin'}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':desert_stone_with_copper', {
|
||||
description = 'Copper Ore',
|
||||
tiles = {'default_desert_stone.png^default_mineral_copper.png'},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly = 1, cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'default:desert_cobble'}},
|
||||
{items = {'default:copper_lump'}},
|
||||
{items = {'maptools:copper_coin 3'}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':stone_with_tin', {
|
||||
description = 'Tin Ore',
|
||||
tiles = {'default_stone.png^default_mineral_tin.png'},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'default:cobble'}},
|
||||
{items = {'default:tin_lump'}},
|
||||
{items = {'maptools:copper_coin 3'}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':desert_stone_with_tin', {
|
||||
description = 'Tin Ore',
|
||||
tiles = {'default_desert_stone.png^default_mineral_tin.png'},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly = 1, cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'default:desert_cobble'}},
|
||||
{items = {'default:tin_lump'}},
|
||||
{items = {'maptools:copper_coin 3'}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':tinblock', {
|
||||
description = 'Tin Block',
|
||||
tiles = {'default_tin_block.png'},
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':stone_with_silver', {
|
||||
description = 'Silver Ore',
|
||||
tiles = {'default_stone.png^default_mineral_silver.png'},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'default:cobble'}},
|
||||
{items = {'default:silver_lump'}},
|
||||
{items = {'maptools:copper_coin 3'}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':desert_stone_with_silver', {
|
||||
description = 'Silver Ore',
|
||||
tiles = {'default_desert_stone.png^default_mineral_silver.png'},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly = 1, cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'default:desert_cobble'}},
|
||||
{items = {'default:silver_lump'}},
|
||||
{items = {'maptools:copper_coin 3'}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':silverblock', {
|
||||
description = 'Silver Block',
|
||||
tiles = {'default_silver_block.png'},
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
-- Meze
|
||||
|
||||
local function die_later(digger)
|
||||
digger:set_hp(0)
|
||||
end
|
||||
|
||||
minetest.register_node(modname .. ':meze', {
|
||||
description = 'Meze Block',
|
||||
tiles = {'default_meze_block.png'},
|
||||
is_ground_content = true,
|
||||
drop = '',
|
||||
groups = {cracky = 1, level = 2, fall_damage_add_percent = -75},
|
||||
sounds = default.node_sound_wood_defaults(), -- Intended.
|
||||
|
||||
on_dig = function(pos, node, digger)
|
||||
if digger and minetest.setting_getbool('enable_damage') and not minetest.setting_getbool('creative_mode') then
|
||||
minetest.after(3, die_later, digger)
|
||||
minetest.chat_send_player(digger:get_player_name(), 'You feel like you did a mistake.')
|
||||
minetest.node_dig(pos, node, digger)
|
||||
elseif digger then
|
||||
minetest.node_dig(pos, node, digger)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Mithril
|
||||
|
||||
minetest.register_node(modname .. ':stone_with_mithril', {
|
||||
description = 'Mithril Ore',
|
||||
tiles = {'default_stone.png^default_mineral_mithril.png'},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'default:cobble'}},
|
||||
{items = {'default:mithril_lump'}},
|
||||
{items = {'maptools:copper_coin 3'}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':mithrilblock', {
|
||||
description = 'Mithril Block',
|
||||
tiles = {'default_mithril_block.png'},
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
--
|
||||
|
||||
minetest.register_node(modname .. ':stone_with_coin', {
|
||||
description = 'Stone with Coin',
|
||||
tiles = {'default_stone.png^maptools_gold_coin.png'},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {'default:cobble'}},
|
||||
{items = {'maptools:gold_coin'}},
|
||||
},
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':ladder_obsidian', {
|
||||
description = "Obsidian Ladder",
|
||||
drawtype = 'signlike',
|
||||
tiles = {'default_ladder_obsidian.png'},
|
||||
inventory_image = 'default_ladder_obsidian.png',
|
||||
wield_image = 'default_ladder_obsidian.png',
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'wallmounted',
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
is_ground_content = false,
|
||||
selection_box = {
|
||||
type = 'wallmounted',
|
||||
--wall_top = = <default>
|
||||
--wall_bottom = = <default>
|
||||
--wall_side = = <default>
|
||||
},
|
||||
groups = {cracky = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
default.register_fence(modname .. ':fence_cobble', {
|
||||
description = "Cobble Fence",
|
||||
texture = 'default_fence_cobble.png',
|
||||
material = 'default:cobble',
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence(modname .. ':fence_desert_cobble', {
|
||||
description = "Desert Cobble Fence",
|
||||
texture = 'default_fence_desert_cobble.png',
|
||||
material = 'default:desert_cobble',
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence(modname .. ':fence_steelblock', {
|
||||
description = "Steel Block Fence",
|
||||
texture = 'default_fence_steelblock.png',
|
||||
material = 'default:steelblock',
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence(modname .. ':fence_brick', {
|
||||
description = "Brick Fence",
|
||||
texture = 'default_fence_brick.png',
|
||||
material = 'default:brick',
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
-- Nyan cat
|
||||
|
||||
minetest.register_node(modname .. ':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'},
|
||||
paramtype2 = 'facedir',
|
||||
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_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':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},
|
||||
sunlight_propagate = true,
|
||||
walkable = false,
|
||||
use_texture_alpha = true,
|
||||
climbable = true,
|
||||
is_ground_content = false,
|
||||
post_effect_color = {a = 128, r= 255, g= 128, b= 255},
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
|
||||
--
|
||||
|
||||
minetest.register_node(modname .. ':obsidian_cooled', {
|
||||
description = "Obsidian (cooled)",
|
||||
tiles = {'default_obsidian.png'},
|
||||
is_ground_content = true,
|
||||
drop = 'default:obsidian',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
groups = {cracky = 1, level = 2},
|
||||
})
|
||||
|
||||
minetest.register_node(modname .. ':cobble_cooled', {
|
||||
description = "Cobblestone (cooled)",
|
||||
tiles = {'default_cobble.png'},
|
||||
is_ground_content = true,
|
||||
drop = 'default:cobble',
|
||||
groups = {cracky = 3, stone = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
@ -1,28 +0,0 @@
|
||||
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'}
|
||||
},
|
||||
})
|
@ -1,70 +0,0 @@
|
||||
local modname = minetest.get_current_modname()
|
||||
local thismod = _G[modname]
|
||||
|
||||
local random = math.random
|
||||
-- From BFD:
|
||||
|
||||
minetest.register_node(modname .. ':mg_cherry_sapling', {
|
||||
description = "Impossible to get node.",
|
||||
drawtype = 'airlike',
|
||||
paramtype = 'light',
|
||||
tiles = {'xfences_space.png'},
|
||||
groups = {not_in_creative_inventory=1},
|
||||
})
|
||||
|
||||
local c_mg_cherry_sapling = minetest.get_content_id(modname .. ':mg_cherry_sapling')
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp, seed)
|
||||
local timer = os.clock()
|
||||
local vm, emin, emax = minetest.get_mapgen_object('voxelmanip')
|
||||
local data = vm:get_data()
|
||||
local area = VoxelArea:new{MinEdge=emin, MaxEdge=emax}
|
||||
local trees_grown = 0
|
||||
for z=minp.z, maxp.z, 1 do
|
||||
for y=minp.y, maxp.y, 1 do
|
||||
for x=minp.x, maxp.x, 1 do
|
||||
local p_pos = area:index(x,y,z)
|
||||
local content_id = data[p_pos]
|
||||
if content_id == c_mg_cherry_sapling then
|
||||
minetest.after(1, thismod.grow_cherry_tree,
|
||||
{x=x, y=y, z=z},
|
||||
false,
|
||||
modname .. ':cherry_tree',
|
||||
modname .. ':cherry_blossom_leaves')
|
||||
trees_grown = trees_grown + 1
|
||||
else
|
||||
-- nope
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
local geninfo = string.format(" trees grown after: %.2fs", os.clock() - timer)
|
||||
minetest.log('action', trees_grown..geninfo)
|
||||
end)
|
||||
|
||||
function thismod.grow_cherry_tree(pos, is_apple_tree, trunk_node, leaves_node)
|
||||
--[[
|
||||
NOTE: Tree-placing code is currently duplicated in the engine
|
||||
and in games that have saplings; both are deprecated but not
|
||||
replaced yet
|
||||
--]]
|
||||
|
||||
local x, y, z = pos.x, pos.y, pos.z
|
||||
local height = random(4, 5)
|
||||
local c_tree = minetest.get_content_id(trunk_node)
|
||||
local c_leaves = minetest.get_content_id(leaves_node)
|
||||
|
||||
local vm = minetest.get_voxel_manip()
|
||||
local minp, maxp = vm:read_from_map(
|
||||
{x = pos.x - 2, y = pos.y, z = pos.z - 2},
|
||||
{x = pos.x + 2, y = pos.y + height + 1, z = pos.z + 2}
|
||||
)
|
||||
local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp})
|
||||
local data = vm:get_data()
|
||||
|
||||
default.add_trunk_and_leaves(data, a, pos, c_tree, c_leaves, height, 2, 8, is_apple_tree)
|
||||
|
||||
vm:set_data(data)
|
||||
vm:write_to_map()
|
||||
vm:update_map()
|
||||
end
|
@ -3,8 +3,6 @@ backend = redis
|
||||
redis_hash = IGNORED
|
||||
redis_address = localhost
|
||||
|
||||
load_mod_mff_classic = true
|
||||
|
||||
load_mod_darkage = true
|
||||
load_mod_quartz = true
|
||||
load_mod_moreblocks = true
|
||||
|