bows and lightning updated, waterlilies walkable

master
D00Med 2016-12-27 18:31:23 +10:00
parent 3b28835a3b
commit 0e5811ce33
10 changed files with 74 additions and 50 deletions

View File

@ -3,15 +3,16 @@ bows.nothing=function(self,target,hp,user,lastpos)
end
bows.on_hit_object=function(self,target,hp,user,lastpos)
target:set_hp(target:get_hp()-hp)
target:punch(user,1, "default:sword_wood", nil)
if target:get_hp()>0 then
local hp2=target:get_hp()-hp
target:set_hp(hp2)
target:punch(user,1,{full_punch_interval=1,damage_groups={fleshy=4}},nil)
if hp2>0 then
local pos=self.object:getpos()
local opos=target:getpos()
local dir = user:get_look_dir()
self.object:set_attach(target, "", {x=(opos.x-pos.x)*4,y=(pos.y-opos.y)*4,z=(pos.z-opos.z)*4},{x=0,y=-90,z=0})
else
bows.arrow_remove(self)
bows.arrow_remove(self)
end
return self
end
@ -45,9 +46,9 @@ end
bows.arrow_remove=function(self)
if self.object:get_attach() then self.object:set_detach() end
if self.target then self.target:punch(self.object, {full_punch_interval=1,damage_groups={fleshy=4}}, "default:bronze_pick", nil) end
if self.target then self.target:punch(self.object, 1,{full_punch_interval=1,damage_groups={fleshy=4}}, nil) end
self.object:set_hp(0)
self.object:punch(self.object, {full_punch_interval=1.0,damage_groups={fleshy=4}}, "bows:bow_wood", nil)
self.object:punch(self.object, 1,{full_punch_interval=1.0,damage_groups={fleshy=4}}, nil)
return self
end

View File

