Compare commits
5 Commits
cf724ee381
...
fd734e5dcf
Author | SHA1 | Date |
---|---|---|
Juraj Vajda | fd734e5dcf | |
Juraj Vajda | 9c317fc9ff | |
Juraj Vajda | d50eb4aa41 | |
Juraj Vajda | 0e1673686b | |
Juraj Vajda | a416587a21 |
|
@ -0,0 +1 @@
|
||||||
|
.DS_Store
|
204
api.lua
|
@ -131,7 +131,7 @@ function obsidianmese.fire_sword(itemstack, user, pointed_thing)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- play shoot attack sound
|
-- play shoot attack sound
|
||||||
minetest.sound_play("throwing_sound", {
|
minetest.sound_play("obsidianmese_throwing", {
|
||||||
pos = pos,
|
pos = pos,
|
||||||
gain = 1.0, -- default
|
gain = 1.0, -- default
|
||||||
max_hear_distance = 10,
|
max_hear_distance = 10,
|
||||||
|
@ -193,7 +193,7 @@ function obsidianmese.pick_engraved_place(itemstack, placer, pointed_thing)
|
||||||
local pos = minetest.get_pointed_thing_position(pointed_thing)
|
local pos = minetest.get_pointed_thing_position(pointed_thing)
|
||||||
local pointed_node = minetest.get_node(pos)
|
local pointed_node = minetest.get_node(pos)
|
||||||
|
|
||||||
-- check if have to use default on_place first
|
-- check if we have to use default on_place first
|
||||||
if pick_engraved_place_blacklist[pointed_node.name] ~= nil then
|
if pick_engraved_place_blacklist[pointed_node.name] ~= nil then
|
||||||
return minetest.item_place(itemstack, placer, pointed_thing)
|
return minetest.item_place(itemstack, placer, pointed_thing)
|
||||||
end
|
end
|
||||||
|
@ -204,6 +204,7 @@ function obsidianmese.pick_engraved_place(itemstack, placer, pointed_thing)
|
||||||
local stack_mod = stack_name_split[1]
|
local stack_mod = stack_name_split[1]
|
||||||
|
|
||||||
udef = minetest.registered_nodes[stack_name]
|
udef = minetest.registered_nodes[stack_name]
|
||||||
|
-- print(dump(udef))
|
||||||
|
|
||||||
-- not for farming - that should be part of a hoe
|
-- not for farming - that should be part of a hoe
|
||||||
if stack_mod ~= "farming" or stack_mod ~= "farming_addons" then
|
if stack_mod ~= "farming" or stack_mod ~= "farming_addons" then
|
||||||
|
@ -212,6 +213,15 @@ function obsidianmese.pick_engraved_place(itemstack, placer, pointed_thing)
|
||||||
inv:set_stack("main", idx, temp_stack)
|
inv:set_stack("main", idx, temp_stack)
|
||||||
|
|
||||||
-- itemstack = obsidianmese.add_wear(itemstack)
|
-- itemstack = obsidianmese.add_wear(itemstack)
|
||||||
|
|
||||||
|
-- play sound
|
||||||
|
-- if udef.sounds then
|
||||||
|
-- if udef.sounds.place then
|
||||||
|
-- udef.sounds.place.to_player = placer:get_player_name()
|
||||||
|
-- minetest.sound_play(udef.sounds.place)
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
|
||||||
return itemstack
|
return itemstack
|
||||||
elseif udef and udef.on_use then
|
elseif udef and udef.on_use then
|
||||||
temp_stack = udef.on_use(stack, placer, pointed_thing) or stack
|
temp_stack = udef.on_use(stack, placer, pointed_thing) or stack
|
||||||
|
@ -241,12 +251,30 @@ function obsidianmese.pick_engraved_place(itemstack, placer, pointed_thing)
|
||||||
inv:set_stack("main", idx, temp_stack)
|
inv:set_stack("main", idx, temp_stack)
|
||||||
|
|
||||||
-- itemstack = obsidianmese.add_wear(itemstack)
|
-- itemstack = obsidianmese.add_wear(itemstack)
|
||||||
|
|
||||||
|
-- play sound
|
||||||
|
-- if udef and udef.sounds then
|
||||||
|
-- if udef.sounds.place then
|
||||||
|
-- udef.sounds.place.to_player = placer:get_player_name()
|
||||||
|
-- minetest.sound_play(udef.sounds.place)
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
|
||||||
return itemstack
|
return itemstack
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
-- if everything else fails use default on_place
|
-- if everything else fails use default on_place
|
||||||
stack = minetest.item_place(stack, placer, pointed_thing)
|
stack = minetest.item_place(stack, placer, pointed_thing)
|
||||||
inv:set_stack("main", idx, stack)
|
inv:set_stack("main", idx, stack)
|
||||||
|
|
||||||
|
-- play sound
|
||||||
|
-- if udef and udef.sounds then
|
||||||
|
-- if udef.sounds.place then
|
||||||
|
-- udef.sounds.place.to_player = placer:get_player_name()
|
||||||
|
-- minetest.sound_play(udef.sounds.place)
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
|
||||||
return itemstack
|
return itemstack
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -291,13 +319,55 @@ function obsidianmese.shovel_place(itemstack, placer, pointed_thing)
|
||||||
|
|
||||||
-- grass path
|
-- grass path
|
||||||
elseif (under.name == "default:dirt_with_grass" or
|
elseif (under.name == "default:dirt_with_grass" or
|
||||||
under.name == "default:dirt_with_grass_footsteps" or
|
under.name == "default:dirt_with_grass_footsteps") and
|
||||||
under.name == "default:dirt_with_dry_grass" or
|
|
||||||
under.name == "default:dirt_with_snow" or
|
|
||||||
under.name == "default:dirt_with_rainforest_litter") and
|
|
||||||
under.name ~= "obsidianmese:path_grass" then
|
under.name ~= "obsidianmese:path_grass" then
|
||||||
minetest.set_node(pt.under, {name = "obsidianmese:path_grass"})
|
minetest.set_node(pt.under, {name = "obsidianmese:path_grass"})
|
||||||
|
|
||||||
|
-- rainforest litter path
|
||||||
|
elseif under.name == "default:dirt_with_rainforest_litter" and
|
||||||
|
under.name ~= "obsidianmese:path_dirt_with_rainforest_litter" then
|
||||||
|
minetest.set_node(pt.under, {name = "obsidianmese:path_dirt_with_rainforest_litter"})
|
||||||
|
|
||||||
|
-- dirt with snow path
|
||||||
|
elseif under.name == "default:dirt_with_snow" and
|
||||||
|
under.name ~= "obsidianmese:path_dirt_with_snow" then
|
||||||
|
minetest.set_node(pt.under, {name = "obsidianmese:path_dirt_with_snow"})
|
||||||
|
|
||||||
|
-- dirt with dry grass path
|
||||||
|
elseif under.name == "default:dirt_with_dry_grass" and
|
||||||
|
under.name ~= "obsidianmese:path_dirt_with_dry_grass" then
|
||||||
|
minetest.set_node(pt.under, {name = "obsidianmese:path_dirt_with_dry_grass"})
|
||||||
|
|
||||||
|
-- dirt with coniferous litter path
|
||||||
|
elseif under.name == "default:dirt_with_coniferous_litter" and
|
||||||
|
under.name ~= "obsidianmese:path_dirt_with_coniferous_litter" then
|
||||||
|
minetest.set_node(pt.under, {name = "obsidianmese:path_dirt_with_coniferous_litter"})
|
||||||
|
|
||||||
|
-- dry dirt path
|
||||||
|
elseif under.name == "default:dry_dirt" and
|
||||||
|
under.name ~= "obsidianmese:path_dry_dirt" then
|
||||||
|
minetest.set_node(pt.under, {name = "obsidianmese:path_dry_dirt"})
|
||||||
|
|
||||||
|
-- dry dirt with dry grass path
|
||||||
|
elseif under.name == "default:dry_dirt_with_dry_grass" and
|
||||||
|
under.name ~= "obsidianmese:path_dry_dirt_with_dry_grass" then
|
||||||
|
minetest.set_node(pt.under, {name = "obsidianmese:path_dry_dirt_with_dry_grass"})
|
||||||
|
|
||||||
|
-- permafrost path
|
||||||
|
elseif under.name == "default:permafrost" and
|
||||||
|
under.name ~= "obsidianmese:path_permafrost" then
|
||||||
|
minetest.set_node(pt.under, {name = "obsidianmese:path_permafrost"})
|
||||||
|
|
||||||
|
-- permafrost with stones path
|
||||||
|
elseif under.name == "default:permafrost_with_stones" and
|
||||||
|
under.name ~= "obsidianmese:path_permafrost_with_stones" then
|
||||||
|
minetest.set_node(pt.under, {name = "obsidianmese:path_permafrost_with_stones"})
|
||||||
|
|
||||||
|
-- permafrost with moss path
|
||||||
|
elseif under.name == "default:permafrost_with_moss" and
|
||||||
|
under.name ~= "obsidianmese:path_permafrost_with_moss" then
|
||||||
|
minetest.set_node(pt.under, {name = "obsidianmese:path_permafrost_with_moss"})
|
||||||
|
|
||||||
-- sand path
|
-- sand path
|
||||||
elseif under.name == "default:sand" and
|
elseif under.name == "default:sand" and
|
||||||
under.name ~= "obsidianmese:path_sand" then
|
under.name ~= "obsidianmese:path_sand" then
|
||||||
|
@ -334,7 +404,9 @@ end
|
||||||
|
|
||||||
-- axe dig upwards
|
-- axe dig upwards
|
||||||
function obsidianmese.dig_up(pos, node, digger)
|
function obsidianmese.dig_up(pos, node, digger)
|
||||||
if not digger then return end
|
if not digger then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local wielditemname = digger:get_wielded_item():get_name()
|
local wielditemname = digger:get_wielded_item():get_name()
|
||||||
local whitelist = {
|
local whitelist = {
|
||||||
|
@ -342,99 +414,67 @@ function obsidianmese.dig_up(pos, node, digger)
|
||||||
["obsidianmese:enchanted_axe_durable"] = true,
|
["obsidianmese:enchanted_axe_durable"] = true,
|
||||||
["obsidianmese:enchanted_axe_fast"] = true
|
["obsidianmese:enchanted_axe_fast"] = true
|
||||||
}
|
}
|
||||||
if not whitelist[wielditemname] then return end
|
|
||||||
|
if not whitelist[wielditemname] then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local np = {x = pos.x, y = pos.y + 1, z = pos.z}
|
local np = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||||
local nn = minetest.get_node(np)
|
local nn = minetest.get_node(np)
|
||||||
|
|
||||||
if nn.name == node.name then
|
if nn.name == node.name then
|
||||||
local branches = minetest.find_nodes_in_area(
|
local branches_pos = minetest.find_nodes_in_area(
|
||||||
{x = np.x - 1, y = np.y, z = np.z - 1},
|
{x = np.x - 1, y = np.y, z = np.z - 1},
|
||||||
{x = np.x + 1, y = np.y + 1, z = np.z + 1},
|
{x = np.x + 1, y = np.y + 1, z = np.z + 1},
|
||||||
node.name
|
node.name
|
||||||
)
|
)
|
||||||
|
|
||||||
minetest.node_dig(np, nn, digger)
|
minetest.node_dig(np, nn, digger)
|
||||||
|
|
||||||
local branches_length = #branches
|
-- try to find a node texture
|
||||||
if branches_length > 0 then
|
local def = minetest.registered_nodes[nn.name]
|
||||||
-- limit
|
local texture = "default_dirt.png"
|
||||||
if branches_length > 4 then
|
|
||||||
branches_length = 4
|
|
||||||
end
|
|
||||||
|
|
||||||
for i = 1, branches_length do
|
if def then
|
||||||
obsidianmese.dig_up({x = branches[i].x, y = branches[i].y - 1, z = branches[i].z}, node, digger)
|
if def.tiles then
|
||||||
|
if #def.tiles > 0 then
|
||||||
|
if type(def.tiles[1]) == "string" then
|
||||||
|
texture = def.tiles[1]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- WIP
|
-- add particles only when not too far
|
||||||
-- local positions = {}
|
minetest.add_particlespawner({
|
||||||
-- function obsidianmese.dig_up_new(pos, node, digger)
|
amount = math.random(1, 3),
|
||||||
-- if not digger then return end
|
time = 0.5,
|
||||||
-- local wielded = digger:get_wielded_item()
|
minpos = {x=np.x-0.7, y=np.y, z=np.z-0.7},
|
||||||
-- local wielditemname = wielded:get_name()
|
maxpos = {x=np.x+0.7, y=np.y+0.75, z=np.z+0.7},
|
||||||
-- local whitelist = {
|
minvel = {x = -0.5, y = -4, z = -0.5},
|
||||||
-- ["obsidianmese:axe"] = true,
|
maxvel = {x = 0.5, y = -2, z = 0.5},
|
||||||
-- ["obsidianmese:enchanted_axe_durable"] = true,
|
minacc = {x = -0.5, y = -4, z = -0.5},
|
||||||
-- ["obsidianmese:enchanted_axe_fast"] = true
|
maxacc = {x = 0.5, y = -2, z = 0.5},
|
||||||
-- }
|
minexptime = 0.5,
|
||||||
-- if not whitelist[wielditemname] then return end
|
maxexptime = 1,
|
||||||
-- local increase = 1
|
minsize = 0.5,
|
||||||
-- local nn_name = node.name
|
maxsize = 2,
|
||||||
|
collisiondetection = true,
|
||||||
|
texture = texture
|
||||||
|
})
|
||||||
|
|
||||||
-- while nn_name == node.name do
|
if #branches_pos > 0 then
|
||||||
-- local np = {x = pos.x, y = pos.y + increase, z = pos.z}
|
for i = 1, #branches_pos do
|
||||||
-- local nn = minetest.get_node(np)
|
-- prevent infinite loop when node protected
|
||||||
-- nn_name = nn.name
|
if minetest.is_protected(branches_pos[i], digger:get_player_name()) then
|
||||||
-- local branches = minetest.find_nodes_in_area(
|
break
|
||||||
-- {x = np.x - 1, y = np.y, z = np.z - 1},
|
end
|
||||||
-- {x = np.x + 1, y = np.y + 1, z = np.z + 1},
|
|
||||||
-- node.name
|
|
||||||
-- )
|
|
||||||
-- table.insert(positions, np)
|
|
||||||
|
|
||||||
-- if #branches > 0 then
|
obsidianmese.dig_up({x = branches_pos[i].x, y = branches_pos[i].y - 1, z = branches_pos[i].z}, node, digger)
|
||||||
-- for i = 1, #branches do
|
end
|
||||||
-- table.insert(positions, branches[i])
|
end
|
||||||
-- obsidianmese.dig_up(branches[i], node, digger)
|
end
|
||||||
-- end
|
end
|
||||||
-- end
|
|
||||||
-- increase = increase + 1
|
|
||||||
-- -- print(dump(positions))
|
|
||||||
-- end
|
|
||||||
|
|
||||||
-- -- done
|
|
||||||
-- print("done")
|
|
||||||
-- for i = 1, #positions do
|
|
||||||
-- local drops = minetest.get_node_drops(node.name, wielditemname)
|
|
||||||
-- -- minetest.add_item(positions[i], node.name)
|
|
||||||
-- minetest.handle_node_drops(positions[i], drops, digger)
|
|
||||||
-- minetest.remove_node(positions[i])
|
|
||||||
-- -- get hungry from cutting down the whole tree
|
|
||||||
-- hbhunger.handle_node_actions(positions[i], node, digger)
|
|
||||||
-- -- Wear out tool
|
|
||||||
-- local wielded = digger:get_wielded_item()
|
|
||||||
-- local wdef = wielded:get_definition()
|
|
||||||
-- local tp = wielded:get_tool_capabilities()
|
|
||||||
-- local dp = core.get_dig_params(def and def.groups, tp)
|
|
||||||
-- print(dump(dp))
|
|
||||||
|
|
||||||
-- if wdef and wdef.after_use then
|
|
||||||
-- wielded = wdef.after_use(wielded, digger, node, dp) or wielded
|
|
||||||
-- else
|
|
||||||
-- -- if not minetest.settings:get_bool("creative_mode") then
|
|
||||||
-- wielded:add_wear(65535 / (30 - 1))
|
|
||||||
-- if wielded:get_count() == 0 and wdef.sound and wdef.sound.breaks then
|
|
||||||
-- minetest.sound_play(wdef.sound.breaks, {pos = pos, gain = 0.5})
|
|
||||||
-- end
|
|
||||||
-- -- end
|
|
||||||
-- end
|
|
||||||
-- digger:set_wielded_item(wielded)
|
|
||||||
-- end
|
|
||||||
-- -- reset
|
|
||||||
-- positions = {}
|
|
||||||
-- end
|
|
||||||
|
|
||||||
function obsidianmese.register_capitator()
|
function obsidianmese.register_capitator()
|
||||||
local trees = {
|
local trees = {
|
||||||
|
|
|
@ -8,7 +8,7 @@ minetest.register_craftitem("obsidianmese:mese_apple", {
|
||||||
inventory_image = "obsidianmese_apple.png",
|
inventory_image = "obsidianmese_apple.png",
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
on_use = function(itemstack, user, pointed_thing)
|
||||||
|
|
||||||
minetest.sound_play("apple_eat", {
|
minetest.sound_play("obsidianmese_apple_eat", {
|
||||||
pos = user:getpos(),
|
pos = user:getpos(),
|
||||||
max_hear_distance = 32,
|
max_hear_distance = 32,
|
||||||
gain = 0.5,
|
gain = 0.5,
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
default
|
|
||||||
tnt?
|
|
|
@ -1 +0,0 @@
|
||||||
This MOD for Minetest adds obsidian and mese tools and items.
|
|
3
mod.conf
|
@ -1 +1,4 @@
|
||||||
name = obsidianmese
|
name = obsidianmese
|
||||||
|
description = This MOD for Minetest adds obsidian and mese tools and items.
|
||||||
|
depends = default
|
||||||
|
optional_depends = tnt
|
241
nodes.lua
|
@ -2,6 +2,8 @@
|
||||||
-- Nodes
|
-- Nodes
|
||||||
--
|
--
|
||||||
|
|
||||||
|
-- invimg = "mobs_chicken_egg.png^(" .. invimg .. "^[mask:mobs_chicken_egg_overlay.png)"
|
||||||
|
|
||||||
-- dirt path
|
-- dirt path
|
||||||
minetest.register_node("obsidianmese:path_dirt", {
|
minetest.register_node("obsidianmese:path_dirt", {
|
||||||
description = "Dirt Path",
|
description = "Dirt Path",
|
||||||
|
@ -31,7 +33,7 @@ minetest.register_node("obsidianmese:path_dirt", {
|
||||||
minetest.register_node("obsidianmese:path_grass", {
|
minetest.register_node("obsidianmese:path_grass", {
|
||||||
description = "Grass Path",
|
description = "Grass Path",
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {"obsidianmese_grass_path_top.png", "obsidianmese_dirt_path_top.png", "obsidianmese_dirt_path_side.png"},
|
tiles = {"obsidianmese_path_dirt_base.png^(default_grass.png^[mask:obsidianmese_path_overlay.png)", "obsidianmese_dirt_path_top.png", "obsidianmese_dirt_path_side.png"},
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
node_box = {
|
node_box = {
|
||||||
|
@ -54,6 +56,243 @@ minetest.register_node("obsidianmese:path_grass", {
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- rainforest litter path
|
||||||
|
minetest.register_node("obsidianmese:path_dirt_with_rainforest_litter", {
|
||||||
|
description = "Rainforest Litter Path",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles = {"obsidianmese_path_dirt_base.png^(default_rainforest_litter.png^[mask:obsidianmese_path_overlay.png)", "obsidianmese_dirt_path_top.png", "obsidianmese_dirt_path_side.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
drop = "default:dirt",
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {crumbly = 3, not_in_creative_inventory = 1},
|
||||||
|
sounds = default.node_sound_dirt_defaults({
|
||||||
|
footstep = {name = "default_grass_footstep", gain = 0.25},
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- dirt with snow path
|
||||||
|
minetest.register_node("obsidianmese:path_dirt_with_snow", {
|
||||||
|
description = "Rainforest Litter Path",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles = {"obsidianmese_path_dirt_base.png^(default_snow.png^[mask:obsidianmese_path_overlay.png)", "obsidianmese_dirt_path_top.png", "obsidianmese_dirt_path_side.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
drop = "default:dirt",
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {crumbly = 3, not_in_creative_inventory = 1},
|
||||||
|
sounds = default.node_sound_dirt_defaults({
|
||||||
|
footstep = {name = "default_grass_footstep", gain = 0.25},
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- dirt with dry grass path
|
||||||
|
minetest.register_node("obsidianmese:path_dirt_with_dry_grass", {
|
||||||
|
description = "Rainforest Litter Path",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles = {"obsidianmese_path_dirt_base.png^(default_dry_grass.png^[mask:obsidianmese_path_overlay.png)", "obsidianmese_dirt_path_top.png", "obsidianmese_dirt_path_side.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
drop = "default:dirt",
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {crumbly = 3, not_in_creative_inventory = 1},
|
||||||
|
sounds = default.node_sound_dirt_defaults({
|
||||||
|
footstep = {name = "default_grass_footstep", gain = 0.25},
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- dirt with coniferous litter path
|
||||||
|
minetest.register_node("obsidianmese:path_dirt_with_coniferous_litter", {
|
||||||
|
description = "Rainforest Litter Path",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles = {"obsidianmese_path_dirt_base.png^(default_coniferous_litter.png^[mask:obsidianmese_path_overlay.png)", "obsidianmese_dirt_path_top.png", "obsidianmese_dirt_path_side.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
drop = "default:dirt",
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {crumbly = 3, not_in_creative_inventory = 1},
|
||||||
|
sounds = default.node_sound_dirt_defaults({
|
||||||
|
footstep = {name = "default_grass_footstep", gain = 0.25},
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- dry dirt path
|
||||||
|
minetest.register_node("obsidianmese:path_dry_dirt", {
|
||||||
|
description = "Rainforest Litter Path",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles = {"obsidianmese_path_dry_dirt_base.png", "obsidianmese_path_dry_dirt_base.png", "obsidianmese_dry_dirt_path_side.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
drop = "default:dry_dirt",
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {crumbly = 3, not_in_creative_inventory = 1},
|
||||||
|
sounds = default.node_sound_dirt_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- dry dirt with dry grass path
|
||||||
|
minetest.register_node("obsidianmese:path_dry_dirt_with_dry_grass", {
|
||||||
|
description = "Rainforest Litter Path",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles = {"obsidianmese_path_dry_dirt_base.png^(default_dry_grass.png^[mask:obsidianmese_path_overlay.png)", "obsidianmese_path_dry_dirt_base.png", "obsidianmese_dry_dirt_path_side.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
drop = "default:dry_dirt",
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {crumbly = 3, not_in_creative_inventory = 1},
|
||||||
|
sounds = default.node_sound_dirt_defaults({
|
||||||
|
footstep = {name = "default_grass_footstep", gain = 0.25},
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- permafrost path
|
||||||
|
minetest.register_node("obsidianmese:path_permafrost", {
|
||||||
|
description = "Rainforest Litter Path",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles = {"obsidianmese_path_permafrost_base.png", "obsidianmese_path_permafrost_base.png", "obsidianmese_path_permafrost_side.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
drop = "default:permafrost",
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {cracky = 3, not_in_creative_inventory = 1},
|
||||||
|
sounds = default.node_sound_dirt_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- permafrost with stones path
|
||||||
|
minetest.register_node("obsidianmese:path_permafrost_with_stones", {
|
||||||
|
description = "Rainforest Litter Path",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles = {"obsidianmese_path_permafrost_base.png^(default_stones.png^[mask:obsidianmese_path_overlay_2.png)", "obsidianmese_path_permafrost_base.png", "obsidianmese_path_permafrost_side.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
drop = "default:permafrost_with_stones",
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {cracky = 3, not_in_creative_inventory = 1},
|
||||||
|
sounds = default.node_sound_gravel_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- permafrost with moss path
|
||||||
|
minetest.register_node("obsidianmese:path_permafrost_with_moss", {
|
||||||
|
description = "Rainforest Litter Path",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles = {"obsidianmese_path_permafrost_base.png^(default_moss.png^[mask:obsidianmese_path_overlay_2.png)", "obsidianmese_path_permafrost_base.png", "obsidianmese_path_permafrost_side.png"},
|
||||||
|
is_ground_content = false,
|
||||||
|
paramtype = "light",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-1/2, -1/2, -1/2, 1/2, 1/2-1/16, 1/2},
|
||||||
|
},
|
||||||
|
drop = "default:permafrost_with_moss",
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {cracky = 3, not_in_creative_inventory = 1},
|
||||||
|
sounds = default.node_sound_dirt_defaults({
|
||||||
|
footstep = {name = "default_grass_footstep", gain = 0.25},
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
|
||||||
-- sand path
|
-- sand path
|
||||||
minetest.register_node("obsidianmese:path_sand", {
|
minetest.register_node("obsidianmese:path_sand", {
|
||||||
description = "Sand Path",
|
description = "Sand Path",
|
||||||
|
|
Before Width: | Height: | Size: 223 B After Width: | Height: | Size: 356 B |
After Width: | Height: | Size: 211 B |
Before Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 185 B |
After Width: | Height: | Size: 131 B |
After Width: | Height: | Size: 107 B |
After Width: | Height: | Size: 116 B |
After Width: | Height: | Size: 185 B |
After Width: | Height: | Size: 184 B |
|
@ -6,7 +6,7 @@
|
||||||
minetest.register_tool("obsidianmese:sword", {
|
minetest.register_tool("obsidianmese:sword", {
|
||||||
description = "Obsidian Mese Sword",
|
description = "Obsidian Mese Sword",
|
||||||
inventory_image = "obsidianmese_sword.png",
|
inventory_image = "obsidianmese_sword.png",
|
||||||
wield_scale = {x=1.5, y=2, z=1},
|
-- wield_scale = {x=1.5, y=2, z=1},
|
||||||
tool_capabilities = {
|
tool_capabilities = {
|
||||||
full_punch_interval = 0.45,
|
full_punch_interval = 0.45,
|
||||||
max_drop_level=1,
|
max_drop_level=1,
|
||||||
|
@ -204,7 +204,7 @@ minetest.register_entity("obsidianmese:sword_bullet", {
|
||||||
minetest.register_tool("obsidianmese:sword_engraved", {
|
minetest.register_tool("obsidianmese:sword_engraved", {
|
||||||
description = "Obsidian Mese Sword Engraved - right click shoot 1 shot",
|
description = "Obsidian Mese Sword Engraved - right click shoot 1 shot",
|
||||||
inventory_image = "obsidianmese_sword_diamond_engraved.png",
|
inventory_image = "obsidianmese_sword_diamond_engraved.png",
|
||||||
wield_scale = {x=1.5, y=2, z=1},
|
-- wield_scale = {x=1.5, y=2, z=1},
|
||||||
tool_capabilities = {
|
tool_capabilities = {
|
||||||
full_punch_interval = 0.6,
|
full_punch_interval = 0.6,
|
||||||
max_drop_level=1,
|
max_drop_level=1,
|
||||||
|
@ -255,7 +255,7 @@ minetest.register_tool("obsidianmese:shovel", {
|
||||||
description = "Obsidian Mese Shovel - right click (secondary click) for creating a path",
|
description = "Obsidian Mese Shovel - right click (secondary click) for creating a path",
|
||||||
inventory_image = "obsidianmese_shovel.png",
|
inventory_image = "obsidianmese_shovel.png",
|
||||||
wield_image = "obsidianmese_shovel.png^[transformR90",
|
wield_image = "obsidianmese_shovel.png^[transformR90",
|
||||||
wield_scale = {x=1.5, y=1.5, z=1.5},
|
-- wield_scale = {x=1.5, y=1.5, z=1.5},
|
||||||
tool_capabilities = {
|
tool_capabilities = {
|
||||||
full_punch_interval = 0.9,
|
full_punch_interval = 0.9,
|
||||||
max_drop_level=1,
|
max_drop_level=1,
|
||||||
|
@ -272,7 +272,7 @@ minetest.register_tool("obsidianmese:shovel", {
|
||||||
minetest.register_tool("obsidianmese:axe", {
|
minetest.register_tool("obsidianmese:axe", {
|
||||||
description = "Obsidian Mese Axe - Tree Capitator",
|
description = "Obsidian Mese Axe - Tree Capitator",
|
||||||
inventory_image = "obsidianmese_axe.png",
|
inventory_image = "obsidianmese_axe.png",
|
||||||
wield_scale = {x=1.5, y=2, z=1},
|
-- wield_scale = {x=1.5, y=2, z=1},
|
||||||
tool_capabilities = {
|
tool_capabilities = {
|
||||||
full_punch_interval = 0.9,
|
full_punch_interval = 0.9,
|
||||||
max_drop_level=1,
|
max_drop_level=1,
|
||||||
|
|