diff --git a/crafting.lua b/crafting.lua index a1bd386..bdd8db0 100644 --- a/crafting.lua +++ b/crafting.lua @@ -124,6 +124,12 @@ minetest.register_craft({ } }) +minetest.register_craft({ + type = 'shapeless', + output = 'survival:salt 9', + recipe = {'survival:salt_lump'} +}) + minetest.register_craft({ type = 'cooking', output = 'survival:slug_cooked', diff --git a/craftitem.lua b/craftitem.lua index 54b7629..7398e08 100644 --- a/craftitem.lua +++ b/craftitem.lua @@ -9,3 +9,12 @@ minetest.register_craftitem('survival:bucket_sap', { stack_max = 1, }) +minetest.register_craftitem('survival:salt_lump', { + description = 'chunk of salt', + inventory_image = 'survival_salt_lump.png' +}) + +minetest.register_craftitem('survival:salt', { + description = 'salt', + inventory_image = 'survival_salt.png' +}) diff --git a/depends.txt b/depends.txt index d782b89..072f3ec 100644 --- a/depends.txt +++ b/depends.txt @@ -2,4 +2,4 @@ farming default wool beds -thirsty? +thirsty diff --git a/foods.lua b/foods.lua index 1f153cc..2636d1d 100644 --- a/foods.lua +++ b/foods.lua @@ -1,37 +1,31 @@ -minetest.register_craftitem('survival:energy_bar', { - description = 'energy bar', - inventory_image = 'survival_energy_bar.png', - on_use = minetest.item_eat(10) - --should add some thirst. -}) - minetest.register_craftitem('survival:slug_raw', { description = 'slug', inventory_image = 'survival_slug_raw.png', - on_use = function(pos, player) + on_use = function(player) local hp_gain = math.random(-4,1) local hp = player:get_hp() player:set_hp(hp + hp_gain) end }) -local food_table = { --craft, desc, invimg, health -{'slug_cooked', 'cooked slug', 'slug_cooked', .25}, -{'cricket_raw', 'cricket', 'cricket_raw', .25}, -{'cricket_cooked', 'cooked cricket', 'cricket_cooked', .125}, -{'worm_raw', 'worm', 'worm_raw', .25}, -{'worm_cooked', 'cooked worm', 'worm_cooked', .125}, -{'centipede_raw', 'centipede', 'centipede_raw', .25}, -{'centipede_cooked', 'cooked centipede', 'centipede_cooked', .25}, -{'milipede_raw', 'milipede', 'milipede_raw', -4}, -{'milipede_cooked', 'cooked milipede', 'milipede_cooked', -3}, -{'oyster_raw', 'raw oyster', 'oyster_raw', .5}, -{'oyster_cooked', 'cooked oyster', 'oyster_cooked', .6}, -{'mussel_raw', 'raw mussel', 'mussel_raw', -.7}, -{'mussel_cooked', 'cooked mussel', 'mussel_cooked', .6}, -{'sugar', 'sugar', 'sugar', .1}, -{'raw_kabob', 'uncooked seafood kabob', 'raw_kabob', 1}, -{'cooked_kabob', 'seafood kabob', 'cooked_kabob', 2.5} +local food_table = { --craft, desc, invimg, health, hydration +{'slug_cooked', 'cooked slug', 'slug_cooked', .25, .1}, +{'cricket_raw', 'cricket', 'cricket_raw', .25, .1}, +{'cricket_cooked', 'cooked cricket', 'cricket_cooked', .125, .125}, +{'worm_raw', 'worm', 'worm_raw', .25, .2}, +{'worm_cooked', 'cooked worm', 'worm_cooked', .125, .1}, +{'centipede_raw', 'centipede', 'centipede_raw', .25, .15}, +{'centipede_cooked', 'cooked centipede', 'centipede_cooked', .25, .1}, +{'milipede_raw', 'milipede', 'milipede_raw', -4, .1}, +{'milipede_cooked', 'cooked milipede', 'milipede_cooked', -3, 0}, +{'oyster_raw', 'raw oyster', 'oyster_raw', .5, .45}, +{'oyster_cooked', 'cooked oyster', 'oyster_cooked', .6, .35}, +{'mussel_raw', 'raw mussel', 'mussel_raw', -.7, .6}, +{'mussel_cooked', 'cooked mussel', 'mussel_cooked', .6, .35}, +{'sugar', 'sugar', 'sugar', .1, -1}, +{'raw_kabob', 'uncooked seafood kabob', 'raw_kabob', 1, 1.5}, +{'cooked_kabob', 'seafood kabob', 'cooked_kabob', 2.5, 1}, +{'energy_bar', 'energy bar', 'energy_bar', 10, -4} } for i in ipairs (food_table) do @@ -39,10 +33,15 @@ for i in ipairs (food_table) do local desc = food_table[i][2] local invimg = food_table[i][3] local health = food_table[i][4] + local hydration = food_table[i][5] minetest.register_craftitem('survival:'..craft, { description = desc, inventory_image = 'survival_'..invimg..'.png', - on_use = minetest.item_eat(health) + on_use = function(itemstack, user, pointed_thing) + thirsty.drink(user, hydration, 20) + local eat_func = minetest.item_eat(health) + return eat_func(itemstack, user, pointed_thing) + end, }) end diff --git a/init.lua b/init.lua index 6a5158e..691b917 100644 --- a/init.lua +++ b/init.lua @@ -6,3 +6,4 @@ dofile(minetest.get_modpath('survival')..'/foods.lua') dofile(minetest.get_modpath('survival')..'/abms.lua') dofile(minetest.get_modpath('survival')..'/craftitem.lua') dofile(minetest.get_modpath('survival')..'/functions.lua') +dofile(minetest.get_modpath('survival')..'/ores.lua') diff --git a/nodes.lua b/nodes.lua index f5c8cfb..ef7c4c2 100644 --- a/nodes.lua +++ b/nodes.lua @@ -172,7 +172,7 @@ minetest.register_node('survival:sleeping_bag', { }, collision_box = { type = 'fixed', - fixed = {-0.5, -0.5, -0.5, 0.5, -0.2, 1.5}, -- Right, Bottom, Back, Left, Top, Front + fixed = {-0.5, -0.5, -0.5, 0.5, -0.2, 1.5}, }, after_place_node = function(pos, placer, itemstack) local n = minetest.get_node_or_nil(pos) --get the location of the placed node @@ -305,7 +305,6 @@ minetest.register_node('survival:well_bottom', { local n2 = minetest.get_node_or_nil(b2) local n3 = minetest.get_node_or_nil(b3) local def = minetest.registered_items[n2.name] or nil - print (n1.name, n2.name) if not n1 and n2 or not def.buildable_to then --not really sure if this is the best code, but it works. minetest.remove_node(pos) return true @@ -344,8 +343,6 @@ minetest.register_node('survival:well_top', { local p2 = {x=pos.x, y=pos.y-2, z=pos.z} local n2 = minetest.get_node_or_nil(p) local n3 = minetest.get_node_or_nil(p2) - print (n2.name) - print (n3.name) if n3.name ~= 'air' or n2.name ~= 'survival:well_bottom' then minetest.remove_node(pos) return true @@ -418,3 +415,12 @@ minetest.register_node('survival:well_top', { end end, }) + +minetest.register_node('survival:stone_with_salt', { + description = 'Salt Ore', + tiles = {'default_stone.png^survival_salt_ore.png'}, + is_ground_content = true, + groups = {cracky=3}, + drop = 'survival:salt_lump', + sounds = default.node_sound_stone_defaults(), +}) diff --git a/ores.lua b/ores.lua new file mode 100644 index 0000000..bd33852 --- /dev/null +++ b/ores.lua @@ -0,0 +1,9 @@ +minetest.register_ore({ + ore_type = 'sheet', + ore = 'survival:stone_with_salt', + wherein = 'default:stone', + clust_size = 6, + height_min = -3100, + height_max = 200, + noise_params = {offset=0, scale=7, spread={x=250, y=250, z=250}, seed=23, octaves=6, persist=0.70} +}) diff --git a/textures/survival_salt.png b/textures/survival_salt.png new file mode 100644 index 0000000..2cc73b7 Binary files /dev/null and b/textures/survival_salt.png differ diff --git a/textures/survival_salt_lump.png b/textures/survival_salt_lump.png new file mode 100644 index 0000000..e0e8986 Binary files /dev/null and b/textures/survival_salt_lump.png differ diff --git a/textures/survival_salt_ore.png b/textures/survival_salt_ore.png new file mode 100644 index 0000000..01b6f1f Binary files /dev/null and b/textures/survival_salt_ore.png differ diff --git a/tools.lua b/tools.lua index 0cc2325..8615c7e 100644 --- a/tools.lua +++ b/tools.lua @@ -10,7 +10,7 @@ minetest.register_tool('survival:machete_wood', { choppy = {times = {[2]=3.00, [3]=1.60}, uses=10, maxlevel=1}, --woody snappy = {times = {[2]=1.6, [3]=0.40}, uses=10, maxlevel=1}, }, - damage_groups = {fleshy=2}, --damage delt to mobs and other players? + damage_groups = {fleshy=2}, --damage dealt to mobs and other players? }, })