@ -1,8 +1,8 @@
-- Mode by UjEdwin
bows={
pvp=minetest.setting_getbool("enable_pvp"),
tnt=minetest.setting_getbool("enable_tnt") and minetest.get_modpath("tnt"),
pvp=minetest.setting_getbool("enable_pvp") or nil,
tnt=minetest.get_modpath("tnt")~=nil,
creative=minetest.setting_getbool("creative_mode"),
mesecons=minetest.get_modpath("mesecons"),
registed_arrows={},

View File

@ -316,41 +316,41 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = 'default:sword_steel',
recipe = {
{'default:steel_ingot'},
{'default:steel_ingot'},
{'group:stick'},
}
})
-- minetest.register_craft({
-- output = 'default:sword_steel',
-- recipe = {
-- {'default:steel_ingot'},
-- {'default:steel_ingot'},
-- {'group:stick'},
-- }
-- })
minetest.register_craft({
output = 'default:sword_bronze',
recipe = {
{'default:bronze_ingot'},
{'default:bronze_ingot'},
{'group:stick'},
}
})
-- minetest.register_craft({
-- output = 'default:sword_bronze',
-- recipe = {
-- {'default:bronze_ingot'},
-- {'default:bronze_ingot'},
-- {'group:stick'},
-- }
-- })
minetest.register_craft({
output = 'default:sword_mese',
recipe = {
{'default:mese_crystal'},
{'default:mese_crystal'},
{'group:stick'},
}
})
-- minetest.register_craft({
-- output = 'default:sword_mese',
-- recipe = {
-- {'default:mese_crystal'},
-- {'default:mese_crystal'},
-- {'group:stick'},
-- }
-- })
minetest.register_craft({
output = 'default:sword_diamond',
recipe = {
{'default:diamond'},
{'default:diamond'},
{'group:stick'},
}
})
-- minetest.register_craft({
-- output = 'default:sword_diamond',
-- recipe = {
-- {'default:diamond'},
-- {'default:diamond'},
-- {'group:stick'},
-- }
-- })
minetest.register_craft({
output = 'default:skeleton_key',

View File

@ -2,4 +2,5 @@ default
doors
tnt
moreplants
hyruletools
farming

View File

@ -354,6 +354,7 @@ minetest.override_item("flowers:waterlily", {
mesh = "waterlily.b3d",
paramtype = "light",
visual_scale = 0.5,
walkable = true,
})
if minetest.setting_get("leaves_style") == "fancy" then
@ -363,6 +364,7 @@ minetest.override_item("default:leaves", {
tiles = {"hyrule_mapgen_default_leaves.png"},
paramtype = "light",
visual_scale = 0.5,
walkable = false,
})
minetest.override_item("default:aspen_leaves", {
@ -371,6 +373,7 @@ minetest.override_item("default:aspen_leaves", {
tiles = {"hyrule_mapgen_aspen_leaves.png"},
paramtype = "light",
visual_scale = 0.5,
walkable = false,
})
minetest.override_item("default:jungleleaves", {
drawtype = "mesh",
@ -378,6 +381,7 @@ minetest.override_item("default:jungleleaves", {
tiles = {"hyrule_mapgen_jungleleaves.png"},
paramtype = "light",
visual_scale = 0.5,
walkable = false,
})
end
@ -666,7 +670,7 @@ minetest.register_node("hyrule_mapgen:chest", {
item:take_item()
local meta = minetest.get_meta(pos)
local item = meta:get_string("item")
minetest.env:add_item(pos, item)
minetest:add_item(pos, {name = item})
minetest.env:remove_node(pos)
end
end,
@ -690,9 +694,10 @@ minetest.register_node("hyrule_mapgen:chest_key", {
},
groups = {cracky = 2, oddly_breakable_by_hand = 1},
is_ground_content = false,
on_rightclick = function(pos, node, clicker, item, _)
minetest.env:add_item(pos, "hyruletoools:key")
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
minetest:add_item(pos, {name = "hyruletoools:key"})
minetest.env:remove_node(pos)
return itemstack
end,
})
@ -941,6 +946,7 @@ minetest.register_node("hyrule_mapgen:leaves_with_gale", {
minetest.env:set_node(pos, {name="default:leaves"})
end
end,
walkable = false,
groups = {snappy=3, oddly_breakable_by_hand=1, dig_immediate=3}
})
@ -960,6 +966,7 @@ minetest.register_node("hyrule_mapgen:leaves_with_ember", {
minetest.env:set_node(pos, {name="default:pine_needles"})
end
end,
walkable = false,
groups = {snappy=3, oddly_breakable_by_hand=1, dig_immediate=3}
})
@ -979,6 +986,7 @@ minetest.register_node("hyrule_mapgen:leaves_with_pegasus", {
minetest.env:set_node(pos, {name="default:jungleleaves"})
end
end,
walkable = false,
groups = {snappy=3, oddly_breakable_by_hand=1, dig_immediate=3}
})
@ -998,6 +1006,7 @@ minetest.register_node("hyrule_mapgen:leaves_with_mystery", {
minetest.env:set_node(pos, {name="default:aspen_leaves"})
end
end,
walkable = false,
groups = {snappy=3, oddly_breakable_by_hand=1, dig_immediate=3}
})
@ -1888,6 +1897,7 @@ minetest.register_node("hyrule_mapgen:magic_leaves", {
},
groups = {snappy=3, flammable=1, leafdecay=3, oddly_breakable_by_hand = 1, leaves=1, not_in_creative_inventory=1},
paramtype = "light",
walkable = false,
})
if minetest.setting_get("leaves_style") == "fancy" then
@ -1908,6 +1918,7 @@ minetest.register_node("hyrule_mapgen:canopy_leaves", {
},
groups = {snappy=3, flammable=1, leaves=1, oddly_breakable_by_hand = 1, not_in_creative_inventory=1},
paramtype = "light",
walkable = false,
})
minetest.register_node("hyrule_mapgen:palm_tree", {
@ -1982,6 +1993,7 @@ minetest.register_node("hyrule_mapgen:wild_leaves", {
inventory_image = "hyrule_mapgen_wild_leaves.png",
groups = {snappy=3, flammable=1, oddly_breakable_by_hand = 1, leafdecay=3, leaves=1, not_in_creative_inventory=1},
paramtype = "light",
walkable = false,
})
if minetest.setting_get("leaves_style") == "fancy" then

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -34,8 +34,9 @@ local revertsky = function()
return
end
for i = 1, table.getn(ps) do
ps[i].p:set_sky(ps[i].sky.bgcolor, ps[i].sky.type, ps[i].sky.textures)
for key, entry in pairs(ps) do
local sky = entry.sky
entry.p:set_sky(sky.bgcolor, sky.type, sky.textures)
end
ps = {}
@ -130,11 +131,18 @@ lightning.strike = function(pos)
local playerlist = minetest.get_connected_players()
for i = 1, #playerlist do
local player = playerlist[i]
local sky = {}
sky.bgcolor, sky.type, sky.textures = playerlist[i]:get_sky()
table.insert(ps, { p = playerlist[i], sky = sky})
playerlist[i]:set_sky(0xffffff, "plain", {})
sky.bgcolor, sky.type, sky.textures = player:get_sky()
local name = player:get_player_name()
if ps[name] == nil then
ps[name] = {p = player, sky = sky}
player:set_sky(0xffffff, "plain", {})
end
end
-- trigger revert of skybox
ttl = 5
@ -192,7 +200,7 @@ minetest.register_node("lightning:dying_flame", {
buildable_to = true,
sunlight_propagates = true,
damage_per_second = 4,
groups = {dig_immediate = 3, not_in_creative_inventory=1},
groups = {dig_immediate = 3},
on_timer = function(pos)
minetest.remove_node(pos)
end,
@ -200,7 +208,9 @@ minetest.register_node("lightning:dying_flame", {
on_construct = function(pos)
minetest.get_node_timer(pos):start(rng:next(20, 40))
minetest.after(0.5, fire.on_flame_add_at, pos)
if fire and fire.on_flame_add_at then
minetest.after(0.5, fire.on_flame_add_at, pos)
end
end,
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB