cherry cake
|
@ -0,0 +1,49 @@
|
|||
S, modname = ...
|
||||
|
||||
function foodz.register_food(name, def)
|
||||
def.groups.food = 1
|
||||
local food_name = modname..":"..name
|
||||
|
||||
if def.type == "craft" then
|
||||
minetest.register_craftitem(food_name, {
|
||||
description = S(def.description),
|
||||
inventory_image = def.inventory_image,
|
||||
wield_image = def.wield_image or def.inventory_image,
|
||||
groups = def.groups,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
eatz.item_eat(itemstack, user, food_name, hp or 1, hunger or 2)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
else
|
||||
minetest.register_node(food_name, {
|
||||
inventory_image = def.inventory_image,
|
||||
drawtype = "nodebox",
|
||||
description = S(def.description),
|
||||
tiles = def.tiles,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = def.node_box,
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = def.selection_box,
|
||||
},
|
||||
groups = def.groups,
|
||||
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
eatz.item_eat(itemstack, user, food_name, def.hp or 1, def.hunger or 2)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = food_name,
|
||||
recipe = def.recipe,
|
||||
})
|
||||
end
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
foodz.register_food("cherry_cake", {
|
||||
type = "block",
|
||||
node_box = {
|
||||
{-0.25, -0.5, -0.25, 0.25, -0.125, 0.25},
|
||||
{-0.0625, -0.125, -0.0625, 0.0625, 0, 0.0625},
|
||||
},
|
||||
selection_box = {
|
||||
{-0.25, -0.5, -0.25, 0.25, -0.125, 0.25},
|
||||
},
|
||||
tiles = {
|
||||
"foodz_cherry_cake_top.png",
|
||||
"foodz_cherry_cake_bottom.png",
|
||||
"foodz_cherry_cake_side.png",
|
||||
"foodz_cherry_cake_side.png",
|
||||
"foodz_cherry_cake_side.png",
|
||||
"foodz_cherry_cake_side.png",
|
||||
},
|
||||
description = "Cherry Cake",
|
||||
inventory_image = "foodz_cherry_cake_inv.png",
|
||||
hp = 12,
|
||||
hunger = 16,
|
||||
groups = {cake = 1, oddly_breakable_by_hand = 1},
|
||||
recipe = {"treez:cherries", "farmz:flour"},
|
||||
})
|
|
@ -0,0 +1,8 @@
|
|||
foodz = {}
|
||||
|
||||
local modname = minetest.get_current_modname()
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
local S = minetest.get_translator(modname)
|
||||
|
||||
assert(loadfile(modpath .. "/api.lua"))(S, modname)
|
||||
assert(loadfile(modpath .. "/candy.lua"))()
|
|
@ -0,0 +1,2 @@
|
|||
# textdomain: foodz
|
||||
Cherry Cake=Tarta de cereza
|
After Width: | Height: | Size: 523 B |
After Width: | Height: | Size: 537 B |
After Width: | Height: | Size: 692 B |
After Width: | Height: | Size: 578 B |
After Width: | Height: | Size: 550 B |
|
@ -191,8 +191,8 @@ function kitz.register_mob(name, def)
|
|||
self:set_var("tamed", nil)
|
||||
end,
|
||||
|
||||
roam = function(self, pos, vel)
|
||||
return kitz.roam(self, pos, vel)
|
||||
roam = function(self, pos, vel, dtime)
|
||||
return kitz.roam(self, pos, vel, dtime)
|
||||
end,
|
||||
|
||||
set_owner = function(self, owner)
|
||||
|
@ -253,7 +253,7 @@ function kitz.is_near_2d(p1, p2, threshold)
|
|||
end
|
||||
end
|
||||
|
||||
function kitz.roam(self, pos, vel)
|
||||
function kitz.roam(self, pos, vel, dtime)
|
||||
if self.path then
|
||||
local dist = kitz.distance_2d(pos, self.path[1])
|
||||
if kitz.is_near_2d(pos, self.path[1], 0.0625) or
|
||||
|
@ -270,7 +270,13 @@ function kitz.roam(self, pos, vel)
|
|||
pos.z + math.random(-1, 1)
|
||||
)
|
||||
if helper.node_is_air(new_pos, "under") then
|
||||
vel = vector.subtract(new_pos, pos)
|
||||
local dir = vector.subtract(new_pos, pos)
|
||||
local frame = 0.07
|
||||
vel = {
|
||||
x = math.round(dir.x * (1 - math.sin(frame*0.7, 1)), 4),
|
||||
y = vel.y,
|
||||
z = math.round(dir.z * (1 - math.sin(frame*0.7, 1)), 4)
|
||||
}
|
||||
self:create_path()
|
||||
self.distance_2d = kitz.distance_2d(pos, new_pos)
|
||||
self.path[#self.path+1] = new_pos
|
||||
|
@ -340,7 +346,7 @@ function kitz.step(self, dtime)
|
|||
status = self:set_status("roam")
|
||||
end
|
||||
if status == "roam" then
|
||||
new_vel = self:roam(pos, vel)
|
||||
new_vel = self:roam(pos, vel, dtime)
|
||||
--minetest.chat_send_all(tostring(new_vel))
|
||||
elseif status == "jump" then
|
||||
--status = self:set_status("roam")
|
||||
|
@ -352,7 +358,7 @@ function kitz.step(self, dtime)
|
|||
self.object:set_velocity(new_vel)
|
||||
self.object:set_yaw(minetest.dir_to_yaw(new_vel))
|
||||
else
|
||||
--self.object:set_velocity(vel)
|
||||
self.object:set_velocity(vel)
|
||||
end
|
||||
if status == "roam" then
|
||||
self.object:set_acceleration({x=0, y= gravity, z=0})
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
local S, farmz_mod = ...
|
||||
|
||||
local dirt_grass_time = 1200
|
||||
|
||||
local function remove_plow(pos)
|
||||
if helper.in_group(pos, "plow") or helper.in_group(pos, "plant") then
|
||||
minetest.swap_node(pos, {name="air"})
|
||||
|
@ -18,8 +20,22 @@ minetest.register_node("nodez:dirt", {
|
|||
tiles = {"nodez_dirt.png"},
|
||||
groups = {crumbly=3, dirt=1, soil=1},
|
||||
sounds = sound.dirt(),
|
||||
|
||||
on_destruct = function(pos)
|
||||
destroy_plow(pos)
|
||||
end,
|
||||
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
if node then
|
||||
node.param2 = 1
|
||||
end
|
||||
minetest.get_node_timer(pos):start(dirt_grass_time)
|
||||
end,
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
minetest.swap_node(pos, {name = "nodez:dirt_with_grass"})
|
||||
return false
|
||||
end
|
||||
})
|
||||
|
||||
|
|
|
@ -4,7 +4,8 @@ local S = ...
|
|||
|
||||
minetest.register_craftitem("nodez:iron_ingot", {
|
||||
description = S("Iron Ingot"),
|
||||
inventory_image = "nodez_iron_ingot.png"
|
||||
inventory_image = "nodez_iron_ingot.png",
|
||||
groups = {ore = 1}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
|
|
|
@ -49,3 +49,10 @@ minetest.register_craftitem("nodez:silex", {
|
|||
groups = {silex=1, ore=1},
|
||||
inventory_image = "nodez_silex.png"
|
||||
})
|
||||
|
||||
minetest.register_node("nodez:marble", {
|
||||
description = S("Marble"),
|
||||
tiles ={"nodez_marble.png"},
|
||||
groups = {cracky=3, stone=1, build=1},
|
||||
sounds = sound.stone(),
|
||||
})
|
||||
|
|
After Width: | Height: | Size: 646 B |
After Width: | Height: | Size: 651 B |
Before Width: | Height: | Size: 547 B After Width: | Height: | Size: 546 B |
|
@ -1,4 +1,4 @@
|
|||
wikiz = {}
|
||||
wwikiz = {}
|
||||
|
||||
local modname = minetest.get_current_modname()
|
||||
local S = minetest.get_translator(modname)
|
||||
|
@ -61,13 +61,21 @@ local function create_inv_cube(tiles)
|
|||
return inv_cube
|
||||
end
|
||||
|
||||
local recipes_cache = {}
|
||||
|
||||
local function render_recipes(item_name, recipe_no)
|
||||
local render = ""
|
||||
local row = 0
|
||||
local col = 0
|
||||
local row_offset = 6
|
||||
local col_offset = 3
|
||||
local recipes = minetest.get_all_craft_recipes(item_name)
|
||||
local recipes
|
||||
if recipes_cache[item_name] then
|
||||
recipes = recipes_cache[item_name]
|
||||
else
|
||||
recipes = minetest.get_all_craft_recipes(item_name)
|
||||
recipes_cache[item_name] = recipes
|
||||
end
|
||||
if recipes then
|
||||
local recipe = recipes[recipe_no]
|
||||
local items = recipe.items
|
||||
|
@ -118,8 +126,8 @@ local function render_recipes(item_name, recipe_no)
|
|||
render = render .."image["..tostring(col+col_offset+3)..","..tostring(row+row_offset+0.5)..";1,1;"..output_img
|
||||
.."]"
|
||||
else
|
||||
render = render .."label["..tostring(col+col_offset+3)..","..tostring(row+row_offset+0.75)..";"..item_name
|
||||
.."]"
|
||||
render = render .."label["..tostring(col+col_offset+3)..","..tostring(row+row_offset+0.75)..";"
|
||||
..craft_items[item_name].description.."]"
|
||||
end
|
||||
if output_no then
|
||||
render = render .."label["..tostring(col+col_offset+3+0.25)..","..tostring(row+row_offset+0.5+1)
|
||||
|
@ -215,6 +223,8 @@ local function get_crafts(group)
|
|||
return crafts
|
||||
end
|
||||
|
||||
local crafts_cache = {}
|
||||
|
||||
sfinv.register_page("wiki", {
|
||||
title = S("Wiki"),
|
||||
get = function(self, player, context)
|
||||
|
@ -262,7 +272,12 @@ sfinv.register_page("wiki", {
|
|||
_context.group = group
|
||||
_context.craft_page = 1
|
||||
end
|
||||
local crafts = get_crafts(group)
|
||||
local crafts
|
||||
if crafts_cache[group] then
|
||||
crafts = crafts_cache[group]
|
||||
else
|
||||
crafts = get_crafts(group)
|
||||
end
|
||||
if crafts then
|
||||
_context.crafts = render_crafts(crafts, _context.craft_page)
|
||||
end
|
||||
|
|