Initial Commit

master
qwertymine3 2015-09-03 16:42:28 +01:00
commit 434abbe329
25 changed files with 365 additions and 0 deletions

25
biome_layer.lua Normal file
View File

@ -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",
}

2
depends.txt Normal file
View File

@ -0,0 +1,2 @@
default
vcnlib

73
init.lua Normal file
View File

@ -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)

265
nodes.lua Normal file
View File

@ -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', ''},
}
})
--]]

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 775 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 B

BIN
textures/mo_stones_ruby.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 B