updated furnace and added some things to farming mod

This commit is contained in:
cale 2016-01-12 18:41:55 +01:00
parent 93a3f94f47
commit c3b26a9b55
12 changed files with 224 additions and 28 deletions

1
mods/farming/depends.txt Normal file
View File

@ -0,0 +1 @@
default

View File

@ -0,0 +1 @@
default

View File

@ -44,7 +44,69 @@ farming.register_plant("wheat", 5, {
drop_texture = "farming_wheat_seeds.png",
})
minetest.override_item("default:plant_grass", {drop = {
max_items = 1,
items = {
{items = {'farming:wheat_seeds'},rarity = 5},
{items = {'default:plant_grass'}},
}
}})
minetest.register_craftitem("farming:flour", {
description = "Flour",
inventory_image = "farming_flour.png",
})
minetest.register_craftitem("farming:sugar", {
description = "Sugar",
inventory_image = "farming_sugar.png",
})
minetest.register_craftitem("farming:bowl", {
description = "Bowl",
inventory_image = "farming_bowl.png",
stack_max = 1,
liquids_pointable = true,
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.above then
if minetest.get_node(pointed_thing.under).name == "default:water_source" then
itemstack:replace("farming:bowl_with_water")
end
end
return itemstack
end,
})
minetest.register_craftitem("farming:bowl_with_water", {
description = "Bowl with Water",
inventory_image = "farming_bowl_with_water.png",
stack_max = 1,
})
minetest.register_craftitem("farming:slice_of_bread", {
description = "Slice of Bread",
inventory_image = "farming_slice_of_bread.png",
on_use = minetest.item_eat(5),
})
minetest.register_craft({
type = "shapeless",
output = "farming:flour",
recipe = {"farming:wheat_seeds", "farming:wheat_seeds", "farming:wheat_seeds"}
})
minetest.register_craft({
output = "farming:bowl",
recipe = {
{"default:wood", "", "default:wood"},
{"", "default:wood", ""},
}
})
minetest.register_craft({
type = "shapeless",
output = "farming:slice_of_bread 10",
recipe = {"farming:flour", "farming:flour", "farming:bowl_with_water"}
})

View File

