forked from MineClone5/MineClone5
Merge pull request 'Adds new advancements and minor detail changes' (#275) from PrairieAstronomer/MineClone5:pw_achievements into master
Reviewed-on: MineClone5/MineClone5#275
This commit is contained in:
commit
05fdda96ad
|
@ -65,6 +65,8 @@ mcl_item_entity.register_pickup_achievement("tree", "mcl:mineWood")
|
|||
mcl_item_entity.register_pickup_achievement("mcl_mobitems:blaze_rod", "mcl:blazeRod")
|
||||
mcl_item_entity.register_pickup_achievement("mcl_mobitems:leather", "mcl:killCow")
|
||||
mcl_item_entity.register_pickup_achievement("mcl_core:diamond", "mcl:diamonds")
|
||||
mcl_item_entity.register_pickup_achievement("mcl_core:crying_obsidian", "mcl:whosCuttingOnions")
|
||||
mcl_item_entity.register_pickup_achievement("mcl_nether:ancient_debris", "mcl:hiddenInTheDepths")
|
||||
|
||||
local function check_pickup_achievements(object, player)
|
||||
if has_awards then
|
||||
|
|
|
@ -101,6 +101,18 @@ awards.register_achievement("mcl:bookcase", {
|
|||
}
|
||||
})
|
||||
|
||||
awards.register_achievement("mcl:buildIronPickaxe", {
|
||||
title = S("Isn't It Iron Pick"),
|
||||
-- TODO: This achievement should support all non-wood pickaxes
|
||||
description = S("Craft a iron pickaxe using sticks and iron."),
|
||||
icon = "default_tool_steelpick.png",
|
||||
trigger = {
|
||||
type = "craft",
|
||||
item = "mcl_tools:pick_iron",
|
||||
target = 1
|
||||
}
|
||||
})
|
||||
|
||||
-- Item pickup achievements: These are awarded when picking up a certain item.
|
||||
-- The achivements are manually given in the mod mcl_item_entity.
|
||||
awards.register_achievement("mcl:diamonds", {
|
||||
|
@ -125,6 +137,24 @@ awards.register_achievement("mcl:mineWood", {
|
|||
icon = "default_tree.png",
|
||||
})
|
||||
|
||||
awards.register_achievement("mcl:whosCuttingOnions", {
|
||||
title = S("Who is Cutting Onions?"),
|
||||
description = S("Pick up a crying obsidian from the floor."),
|
||||
icon = "default_obsidian.png^mcl_core_crying_obsidian.png",
|
||||
})
|
||||
|
||||
awards.register_achievement("mcl:hiddenInTheDepths", {
|
||||
title = S("Hidden in the Depths"),
|
||||
description = S("Pick up an Ancient Debris from the floor."),
|
||||
icon = "mcl_nether_ancient_debris_side.png",
|
||||
})
|
||||
|
||||
awards.register_achievement("mcl:notQuiteNineLives", {
|
||||
title = S('Not Quite "Nine" Lives'),
|
||||
description = S("Charge a Respawn Anchor to the maximum."),
|
||||
icon = "respawn_anchor_side4.png",
|
||||
})
|
||||
|
||||
-- Smelting achivements: These are awarded when picking up an item from a furnace
|
||||
-- output. They are given in mcl_furnaces.
|
||||
awards.register_achievement("mcl:acquireIron", {
|
||||
|
@ -163,6 +193,12 @@ awards.register_achievement("mcl:buildNetherPortal", {
|
|||
icon = "default_obsidian.png",
|
||||
})
|
||||
|
||||
awards.register_achievement("mcl:enterEndPortal", {
|
||||
title = S("The End?"),
|
||||
description = S("Or the beginning?\nHint: Enter an end portal."),
|
||||
icon = "mcl_end_end_stone.png",
|
||||
})
|
||||
|
||||
-- NON-PC ACHIEVEMENTS (XBox, Pocket Edition, etc.)
|
||||
|
||||
if non_pc_achievements then
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
|
||||
minetest.register_node("mcl_beds:respawn_anchor",{
|
||||
description="respawn anchor",
|
||||
tiles = {
|
||||
description="Respawn Anchor",
|
||||
tiles = {
|
||||
"respawn_anchor_top_off.png",
|
||||
"respawn_anchor_bottom.png",
|
||||
"respawn_anchor_side0.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||||
drawtype = "nodebox",
|
||||
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, -- Left wall
|
||||
|
@ -22,28 +22,28 @@ minetest.register_node("mcl_beds:respawn_anchor",{
|
|||
{-0.5, -0.5, -0.5, 0.5, -0.47, 0.5}, -- Bottom level, -0.47 because -0.5 is so low that you can see the texture of the block below through
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, player, itemstack)
|
||||
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
|
||||
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_1"})
|
||||
itemstack:take_item()
|
||||
else
|
||||
if pos.y < -29077 or pos.y > -28933 then
|
||||
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||||
end
|
||||
end
|
||||
on_rightclick = function(pos, node, player, itemstack)
|
||||
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
|
||||
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_1"})
|
||||
itemstack:take_item()
|
||||
else
|
||||
if pos.y < -29077 or pos.y > -28933 then
|
||||
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||||
end
|
||||
end
|
||||
end,
|
||||
groups = {pickaxey=1, material_stone=1},
|
||||
_mcl_hardness = 22.5
|
||||
groups = {pickaxey=1, material_stone=1},
|
||||
_mcl_hardness = 22.5
|
||||
})
|
||||
minetest.register_node("mcl_beds:respawn_anchor_charged_1",{
|
||||
description="respawn anchor",
|
||||
tiles = {
|
||||
description="Respawn Anchor",
|
||||
tiles = {
|
||||
"portal.png",
|
||||
"respawn_anchor_bottom.png",
|
||||
"respawn_anchor_side1.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||||
drawtype = "nodebox",
|
||||
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, -- Left wall
|
||||
|
@ -53,31 +53,31 @@ minetest.register_node("mcl_beds:respawn_anchor_charged_1",{
|
|||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Bottom level
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, player, itemstack)
|
||||
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
|
||||
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_2"})
|
||||
itemstack:take_item()
|
||||
else
|
||||
if pos.y < -29077 or pos.y > -28933 then
|
||||
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||||
else
|
||||
mcl_spawn.set_spawn_pos(player, pos, nil)
|
||||
end
|
||||
end
|
||||
end,
|
||||
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
|
||||
_mcl_hardness = 22.5
|
||||
on_rightclick = function(pos, node, player, itemstack)
|
||||
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
|
||||
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_2"})
|
||||
itemstack:take_item()
|
||||
else
|
||||
if pos.y < -29077 or pos.y > -28933 then
|
||||
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||||
else
|
||||
mcl_spawn.set_spawn_pos(player, pos, nil)
|
||||
end
|
||||
end
|
||||
end,
|
||||
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
|
||||
_mcl_hardness = 22.5
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_beds:respawn_anchor_charged_2",{
|
||||
description="respawn anchor",
|
||||
tiles = {
|
||||
description="Respawn Anchor",
|
||||
tiles = {
|
||||
"portal.png",
|
||||
"respawn_anchor_bottom.png",
|
||||
"respawn_anchor_side2.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||||
drawtype = "nodebox",
|
||||
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, -- Left wall
|
||||
|
@ -87,31 +87,31 @@ minetest.register_node("mcl_beds:respawn_anchor_charged_2",{
|
|||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Bottom level
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, player, itemstack)
|
||||
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
|
||||
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_3"})
|
||||
itemstack:take_item()
|
||||
else
|
||||
if pos.y < -29077 or pos.y > -28933 then
|
||||
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||||
else
|
||||
mcl_spawn.set_spawn_pos(player, pos, nil)
|
||||
end
|
||||
end
|
||||
end,
|
||||
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
|
||||
_mcl_hardness = 22.5
|
||||
on_rightclick = function(pos, node, player, itemstack)
|
||||
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
|
||||
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_3"})
|
||||
itemstack:take_item()
|
||||
else
|
||||
if pos.y < -29077 or pos.y > -28933 then
|
||||
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||||
else
|
||||
mcl_spawn.set_spawn_pos(player, pos, nil)
|
||||
end
|
||||
end
|
||||
end,
|
||||
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
|
||||
_mcl_hardness = 22.5
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_beds:respawn_anchor_charged_3",{
|
||||
description="respawn anchor",
|
||||
tiles = {
|
||||
description="Respawn Anchor",
|
||||
tiles = {
|
||||
"portal.png",
|
||||
"respawn_anchor_bottom.png",
|
||||
"respawn_anchor_side3.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||||
drawtype = "nodebox",
|
||||
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, -- Left wall
|
||||
|
@ -121,52 +121,56 @@ minetest.register_node("mcl_beds:respawn_anchor_charged_3",{
|
|||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Bottom level
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, player, itemstack)
|
||||
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
|
||||
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_4"})
|
||||
itemstack:take_item()
|
||||
else
|
||||
if pos.y < -29077 or pos.y > -28933 then
|
||||
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||||
else
|
||||
mcl_spawn.set_spawn_pos(player, pos, nil)
|
||||
end
|
||||
end
|
||||
end,
|
||||
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
|
||||
_mcl_hardness = 22.5
|
||||
on_rightclick = function(pos, node, player, itemstack)
|
||||
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
|
||||
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_4"})
|
||||
itemstack:take_item()
|
||||
else
|
||||
if pos.y < -29077 or pos.y > -28933 then
|
||||
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||||
else
|
||||
mcl_spawn.set_spawn_pos(player, pos, nil)
|
||||
end
|
||||
end
|
||||
end,
|
||||
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
|
||||
_mcl_hardness = 22.5
|
||||
})
|
||||
|
||||
minetest.register_node("mcl_beds:respawn_anchor_charged_4",{
|
||||
description="respawn anchor",
|
||||
tiles = {
|
||||
description="Respawn Anchor",
|
||||
tiles = {
|
||||
"portal.png",
|
||||
"respawn_anchor_bottom.png",
|
||||
"respawn_anchor_side4.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||||
drawtype = "nodebox",
|
||||
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, -- Left wall
|
||||
{-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, -- Left wall
|
||||
{ 0.375, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Right wall
|
||||
{-0.375, -0.5, 0.375, 0.375, 0.5, 0.5}, -- Back wall
|
||||
{-0.375, -0.5, -0.5, 0.375, 0.5, -0.375}, -- Front wall
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Bottom level
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, player, itemstack)
|
||||
if pos.y < -29077 or pos.y > -28933 then
|
||||
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||||
else
|
||||
mcl_spawn.set_spawn_pos(player, pos, nil)
|
||||
end
|
||||
end,
|
||||
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
|
||||
_mcl_hardness = 22.5
|
||||
on_rightclick = function(pos, node, player, itemstack)
|
||||
if pos.y < -29077 or pos.y > -28933 then
|
||||
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||||
else
|
||||
mcl_spawn.set_spawn_pos(player, pos, nil)
|
||||
awards.unlock(player:get_player_name(), "mcl:notQuiteNineLives")
|
||||
end
|
||||
end,
|
||||
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
|
||||
_mcl_hardness = 22.5
|
||||
})
|
||||
|
||||
minetest.register_craft({ output = "mcl_beds:respawn_anchor",
|
||||
recipe = { {"mcl_core:crying_obsidian", "mcl_core:crying_obsidian", "mcl_core:crying_obsidian"},
|
||||
{"mcl_nether:glowstone", "mcl_nether:glowstone", "mcl_nether:glowstone"},
|
||||
{"mcl_core:crying_obsidian", "mcl_core:crying_obsidian", "mcl_core:crying_obsidian"} } })
|
||||
recipe = {
|
||||
{"mcl_core:crying_obsidian", "mcl_core:crying_obsidian", "mcl_core:crying_obsidian"},
|
||||
{"mcl_nether:glowstone", "mcl_nether:glowstone", "mcl_nether:glowstone"},
|
||||
{"mcl_core:crying_obsidian", "mcl_core:crying_obsidian", "mcl_core:crying_obsidian"}
|
||||
}
|
||||
})
|
||||
|
|
|
@ -235,6 +235,7 @@ function mcl_portals.end_portal_teleport(pos, node)
|
|||
end
|
||||
|
||||
mcl_portals.end_teleport(obj, objpos)
|
||||
awards.unlock(obj:get_player_name(), "mcl:enterEndPortal")
|
||||
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue