doors, texture changes, new nodes...

>added dark wooden door
>removed crafting recipe from lantern, it is now obtained from poes
>added pink flowers and fixed moreplants mapgen
>improved butterflies
>added deku flower
>roots will spawn under exposed dirt
>added sandstone dungeon nodes
master
D00Med 2016-12-06 12:11:46 +10:00
parent 6be69d1074
commit f6b785ab44
44 changed files with 380 additions and 22 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 80 KiB

BIN
menu/header2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -1716,6 +1716,110 @@ minetest.register_node("default:chest", {
end,
})
minetest.register_node("default:chest_l", {
description = "Chest",
tiles = {"default_chest_top_connected.png", "default_chest_top_connected.png", "default_chest_side.png",
"default_chest_side.png", "default_chest_side.png", "default_chest_front_connected.png"},
paramtype2 = "facedir",
groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory=1},
legacy_facedir_simple = true,
is_ground_content = false,
sounds = default.node_sound_wood_defaults(),
on_destruct = function(pos, oldnode)
local p1 = {x=pos.x, y=pos.y, z=pos.z+1}
local p2 = {x=pos.x, y=pos.y, z=pos.z-1}
local p3 = {x=pos.x+1, y=pos.y, z=pos.z}
local p4 = {x=pos.x-1, y=pos.y, z=pos.z}
if minetest.get_node(p1).name == "default:chest_r" then
minetest.remove_node(p1)
elseif minetest.get_node(p2).name == "default:chest_r" then
minetest.remove_node(p2)
elseif minetest.get_node(p3).name == "default:chest_r" then
minetest.remove_node(p3)
elseif minetest.get_node(p4).name == "default:chest_r" then
minetest.remove_node(p4)
end
end,
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", chest_formspec)
local inv = meta:get_inventory()
inv:set_size("main", 8*4)
end,
can_dig = function(pos,player)
local meta = minetest.get_meta(pos);
local inv = meta:get_inventory()
return inv:is_empty("main")
end,
on_metadata_inventory_move = function(pos, from_list, from_index,
to_list, to_index, count, player)
minetest.log("action", player:get_player_name() ..
" moves stuff in chest at " .. minetest.pos_to_string(pos))
end,
on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name() ..
" moves " .. stack:get_name() ..
" to chest at " .. minetest.pos_to_string(pos))
end,
on_metadata_inventory_take = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name() ..
" takes " .. stack:get_name() ..
" from chest at " .. minetest.pos_to_string(pos))
end,
on_blast = function(pos)
local drops = {}
default.get_inventory_drops(pos, "main", drops)
drops[#drops+1] = "default:chest"
minetest.remove_node(pos)
return drops
end,
})
minetest.register_node("default:chest_r", {
description = "Chest",
tiles = {"default_chest_top_connected_right.png", "default_chest_top_connected_right.png", "default_chest_side.png",
"default_chest_side.png", "default_chest_side.png", "default_chest_front_connected_right.png"},
paramtype2 = "facedir",
groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory=1},
legacy_facedir_simple = true,
is_ground_content = false,
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", chest_formspec)
local inv = meta:get_inventory()
inv:set_size("main", 8*4)
end,
can_dig = function(pos,player)
local meta = minetest.get_meta(pos);
local inv = meta:get_inventory()
return inv:is_empty("main")
end,
on_metadata_inventory_move = function(pos, from_list, from_index,
to_list, to_index, count, player)
minetest.log("action", player:get_player_name() ..
" moves stuff in chest at " .. minetest.pos_to_string(pos))
end,
on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name() ..
" moves " .. stack:get_name() ..
" to chest at " .. minetest.pos_to_string(pos))
end,
on_metadata_inventory_take = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name() ..
" takes " .. stack:get_name() ..
" from chest at " .. minetest.pos_to_string(pos))
end,
on_blast = function(pos)
local drops = {}
default.get_inventory_drops(pos, "main", drops)
drops[#drops+1] = "default:chest"
minetest.remove_node(pos)
return drops
end,
})
minetest.register_node("default:chest_locked", {
description = "Locked Chest",
tiles = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png",

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 769 B

After

Width:  |  Height:  |  Size: 798 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 735 B

After

Width:  |  Height:  |  Size: 734 B

View File

@ -449,6 +449,18 @@ doors.register("door_wood", {
}
})
doors.register("door_wood_2", {
tiles = {{ name = "doors_door_wood_2.png", backface_culling = true }},
description = "Dark Wooden Door",
inventory_image = "doors_item_wood_2.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
recipe = {
{"default:junglewood", "default:junglewood"},
{"default:junglewood", "default:junglewood"},
{"default:junglewood", "default:junglewood"},
}
})
doors.register("door_steel", {
tiles = {{name = "doors_door_steel.png", backface_culling = true}},
description = "Steel Door",

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

View File

@ -8,10 +8,10 @@ end
--effects
minetest.register_abm({
nodenames = {"flowers:flower_rose", "flowers:flower_tulip", "flowers:flower_dandelion_yellow", "flowers:flower_viola", "flowers:flower_dandelion_white", "flowers:flower_geranium"},
interval = 3.0, -- Run every 10 seconds
chance = 5, -- Select every 1 in 50 nodes
interval = 3.0,
chance = 5,
action = function(pos, node, active_object_count, active_object_count_wider)
minetest.env:add_entity({x=pos.x,y=pos.y,z=pos.z}, "hyrule_mapgen:butterfly")
minetest.env:add_entity({x=pos.x,y=pos.y+0.5,z=pos.z}, "hyrule_mapgen:butterfly")
end
})
@ -19,8 +19,8 @@ sound = false
minetest.register_abm({
nodenames = {"default:water_flowing"},
interval = 1.0, -- Run every 10 seconds
chance = 1, -- Select every 1 in 50 nodes
interval = 1.0,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local above = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name
local below = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name
@ -77,8 +77,8 @@ minetest.register_abm({
minetest.register_abm({
nodenames = {"default:river_water_flowing"},
interval = 1.0, -- Run every 10 seconds
chance = 1, -- Select every 1 in 50 nodes
interval = 1.0,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local above = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name
local below = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name
@ -133,10 +133,22 @@ minetest.register_abm({
end
})
minetest.register_abm({
nodenames = {"hyrule_mapgen:deku_flower"},
interval = 1.0,
chance = 1,
action = function(pos, node)
local node_1 = minetest.get_node(pos)
if node_1.param2 ~= 1 then
node_1.param2 = 1
end
end
})
minetest.register_abm({
nodenames = {"fire:basic_flame"},
interval = 1.0, -- Run every 10 seconds
chance = 2, -- Select every 1 in 50 nodes
interval = 1.0,
chance = 2,
action = function(pos, node, active_object_count, active_object_count_wider)
local num = math.random(1,100)
minetest.add_particlespawner({
@ -163,13 +175,16 @@ minetest.register_abm({
--entities
minetest.register_entity("hyrule_mapgen:butterfly", {
visual = "sprite",
visual = "mesh",
mesh = "butterfly.b3d",
physical = true,
textures = {"hyrule_mapgen_butterfly.png",},
visual_size = {x=0.2, y=0.2},
textures = {"hyrule_mapgen_butterfly1.png",},
visual_size = {x=0.3, y=0.3},
on_activate = function(self)
num = math.random(1,4)
self.object:set_properties({textures = {"hyrule_mapgen_butterfly"..num..".png",},})
self.object:set_animation({x=1, y=10}, 20, 0)
self.object:setyaw(math.pi+num)
minetest.after(5, function()
self.object:remove()
end)
@ -177,6 +192,8 @@ minetest.register_entity("hyrule_mapgen:butterfly", {
on_step = function(self)
local pos = self.object:getpos()
local vec = self.object:getvelocity()
local num = math.random(-math.pi, math.pi)
self.object:setyaw(math.pi+num)
self.object:setvelocity({x=-math.sin(12*pos.y), y=math.cos(12*pos.x), z=-math.sin(12*pos.y)})
self.object:setacceleration({x=-math.sin(6*vec.y), y=math.cos(6*vec.x), z=-math.sin(6*vec.y)})
end,
@ -432,8 +449,7 @@ minetest.register_node("hyrule_mapgen:swamp_flower", {
inventory_image = "hyrule_mapgen_swampflower.png",
paramtype = "light",
paramtype2 = "wallmounted",
sunlight_propagates = false,
light_source = 50,
sunlight_propagates = false,
walkable = false,
is_ground_content = true,
selection_box = {
@ -443,6 +459,44 @@ minetest.register_node("hyrule_mapgen:swamp_flower", {
groups = {cracky=3,dig_immediate=3},
})
playereffects.register_effect_type("float", "", nil, {"gravity"},
function(player)
player:set_physics_override(nil,nil,0.2)
physics_overriden = true
end,
function(effect, player)
player:set_physics_override(nil,nil,1)
physics_overriden = false
end,
false
)
minetest.register_node("hyrule_mapgen:deku_flower", {
description = "Deku Flower",
drawtype = "signlike",
visual_scale = 2.5,
tiles = {"hyrule_mapgen_dekuflower.png"},
inventory_image = "hyrule_mapgen_dekuflower.png",
paramtype = "light",
paramtype2 = "wallmounted",
place_param2 = 1,
sunlight_propagates = false,
walkable = false,
is_ground_content = true,
selection_box = {
type = "wallmounted",
fixed = {-0.5, -0.5, -0.5, 0.5, -0.4, 0.5}
},
groups = {snappy=1, dig_immediate=3},
on_construct = function(pos, node)
minetest.after(1, function()
local node_1 = minetest.get_node(pos)
node.param2 = 2
end)
end
})
minetest.register_node("hyrule_mapgen:healwater_src", {
description = "Healing Water Source",
drawtype = "liquid",
@ -535,6 +589,117 @@ minetest.register_abm({
})
minetest.register_node("hyrule_mapgen:sandstone", {
description = "Dungeon Sandstone",
tiles = {
"hyrule_mapgen_sandstone.png"
},
groups = {cracky=2,}
})
minetest.register_node("hyrule_mapgen:sandstone_tile", {
description = "Dungeon Sandstone Tile",
tiles = {
"hyrule_mapgen_sandstone_tile.png"
},
groups = {cracky=2,}
})
minetest.register_node("hyrule_mapgen:sandstone_decoration", {
description = "Dungeon Sandstone Decoration",
tiles = {
"hyrule_mapgen_sandstone.png",
"hyrule_mapgen_sandstone.png",
"hyrule_mapgen_sandstone_decoration.png",
"hyrule_mapgen_sandstone_decoration.png",
"hyrule_mapgen_sandstone_decoration.png",
"hyrule_mapgen_sandstone_decoration.png",
},
groups = {cracky=2,}
})
minetest.register_node("hyrule_mapgen:sandstone_decoration2", {
description = "Dungeon Sandstone Decoration 2",
tiles = {
"hyrule_mapgen_sandstone.png",
"hyrule_mapgen_sandstone.png",
"hyrule_mapgen_sandstone_decoration2.png",
"hyrule_mapgen_sandstone_decoration2.png",
"hyrule_mapgen_sandstone_decoration2.png",
"hyrule_mapgen_sandstone_decoration2.png",
},
groups = {cracky=2,}
})
minetest.register_node("hyrule_mapgen:pillar", {
description = "Sandstone Pillar",
tiles = {
"hyrule_mapgen_sandstone_tile.png",
"hyrule_mapgen_sandstone_tile.png",
"hyrule_mapgen_sandstone_pillar.png",
"hyrule_mapgen_sandstone_pillar.png",
"hyrule_mapgen_sandstone_pillar.png",
"hyrule_mapgen_sandstone_pillar.png"
},
drawtype = "nodebox",
paramtype = "light",
groups = {cracky=2, falling_node=1},
node_box = {
type = "fixed",
fixed = {
{-0.25, -0.5, -0.25, 0.25, 0.5, 0.25}, -- NodeBox4
}
}
})
minetest.register_node("hyrule_mapgen:pillar_base", {
description = "Sandstone Pillar (base)",
tiles = {
"hyrule_mapgen_sandstone_tile.png",
"hyrule_mapgen_sandstone_tile.png",
"hyrule_mapgen_sandstone_pillar_base.png",
"hyrule_mapgen_sandstone_pillar_base.png",
"hyrule_mapgen_sandstone_pillar_base.png",
"hyrule_mapgen_sandstone_pillar_base.png"
},
drawtype = "nodebox",
paramtype = "light",
groups = {cracky=2, falling_node=1},
node_box = {
type = "fixed",
fixed = {
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, 0.4375}, -- NodeBox1
{-0.375, -0.4375, -0.375, 0.375, -0.3125, 0.375}, -- NodeBox2
{-0.3125, -0.3125, -0.3125, 0.3125, -0.1875, 0.3125}, -- NodeBox3
{-0.25, -0.1875, -0.25, 0.25, 0.5, 0.25}, -- NodeBox4
}
}
})
minetest.register_node("hyrule_mapgen:pillar_top", {
description = "Sandstone Pillar (top)",
tiles = {
"hyrule_mapgen_sandstone_tile.png",
"hyrule_mapgen_sandstone_tile.png",
"hyrule_mapgen_sandstone_pillar_top.png",
"hyrule_mapgen_sandstone_pillar_top.png",
"hyrule_mapgen_sandstone_pillar_top.png",
"hyrule_mapgen_sandstone_pillar_top.png"
},
drawtype = "nodebox",
paramtype = "light",
groups = {cracky=2, falling_node=1},
node_box = {
type = "fixed",
fixed = {
{-0.4375, 0.4375, -0.4375, 0.4375, 0.5, 0.4375}, -- NodeBox1
{-0.375, 0.3125, -0.375, 0.375, 0.4375, 0.375}, -- NodeBox2
{-0.3125, 0.1875, -0.3125, 0.3125, 0.3125, 0.3125}, -- NodeBox3
{-0.25, -0.5, -0.25, 0.25, 0.1875, 0.25}, -- NodeBox4
}
}
})
minetest.register_node("hyrule_mapgen:railblock", {
description = "Railway Block",
tiles = {

View File

@ -614,6 +614,24 @@ minetest.register_decoration({
y_max = 40,
})
-- minetest.register_decoration({
-- deco_type = "simple",
-- place_on = {"default:dirt_with_grass", "default:dirt_with_grass3", "default:dirt_with_dry_grass"},
-- sidelen = 16,
-- noise_params = {
-- offset = 0.004,
-- scale = 0.006,
-- spread = {x = 100, y = 100, z = 100},
-- seed = 329,
-- octaves = 3,
-- persist = 0.6
-- },
-- biomes = {"deciduous_forest", "magic_forest", "wild_forest",},
-- decoration = "hyrule_mapgen:deku_flower",
-- y_min = 15,
-- y_max = 40,
-- })
--geysers(lavabiome)
minetest.register_decoration({
deco_type = "simple",
@ -956,6 +974,8 @@ minetest.register_decoration({
spawn_by = "air",
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass2"},
@ -975,3 +995,22 @@ minetest.register_decoration({
spawn_by = "air",
})
moreplants.mapgen()
local frequency = 5
minetest.register_on_generated(function(minp, maxp)
if maxp.y < -5 then
return
end
local dirt = minetest.find_nodes_in_area(minp, maxp,
{"default:dirt", "default:dirt_with_grass", "default:dirt_with_grass2", "default:dirt_with_grass3"})
for n = 1, #dirt do
if math.random(1, frequency) == 1 then
local pos = {x = dirt[n].x, y = dirt[n].y, z = dirt[n].z }
if minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "air" then
minetest.add_node({x=pos.x, y=pos.y-1, z=pos.z}, {name = "hyrule_mapgen:roots"})
end
end
end
end)

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 497 B

After

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

After

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 536 B

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 490 B

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 694 B

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 779 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 527 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 527 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

View File

@ -795,14 +795,7 @@ minetest.register_tool("hyruletools:lantern", {
end
})
minetest.register_craft({
output = "hyruletools:lantern",
recipe = {
{"", "default:glass", ""},
{"", "xdecor:candle", ""},
{"", "default:glass", ""}
}
})
minetest.register_tool("hyruletools:mirror", {
description = "magic mirror (use at your own risk!)",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 272 B

View File

@ -15,6 +15,7 @@ mobs:register_mob("mobs_loz:octorock", {
mesh = "octorock.b3d",
textures = {
{"mobs_octorock.png"},
{"mobs_octorock2.png"},
},
makes_footstep_sound = true,
view_range = 10,

View File

@ -13,6 +13,8 @@ mobs:register_mob("mobs_loz:poe", {
mesh = "poe.b3d",
textures = {
{"mobs_poe.png"},
{"mobs_poe2.png"},
{"mobs_poe3.png"},
},
visual_size = {x=1, y=1},
makes_footstep_sound = false,
@ -27,6 +29,8 @@ mobs:register_mob("mobs_loz:poe", {
view_range = 10,
drops = {
{name = "mobs_loz:soul",
chance = 2, min = 1, max = 1},
{name = "hyruletools:lantern",
chance = 5, min = 1, max = 1},
},
on_die = function(self)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -8,6 +8,8 @@ minetest.register_node("moreplants:tallgrass", {
drawtype = "plantlike",
tiles = {"moreplants_longgrass.png"},
paramtype = "light",
paramtype2 = "meshoptions",
place_param2 = 3,
is_ground_content = false,
buildable_to = true,
sunlight_propagates = true,
@ -22,6 +24,27 @@ minetest.register_node("moreplants:tallgrass", {
walkable = false,
})
minetest.register_node("moreplants:pink", {
description = "Pink Flower",
drawtype = "plantlike",
tiles = {"moreplants_pink.png"},
paramtype = "light",
paramtype2 = "meshoptions",
place_param2 = 4,
is_ground_content = false,
buildable_to = true,
sunlight_propagates = true,
inventory_image = "moreplants_pink.png",
visual_scale = 1.4,
wield_scale = {x=0.5, y=0.5, z=0.5},
groups = {snappy=3, flammable=1, attatched_node=1, flora=1},
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}
},
walkable = false,
})
minetest.register_node("moreplants:aliengrass", {
description = "Alien Grass",
drawtype = "plantlike",
@ -86,6 +109,8 @@ minetest.register_node("moreplants:umbrella", {
drawtype = "plantlike",
tiles = {"moreplants_umbrella.png"},
paramtype = "light",
paramtype2 = "meshoptions",
place_param2 = 2,
is_ground_content = false,
buildable_to = true,
sunlight_propagates = true,
@ -260,6 +285,8 @@ minetest.register_node("moreplants:fern", {
drawtype = "plantlike",
tiles = {"moreplants_fern.png"},
paramtype = "light",
paramtype2 = "meshoptions",
place_param2 = 4,
is_ground_content = false,
buildable_to = true,
sunlight_propagates = true,
@ -415,6 +442,8 @@ minetest.register_node("moreplants:deadweed", {
drawtype = "plantlike",
tiles = {"moreplants_deadweed.png"},
paramtype = "light",
paramtype2 = "meshoptions",
place_param2 = 3,
light_source = 5,
is_ground_content = false,
buildable_to = true,
@ -435,6 +464,8 @@ minetest.register_node("moreplants:taigabush", {
drawtype = "plantlike",
tiles = {"moreplants_tundrabush.png"},
paramtype = "light",
paramtype2 = "meshoptions",
place_param2 = 4,
light_source = 5,
is_ground_content = false,
buildable_to = true,
@ -817,6 +848,15 @@ minetest.register_decoration({
decoration = "moreplants:bush",
height = 1,
})
minetest.register_decoration({
deco_type = "simple",
place_on = "default:dirt_with_grass", "default:dirt_with_dry_grass",
sidelen = 26,
fill_ratio = 0.005,
biomes = {"deciduous_forest", "magic_forest"},
decoration = "moreplants:pink",
height = 1,
})
minetest.register_decoration({
deco_type = "simple",
place_on = "default:dirt_with_grass3",

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B