mirror of
https://github.com/FaceDeer/dfcaverns.git
synced 2025-01-24 17:20:19 +01:00
icons for farming achievements
This commit is contained in:
parent
4a7215f7a7
commit
1541ea713f
@ -1,31 +1,42 @@
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
local nethercap_name = df_dependencies.nethercap_name
|
||||
|
||||
local hoe_texture = df_dependencies.texture_tool_steelhoe
|
||||
local soil_texture = df_dependencies.texture_farming_soil
|
||||
local ice_texture = df_dependencies.texture_ice
|
||||
local coal_ore = "(".. df_dependencies.texture_stone .."^".. df_dependencies.texture_mineral_coal ..")"
|
||||
|
||||
local make_texture = function(plant_texture, bg_tex)
|
||||
bg_tex = bg_tex or soil_texture
|
||||
plant_texture = plant_texture or "dfcaverns_black_cap_sapling.png"
|
||||
return "dfcaverns_awards_backgroundx32.png^[combine:32x32:3,4="..bg_tex.."^[combine:32x32:3,2="..plant_texture.."^[combine:32x32:14,13="..hoe_texture.."^dfcaverns_awards_foregroundx32.png"
|
||||
end
|
||||
|
||||
-- forestry
|
||||
|
||||
local plant_node_achievements =
|
||||
{
|
||||
["df_trees:black_cap_sapling"] = {achievement="dfcaverns_plant_black_cap", title=S("Plant Black Cap"), desc=S(""), icon=""},
|
||||
["df_trees:fungiwood_sapling"] = {achievement="dfcaverns_plant_fungiwood", title=S("Plant Fungiwood"), desc=S(""), icon=""},
|
||||
["df_trees:goblin_cap_sapling"] = {achievement="dfcaverns_plant_goblin_cap", title=S("Plant Goblin Cap"), desc=S(""), icon=""},
|
||||
["df_trees:nether_cap_sapling"] = {achievement="dfcaverns_plant_nethercap", title=S("Plant @1", nethercap_name), desc=S(""), icon=""},
|
||||
["df_trees:spore_tree_sapling"] = {achievement="dfcaverns_plant_spore_tree", title=S("Plant Spore Tree"), desc=S(""), icon=""},
|
||||
["df_trees:tower_cap_sapling"] = {achievement="dfcaverns_plant_tower_cap", title=S("Plant Tower Cap"), desc=S(""), icon=""},
|
||||
["df_trees:tunnel_tube_sapling"] = {achievement="dfcaverns_plant_tunnel_tube", title=S("Plant Tunnel Tube"), desc=S(""), icon=""},
|
||||
["df_trees:torchspine_ember"] = {achievement="dfcaverns_plant_torchspine", title=S("Plant Torchspine"), desc=S(""), icon=""},
|
||||
["df_trees:spindlestem_seedling"] = {achievement="dfcaverns_plant_spindlestem", title=S("Plant Spindlestem"), desc=S(""), icon=""},
|
||||
["df_trees:blood_thorn"] = {achievement="dfcaverns_plant_bloodthorn", title=S("Plant Bloodthorn"), desc=S(""), icon=""},
|
||||
["df_primordial_items:giant_hypha_apical_meristem"] = {achievement="dfcaverns_plant_giant_mycelium", title=S("Plant Primordial Mycelium"), desc=S(""), icon=""},
|
||||
["df_primordial_items:fern_sapling"] = {achievement="dfcaverns_plant_primordial_fern", title=S("Plant Primordial Fern"), desc=S(""), icon=""},
|
||||
["df_primordial_items:jungle_mushroom_sapling"] = {achievement="dfcaverns_plant_primordial_jungle_mushroom", title=S("Plant Primordial Jungle Mushroom"), desc=S(""), icon=""},
|
||||
["df_primordial_items:jungletree_sapling"] = {achievement="dfcaverns_plant_primordial_jungletree", title=S("Plant Primordial Jungle Tree"), desc=S(""), icon=""},
|
||||
["df_primordial_items:mush_sapling"] = {achievement="dfcaverns_plant_primordial_mushroom", title=S("Plant Primordial Mushroom"), desc=S(""), icon=""},
|
||||
["df_farming:cave_wheat_seed"] = {achievement="dfcaverns_plant_cave_wheat", title=S("Plant Cave Wheat"), desc=S(""), icon=""},
|
||||
["df_farming:dimple_cup_seed"] = {achievement="dfcaverns_plant_dimple_cup", title=S("Plant Dimple Cup"), desc=S(""), icon=""},
|
||||
["df_farming:pig_tail_seed"] = {achievement="dfcaverns_plant_pig_tail", title=S("Plant Pig Tail"), desc=S(""), icon=""},
|
||||
["df_farming:plump_helmet_spawn"] = {achievement="dfcaverns_plant_plump_helmet", title=S("Plant Plump Helmet"), desc=S(""), icon=""},
|
||||
["df_farming:quarry_bush_seed"] = {achievement="dfcaverns_plant_quarry_bush", title=S("Plant Quarry Bush"), desc=S(""), icon=""},
|
||||
["df_farming:sweet_pod_seed"] = {achievement="dfcaverns_plant_sweet_pod", title=S("Plant Sweet Pod"), desc=S(""), icon=""},
|
||||
["df_trees:black_cap_sapling"] = {achievement="dfcaverns_plant_black_cap", title=S("Plant Black Cap"), desc=S(""), icon=make_texture("dfcaverns_black_cap_sapling.png", coal_ore)},
|
||||
["df_trees:fungiwood_sapling"] = {achievement="dfcaverns_plant_fungiwood", title=S("Plant Fungiwood"), desc=S(""), icon=make_texture("dfcaverns_fungiwood_sapling.png")},
|
||||
["df_trees:goblin_cap_sapling"] = {achievement="dfcaverns_plant_goblin_cap", title=S("Plant Goblin Cap"), desc=S(""), icon=make_texture("dfcaverns_goblin_cap_sapling.png")},
|
||||
["df_trees:nether_cap_sapling"] = {achievement="dfcaverns_plant_nethercap", title=S("Plant @1", nethercap_name), desc=S(""), icon=make_texture("dfcaverns_nether_cap_sapling.png", ice_texture)},
|
||||
["df_trees:spore_tree_sapling"] = {achievement="dfcaverns_plant_spore_tree", title=S("Plant Spore Tree"), desc=S(""), icon=make_texture("dfcaverns_spore_tree_sapling.png")},
|
||||
["df_trees:tower_cap_sapling"] = {achievement="dfcaverns_plant_tower_cap", title=S("Plant Tower Cap"), desc=S(""), icon=make_texture("dfcaverns_tower_cap_sapling.png")},
|
||||
["df_trees:tunnel_tube_sapling"] = {achievement="dfcaverns_plant_tunnel_tube", title=S("Plant Tunnel Tube"), desc=S(""), icon=make_texture("dfcaverns_tunnel_tube_sapling.png")},
|
||||
["df_trees:torchspine_ember"] = {achievement="dfcaverns_plant_torchspine", title=S("Plant Torchspine"), desc=S(""), icon=make_texture("dfcaverns_torchspine_achievement.png")},
|
||||
["df_trees:spindlestem_seedling"] = {achievement="dfcaverns_plant_spindlestem", title=S("Plant Spindlestem"), desc=S(""), icon=make_texture("dfcaverns_spindlestem_achievement.png")},
|
||||
["df_trees:blood_thorn"] = {achievement="dfcaverns_plant_bloodthorn", title=S("Plant Bloodthorn"), desc=S(""), icon=make_texture("dfcaverns_bloodthorn_achievement.png")},
|
||||
["df_primordial_items:giant_hypha_apical_meristem"] = {achievement="dfcaverns_plant_giant_mycelium", title=S("Plant Primordial Mycelium"), desc=S(""), icon=make_texture("dfcaverns_mush_soil.png")},
|
||||
["df_primordial_items:fern_sapling"] = {achievement="dfcaverns_plant_primordial_fern", title=S("Plant Primordial Fern"), desc=S(""), icon=make_texture("dfcaverns_jungle_fern_03.png")},
|
||||
["df_primordial_items:jungle_mushroom_sapling"] = {achievement="dfcaverns_plant_primordial_jungle_mushroom", title=S("Plant Primordial Jungle Mushroom"), desc=S(""), icon=make_texture("dfcaverns_jungle_mushroom_02.png")},
|
||||
["df_primordial_items:jungletree_sapling"] = {achievement="dfcaverns_plant_primordial_jungletree", title=S("Plant Primordial Jungle Tree"), desc=S(""), icon=make_texture("dfcaverns_jungle_sapling.png")},
|
||||
["df_primordial_items:mush_sapling"] = {achievement="dfcaverns_plant_primordial_mushroom", title=S("Plant Primordial Mushroom"), desc=S(""), icon=make_texture("dfcaverns_mush_sapling.png")},
|
||||
["df_farming:cave_wheat_seed"] = {achievement="dfcaverns_plant_cave_wheat", title=S("Plant Cave Wheat"), desc=S(""), icon=make_texture("dfcaverns_cave_wheat_8.png")},
|
||||
["df_farming:dimple_cup_seed"] = {achievement="dfcaverns_plant_dimple_cup", title=S("Plant Dimple Cup"), desc=S(""), icon=make_texture("dfcaverns_dimple_cup_4.png")},
|
||||
["df_farming:pig_tail_seed"] = {achievement="dfcaverns_plant_pig_tail", title=S("Plant Pig Tail"), desc=S(""), icon=make_texture("dfcaverns_pig_tail_8.png")},
|
||||
["df_farming:plump_helmet_spawn"] = {achievement="dfcaverns_plant_plump_helmet", title=S("Plant Plump Helmet"), desc=S(""), icon=make_texture("dfcaverns_plump_helmet_achievement.png")},
|
||||
["df_farming:quarry_bush_seed"] = {achievement="dfcaverns_plant_quarry_bush", title=S("Plant Quarry Bush"), desc=S(""), icon=make_texture("dfcaverns_quarry_bush_5.png")},
|
||||
["df_farming:sweet_pod_seed"] = {achievement="dfcaverns_plant_sweet_pod", title=S("Plant Sweet Pod"), desc=S(""), icon=make_texture("dfcaverns_sweet_pod_6.png")},
|
||||
}
|
||||
|
||||
minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack, pointed_thing)
|
||||
@ -74,7 +85,7 @@ for _, def in pairs(plant_node_achievements) do
|
||||
awards.register_achievement(def.achievement, {
|
||||
title = def.title,
|
||||
description = def.desc,
|
||||
--icon = def.icon,
|
||||
icon = def.icon,
|
||||
})
|
||||
end
|
||||
|
||||
|
@ -12,7 +12,7 @@ for itemname, def in pairs(minetest.registered_items) do
|
||||
awards.register_achievement("dfcaverns_meal_"..meal_name, {
|
||||
title = S("Eat @1", meal_desc),
|
||||
description = S("One of the many delights that can be crafted only from fungal growths found deep underground."),
|
||||
icon = image,
|
||||
icon = "dfcaverns_awards_backgroundx32.png^" .. image .. "^dfcaverns_awards_foregroundx32.png",
|
||||
trigger = {
|
||||
type = "eat",
|
||||
item = itemname,
|
||||
@ -45,7 +45,7 @@ if minetest.get_modpath("df_primordial_items") then
|
||||
awards.register_achievement("dfcaverns_primordial_fruit", {
|
||||
title = S("Eat a Primordial Fruit"),
|
||||
description = S(""),
|
||||
--icon =,
|
||||
icon ="dfcaverns_awards_backgroundx32.png^dfcaverns_primordial_fruit.png^dfcaverns_awards_foregroundx32.png",
|
||||
trigger = {
|
||||
type = "eat",
|
||||
item = "df_primordial_items:primordial_fruit",
|
||||
@ -56,7 +56,7 @@ if minetest.get_modpath("df_primordial_items") then
|
||||
awards.register_achievement("dfcaverns_glowtato", {
|
||||
title = S("Eat a Glowtato"),
|
||||
description = S(""),
|
||||
--icon =,
|
||||
icon ="dfcaverns_awards_backgroundx32.png^dfcaverns_glowtato.png^dfcaverns_awards_foregroundx32.png",
|
||||
trigger = {
|
||||
type = "eat",
|
||||
item = "df_primordial_items:glowtato",
|
||||
|
@ -1,3 +1,11 @@
|
||||
if not minetest.get_modpath("awards") then
|
||||
minetest.log("warning", "[df_achievements] the df_achievements mod was installed but the [awards] mod was not."
|
||||
.. " df_achievements depends on awards, but it is listed as an optional dependency so that installing the"
|
||||
.. " dfcaverns modpack won't automatically enable it. If you want df_achievements to function please"
|
||||
.. " install awards as well, otherwise you should disable df_achievements.")
|
||||
return
|
||||
end
|
||||
|
||||
df_achievements = {}
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
@ -1,4 +1,4 @@
|
||||
name=df_achievements
|
||||
description=Achievements for DFCaverns
|
||||
depends=awards, df_caverns, df_trees, df_farming, df_mapitems, df_dependencies, pit_caves
|
||||
optional_depends=df_underworld_items, hunter_statue
|
||||
depends=df_caverns, df_trees, df_farming, df_mapitems, df_dependencies, pit_caves
|
||||
optional_depends=df_underworld_items, hunter_statue, awards
|
BIN
df_achievements/textures/dfcaverns_awards_backgroundx32.png
Normal file
BIN
df_achievements/textures/dfcaverns_awards_backgroundx32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 83 B |
BIN
df_achievements/textures/dfcaverns_awards_foregroundx32.png
Normal file
BIN
df_achievements/textures/dfcaverns_awards_foregroundx32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 117 B |
BIN
df_achievements/textures/dfcaverns_bloodthorn_achievement.png
Normal file
BIN
df_achievements/textures/dfcaverns_bloodthorn_achievement.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 637 B |
BIN
df_achievements/textures/dfcaverns_plump_helmet_achievement.png
Normal file
BIN
df_achievements/textures/dfcaverns_plump_helmet_achievement.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 409 B |
BIN
df_achievements/textures/dfcaverns_spindlestem_achievement.png
Normal file
BIN
df_achievements/textures/dfcaverns_spindlestem_achievement.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 478 B |
BIN
df_achievements/textures/dfcaverns_torchspine_achievement.png
Normal file
BIN
df_achievements/textures/dfcaverns_torchspine_achievement.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 333 B |
@ -47,6 +47,8 @@ df_dependencies.texture_mineral_coal = select_required({default="default_mineral
|
||||
df_dependencies.texture_glass_bottle = select_required({vessels="vessels_glass_bottle.png", mcl_potions="mcl_potions_potion_bottle.png"})
|
||||
df_dependencies.texture_meselamp = "dfcaverns_glow_mese.png"
|
||||
|
||||
df_dependencies.texture_tool_steelhoe = select_required({default="farming_tool_steelhoe.png", mcl_farming="farming_tool_steelhoe.png"})
|
||||
df_dependencies.texture_farming_soil = select_required({default="(default_dirt.png^farming_soil.png)", mcl_farming="mcl_farming_farmland_dry.png"})
|
||||
|
||||
df_dependencies.nethercap_name = S("Nethercap")
|
||||
if minetest.get_modpath("mcl_mapgen_core") then
|
||||
|
@ -9,6 +9,15 @@ local looped_node_sound_modpath = minetest.get_modpath("looped_node_sound")
|
||||
local x_disp = 0.125
|
||||
local z_disp = 0.125
|
||||
|
||||
local function copy_pointed_thing(pointed_thing)
|
||||
return {
|
||||
type = pointed_thing.type,
|
||||
above = pointed_thing.above and vector.copy(pointed_thing.above),
|
||||
under = pointed_thing.under and vector.copy(pointed_thing.under),
|
||||
ref = pointed_thing.ref,
|
||||
}
|
||||
end
|
||||
|
||||
local stal_on_place = function(itemstack, placer, pointed_thing)
|
||||
local pt = pointed_thing
|
||||
-- check if pointing at a node
|
||||
@ -45,8 +54,24 @@ local stal_on_place = function(itemstack, placer, pointed_thing)
|
||||
end
|
||||
|
||||
-- add the node and remove 1 item from the itemstack
|
||||
local newnode= {name = itemstack:get_name(), param2 = new_param2, param1=0}
|
||||
local oldnode= minetest.get_node(pt.above)
|
||||
minetest.add_node(pt.above, {name = itemstack:get_name(), param2 = new_param2})
|
||||
if not minetest.settings:get_bool("creative_mode", false) then
|
||||
|
||||
-- Run script hook
|
||||
local take_item = true
|
||||
for _, callback in ipairs(core.registered_on_placenodes) do
|
||||
-- Deepcopy pos, node and pointed_thing because callback can modify them
|
||||
local place_to_copy = vector.copy(pt.above)
|
||||
local newnode_copy = {name=newnode.name, param1=newnode.param1, param2=newnode.param2}
|
||||
local oldnode_copy = {name=oldnode.name, param1=oldnode.param1, param2=oldnode.param2}
|
||||
local pointed_thing_copy = copy_pointed_thing(pointed_thing)
|
||||
if callback(place_to_copy, newnode_copy, placer, oldnode_copy, itemstack, pointed_thing_copy) then
|
||||
take_item = false
|
||||
end
|
||||
end
|
||||
|
||||
if (not minetest.settings:get_bool("creative_mode", false)) and take_item then
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
|
Loading…
Reference in New Issue
Block a user