Make the liquid recipes work without functions.

This commit is contained in:
Duane 2016-07-07 04:52:36 -05:00
parent d820a49197
commit d18e98bfa2
6 changed files with 48 additions and 91 deletions

View file

@ -91,37 +91,23 @@ if fun_caves.elixir_armor then
end,
})
for _, solvent in pairs({'mobs_slimes:green_slimeball', 'fun_caves:bucket_sap'}) do
minetest.register_craft({
type = "shapeless",
output = 'fun_caves:liquid_'..name,
recipe = {
solvent,
'mobs_slimes:green_slimeball',
desc[3],
"vessels:glass_bottle",
},
})
end
end
minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
local name = itemstack:get_name()
if not (name and name:find('^fun_caves:liquid_')) then
return
end
local bucket
local index
for i = 1, player:get_inventory():get_size("craft") do
if (old_craft_grid[i]:get_name()):find('^fun_caves:bucket') then
bucket = old_craft_grid[i]
index = i
minetest.register_craft({
type = "shapeless",
output = 'fun_caves:liquid_'..name,
recipe = {
'fun_caves:syrup',
desc[3],
},
})
end
end
if not bucket then
return
end
craft_inv:set_stack("craft", index, 'bucket:bucket_empty')
end)
end

View file

@ -156,64 +156,12 @@ minetest.register_craft({
'group:water_bucket',
'group:bowl',
},
replacements = {
{'bucket:bucket_water', 'bucket:bucket_water'},
{'bucket:bucket_river_water', 'bucket:bucket_river_water'},
},
})
-- complicated function to keep from wasting water...
--minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
-- if itemstack:get_name() ~= "fun_caves:disgusting_gruel_raw" then
-- return
-- end
--
-- local bucket
-- local index
-- for i = 1, player:get_inventory():get_size("craft") do
-- if (old_craft_grid[i]:get_name()):find('^bucket') then
-- bucket = old_craft_grid[i]
-- index = i
-- end
-- end
-- if not bucket then
-- return
-- end
--
-- local data = minetest.deserialize(bucket:get_metadata())
-- if not data then
-- data = {}
-- end
-- if not data.gruels then
-- data.gruels = 20
-- end
-- data.gruels = data.gruels - 1
-- if data.gruels > 0 then
-- bucket:set_metadata(minetest.serialize(data))
-- craft_inv:set_stack("craft", index, bucket)
-- else
-- craft_inv:set_stack("craft", index, 'bucket:bucket_empty')
-- end
--end)
-- less complicated function to keep from wasting water...
-- Just return the bucket and don't worry about it.
minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
if itemstack:get_name() ~= "fun_caves:disgusting_gruel_raw" then
return
end
local bucket
local index
for i = 1, player:get_inventory():get_size("craft") do
if (old_craft_grid[i]:get_name()):find('^bucket') then
bucket = old_craft_grid[i]
index = i
end
end
if not bucket then
return
end
craft_inv:set_stack("craft", index, bucket)
end)
minetest.register_craftitem("fun_caves:wooden_bowl", {
description = "Wooden Bowl",
drawtype = "plantlike",

View file

@ -388,7 +388,7 @@ if minetest.registered_entities["mobs:bee"] then
drops = {
{name = "mobs:honey", chance = 2, min = 1, max = 2},
},
water_damage = 1,
water_damage = 0,
lava_damage = 5,
light_damage = 0,
fall_damage = 0,

View file

@ -72,7 +72,8 @@ local function floor(pos, blocks, node_name, user)
end
local nodes = {{'fun_caves:pyramid_1', 'default:sandstone'},}
-- Bombs
local nodes = {{'fun_caves:pyramid_1', 'default:sandstone'}, {'fun_caves:tree', 'fun_caves:tree'},}
for _, node in pairs(nodes) do
local node_name = node[1]
local comp = node[2] or node_name
@ -104,7 +105,8 @@ for _, node in pairs(nodes) do
end
local nodes = {{'default:sandstone', 'default:sandstone'},}
-- Floor bombs
local nodes = {{'default:sandstone', 'default:sandstone'}, {'default:wood', 'default:wood'},}
for _, node in pairs(nodes) do
local node_name = node[1]
local comp = node[2] or node_name

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

View file

@ -150,6 +150,20 @@ bucket.register_liquid(
{}
)
minetest.register_node("fun_caves:amber", {
description = "Amber",
drawtype = "glasslike",
paramtype = "light",
sunlight_propagates = true,
tiles = {"fun_caves_amber.png"},
inventory_image = minetest.inventorycube("fun_caves_amber.png"),
light_source = 1,
use_texture_alpha = true,
is_ground_content = false,
groups = {cracky = 3, level=2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("fun_caves:syrup", {
description = "Syrup",
drawtype = "plantlike",
@ -257,6 +271,13 @@ minetest.register_craft({
replacements = {{'fun_caves:bucket_sap', 'bucket:bucket_empty'},},
})
minetest.register_craft({
type = "cooking",
output = "fun_caves:amber",
recipe = "fun_caves:bucket_sap",
replacements = {{'fun_caves:bucket_sap', 'bucket:bucket_empty'},},
})
--minetest.register_craft( {
-- output = "vessels:glass_bottle 10",