sunflowers
|
@ -5,19 +5,24 @@ max_line_length = false
|
|||
globals = {
|
||||
"eat",
|
||||
"bedz",
|
||||
"door",
|
||||
"farmz",
|
||||
"flowers",
|
||||
"furn",
|
||||
"helper",
|
||||
"items",
|
||||
"minetest",
|
||||
"modname",
|
||||
"nodez",
|
||||
"playerz",
|
||||
"playerphysics",
|
||||
"S",
|
||||
"samz",
|
||||
"sfinv",
|
||||
"sound",
|
||||
"stairs",
|
||||
"svrz",
|
||||
"tools",
|
||||
"treez",
|
||||
"wield3d",
|
||||
"mapgen",
|
||||
|
|
|
@ -25,7 +25,12 @@
|
|||
- License: This work is licensed under the Creative Commons 0 License.
|
||||
- Site: https://freesound.org/people/amholma/sounds/344360/
|
||||
|
||||
## door_close.ogg
|
||||
## door_close.ogg and door_blocked.ogg
|
||||
- Author: BergsteinProd
|
||||
- License: This work is licensed under the Attribution License.
|
||||
- Site: https://freesound.org/people/BergsteinProd/sounds/577009/
|
||||
|
||||
## ouch.ogg
|
||||
- Author: Under7dude
|
||||
- License: This work is licensed under the Creative Commons 0 License.
|
||||
- Site: https://freesound.org/people/Under7dude/sounds/163441/
|
||||
|
|
|
@ -203,7 +203,7 @@ local function sleep(pos, player)
|
|||
await = true
|
||||
end
|
||||
end
|
||||
minetest.show_formspec(player_name , "bedz:form", compose_formspec(player_name, await))
|
||||
minetest.show_formspec(player_name, "bedz:form", compose_formspec(player_name, await))
|
||||
end
|
||||
|
||||
local function use_bed(pos, player)
|
||||
|
@ -264,7 +264,9 @@ local function place_bed(bed_name, placer, pointed_thing)
|
|||
end
|
||||
|
||||
function bedz.register_bed(name, def)
|
||||
|
||||
local bed_name = modname..":"..name
|
||||
|
||||
minetest.register_node(bed_name, {
|
||||
description = def.description,
|
||||
inventory_image = def.inventory_image or "",
|
||||
|
@ -310,6 +312,15 @@ function bedz.register_bed(name, def)
|
|||
end
|
||||
end
|
||||
})
|
||||
|
||||
if def.recipe then
|
||||
minetest.register_craft({
|
||||
output = bed_name,
|
||||
type = "shaped",
|
||||
recipe = def.recipe
|
||||
})
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
|
|
|
@ -10,11 +10,6 @@ bedz.register_bed("simple_bed", {
|
|||
{-0.5, -0.5, -0.5, 0.5, 0.125, 1.5},
|
||||
},
|
||||
inventory_image = "bedz_simple_bed_inv.png",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "bedz:simple_bed",
|
||||
type = "shaped",
|
||||
recipe = {
|
||||
{"group:wood", "",
|
||||
"treez:stick"},{"treez:stick", "", ""},
|
||||
|
|
|
@ -10,7 +10,7 @@ minetest.register_node("door:invisible_top", {
|
|||
},
|
||||
},
|
||||
tiles = {"blank.png"},
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "clip",
|
||||
is_ground_content = false,
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
})
|
||||
|
@ -21,7 +21,7 @@ local function destroy_inv_top(pos)
|
|||
end
|
||||
|
||||
local function is_door_on_right(pos, door_dir)
|
||||
local up_vector = vector.new(0, 1, 0)
|
||||
local up_vector = vector.new(0, 1, 0) --vertical y vector
|
||||
local right_vector = vector.cross(up_vector, door_dir)
|
||||
--local left_vector = - right_vector
|
||||
local right_pos = vector.add(pos, right_vector)
|
||||
|
@ -90,7 +90,12 @@ local function open_door(pos, node, clicker, door_name)
|
|||
meta:set_int("door:facedir", node.param2)
|
||||
meta:set_string("door:dir", open_dir_str)
|
||||
meta:set_string("door:rotation", rotation)
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -118,6 +123,7 @@ function door.register_door(name, def)
|
|||
wield_image = def.wield_image or def.inventory_image or "",
|
||||
drawtype = "mesh",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
paramtype2 = "facedir",
|
||||
mesh = "door.b3d",
|
||||
selection_box = {
|
||||
|
@ -133,7 +139,7 @@ function door.register_door(name, def)
|
|||
},
|
||||
},
|
||||
tiles = def.tiles,
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "clip",
|
||||
is_ground_content = false,
|
||||
groups = {choppy = 2, door = 1},
|
||||
stack_max = 1,
|
||||
|
@ -152,7 +158,13 @@ function door.register_door(name, def)
|
|||
end,
|
||||
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
open_door(pos, node, clicker, door_name)
|
||||
if not open_door(pos, node, clicker, door_name) then
|
||||
if clicker and minetest.is_player(clicker) then
|
||||
local player_name = clicker:get_player_name()
|
||||
sound.play("pos", pos, "door_blocked")
|
||||
minetest.chat_send_player(player_name, S("Obstructed door!"))
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
|
@ -189,7 +201,7 @@ function door.register_door(name, def)
|
|||
drop = door_name,
|
||||
tiles = def.tiles,
|
||||
walkable = true,
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "clip",
|
||||
is_ground_content = false,
|
||||
groups = {choppy = 2, door = 1, not_in_creative_inventory = 1},
|
||||
stack_max = 1,
|
||||
|
@ -206,4 +218,12 @@ function door.register_door(name, def)
|
|||
|
||||
})
|
||||
end
|
||||
|
||||
if def.recipe then
|
||||
minetest.register_craft({
|
||||
output = door_name,
|
||||
type = "shaped",
|
||||
recipe = def.recipe
|
||||
})
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
door.register_door("apple_tree", {
|
||||
description = "Apple Tree",
|
||||
tiles = {"door_apple_tree.png"},
|
||||
tiles = {"door_apple_tree.png", backface_culling = true},
|
||||
inventory_image = "door_apple_tree_inv.png",
|
||||
recipe = {
|
||||
{"", "treez:apple_tree_wood",
|
||||
""},{"treez:apple_tree_wood", "", ""},
|
||||
{"", "", ""},
|
||||
}
|
||||
})
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# textdomain: door
|
||||
@1 Door=Puerta de @1
|
||||
Apple Tree=manzano
|
||||
Obstructed door!=¡Puerta obstruida!
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
name = door
|
||||
description = Doors!
|
||||
depends = treez, helper
|
Before Width: | Height: | Size: 726 B After Width: | Height: | Size: 737 B |
Before Width: | Height: | Size: 710 B After Width: | Height: | Size: 752 B |
|
@ -1,4 +1,4 @@
|
|||
local S, modname = ...
|
||||
local S = ...
|
||||
|
||||
-- Grow Timer
|
||||
|
||||
|
@ -81,7 +81,7 @@ farmz.hoe_use = function(itemstack, user, pointed_thing)
|
|||
end
|
||||
|
||||
function farmz.register_hoe(name, def)
|
||||
local hoe_name = modname..":"..name
|
||||
local hoe_name = def.modname..":"..name
|
||||
minetest.register_tool(hoe_name, {
|
||||
description = def.description,
|
||||
inventory_image = def.inventory_image,
|
||||
|
@ -94,87 +94,14 @@ function farmz.register_hoe(name, def)
|
|||
})
|
||||
end
|
||||
|
||||
function farmz.register_plant(name, def)
|
||||
local product_name = modname..":"..name
|
||||
|
||||
minetest.register_craftitem(product_name , {
|
||||
description = S(def.description),
|
||||
inventory_image = modname.."_"..name..".png",
|
||||
groups = {fleshy = 3, flammable = 2, wheat = 1},
|
||||
})
|
||||
|
||||
for i = 1,2 do
|
||||
local description
|
||||
local _plant_name
|
||||
local texture
|
||||
local drop
|
||||
|
||||
if i == 1 then
|
||||
_plant_name = product_name.."_plant"
|
||||
texture = modname.."_"..name.."_plant.png"
|
||||
description = S("@1 Plant", S(def.description))
|
||||
if not def.drop then
|
||||
local drop_number = def.drop_number or 1
|
||||
drop = product_name.." "..drop_number
|
||||
else
|
||||
drop = def.drop
|
||||
end
|
||||
else
|
||||
_plant_name = product_name.."_sprout"
|
||||
texture = modname.."_"..name.."_sprout.png"
|
||||
description = S("@1 Plant", S(def.description)).." ".."("..S("Sprout")..")"
|
||||
drop = ""
|
||||
end
|
||||
|
||||
minetest.register_node(_plant_name, {
|
||||
description = description,
|
||||
inventory_image = def.inventory_image or texture,
|
||||
wield_image = def.wield_image or def.inventory_image or texture,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
node_box = helper.nodebox.plant,
|
||||
tiles = {
|
||||
"farmz_plow.png",
|
||||
"farmz_plow.png",
|
||||
texture,
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = def.box,
|
||||
},
|
||||
drop = drop,
|
||||
buildable_to = true,
|
||||
groups = {crumbly = 1, plant = 1, not_in_creative_inventory = 1},
|
||||
sounds = sound.dirt(),
|
||||
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
if i == 2 then
|
||||
start_grow(pos, def.grow_time)
|
||||
end
|
||||
end,
|
||||
|
||||
on_timer = function(pos)
|
||||
minetest.set_node(pos, {name = product_name.."_plant"})
|
||||
return false
|
||||
end,
|
||||
|
||||
after_destruct = function(pos, oldnode)
|
||||
--destroy the soil under
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
if node and node.name == "air" then
|
||||
minetest.swap_node(pos, {name="farmz:plow"})
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
function farmz.register_seed(modname, name, description, product_name, seed_name, grow_time, sprout)
|
||||
|
||||
local seed_name = product_name.."_seed"
|
||||
local seed_name_soil = seed_name.."_soil"
|
||||
local seed_texture = modname.."_"..name.."_seed.png"
|
||||
|
||||
minetest.register_craftitem(seed_name, {
|
||||
description = S("@1 Seed", S(def.description)),
|
||||
description = S("@1 Seed", S(description)),
|
||||
inventory_image = seed_texture,
|
||||
groups = {seed = 1},
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
|
@ -191,14 +118,14 @@ function farmz.register_plant(name, def)
|
|||
if node.name == "farmz:plow" then
|
||||
minetest.set_node(pos, {name = seed_name_soil})
|
||||
itemstack:take_item(1)
|
||||
start_grow(pos, def.grow_time)
|
||||
start_grow(pos, grow_time)
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node(seed_name_soil, {
|
||||
description = S(def.description).." ".."("..S("Seed Soil")..")",
|
||||
description = S(description).." ".."("..S("Seed Soil")..")",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
|
@ -213,8 +140,12 @@ function farmz.register_plant(name, def)
|
|||
end,
|
||||
|
||||
on_timer = function(pos)
|
||||
minetest.set_node(pos, {name = product_name.."_sprout"})
|
||||
start_grow(pos, def.grow_time)
|
||||
local node_name = product_name
|
||||
if sprout then
|
||||
node_name = node_name .. "_sprout"
|
||||
end
|
||||
minetest.set_node(pos, {name = node_name})
|
||||
start_grow(pos, grow_time)
|
||||
return false
|
||||
end,
|
||||
|
||||
|
@ -227,12 +158,107 @@ function farmz.register_plant(name, def)
|
|||
end
|
||||
})
|
||||
|
||||
return seed_name
|
||||
end
|
||||
|
||||
function farmz.register_plant(name, def)
|
||||
local product_name = def.modname..":"..name
|
||||
|
||||
for i = 1,2 do
|
||||
local register
|
||||
local description
|
||||
local _plant_name
|
||||
local texture
|
||||
local drop
|
||||
|
||||
if i == 1 then
|
||||
if not def.only_register_sprout then
|
||||
|
||||
minetest.register_craftitem(product_name , {
|
||||
description = S(def.description),
|
||||
inventory_image = def.modname.."_"..name..".png",
|
||||
groups = def.groups,
|
||||
})
|
||||
|
||||
_plant_name = product_name.."_plant"
|
||||
texture = def.modname.."_"..name.."_plant.png"
|
||||
description = S("@1 Plant", S(def.description))
|
||||
if not def.drop then
|
||||
local drop_number = def.drop_number or 1
|
||||
drop = product_name.." "..drop_number
|
||||
else
|
||||
drop = def.drop
|
||||
end
|
||||
register = true
|
||||
else
|
||||
register = false
|
||||
end
|
||||
else
|
||||
_plant_name = product_name.."_sprout"
|
||||
texture = def.modname.."_"..name.."_sprout.png"
|
||||
description = S("@1 Plant", S(def.description)).." ".."("..S("Sprout")..")"
|
||||
drop = ""
|
||||
register = true
|
||||
end
|
||||
|
||||
if register then
|
||||
minetest.register_node(_plant_name, {
|
||||
description = description,
|
||||
inventory_image = def.inventory_image or texture,
|
||||
wield_image = def.wield_image or def.inventory_image or texture,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
node_box = helper.nodebox.plant,
|
||||
tiles = {
|
||||
"farmz_plow.png",
|
||||
"farmz_plow.png",
|
||||
texture,
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = def.box,
|
||||
},
|
||||
drop = drop,
|
||||
buildable_to = true,
|
||||
groups = {crumbly = 1, plant = 1, not_in_creative_inventory = 1},
|
||||
sounds = sound.dirt(),
|
||||
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
if i == 2 then
|
||||
start_grow(pos, def.grow_time)
|
||||
end
|
||||
end,
|
||||
|
||||
on_timer = function(pos)
|
||||
local plant_name = product_name
|
||||
if not def.only_register_sprout then
|
||||
plant_name = plant_name .. "_plant"
|
||||
end
|
||||
minetest.set_node(pos, {name = plant_name})
|
||||
return false
|
||||
end,
|
||||
|
||||
after_destruct = function(pos, oldnode)
|
||||
--destroy the soil under
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
if node and node.name == "air" then
|
||||
minetest.swap_node(pos, {name="farmz:plow"})
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
local seed_name = farmz.register_seed(def.modname, name, def.description, product_name, seed_name, def.grow_time,
|
||||
true)
|
||||
|
||||
if def.craft then
|
||||
local craft_name = modname..":"..def.craft.name
|
||||
local craft_name = def.modname..":"..def.craft.name
|
||||
|
||||
minetest.register_craftitem(craft_name, {
|
||||
description = S(def.craft.description),
|
||||
inventory_image = modname.."_"..def.craft.name..".png",
|
||||
inventory_image = def.modname.."_"..def.craft.name..".png",
|
||||
groups = {flour = 1},
|
||||
})
|
||||
|
||||
|
@ -241,9 +267,22 @@ function farmz.register_plant(name, def)
|
|||
recipe[#recipe+1] = product_name
|
||||
end
|
||||
minetest.register_craft({
|
||||
output = craft_name,
|
||||
output = craft_name.." "..tostring((def.craft.output_amount or 1)),
|
||||
type = "shapeless",
|
||||
recipe = recipe,
|
||||
})
|
||||
end
|
||||
|
||||
if def.craft_seed then
|
||||
local recipe = {}
|
||||
for i = 1, (def.craft_seed.input_amount or 1) do
|
||||
recipe[#recipe+1] = product_name
|
||||
end
|
||||
minetest.register_craft({
|
||||
output = seed_name.." "..tostring((def.craft_seed.output_amount or 1)),
|
||||
type = "shapeless",
|
||||
recipe = recipe,
|
||||
})
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -18,7 +18,7 @@ minetest.register_node("farmz:grass", {
|
|||
sounds = sound:leaves(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -5 / 16, 6 / 16},
|
||||
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, -5 / 16, 5 / 16},
|
||||
},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
local S = ...
|
||||
|
||||
farmz.register_hoe("steel_Hoe" ,{
|
||||
modname = "farmz",
|
||||
description = S("Steel Hoe"),
|
||||
inventory_image = "farmz_hoe_steel.png"
|
||||
})
|
||||
|
|
|
@ -4,7 +4,7 @@ local S = minetest.get_translator(modname)
|
|||
|
||||
farmz = {}
|
||||
|
||||
assert(loadfile(modpath .. "/api.lua"))(S,modname)
|
||||
assert(loadfile(modpath .. "/api.lua"))(S)
|
||||
assert(loadfile(modpath .. "/food.lua"))(S)
|
||||
assert(loadfile(modpath .. "/hoes.lua"))(S)
|
||||
assert(loadfile(modpath .. "/grasses.lua"))(S)
|
||||
|
|
|
@ -7,5 +7,6 @@ Plowed Soil=Tierra arada
|
|||
Seed Soil=Cultivo con semillas
|
||||
Sprout=brote
|
||||
Steel Hoe=Azada de hierro
|
||||
Sunflower=girasol
|
||||
Wheat=Trigo
|
||||
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
local S = ...
|
||||
|
||||
farmz.register_plant("wheat", {
|
||||
modname = "farmz",
|
||||
description = "Wheat",
|
||||
box = {-4/16, -0.5, -4/16, 4/16, 4/16, 4/16},
|
||||
grow_time = 5,
|
||||
drop_number = 2,
|
||||
groups = {fleshy = 3, flammable = 2, wheat = 1},
|
||||
craft = {
|
||||
name = "flour",
|
||||
description = "Flour",
|
||||
input_amount = 4,
|
||||
ouput_amount = 1,
|
||||
}
|
||||
output_amount = 1,
|
||||
},
|
||||
only_register_sprout = false,
|
||||
})
|
||||
|
||||
|
|
|
@ -1,15 +1,21 @@
|
|||
S, modname = ...
|
||||
|
||||
-- Flower registration
|
||||
|
||||
local function register_flower_deco(name, deco)
|
||||
|
||||
if not(deco.noise_params) then
|
||||
deco.noise_params = {
|
||||
scale = 0.04
|
||||
}
|
||||
end
|
||||
|
||||
local flower_name = modname..":"..name
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "flowers:"..name,
|
||||
decoration = "flowers:"..name,
|
||||
deco_type = "simple",
|
||||
name = flower_name,
|
||||
decoration = flower_name,
|
||||
deco_type = deco.type or "simple",
|
||||
place_on = deco.place_on,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
|
@ -23,6 +29,9 @@ local function register_flower_deco(name, deco)
|
|||
biomes = deco.biomes,
|
||||
y_max = deco.height.y_max,
|
||||
y_min = deco.height.y_min,
|
||||
schematic = deco.schematic,
|
||||
flags = deco.flags or "",
|
||||
place_offset_y = deco.place_offset_y or 0
|
||||
})
|
||||
end
|
||||
|
||||
|
@ -33,13 +42,13 @@ function flowers.register_flower(name, def)
|
|||
def.groups.flora = 1
|
||||
def.groups.attached_node = 1
|
||||
|
||||
local inventory_image = "flowers_" .. name
|
||||
local inventory_image = modname.."_" .. name
|
||||
if def.inv_img then
|
||||
inventory_image = inventory_image .. "_inv"
|
||||
end
|
||||
|
||||
minetest.register_node("flowers:" .. name, {
|
||||
description = def.desc,
|
||||
minetest.register_node(modname..":" .. name, {
|
||||
description = S(def.desc),
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
tiles = {"flowers_" .. name .. ".png"},
|
||||
|
@ -61,3 +70,104 @@ function flowers.register_flower(name, def)
|
|||
register_flower_deco(name, def.deco)
|
||||
end
|
||||
end
|
||||
|
||||
function flowers.register_tall_flower(name, def)
|
||||
|
||||
local flower_name = modname .. ":" .. name
|
||||
local flower_name_top = flower_name .. "_top"
|
||||
|
||||
-- Common flowers' groups
|
||||
def.groups.snappy = 3
|
||||
def.groups.flower = 1
|
||||
def.groups.flora = 1
|
||||
def.groups.attached_node = 1
|
||||
|
||||
local groups_top = helper.table_shallowcopy(def.groups)
|
||||
groups_top.not_in_creative_inventory = 1
|
||||
|
||||
minetest.register_node(flower_name_top, {
|
||||
description = S(def.desc),
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 1.0,
|
||||
tiles = {"flowers_"..name.."_top.png"},
|
||||
inventory_image = "flowers_"..name.."_top_inv.png",
|
||||
paramtype = "light",
|
||||
walkable = true,
|
||||
waving = 1,
|
||||
groups = groups_top,
|
||||
sounds = sound.leaves(),
|
||||
drop = flower_name,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = def.box
|
||||
},
|
||||
after_destruct = function(pos, oldnode)
|
||||
pos.y = pos.y - 1
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
if node and node.name == flower_name then
|
||||
minetest.remove_node(pos)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node(flower_name, {
|
||||
description = S(def.desc),
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 1.0,
|
||||
tiles = {"flowers_"..name.."_bottom.png"},
|
||||
inventory_image = "flowers_"..name.."_top.png",
|
||||
wield_image = "flowers_"..name.."_top.png",
|
||||
paramtype = "light",
|
||||
walkable = true,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, flammable = 3, flower =1, flora=1, attached_node = 1},
|
||||
sounds = sound.leaves(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = def.box
|
||||
},
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
if not(pointed_thing.type) == "node" then
|
||||
return
|
||||
end
|
||||
local pos_above = minetest.get_pointed_thing_position(pointed_thing, true)
|
||||
local pos_sunflower_top = pos_above
|
||||
pos_sunflower_top.y = pos_sunflower_top.y + 1
|
||||
local node = minetest.get_node_or_nil(pos_sunflower_top)
|
||||
if node and node.name == "air" then
|
||||
pos_above.y = pos_above.y - 1
|
||||
minetest.set_node(pos_above, {name = flower_name})
|
||||
local player_name = placer and placer:get_player_name() or ""
|
||||
if not (creative and creative.is_enabled_for
|
||||
and creative.is_enabled_for(player_name)) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
end,
|
||||
|
||||
on_construct = function(pos)
|
||||
pos.y = pos.y + 1
|
||||
minetest.place_node(pos, {name = flower_name_top})
|
||||
end,
|
||||
|
||||
after_destruct = function(pos, oldnode)
|
||||
pos.y = pos.y + 1
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
if node and node.name == flower_name_top then
|
||||
minetest.remove_node(pos)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
if def.deco then
|
||||
def.deco.schematic = {
|
||||
size = {x = 1, y = 2, z = 1},
|
||||
data = {
|
||||
{name = flower_name}, {name = flower_name_top},
|
||||
}
|
||||
}
|
||||
register_flower_deco(name, def.deco)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
local S = ...
|
||||
|
||||
flowers.list = {
|
||||
{
|
||||
name = "rose_bush",
|
||||
def = {
|
||||
desc = S("Rose Bush"),
|
||||
desc = "Rose Bush",
|
||||
box = {-2/16, -0.5, -2/16, 2/16, 5/16, 2/16},
|
||||
groups = {color_red = 1, flammable = 1},
|
||||
inv_img = false,
|
||||
deco = {
|
||||
type = "simple",
|
||||
place_on = "nodez:dirt_with_grass",
|
||||
seed = 345,
|
||||
biomes = {"forest"},
|
||||
|
@ -22,11 +21,12 @@ flowers.list = {
|
|||
{
|
||||
name = "rose",
|
||||
def = {
|
||||
desc = S("Rose"),
|
||||
desc = "Rose",
|
||||
box = {-2/16, -0.5, -2/16, 2/16, 4/16, 2/16},
|
||||
groups = {color_red = 1, flammable = 1},
|
||||
inv_img = false,
|
||||
deco = {
|
||||
type = "simple",
|
||||
place_on = "nodez:dirt_with_grass",
|
||||
seed = 345,
|
||||
biomes = {"forest"},
|
||||
|
@ -40,11 +40,12 @@ flowers.list = {
|
|||
{
|
||||
name = "daisy",
|
||||
def = {
|
||||
desc = S("Daisy"),
|
||||
desc = "Daisy",
|
||||
box = {-2/16, -0.5, -2/16, 2/16, 5/16, 2/16},
|
||||
groups = {color_white = 1, flammable = 1},
|
||||
inv_img = false,
|
||||
deco = {
|
||||
type = "simple",
|
||||
place_on = "nodez:dirt_with_grass",
|
||||
seed = 1528,
|
||||
biomes = {"forest"},
|
||||
|
@ -55,11 +56,12 @@ flowers.list = {
|
|||
{
|
||||
name = "tulip",
|
||||
def = {
|
||||
desc = S("Tulip"),
|
||||
desc = "Tulip",
|
||||
box = {-2/16, -0.5, -2/16, 2/16, 2/16, 2/16},
|
||||
groups = {color_yellow = 1, flammable = 1},
|
||||
inv_img = false,
|
||||
deco = {
|
||||
type = "simple",
|
||||
place_on = "nodez:dirt_with_grass",
|
||||
seed = 7898,
|
||||
biomes = {"forest"},
|
||||
|
@ -70,11 +72,12 @@ flowers.list = {
|
|||
{
|
||||
name = "pansy",
|
||||
def = {
|
||||
desc = S("Pansy"),
|
||||
desc = "Pansy",
|
||||
box = {-2/16, -0.5, -2/16, 2/16, 2/16, 2/16},
|
||||
groups = {color_pink = 1, flammable = 1},
|
||||
inv_img = false,
|
||||
deco = {
|
||||
type = "simple",
|
||||
place_on = "nodez:dirt_with_grass",
|
||||
seed = 734,
|
||||
biomes = {"forest"},
|
||||
|
@ -85,11 +88,12 @@ flowers.list = {
|
|||
{
|
||||
name = "gerbera",
|
||||
def = {
|
||||
desc = S("Gerbera Daisy"),
|
||||
desc = "Gerbera Daisy",
|
||||
box = {-4/16, -8/16, -4/16, 4/16, -3/16, 4/16},
|
||||
groups = {color_orange = 1, flammable = 1},
|
||||
inv_img = false,
|
||||
deco = {
|
||||
type = "simple",
|
||||
place_on = "nodez:dirt_with_grass",
|
||||
seed = 5770,
|
||||
biomes = {"forest"},
|
||||
|
@ -100,11 +104,12 @@ flowers.list = {
|
|||
{
|
||||
name = "lavender",
|
||||
def = {
|
||||
desc = S("Lavender"),
|
||||
desc = "Lavender",
|
||||
box = {-4/16, -8/16, -4/16, 4/16, -3/16, 4/16},
|
||||
groups = {color_violet = 1, flammable = 1},
|
||||
inv_img = false,
|
||||
deco = {
|
||||
type = "simple",
|
||||
place_on = "nodez:dirt_with_grass",
|
||||
seed = 230,
|
||||
biomes = {"forest"},
|
||||
|
@ -115,11 +120,12 @@ flowers.list = {
|
|||
{
|
||||
name = "dandellion",
|
||||
def = {
|
||||
desc = S("Dandellion"),
|
||||
desc = "Dandellion",
|
||||
box = {-4/16, -8/16, -4/16, 4/16, -3/16, 4/16},
|
||||
groups = {color_yellow = 1, flammable = 1},
|
||||
inv_img = false,
|
||||
deco = {
|
||||
type = "simple",
|
||||
place_on = "nodez:dirt_with_grass",
|
||||
seed = 3946,
|
||||
biomes = {"forest"},
|
||||
|
@ -130,11 +136,12 @@ flowers.list = {
|
|||
{
|
||||
name = "dahlia",
|
||||
def = {
|
||||
desc = S("Dahlia"),
|
||||
box = {-2/16, -8/16, -2/16, 2/16, 3/16, 2/16},
|
||||
desc = "Dahlia",
|
||||
box = {-2/16, -8/16, -2/16, 2/16, -0/16, 2/16},
|
||||
groups = {color_red = 1, flammable = 1},
|
||||
inv_img = false,
|
||||
deco = {
|
||||
type = "simple",
|
||||
place_on = "nodez:dirt_with_grass",
|
||||
seed = 356,
|
||||
biomes = {"forest"},
|
||||
|
@ -148,11 +155,12 @@ flowers.list = {
|
|||
{
|
||||
name = "zinnia",
|
||||
def = {
|
||||
desc = S("Zinnia"),
|
||||
desc = "Zinnia",
|
||||
box = {-4/16, -8/16, -4/16, 4/16, -2/16, 4/16},
|
||||
groups = {color_red = 1, flammable = 1},
|
||||
inv_img = false,
|
||||
deco = {
|
||||
type = "simple",
|
||||
place_on = "nodez:dirt_with_grass",
|
||||
seed = 993,
|
||||
biomes = {"forest"},
|
||||
|
@ -166,3 +174,36 @@ for _, item in pairs(flowers.list) do
|
|||
flowers.register_flower(item.name, item.def)
|
||||
end
|
||||
|
||||
--Sunflower
|
||||
|
||||
flowers.register_tall_flower("sunflower", {
|
||||
desc = "Sunflower",
|
||||
box = {-0.25, -0.5, -0.25, 0.1875, 0.375, 0.1875},
|
||||
groups = {color_yellow = 1, flammable = 1},
|
||||
inv_img = false,
|
||||
deco = {
|
||||
type = "schematic",
|
||||
place_on = "nodez:dirt_with_grass",
|
||||
seed = 521,
|
||||
noise_params = {
|
||||
scale = 0.03,
|
||||
},
|
||||
biomes = {"forest"},
|
||||
height = {y_max = 128, y_min = 1},
|
||||
flags = "place_center_x, place_center_z, force_placement",
|
||||
place_offset_y = 1
|
||||
}
|
||||
})
|
||||
|
||||
farmz.register_plant("sunflower", {
|
||||
modname = "flowers",
|
||||
description = "Sunflower",
|
||||
box = {-4/16, -0.5, -4/16, 4/16, 4/16, 4/16},
|
||||
grow_time = 5,
|
||||
drop_number = 1,
|
||||
only_register_sprout = true,
|
||||
craft_seed = {
|
||||
input_amount = 1,
|
||||
output_amount = 4,
|
||||
},
|
||||
})
|
||||
|
|
|
@ -4,5 +4,5 @@ local modname = minetest.get_current_modname()
|
|||
local modpath = minetest.get_modpath(modname)
|
||||
local S = minetest.get_translator(modname)
|
||||
|
||||
assert(loadfile(modpath .. "/api.lua"))()
|
||||
assert(loadfile(modpath .. "/flowers.lua"))(S)
|
||||
assert(loadfile(modpath .. "/api.lua"))(S, modname)
|
||||
assert(loadfile(modpath .. "/flowers.lua"))()
|
||||
|
|
|
@ -5,5 +5,6 @@ Daisy Gerbera=Margarita Gerbera
|
|||
Lavender=Lavanda
|
||||
Rose=Rosa
|
||||
Rose Bush=Rosal
|
||||
Sunflower=Girasol
|
||||
Tulip=Tulipán
|
||||
Zinnia=Zinnia
|
||||
|
|
After Width: | Height: | Size: 639 B |
After Width: | Height: | Size: 493 B |
After Width: | Height: | Size: 697 B |
After Width: | Height: | Size: 691 B |
After Width: | Height: | Size: 7.0 KiB |
|
@ -1,6 +1,7 @@
|
|||
helper = {}
|
||||
helper.vector = {}
|
||||
helper.nodebox = {}
|
||||
helper.table = {}
|
||||
|
||||
function helper.in_group(pos, group)
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
|
@ -56,6 +57,21 @@ function helper.node_is_air(pos, offset)
|
|||
end
|
||||
end
|
||||
|
||||
function helper.node_is_water(pos, offset)
|
||||
if offset then
|
||||
if offset == "above" then
|
||||
pos = vector.new(pos.x, pos.y+1, pos.z)
|
||||
end
|
||||
end
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
if node and minetest.registered_nodes[node.name]["liquidtype"] == "source" or
|
||||
minetest.registered_nodes[node.name]["liquidtype"] == "flowing" then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
--Direction
|
||||
|
||||
function helper.dir_to_compass(dir)
|
||||
|
@ -94,3 +110,29 @@ helper.nodebox.plant = {
|
|||
{0, -0.5, -0.5, 0, 0.5, 0.5},
|
||||
}
|
||||
}
|
||||
|
||||
--Tables
|
||||
|
||||
function helper.table_shallowcopy(original)
|
||||
local copy = {}
|
||||
for key, value in pairs(original) do
|
||||
copy[key] = value
|
||||
end
|
||||
return copy
|
||||
end
|
||||
|
||||
function helper.table_deepcopy(t) -- deep-copy a table
|
||||
if type(t) ~= "table" then return t end
|
||||
local meta = getmetatable(t)
|
||||
local target = {}
|
||||
for k, v in pairs(t) do
|
||||
if type(v) == "table" then
|
||||
target[k] = helper.table_deepcopy(v)
|
||||
else
|
||||
target[k] = v
|
||||
end
|
||||
end
|
||||
setmetatable(target, meta)
|
||||
return target
|
||||
end
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
items = {}
|
||||
|
||||
local modname = minetest.get_current_modname()
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
local S = minetest.get_translator(modname)
|
||||
|
||||
assert(loadfile(modpath .. "/vessels.lua"))(S, modname)
|
|
@ -0,0 +1,3 @@
|
|||
# textdomain: items
|
||||
Empty Flask=Frasco vacío
|
||||
Flask with water=Frasco de agua
|
|
@ -0,0 +1,2 @@
|
|||
name = items
|
||||
description = Some misc items
|
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 6.8 KiB |
|
@ -0,0 +1,85 @@
|
|||
S, modname = ...
|
||||
|
||||
function items.register_vessel(name, def)
|
||||
vessel_name = modname..":"..name
|
||||
minetest.register_node(vessel_name, {
|
||||
description = S(def.description),
|
||||
drawtype = "plantlike",
|
||||
tiles = def.tiles,
|
||||
paramtype = "light",
|
||||
paramtype2 = "glasslikeliquidlevel",
|
||||
param2 = 50,
|
||||
sunlight_propagates = true,
|
||||
use_texture_alpha = "blend",
|
||||
inventory_image = def.inventory_image,
|
||||
wield_image = def.wield_image or def.inventory_image or "",
|
||||
is_ground_content = false,
|
||||
walkable = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = def.selection_box
|
||||
},
|
||||
stack_max = 10,
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
drop = def.drop,
|
||||
sounds = sound.glass(),
|
||||
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
if def.replace_item then
|
||||
local pos = pointed_thing.above
|
||||
if helper.node_is_water(pos) then
|
||||
local inv = user:get_inventory()
|
||||
if inv:room_for_item("main", def.replace_item) then
|
||||
itemstack:take_item(1)
|
||||
inv:add_item("main", def.replace_item)
|
||||
end
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
end,
|
||||
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
if not clicker:is_player() then
|
||||
return
|
||||
end
|
||||
local inv = clicker:get_inventory()
|
||||
if inv:room_for_item("main", vessel_name) then
|
||||
if itemstack:get_name() == vessel_name or itemstack:get_name() == "" then
|
||||
itemstack:add_item(vessel_name)
|
||||
else
|
||||
inv:add_item("main", vessel_name)
|
||||
end
|
||||
minetest.remove_node(pos)
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
if def.craft then
|
||||
minetest.register_craft( {
|
||||
output = def.craft.output,
|
||||
recipe = def.craft.recipe,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
--Empty Flask
|
||||
|
||||
items.register_vessel("empty_flask", {
|
||||
description = "Empty Flask",
|
||||
tiles= {"items_empty_flask.png"},
|
||||
inventory_image = "items_empty_flask_inv.png",
|
||||
selection_box = {-3/16, -8/16, -3/16, 3/16, 5/16, 3/16},
|
||||
drop = "",
|
||||
replace_item = "items:flask_with_water"
|
||||
|
||||
})
|
||||
|
||||
items.register_vessel("flask_with_water", {
|
||||
description = "Flask with water",
|
||||
tiles= {"items_flask_with_water.png"},
|
||||
inventory_image = "items_flask_with_water_inv.png",
|
||||
selection_box = {-3/16, -8/16, -3/16, 3/16, 5/16, 3/16},
|
||||
drop = ""
|
||||
})
|
||||
|
|
@ -118,3 +118,21 @@ minetest.register_craft({
|
|||
"nodez:clay_brick", "nodez:clay_brick",
|
||||
}
|
||||
})
|
||||
|
||||
--Adobe
|
||||
|
||||
minetest.register_node("nodez:adobe", {
|
||||
description = S("Adobe"),
|
||||
tiles ={"nodez_adobe.png"},
|
||||
groups = {crumbly=2},
|
||||
sounds = sound.dirt(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "nodez:adobe",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"nodez:clay", "nodez:sand",
|
||||
"farmz:wheat"
|
||||
}
|
||||
})
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# textdomain: nodez
|
||||
Adobe=Adobe
|
||||
Clay=Arcilla
|
||||
Clay Brick=Ladrillo
|
||||
Clay Bricks=Bloque de ladrillos
|
||||
|
|
Before Width: | Height: | Size: 543 B After Width: | Height: | Size: 583 B |
Before Width: | Height: | Size: 655 B After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 115 B After Width: | Height: | Size: 6.4 KiB |
|
@ -1,6 +1,6 @@
|
|||
local S = ...
|
||||
|
||||
local WATER_ALPHA = "^[opacity:" .. 210
|
||||
local WATER_ALPHA = "^[opacity:" .. 230
|
||||
local WATER_VISC = 1
|
||||
|
||||
minetest.register_node("nodez:water_source", {
|
||||
|
@ -37,10 +37,26 @@ minetest.register_node("nodez:water_flowing", {
|
|||
waving = 3,
|
||||
tiles = {"nodez_water_flowing.png"},
|
||||
special_tiles = {
|
||||
{name = "nodez_water_flowing.png"..WATER_ALPHA,
|
||||
backface_culling = false},
|
||||
{name = "nodez_water_flowing.png"..WATER_ALPHA,
|
||||
backface_culling = false},
|
||||
{
|
||||
name = "nodez_water_flowing.png"..WATER_ALPHA,
|
||||
backface_culling = false,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 0.5,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = "nodez_water_flowing.png"..WATER_ALPHA,
|
||||
backface_culling = true,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 0.5,
|
||||
},
|
||||
},
|
||||
},
|
||||
use_texture_alpha = "blend",
|
||||
paramtype = "light",
|
||||
|
@ -121,6 +137,8 @@ minetest.register_node("nodez:river_water_flowing", {
|
|||
sounds = sound.water(),
|
||||
})
|
||||
|
||||
--Ice
|
||||
|
||||
minetest.register_node("nodez:ice", {
|
||||
description = S("Ice"),
|
||||
tiles = {"nodez_ice.png"},
|
||||
|
|
|
@ -71,6 +71,22 @@ function playerz.get_gender(player)
|
|||
return player:get_meta():get_string("gender")
|
||||
end
|
||||
|
||||
function playerz.is_male(player)
|
||||
if playerz.get_gender(player) == "male" then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
function playerz.is_female(player)
|
||||
if playerz.get_gender(player) == "female" then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
function playerz.get_gender_model(gender)
|
||||
local model = "character.b3d"
|
||||
return model
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
minetest.register_on_punchplayer(function(player, hitter, time_from_last_punch, tool_capabilities, dir, damage)
|
||||
if playerz.is_dead(player) then
|
||||
return true --do nothing
|
||||
end
|
||||
playerz.change_hp(player, -damage, "punch")
|
||||
local ouch = "ouch"
|
||||
if playerz.is_female(player) then
|
||||
ouch = "ouch".."_female"
|
||||
end
|
||||
sound.play("player", player, ouch)
|
||||
return true
|
||||
end)
|
|
@ -5,6 +5,7 @@ local modpath = minetest.get_modpath(modname)
|
|||
|
||||
dofile(modpath .. "/api.lua")
|
||||
dofile(modpath .. "/base_texture.lua")
|
||||
dofile(modpath .. "/damage.lua")
|
||||
dofile(modpath .. "/cloths.lua")
|
||||
dofile(modpath .. "/freeze.lua")
|
||||
dofile(modpath .. "/hunger.lua")
|
||||
|
@ -26,7 +27,7 @@ playerz.register_model("character.b3d", {
|
|||
swin_and_mine = {x = 306, y = 330},
|
||||
swin_stand = {x = 232, y = 232},
|
||||
},
|
||||
collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3},
|
||||
collisionbox = {-0.28125, 0.0, -0.28125, 0.28125, 1.5, 0.28125},
|
||||
stepheight = 0.6,
|
||||
eye_height = 1.47,
|
||||
})
|
||||
|
@ -65,4 +66,7 @@ minetest.register_on_joinplayer(function(player)
|
|||
player:hud_set_hotbar_image("playerz_hotbar.png")
|
||||
player:hud_set_hotbar_selected_image("playerz_hotbar_selected.png")
|
||||
playerz.count = playerz.count + 1
|
||||
--Set Sky
|
||||
player:set_sky({sky_color={day_sky="#6ac4c4", day_horizon="#84d1d1"}})
|
||||
|
||||
end)
|
||||
|
|
|
@ -368,8 +368,8 @@ minetest.register_node("signs:sign", {
|
|||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.125, -0.063, 0.375, 0.5, 0.063},
|
||||
{-0.063, -0.5, -0.063, 0.063, -0.125, 0.063}
|
||||
{-6/16, -2/16, -1/16, 6/16, 8/16, 1/16},
|
||||
{-1/16, -8/16, -1/16, 1/16, -2/16, 1/16}
|
||||
}
|
||||
},
|
||||
groups = {oddly_breakable_by_hand = 1, choppy = 3, attached_node = 1},
|
||||
|
@ -381,13 +381,13 @@ minetest.register_node("signs:sign", {
|
|||
})
|
||||
|
||||
minetest.register_node("signs:wall_sign", {
|
||||
tiles = {"signs_wood.png"},
|
||||
tiles = {"signs_wood_wall.png"},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
node_box = {
|
||||
type = "wallmounted",
|
||||
wall_side = {-0.5, -0.313, -0.438, -0.438, 0.313, 0.438}
|
||||
wall_side = {-8/16, -5/16, -7/16, -7/16, 5/16, 7/16}
|
||||
},
|
||||
drop = "signs:sign",
|
||||
walkable = false,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# textdomain: signs
|
||||
Sign=Cartel
|
||||
Enter your text=Introduce tu texto
|
||||
Enter your text:=Introduce tu texto:
|
||||
Save=Guardar
|
||||
|
|
After Width: | Height: | Size: 573 B |
|
@ -3,6 +3,8 @@ Apple Wood Stair=Escalera de manzano
|
|||
Apple Wood Slab=Losa de manzano
|
||||
Cherry Wood Stair=Escalera de cerezo
|
||||
Cherry Wood Slab=Losa de cerezo
|
||||
Cherry Wood Stair=Escalera de castaño
|
||||
Cherry Wood Slab=Losa de castaño
|
||||
Cobblestone Stair=Escalera de empedrado
|
||||
Cobblestone Slab=Losa de empedrado
|
||||
Sandstone Stair=Escalera de arenisca
|
||||
|
|
|
@ -41,3 +41,11 @@ stairs.register_stair_and_slab("cherry_tree", {
|
|||
desc_stair = S("Cherry Wood Stair"),
|
||||
desc_slab = S("Cherry Wood Slab")
|
||||
})
|
||||
|
||||
stairs.register_stair_and_slab("chestnut_tree", {
|
||||
recipeitem = "treez:chestnut_tree_wood",
|
||||
groups = {choppy = 2},
|
||||
images = {"treez_chestnut_tree_wood.png"},
|
||||
desc_stair = S("Chestnut Wood Stair"),
|
||||
desc_slab = S("Chestnut Wood Slab")
|
||||
})
|
||||
|
|
|
@ -12,6 +12,7 @@ minetest.register_tool("tools:axe_stone", {
|
|||
groupcaps={
|
||||
choppy={times={[2]=1.00, [3]=0.60}, uses=60, maxlevel=0},
|
||||
},
|
||||
damage_groups = {fleshy=3},
|
||||
},
|
||||
})
|
||||
|
||||
|
@ -23,5 +24,6 @@ minetest.register_tool("tools:axe_steel", {
|
|||
groupcaps={
|
||||
choppy={times={[1]=2.00, [2]=0.80, [3]=0.40}, uses=90, maxlevel=0},
|
||||
},
|
||||
damage_groups = {fleshy=5},
|
||||
},
|
||||
})
|
||||
|
|
|
@ -4,8 +4,7 @@ if minetest.settings:get_bool("creative_mode") then
|
|||
local digtime = 42
|
||||
local caps = {times = {digtime, digtime, digtime}, uses = 0, maxlevel = 256}
|
||||
|
||||
minetest.register_item(":", {
|
||||
type = "none",
|
||||
minetest.register_tool(":", {
|
||||
wield_image = "wieldhand.png",
|
||||
wield_scale = {x = 1, y = 1, z = 2.5},
|
||||
range = 10,
|
||||
|
@ -26,8 +25,7 @@ if minetest.settings:get_bool("creative_mode") then
|
|||
}
|
||||
})
|
||||
else
|
||||
minetest.register_item(":", {
|
||||
type = "none",
|
||||
minetest.register_tool(":", {
|
||||
wield_image = "wieldhand.png",
|
||||
wield_scale = {x = 1, y = 1, z = 2.5},
|
||||
tool_capabilities = {
|
||||
|
|
|
@ -14,7 +14,7 @@ minetest.register_tool("tools:pick_mese", {
|
|||
choppy={times={[1]=0.0, [2]=0.0, [3]=0.0}, maxlevel=255},
|
||||
dig_immediate={times={[1]=0.0, [2]=0.0, [3]=0.0}, maxlevel=255},
|
||||
},
|
||||
damage_groups = {fleshy=100},
|
||||
damage_groups = {fleshy=3},
|
||||
},
|
||||
})
|
||||
|
||||
|
@ -30,5 +30,6 @@ minetest.register_tool("tools:pick_steel", {
|
|||
groupcaps={
|
||||
cracky={times={[1]=4.00, [2]=1.60, [3]=1.00}, uses=90, maxlevel=0}
|
||||
},
|
||||
damage_groups = {fleshy=2},
|
||||
},
|
||||
})
|
||||
|
|
After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 619 B After Width: | Height: | Size: 608 B |
|
@ -7,30 +7,6 @@ local rx = -90
|
|||
local rz = 90
|
||||
|
||||
wield3d.location = {
|
||||
["default:torch"] = {bone, pos, {x=rx, y=180, z=rz}, scale},
|
||||
["default:sapling"] = {bone, pos, {x=rx, y=180, z=rz}, scale},
|
||||
["flowers:dandelion_white"] = {bone, pos, {x=rx, y=180, z=rz}, scale},
|
||||
["flowers:dandelion_yellow"] = {bone, pos, {x=rx, y=180, z=rz}, scale},
|
||||
["flowers:geranium"] = {bone, pos, {x=rx, y=180, z=rz}, scale},
|
||||
["flowers:rose"] = {bone, pos, {x=rx, y=180, z=rz}, scale},
|
||||
["flowers:tulip"] = {bone, pos, {x=rx, y=180, z=rz}, scale},
|
||||
["flowers:viola"] = {bone, pos, {x=rx, y=180, z=rz}, scale},
|
||||
["default:shovel_wood"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["default:shovel_stone"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["default:shovel_steel"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["default:shovel_bronze"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["default:shovel_mese"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["default:shovel_diamond"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["bucket:bucket_empty"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["bucket:bucket_water"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["bucket:bucket_lava"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["screwdriver:screwdriver"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["screwdriver:screwdriver1"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["screwdriver:screwdriver2"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["screwdriver:screwdriver3"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["screwdriver:screwdriver4"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["vessels:glass_bottle"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["vessels:drinking_glass"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
["vessels:steel_bottle"] = {bone, pos, {x=rx, y=135, z=rz}, scale},
|
||||
--["default:torch"] = {bone, pos, {x=rx, y=180, z=rz}, scale},
|
||||
}
|
||||
|
||||
|
|