@ -44,7 +44,69 @@ farming.register_plant("wheat", 5, {
drop_texture = "farming_wheat_seeds.png",
})
minetest.override_item("default:plant_grass", {drop = {
max_items = 1,
items = {
{items = {'farming:wheat_seeds'},rarity = 5},
{items = {'default:plant_grass'}},
}
}})
minetest.register_craftitem("farming:flour", {
description = "Flour",
inventory_image = "farming_flour.png",
})
minetest.register_craftitem("farming:sugar", {
description = "Sugar",
inventory_image = "farming_sugar.png",
})
minetest.register_craftitem("farming:bowl", {
description = "Bowl",
inventory_image = "farming_bowl.png",
stack_max = 1,
liquids_pointable = true,
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.above then
if minetest.get_node(pointed_thing.under).name == "default:water_source" then
itemstack:replace("farming:bowl_with_water")
end
end
return itemstack
end,
})
minetest.register_craftitem("farming:bowl_with_water", {
description = "Bowl with Water",
inventory_image = "farming_bowl_with_water.png",
stack_max = 1,
})
minetest.register_craftitem("farming:slice_of_bread", {
description = "Slice of Bread",
inventory_image = "farming_slice_of_bread.png",
on_use = minetest.item_eat(5),
})
minetest.register_craft({
type = "shapeless",
output = "farming:flour",
recipe = {"farming:wheat_seeds", "farming:wheat_seeds", "farming:wheat_seeds"}
})
minetest.register_craft({
output = "farming:bowl",
recipe = {
{"default:wood", "", "default:wood"},
{"", "default:wood", ""},
}
})
minetest.register_craft({
type = "shapeless",
output = "farming:slice_of_bread 10",
recipe = {"farming:flour", "farming:flour", "farming:bowl_with_water"}
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

1
mods/furnace/depends.txt Normal file
View File

@ -0,0 +1 @@
default

View File

@ -0,0 +1 @@
default

View File

@ -1,41 +1,75 @@
local furnace_form = "size[8,9]"
local furnace_form = furnace_form..default.gui_colors
local furnace_form = furnace_form..default.gui_bg
local furnace_form = furnace_form.."list[current_name;main;2,0.3;4,4;]"
local furnace_form = furnace_form..default.itemslot_bg(2,0.3,4,4)
local furnace_form = furnace_form.."list[current_player;main;0,4.85;8,1;]"
local furnace_form = furnace_form..default.itemslot_bg(0,4.85,8,1)
local furnace_form = furnace_form.."list[current_player;main;0,6.08;8,3;8]"
local furnace_form = furnace_form..default.itemslot_bg(0,6,8,3)
minetest.register_node("furnace:furnace", {
description = "Furnace",
tiles = {"furnace_stone_tile.png", "furnace_stone_tile.png", "furnace_stone_tile.png", "furnace_stone_tile.png","furnace_stone_tile.png","furnace_stone_front.png"},
groups = {cracky = 2},
paramtype2 = "facedir",
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec",furnace_form)
meta:set_string("infotext", "Furnace");
local inv = meta:get_inventory()
inv:set_size("main", 4*4)
end,
})
minetest.register_abm({
nodenames = {"furnace:furnace"},
neighbors = {"group:pattern"},
interval = 1.0,
interval = 10.0,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local lavapos = pos
lavapos.y = lavapos.y - 2
if minetest.get_node(lavapos).name == "lava:lava_source" then
local patternpos = pos
patternpos.y = patternpos.y + 1
local p = {
x = pos.x + math.random(0, 5)/5 - 0.5,
y = pos.y + 3,
z = pos.z + math.random(0, 5)/5 - 0.5
}
local mymeta = minetest.get_meta(pos)
pos.y = pos.y - 1
if minetest.get_node(pos).name == "lava:lava_source" then
local dir = vector.multiply(minetest.facedir_to_dir(minetest.get_node({x = pos.x, y= pos.y+1, z=pos.z}).param2), -1)
local patternpos = vector.add(pos, dir)
local pattern = minetest.get_node(patternpos).name
if pattern == "furnace:pattern_rod" then
minetest.add_item(p, {name = "furnace:iron_rod"})
print("rod")
local myinv = mymeta:get_inventory()
if myinv:contains_item("main", {name = "default:iron_lump"}) then
minetest.get_meta(patternpos):get_inventory():add_item("main", {name = "furnace:iron_rod"})
myinv:remove_item("main", {name = "default:iron_lump"})
elseif myinv:contains_item("main", {name = "default:gold_lump"}) then
minetest.get_meta(patternpos):get_inventory():add_item("main", {name = "furnace:gold_rod"})
myinv:remove_item("main", {name = "default:gold_lump"})
end
end
end
end,
})
local pattern_form = "size[8,9]"
local pattern_form = pattern_form..default.gui_colors
local pattern_form = pattern_form..default.gui_bg
local pattern_form = pattern_form.."list[current_name;main;0,0.3;8,4;]"
local pattern_form = pattern_form..default.itemslot_bg(0,0.3,8,4)
local pattern_form = pattern_form.."list[current_player;main;0,4.85;8,1;]"
local pattern_form = pattern_form..default.itemslot_bg(0,4.85,8,1)
local pattern_form = pattern_form.."list[current_player;main;0,6.08;8,3;8]"
local pattern_form = pattern_form..default.itemslot_bg(0,6,8,3)
minetest.register_node("furnace:pattern_rod", {
description = "Pattern for a Rod",
tiles = {"furnace_pattern_rod.png", "default_wooden_planks.png"},
groups = {snappy = 3, pattern = 1},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec",pattern_form)
meta:set_string("infotext", "Pattern");
local inv = meta:get_inventory()
inv:set_size("main", 8*4)
end,
})

View File

@ -1,41 +1,75 @@
local furnace_form = "size[8,9]"
local furnace_form = furnace_form..default.gui_colors
local furnace_form = furnace_form..default.gui_bg
local furnace_form = furnace_form.."list[current_name;main;2,0.3;4,4;]"
local furnace_form = furnace_form..default.itemslot_bg(2,0.3,4,4)
local furnace_form = furnace_form.."list[current_player;main;0,4.85;8,1;]"
local furnace_form = furnace_form..default.itemslot_bg(0,4.85,8,1)
local furnace_form = furnace_form.."list[current_player;main;0,6.08;8,3;8]"
local furnace_form = furnace_form..default.itemslot_bg(0,6,8,3)
minetest.register_node("furnace:furnace", {
description = "Furnace",
tiles = {"furnace_stone_tile.png", "furnace_stone_tile.png", "furnace_stone_tile.png", "furnace_stone_tile.png","furnace_stone_tile.png","furnace_stone_front.png"},
groups = {cracky = 2},
paramtype2 = "facedir",
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec",furnace_form)
meta:set_string("infotext", "Furnace");
local inv = meta:get_inventory()
inv:set_size("main", 4*4)
end,
})
minetest.register_abm({
nodenames = {"furnace:furnace"},
neighbors = {"group:pattern"},
interval = 1.0,
interval = 10.0,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local lavapos = pos
lavapos.y = lavapos.y - 2
if minetest.get_node(lavapos).name == "lava:lava_source" then
local patternpos = pos
patternpos.y = patternpos.y + 1
local p = {
x = pos.x + math.random(0, 5)/5 - 0.5,
y = pos.y + 3,
z = pos.z + math.random(0, 5)/5 - 0.5
}
local mymeta = minetest.get_meta(pos)
pos.y = pos.y - 1
if minetest.get_node(pos).name == "lava:lava_source" then
local dir = vector.multiply(minetest.facedir_to_dir(minetest.get_node({x = pos.x, y= pos.y+1, z=pos.z}).param2), -1)
local patternpos = vector.add(pos, dir)
local pattern = minetest.get_node(patternpos).name
if pattern == "furnace:pattern_rod" then
minetest.add_item(p, {name = "furnace:iron_rod"})
print("rod")
local myinv = mymeta:get_inventory()
if myinv:contains_item("main", {name = "default:iron_lump"}) then
minetest.get_meta(patternpos):get_inventory():add_item("main", {name = "furnace:iron_rod"})
myinv:remove_item("main", {name = "default:iron_lump"})
elseif myinv:contains_item("main", {name = "default:gold_lump"}) then
minetest.get_meta(patternpos):get_inventory():add_item("main", {name = "furnace:gold_rod"})
myinv:remove_item("main", {name = "default:gold_lump"})
end
end
end
end,
})
local pattern_form = "size[8,9]"
local pattern_form = pattern_form..default.gui_colors
local pattern_form = pattern_form..default.gui_bg
local pattern_form = pattern_form.."list[current_name;main;0,0.3;8,4;]"
local pattern_form = pattern_form..default.itemslot_bg(0,0.3,8,4)
local pattern_form = pattern_form.."list[current_player;main;0,4.85;8,1;]"
local pattern_form = pattern_form..default.itemslot_bg(0,4.85,8,1)
local pattern_form = pattern_form.."list[current_player;main;0,6.08;8,3;8]"
local pattern_form = pattern_form..default.itemslot_bg(0,6,8,3)
minetest.register_node("furnace:pattern_rod", {
description = "Pattern for a Rod",
tiles = {"furnace_pattern_rod.png", "default_wooden_planks.png"},
groups = {snappy = 3, pattern = 1},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec",pattern_form)
meta:set_string("infotext", "Pattern");
local inv = meta:get_inventory()
inv:set_size("main", 8*4)
end,
})