forked from mtcontrib/plantlife_modpack
0af7b69afa
When it's this far out of hand you really need to clean up or else everyone will be submitting patches with more whitespace problems.
81 lines
3.0 KiB
Lua
81 lines
3.0 KiB
Lua
-----------------------------------------------------------------------------------------------
|
|
local title = "Mole Hills"
|
|
local version = "0.0.3"
|
|
local mname = "molehills"
|
|
-----------------------------------------------------------------------------------------------
|
|
-- Idea by Sokomine
|
|
-- Code & textures by Mossmanikin
|
|
|
|
abstract_molehills = {}
|
|
|
|
dofile(minetest.get_modpath("molehills").."/molehills_settings.txt")
|
|
|
|
-- support for i18n
|
|
local S = plantlife_i18n.gettext
|
|
-----------------------------------------------------------------------------------------------
|
|
-- NoDe
|
|
-----------------------------------------------------------------------------------------------
|
|
|
|
local mh_cbox = {
|
|
type = "fixed",
|
|
fixed = { -0.5, -0.5, -0.5, 0.5, -0.125, 0.5}
|
|
}
|
|
|
|
minetest.register_node("molehills:molehill",{
|
|
drawtype = "mesh",
|
|
mesh = "molehill_molehill.obj",
|
|
description = S("Mole Hill"),
|
|
inventory_image = "molehills_side.png",
|
|
tiles = { "molehills_dirt.png" },
|
|
paramtype = "light",
|
|
selection_box = mh_cbox,
|
|
collision_box = mh_cbox,
|
|
groups = {crumbly=3},
|
|
sounds = default.node_sound_dirt_defaults(),
|
|
})
|
|
|
|
-----------------------------------------------------------------------------------------------
|
|
-- CRaFTiNG
|
|
-----------------------------------------------------------------------------------------------
|
|
minetest.register_craft({ -- molehills --> dirt
|
|
output = "default:dirt",
|
|
recipe = {
|
|
{"molehills:molehill","molehills:molehill"},
|
|
{"molehills:molehill","molehills:molehill"},
|
|
}
|
|
})
|
|
|
|
-----------------------------------------------------------------------------------------------
|
|
-- GeNeRaTiNG
|
|
-----------------------------------------------------------------------------------------------
|
|
abstract_molehills.place_molehill = function(pos)
|
|
local right_here = {x=pos.x , y=pos.y+1, z=pos.z }
|
|
if minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z }).name ~= "air"
|
|
and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z }).name ~= "air"
|
|
and minetest.get_node({x=pos.x , y=pos.y, z=pos.z+1}).name ~= "air"
|
|
and minetest.get_node({x=pos.x , y=pos.y, z=pos.z-1}).name ~= "air"
|
|
and minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z+1}).name ~= "air"
|
|
and minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z-1}).name ~= "air"
|
|
and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z+1}).name ~= "air"
|
|
and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z-1}).name ~= "air" then
|
|
minetest.set_node(right_here, {name="molehills:molehill"})
|
|
end
|
|
end
|
|
|
|
biome_lib:register_generate_plant({
|
|
surface = {"default:dirt_with_grass"},
|
|
max_count = Molehills_Max_Count,
|
|
rarity = Molehills_Rarity,
|
|
min_elevation = 1,
|
|
max_elevation = 40,
|
|
avoid_nodes = {"group:tree","group:liquid","group:stone","group:falling_node"--[[,"air"]]},
|
|
avoid_radius = 4,
|
|
plantlife_limit = -0.3,
|
|
},
|
|
abstract_molehills.place_molehill
|
|
)
|
|
|
|
-----------------------------------------------------------------------------------------------
|
|
print("[Mod] "..title.." ["..version.."] ["..mname.."]"..S("Loaded..."))
|
|
-----------------------------------------------------------------------------------------------
|