removed legacy stuff and made tnt have no damage when near water
This commit is contained in:
parent
23d0f62241
commit
94cf84f732
@ -830,15 +830,24 @@ minetest.register_tool(
|
|||||||
if pointed_thing.type ~= "node" then return end
|
if pointed_thing.type ~= "node" then return end
|
||||||
|
|
||||||
local pos = pointed_thing.under
|
local pos = pointed_thing.under
|
||||||
|
local node = minetest.get_node(pointed_thing.under)
|
||||||
|
local nodename = node.name
|
||||||
|
|
||||||
if minetest.get_node(pointed_thing.under).name == "default:torch_weak" then
|
if nodename == "default:torch_weak" then
|
||||||
local n = minetest.get_node(pointed_thing.under)
|
local n = minetest.get_node(pos)
|
||||||
minetest.set_node(pos, {name = "default:torch", param = n.param, param2 = n.param2})
|
minetest.set_node(pos, {name = "default:torch", param = n.param, param2 = n.param2})
|
||||||
itemstack:add_wear(800)
|
itemstack:add_wear(800)
|
||||||
elseif minetest.get_node(pointed_thing.under).name == "default:torch_dead" then
|
elseif nodename == "default:torch_dead" then
|
||||||
local n = minetest.get_node(pointed_thing.under)
|
local n = minetest.get_node(pos)
|
||||||
minetest.set_node(pos, {name = "default:torch_weak", param = n.param, param2 = n.param2})
|
minetest.set_node(pos, {name = "default:torch_weak", param = n.param, param2 = n.param2})
|
||||||
itemstack:add_wear(1300)
|
itemstack:add_wear(800)
|
||||||
|
elseif nodename == "tnt:tnt" then
|
||||||
|
local y = minetest.registered_nodes["tnt:tnt"]
|
||||||
|
if y ~= nil then
|
||||||
|
y.on_punch(pos, node, user)
|
||||||
|
|
||||||
|
itemstack:add_wear(800)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return itemstack
|
return itemstack
|
||||||
|
@ -58,7 +58,6 @@ minetest.register_node(
|
|||||||
"default_furnace_sides.png", "default_furnace_sides.png", "default_furnace_front.png"},
|
"default_furnace_sides.png", "default_furnace_sides.png", "default_furnace_front.png"},
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
groups = {cracky = 2},
|
groups = {cracky = 2},
|
||||||
legacy_facedir_simple = true,
|
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
@ -95,7 +94,6 @@ minetest.register_node(
|
|||||||
light_source = 8,
|
light_source = 8,
|
||||||
drop = "default:furnace",
|
drop = "default:furnace",
|
||||||
groups = {cracky = 2},
|
groups = {cracky = 2},
|
||||||
legacy_facedir_simple = true,
|
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
@ -704,7 +704,58 @@ minetest.register_node(
|
|||||||
wall_side = {-0.5, -8/16, -0.1, -0.5+4/16, 0, 0.1},
|
wall_side = {-0.5, -8/16, -0.1, -0.5+4/16, 0, 0.1},
|
||||||
},
|
},
|
||||||
groups = {choppy=2, dig_immediate=3, attached_node=1},
|
groups = {choppy=2, dig_immediate=3, attached_node=1},
|
||||||
legacy_wallmounted = true,
|
sounds = default.node_sound_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node(
|
||||||
|
"default:torch_weak",
|
||||||
|
{
|
||||||
|
description = "Weak Torch",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles ={
|
||||||
|
{
|
||||||
|
name = "default_torch_3d_ends.png",
|
||||||
|
animation = {
|
||||||
|
type = "vertical_frames",
|
||||||
|
aspect_w = 16,
|
||||||
|
aspect_h = 16,
|
||||||
|
length = 1.0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "default_torch_3d_ends.png",
|
||||||
|
animation = {
|
||||||
|
type = "vertical_frames",
|
||||||
|
aspect_w = 16,
|
||||||
|
aspect_h = 16,
|
||||||
|
length = 1.0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "default_torch_3d.png",
|
||||||
|
animation = {
|
||||||
|
type = "vertical_frames",
|
||||||
|
aspect_w = 16,
|
||||||
|
aspect_h = 16,
|
||||||
|
length = 1.0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
inventory_image = "default_torch.png",
|
||||||
|
wield_image = "default_torch.png",
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "wallmounted",
|
||||||
|
sunlight_propagates = true,
|
||||||
|
is_ground_content = false,
|
||||||
|
walkable = false,
|
||||||
|
light_source = default.LIGHT_MAX-4,
|
||||||
|
node_box = {
|
||||||
|
type = "wallmounted",
|
||||||
|
wall_top = {-2/16, 0, -2/16, 2/16, 0.5, 2/16},
|
||||||
|
wall_bottom = {-2/16, -0.5, -2/16, 2/16, 0, 2/16},
|
||||||
|
wall_side = {-0.5, -8/16, -0.1, -0.5+4/16, 0, 0.1},
|
||||||
|
},
|
||||||
|
groups = {choppy=2, dig_immediate=3, attached_node=1},
|
||||||
sounds = default.node_sound_defaults(),
|
sounds = default.node_sound_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -757,59 +808,6 @@ minetest.register_node(
|
|||||||
wall_side = {-0.5, -8/16, -0.1, -0.5+4/16, 0, 0.1},
|
wall_side = {-0.5, -8/16, -0.1, -0.5+4/16, 0, 0.1},
|
||||||
},
|
},
|
||||||
groups = {choppy=2, dig_immediate=3, attached_node=1},
|
groups = {choppy=2, dig_immediate=3, attached_node=1},
|
||||||
legacy_wallmounted = true,
|
|
||||||
sounds = default.node_sound_defaults(),
|
|
||||||
})
|
|
||||||
minetest.register_node(
|
|
||||||
"default:torch_weak",
|
|
||||||
{
|
|
||||||
description = "Weak Torch",
|
|
||||||
drawtype = "nodebox",
|
|
||||||
tiles ={
|
|
||||||
{
|
|
||||||
name = "default_torch_3d_ends.png",
|
|
||||||
animation = {
|
|
||||||
type = "vertical_frames",
|
|
||||||
aspect_w = 16,
|
|
||||||
aspect_h = 16,
|
|
||||||
length = 1.0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name = "default_torch_3d_ends.png",
|
|
||||||
animation = {
|
|
||||||
type = "vertical_frames",
|
|
||||||
aspect_w = 16,
|
|
||||||
aspect_h = 16,
|
|
||||||
length = 1.0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name = "default_torch_3d.png",
|
|
||||||
animation = {
|
|
||||||
type = "vertical_frames",
|
|
||||||
aspect_w = 16,
|
|
||||||
aspect_h = 16,
|
|
||||||
length = 1.0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
inventory_image = "default_torch.png",
|
|
||||||
wield_image = "default_torch.png",
|
|
||||||
paramtype = "light",
|
|
||||||
paramtype2 = "wallmounted",
|
|
||||||
sunlight_propagates = true,
|
|
||||||
is_ground_content = false,
|
|
||||||
walkable = false,
|
|
||||||
light_source = default.LIGHT_MAX-4,
|
|
||||||
node_box = {
|
|
||||||
type = "wallmounted",
|
|
||||||
wall_top = {-2/16, 0, -2/16, 2/16, 0.5, 2/16},
|
|
||||||
wall_bottom = {-2/16, -0.5, -2/16, 2/16, 0, 2/16},
|
|
||||||
wall_side = {-0.5, -8/16, -0.1, -0.5+4/16, 0, 0.1},
|
|
||||||
},
|
|
||||||
groups = {choppy=2, dig_immediate=3, attached_node=1},
|
|
||||||
legacy_wallmounted = true,
|
|
||||||
sounds = default.node_sound_defaults(),
|
sounds = default.node_sound_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -833,7 +831,6 @@ minetest.register_node(
|
|||||||
wall_side = {-0.5, -0.5+(4/16), -0.5+(1/16), -0.5+(1/16), 0.5-(4/16), 0.5-(1/16)},
|
wall_side = {-0.5, -0.5+(4/16), -0.5+(1/16), -0.5+(1/16), 0.5-(4/16), 0.5-(1/16)},
|
||||||
},
|
},
|
||||||
groups = {choppy=2,dig_immediate=2,attached_node=1},
|
groups = {choppy=2,dig_immediate=2,attached_node=1},
|
||||||
legacy_wallmounted = true,
|
|
||||||
sounds = default.node_sound_defaults(),
|
sounds = default.node_sound_defaults(),
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
--local n = minetest.get_node(pos)
|
--local n = minetest.get_node(pos)
|
||||||
@ -939,7 +936,6 @@ minetest.register_node(
|
|||||||
"default_chest_sides.png", "default_chest_sides.png", "default_chest_front.png"},
|
"default_chest_sides.png", "default_chest_sides.png", "default_chest_front.png"},
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||||
legacy_facedir_simple = true,
|
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
@ -111,6 +111,9 @@ end
|
|||||||
local function entity_physics(pos, radius)
|
local function entity_physics(pos, radius)
|
||||||
-- Make the damage radius larger than the destruction radius
|
-- Make the damage radius larger than the destruction radius
|
||||||
radius = radius * 2
|
radius = radius * 2
|
||||||
|
|
||||||
|
local no_water = (minetest.find_node_near(pos, 2, {"default:water_source"}) == nil)
|
||||||
|
|
||||||
local objs = minetest.get_objects_inside_radius(pos, radius)
|
local objs = minetest.get_objects_inside_radius(pos, radius)
|
||||||
for _, obj in pairs(objs) do
|
for _, obj in pairs(objs) do
|
||||||
local obj_pos = obj:getpos()
|
local obj_pos = obj:getpos()
|
||||||
@ -122,8 +125,10 @@ local function entity_physics(pos, radius)
|
|||||||
obj_vel, radius * 10))
|
obj_vel, radius * 10))
|
||||||
end
|
end
|
||||||
|
|
||||||
local damage = (4 / dist) * radius
|
if no_water then
|
||||||
obj:set_hp(obj:get_hp() - damage)
|
local damage = (4 / dist) * radius
|
||||||
|
obj:set_hp(obj:get_hp() - damage)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -151,7 +156,7 @@ local function burn(pos)
|
|||||||
if name == "tnt:tnt" then
|
if name == "tnt:tnt" then
|
||||||
minetest.sound_play("tnt_ignite", {pos=pos})
|
minetest.sound_play("tnt_ignite", {pos=pos})
|
||||||
minetest.set_node(pos, {name="tnt:tnt_burning"})
|
minetest.set_node(pos, {name="tnt:tnt_burning"})
|
||||||
minetest.get_node_timer(pos):start(1)
|
minetest.get_node_timer(pos):start(2)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -195,8 +200,7 @@ end
|
|||||||
|
|
||||||
local function boom(pos)
|
local function boom(pos)
|
||||||
minetest.sound_play("tnt_explode", {pos=pos, gain=1.5, max_hear_distance=2*64})
|
minetest.sound_play("tnt_explode", {pos=pos, gain=1.5, max_hear_distance=2*64})
|
||||||
minetest.set_node(pos, {name="air"})
|
minetest.remove_node(pos)
|
||||||
minetest.get_node_timer(pos):start(0.5)
|
|
||||||
|
|
||||||
local drops = explode(pos, radius)
|
local drops = explode(pos, radius)
|
||||||
entity_physics(pos, radius)
|
entity_physics(pos, radius)
|
||||||
@ -215,16 +219,15 @@ minetest.register_node(
|
|||||||
on_punch = function(pos, node, puncher)
|
on_punch = function(pos, node, puncher)
|
||||||
local itemname = puncher:get_wielded_item():get_name()
|
local itemname = puncher:get_wielded_item():get_name()
|
||||||
|
|
||||||
if itemname == "default:torch" or itemname == "default:torch_weak" or itemname == "default:flint_and_steel" then
|
if itemname == "default:torch"
|
||||||
minetest.sound_play("tnt_ignite", {pos=pos})
|
or itemname == "default:torch_weak"
|
||||||
minetest.set_node(pos, {name="tnt:tnt_burning"})
|
or itemname == "default:flint_and_steel" then
|
||||||
minetest.get_node_timer(pos):start(4)
|
burn(pos)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
on_blast = function(pos, intensity)
|
on_blast = function(pos, intensity)
|
||||||
burn(pos)
|
burn(pos)
|
||||||
end,
|
end,
|
||||||
mesecons = {effector = {action_on = boom}},
|
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node(
|
minetest.register_node(
|
||||||
@ -254,7 +257,7 @@ minetest.register_craft(
|
|||||||
output = "tnt:tnt",
|
output = "tnt:tnt",
|
||||||
recipe = {
|
recipe = {
|
||||||
{"", "group:planks", ""},
|
{"", "group:planks", ""},
|
||||||
{"group:planks", "default:torch", "group:planks"},
|
{"group:planks", "default:flint_and_steel", "group:planks"},
|
||||||
{"", "group:planks", ""}
|
{"", "group:planks", ""}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user