Initial Commit
|
@ -0,0 +1,25 @@
|
|||
vcnlib.new_layer{
|
||||
name = "ugsbiomes",
|
||||
seed_offset = 15,
|
||||
dimensions = 3,
|
||||
scale = 5,
|
||||
sector_lengths = {
|
||||
x=15,y=15,z=15,},
|
||||
biome_types = "random",
|
||||
geometry = "manhattan",
|
||||
}
|
||||
|
||||
local ugs = vcnlib.get_layer("ugsbiomes")
|
||||
|
||||
ugs:add_biome{
|
||||
name = "stone",
|
||||
}
|
||||
ugs:add_biome{
|
||||
name = "chalk",
|
||||
}
|
||||
ugs:add_biome{
|
||||
name = "slate",
|
||||
}
|
||||
ugs:add_biome{
|
||||
name = "marble",
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
default
|
||||
vcnlib
|
|
@ -0,0 +1,73 @@
|
|||
dofile(minetest.get_modpath("ugsbiomes").."/biome_layer.lua")
|
||||
dofile(minetest.get_modpath("ugsbiomes").."/nodes.lua")
|
||||
|
||||
local c_air = minetest.get_content_id("air")
|
||||
local c_ignore = minetest.get_content_id("ignore")
|
||||
local c_stone = minetest.get_content_id("default:stone")
|
||||
local c_obsidian = minetest.get_content_id("default:obsidian")
|
||||
local chalk = minetest.get_content_id("ugsbiomes:chalk")
|
||||
local slate = minetest.get_content_id("ugsbiomes:block_of_slate")
|
||||
local marble = minetest.get_content_id("ugsbiomes:marble")
|
||||
|
||||
local map_seed
|
||||
local ugs
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp, seed)
|
||||
local pr = PseudoRandom(seed)
|
||||
--[[
|
||||
if minp.y > 100 or maxp.y < -100 then
|
||||
return
|
||||
end
|
||||
--]]
|
||||
-- read chunk data
|
||||
local vm, emin, emax = minetest.get_mapgen_object("voxelmanip")
|
||||
local area = VoxelArea:new{MinEdge=emin, MaxEdge=emax}
|
||||
local data = vm:get_data()
|
||||
|
||||
local side_length = math.abs(maxp.x - minp.x) + 1
|
||||
local biglen = side_length+32
|
||||
|
||||
local chulens = {x=side_length, y=side_length, z=side_length}
|
||||
|
||||
-- generate noise data
|
||||
if not map_seed then
|
||||
map_seed = minetest.get_mapgen_params().seed
|
||||
end
|
||||
if not test then
|
||||
ugs = vcnlib.get_layer("ugsbiomes")
|
||||
end
|
||||
|
||||
-- initialize perlin map and data index
|
||||
local biomemap = vcnlib.get_biome_map_flat(minp,maxp,ugs,map_seed)
|
||||
--minetest.debug(map_seed)
|
||||
local nixyz = 1
|
||||
local nixz = 1
|
||||
for z = minp.z,maxp.z do
|
||||
for y = minp.y,maxp.y do
|
||||
local vi = area:index(minp.x,y,z)
|
||||
for x = minp.x,maxp.x do
|
||||
if data[vi] ~= c_stone then
|
||||
--if y ~= 50 then
|
||||
elseif biomemap[nixz] == "chalk" then
|
||||
data[vi] = chalk
|
||||
elseif biomemap[nixz] == "slate" then
|
||||
data[vi] = slate
|
||||
elseif biomemap[nixz] == "marble" then
|
||||
data[vi] = marble
|
||||
elseif biomemap[nixz] == "stone" then
|
||||
else
|
||||
data[vi] = c_obsidian
|
||||
end
|
||||
nixyz = nixyz + 1
|
||||
nixz = nixz + 1
|
||||
vi = vi + 1
|
||||
end
|
||||
nixz = nixz - side_length
|
||||
end
|
||||
nixz = nixz + side_length
|
||||
end
|
||||
vm:set_data(data)
|
||||
vm:set_lighting({day=15, night=15})
|
||||
vm:calc_lighting()
|
||||
vm:write_to_map(data)
|
||||
end)
|
|
@ -0,0 +1,265 @@
|
|||
--[[
|
||||
minetest.register_node("ugsbiomes:patio", {
|
||||
tiles = {"ugsbiomes_patio.png"},
|
||||
groups = {cracky=2,stone=1,},
|
||||
description = "Patio",
|
||||
})
|
||||
|
||||
minetest.register_node("ugsbiomes:patio_brick", {
|
||||
tiles = {"ugsbiomes_patio_brick.png"},
|
||||
groups = {cracky=2,},
|
||||
description = "Patio Brick",
|
||||
})
|
||||
|
||||
minetest.register_node("ugsbiomes:patiostone", {
|
||||
tiles = {"ugsbiomes_patiostone.png"},
|
||||
groups = {cracky=2,},
|
||||
description = "Patio Stone",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'ugsbiomes:patio',
|
||||
recipe = {
|
||||
{'ugsbiomes:patiostone', 'ugsbiomes:patiostone', ''},
|
||||
{'ugsbiomes:patiostone', 'ugsbiomes:patiostone', ''},
|
||||
{'', '', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "ugsbiomes:patio",
|
||||
burntime = 7,
|
||||
})
|
||||
--]]
|
||||
minetest.register_node("ugsbiomes:chalk", {
|
||||
tiles = {"ugsbiomes_chalk.png"},
|
||||
groups = {cracky=3,stone=1,},
|
||||
description = "Chalk",
|
||||
})
|
||||
|
||||
minetest.register_node("ugsbiomes:block_of_slate", {
|
||||
tiles = {"ugsbiomes_block_of_slate.png"},
|
||||
groups = {cracky=2,stone=1,},
|
||||
description = "Slate Block",
|
||||
})
|
||||
|
||||
minetest.register_node("ugsbiomes:marble", {
|
||||
tiles = {"ugsbiomes_marble.png"},
|
||||
groups = {cracky=2,stone=1,},
|
||||
description = "Marble Block",
|
||||
})
|
||||
--[[
|
||||
minetest.register_node("ugsbiomes:mineral_ruby", {
|
||||
tiles = {"default_stone.png^ugsbiomes_mineral_ruby.png"},
|
||||
groups = {cracky=1, stone=1},
|
||||
drop = 'ugsbiomes:ruby',
|
||||
description = "Ruby Ore",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("ugsbiomes:ruby", {
|
||||
description = "Ruby",
|
||||
inventory_image = "ugsbiomes_ruby.png",
|
||||
--[[
|
||||
on_drop = function(itemstack, dropper, pos)
|
||||
-- Prints a random number and removes one item from the stack
|
||||
minetest.chat_send_all(math.random())
|
||||
itemstack:take_item()
|
||||
return itemstack
|
||||
end,
|
||||
--]
|
||||
})
|
||||
|
||||
minetest.register_tool("ugsbiomes:rubypick", {
|
||||
description = "Ruby Pickaxe",
|
||||
inventory_image = "ugsbiomes_tool_rubypick.png",
|
||||
tool_capabilities = {
|
||||
max_drop_level=3,
|
||||
groupcaps= {
|
||||
cracky={times={[1]=5.00, [2]=1.50, [3]=1.00}, uses=1000, maxlevel=1}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'ugsbiomes:rubypick',
|
||||
recipe = {
|
||||
{'ugsbiomes:ruby', 'ugsbiomes:ruby', 'ugsbiomes:ruby'},
|
||||
{'', 'default:stick', ''},
|
||||
{'', 'default:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_tool("ugsbiomes:sword_ruby", {
|
||||
description = "Ruby Sword",
|
||||
inventory_image = "ugsbiomes_tool_rubysword.png",
|
||||
tool_capabilities = {
|
||||
-- Digging capabilities
|
||||
max_drop_level = 1,
|
||||
groupcaps = {
|
||||
fleshy={times={[1]=2.00, [2]=0.80, [3]=0.40}, uses=10, maxlevel=2},
|
||||
snappy={times={[2]=0.70, [3]=0.30}, uses=40, maxlevel=1},
|
||||
choppy={times={[3]=0.65}, uses=40, maxlevel=0}
|
||||
},
|
||||
-- Damage capabilities
|
||||
full_punch_interval = 0.8,
|
||||
damage_groups = {fleshy=8, snappy=4, choppy=2},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'ugsbiomes:sword_ruby',
|
||||
recipe = {
|
||||
{'', 'ugsbiomes:ruby', ''},
|
||||
{'', 'ugsbiomes:ruby', ''},
|
||||
{'', 'default:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_tool("ugsbiomes:rubyaxe", {
|
||||
description = "Ruby Axe",
|
||||
inventory_image = "ugsbiomes_tool_rubyaxe.png",
|
||||
tool_capabilities = {
|
||||
max_drop_level=3,
|
||||
groupcaps= {
|
||||
choppy={times={[1]=4.00, [2]=1.50, [3]=1.00}, uses=70, maxlevel=1}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'ugsbiomes:rubyaxe',
|
||||
recipe = {
|
||||
{'ugsbiomes:ruby', 'ugsbiomes:ruby', ''},
|
||||
{'ugsbiomes:ruby', 'default:stick', ''},
|
||||
{'', 'default:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_tool("ugsbiomes:rubyshovel", {
|
||||
description = "Ruby Shovel",
|
||||
inventory_image = "ugsbiomes_tool_rubyshovel.png",
|
||||
tool_capabilities = {
|
||||
max_drop_level=3,
|
||||
groupcaps= {
|
||||
crumbly={times={[1]=4.00, [2]=1.50, [3]=1.00}, uses=70, maxlevel=1}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'ugsbiomes:rubyshovel',
|
||||
recipe = {
|
||||
{'', 'ugsbiomes:ruby', ''},
|
||||
{'', 'default:stick', ''},
|
||||
{'', 'default:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ugsbiomes:mineral_amethyst", {
|
||||
tiles = {"default_stone.png^ugsbiomes_mineral_amethyst.png"},
|
||||
groups = {cracky=1, stone=1},
|
||||
drop = 'ugsbiomes:amethyst',
|
||||
description = "Amethyst Ore",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("ugsbiomes:amethyst", {
|
||||
description = "Amethyst",
|
||||
inventory_image = "ugsbiomes_amethyst.png",
|
||||
--[[
|
||||
on_drop = function(itemstack, dropper, pos)
|
||||
-- Prints a random number and removes one item from the stack
|
||||
minetest.chat_send_all(math.random())
|
||||
itemstack:take_item()
|
||||
return itemstack
|
||||
end,
|
||||
--]
|
||||
})
|
||||
|
||||
minetest.register_tool("ugsbiomes:amethystaxe", {
|
||||
description = "Amethyst Axe",
|
||||
inventory_image = "ugsbiomes_tool_amethystaxe.png",
|
||||
tool_capabilities = {
|
||||
max_drop_level=3,
|
||||
groupcaps= {
|
||||
choppy={times={[1]=3.00, [2]=1.50, [3]=1.00}, uses=70, maxlevel=1}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'ugsbiomes:amethystaxe',
|
||||
recipe = {
|
||||
{'ugsbiomes:amethyst', 'ugsbiomes:amethyst', ''},
|
||||
{'ugsbiomes:amethyst', 'default:stick', ''},
|
||||
{'', 'default:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_tool("ugsbiomes:amethystpick", {
|
||||
description = "Amethyst Pickaxe",
|
||||
inventory_image = "ugsbiomes_tool_amethystpick.png",
|
||||
tool_capabilities = {
|
||||
max_drop_level=3,
|
||||
groupcaps= {
|
||||
cracky={times={[1]=5.00, [2]=1.50, [3]=1.00}, uses=1000, maxlevel=1}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'ugsbiomes:amethystpick',
|
||||
recipe = {
|
||||
{'ugsbiomes:amethyst', 'ugsbiomes:amethyst', 'ugsbiomes:amethyst'},
|
||||
{'', 'default:stick', ''},
|
||||
{'', 'default:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_tool("ugsbiomes:amethystshovel", {
|
||||
description = "Amethyst Shovel",
|
||||
inventory_image = "ugsbiomes_tool_amethystshovel.png",
|
||||
tool_capabilities = {
|
||||
max_drop_level=3,
|
||||
groupcaps= {
|
||||
crumbly={times={[1]=3.00, [2]=1.50, [3]=1.00}, uses=70, maxlevel=1}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'ugsbiomes:amethystshovel',
|
||||
recipe = {
|
||||
{'', 'ugsbiomes:amethyst', ''},
|
||||
{'', 'default:stick', ''},
|
||||
{'', 'default:stick', ''},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_tool("ugsbiomes:sword_amethyst", {
|
||||
description = "Amethyst Sword",
|
||||
inventory_image = "ugsbiomes_tool_amethystsword.png",
|
||||
tool_capabilities = {
|
||||
-- Digging capabilities
|
||||
max_drop_level = 1,
|
||||
groupcaps = {
|
||||
fleshy={times={[1]=2.00, [2]=0.80, [3]=0.40}, uses=10, maxlevel=2},
|
||||
snappy={times={[2]=0.70, [3]=0.30}, uses=40, maxlevel=1},
|
||||
choppy={times={[3]=0.65}, uses=40, maxlevel=0}
|
||||
},
|
||||
-- Damage capabilities
|
||||
full_punch_interval = 0.8,
|
||||
damage_groups = {fleshy=8, snappy=4, choppy=2},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'ugsbiomes:sword_amethyst',
|
||||
recipe = {
|
||||
{'', 'ugsbiomes:amethyst', ''},
|
||||
{'', 'ugsbiomes:amethyst', ''},
|
||||
{'', 'default:stick', ''},
|
||||
}
|
||||
})
|
||||
--]]
|
||||
|
After Width: | Height: | Size: 482 B |
After Width: | Height: | Size: 481 B |
After Width: | Height: | Size: 834 B |
After Width: | Height: | Size: 775 B |
After Width: | Height: | Size: 641 B |
After Width: | Height: | Size: 630 B |
After Width: | Height: | Size: 749 B |
After Width: | Height: | Size: 290 B |
After Width: | Height: | Size: 411 B |
After Width: | Height: | Size: 204 B |
After Width: | Height: | Size: 273 B |
After Width: | Height: | Size: 233 B |
After Width: | Height: | Size: 257 B |
After Width: | Height: | Size: 202 B |
After Width: | Height: | Size: 272 B |
After Width: | Height: | Size: 230 B |
After Width: | Height: | Size: 256 B |
After Width: | Height: | Size: 535 B |
After Width: | Height: | Size: 667 B |
After Width: | Height: | Size: 575 B |
After Width: | Height: | Size: 750 B |