Update Fork #9

Merged
chmodsayshello merged 403 commits from MineClone5/MineClone5:master into master 2022-08-02 15:50:37 +02:00
4 changed files with 129 additions and 86 deletions
Showing only changes of commit 05fdda96ad - Show all commits

View File

@ -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:blaze_rod", "mcl:blazeRod")
mcl_item_entity.register_pickup_achievement("mcl_mobitems:leather", "mcl:killCow") 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: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) local function check_pickup_achievements(object, player)
if has_awards then if has_awards then

View File

@ -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. -- Item pickup achievements: These are awarded when picking up a certain item.
-- The achivements are manually given in the mod mcl_item_entity. -- The achivements are manually given in the mod mcl_item_entity.
awards.register_achievement("mcl:diamonds", { awards.register_achievement("mcl:diamonds", {
@ -125,6 +137,24 @@ awards.register_achievement("mcl:mineWood", {
icon = "default_tree.png", 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 -- Smelting achivements: These are awarded when picking up an item from a furnace
-- output. They are given in mcl_furnaces. -- output. They are given in mcl_furnaces.
awards.register_achievement("mcl:acquireIron", { awards.register_achievement("mcl:acquireIron", {
@ -163,6 +193,12 @@ awards.register_achievement("mcl:buildNetherPortal", {
icon = "default_obsidian.png", 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.) -- NON-PC ACHIEVEMENTS (XBox, Pocket Edition, etc.)
if non_pc_achievements then if non_pc_achievements then

View File

@ -5,14 +5,14 @@
minetest.register_node("mcl_beds:respawn_anchor",{ minetest.register_node("mcl_beds:respawn_anchor",{
description="respawn anchor", description="Respawn Anchor",
tiles = { tiles = {
"respawn_anchor_top_off.png", "respawn_anchor_top_off.png",
"respawn_anchor_bottom.png", "respawn_anchor_bottom.png",
"respawn_anchor_side0.png" "respawn_anchor_side0.png"
}, },
drawtype = "nodebox", drawtype = "nodebox",
node_box= { --Reused the composter nodebox, since it is basicly the same node_box= { --Reused the composter nodebox, since it is basicly the same
type = "fixed", type = "fixed",
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
@ -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 {-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) on_rightclick = function(pos, node, player, itemstack)
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_1"}) minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_1"})
itemstack:take_item() itemstack:take_item()
else else
if pos.y < -29077 or pos.y > -28933 then if pos.y < -29077 or pos.y > -28933 then
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true}) mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
end end
end end
end, end,
groups = {pickaxey=1, material_stone=1}, groups = {pickaxey=1, material_stone=1},
_mcl_hardness = 22.5 _mcl_hardness = 22.5
}) })
minetest.register_node("mcl_beds:respawn_anchor_charged_1",{ minetest.register_node("mcl_beds:respawn_anchor_charged_1",{
description="respawn anchor", description="Respawn Anchor",
tiles = { tiles = {
"portal.png", "portal.png",
"respawn_anchor_bottom.png", "respawn_anchor_bottom.png",
"respawn_anchor_side1.png" "respawn_anchor_side1.png"
}, },
drawtype = "nodebox", drawtype = "nodebox",
node_box= { --Reused the composter nodebox, since it is basicly the same node_box= { --Reused the composter nodebox, since it is basicly the same
type = "fixed", type = "fixed",
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
@ -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 {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Bottom level
} }
}, },
on_rightclick = function(pos, node, player, itemstack) on_rightclick = function(pos, node, player, itemstack)
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_2"}) minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_2"})
itemstack:take_item() itemstack:take_item()
else else
if pos.y < -29077 or pos.y > -28933 then if pos.y < -29077 or pos.y > -28933 then
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true}) mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
else else
mcl_spawn.set_spawn_pos(player, pos, nil) mcl_spawn.set_spawn_pos(player, pos, nil)
end end
end end
end, end,
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1}, groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
_mcl_hardness = 22.5 _mcl_hardness = 22.5
}) })
minetest.register_node("mcl_beds:respawn_anchor_charged_2",{ minetest.register_node("mcl_beds:respawn_anchor_charged_2",{
description="respawn anchor", description="Respawn Anchor",
tiles = { tiles = {
"portal.png", "portal.png",
"respawn_anchor_bottom.png", "respawn_anchor_bottom.png",
"respawn_anchor_side2.png" "respawn_anchor_side2.png"
}, },
drawtype = "nodebox", drawtype = "nodebox",
node_box= { --Reused the composter nodebox, since it is basicly the same node_box= { --Reused the composter nodebox, since it is basicly the same
type = "fixed", type = "fixed",
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
@ -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 {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Bottom level
} }
}, },
on_rightclick = function(pos, node, player, itemstack) on_rightclick = function(pos, node, player, itemstack)
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_3"}) minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_3"})
itemstack:take_item() itemstack:take_item()
else else
if pos.y < -29077 or pos.y > -28933 then if pos.y < -29077 or pos.y > -28933 then
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true}) mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
else else
mcl_spawn.set_spawn_pos(player, pos, nil) mcl_spawn.set_spawn_pos(player, pos, nil)
end end
end end
end, end,
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1}, groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
_mcl_hardness = 22.5 _mcl_hardness = 22.5
}) })
minetest.register_node("mcl_beds:respawn_anchor_charged_3",{ minetest.register_node("mcl_beds:respawn_anchor_charged_3",{
description="respawn anchor", description="Respawn Anchor",
tiles = { tiles = {
"portal.png", "portal.png",
"respawn_anchor_bottom.png", "respawn_anchor_bottom.png",
"respawn_anchor_side3.png" "respawn_anchor_side3.png"
}, },
drawtype = "nodebox", drawtype = "nodebox",
node_box= { --Reused the composter nodebox, since it is basicly the same node_box= { --Reused the composter nodebox, since it is basicly the same
type = "fixed", type = "fixed",
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
@ -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 {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Bottom level
} }
}, },
on_rightclick = function(pos, node, player, itemstack) on_rightclick = function(pos, node, player, itemstack)
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_4"}) minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_4"})
itemstack:take_item() itemstack:take_item()
else else
if pos.y < -29077 or pos.y > -28933 then if pos.y < -29077 or pos.y > -28933 then
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true}) mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
else else
mcl_spawn.set_spawn_pos(player, pos, nil) mcl_spawn.set_spawn_pos(player, pos, nil)
end end
end end
end, end,
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1}, groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
_mcl_hardness = 22.5 _mcl_hardness = 22.5
}) })
minetest.register_node("mcl_beds:respawn_anchor_charged_4",{ minetest.register_node("mcl_beds:respawn_anchor_charged_4",{
description="respawn anchor", description="Respawn Anchor",
tiles = { tiles = {
"portal.png", "portal.png",
"respawn_anchor_bottom.png", "respawn_anchor_bottom.png",
"respawn_anchor_side4.png" "respawn_anchor_side4.png"
}, },
drawtype = "nodebox", drawtype = "nodebox",
node_box= { --Reused the composter nodebox, since it is basicly the same node_box= { --Reused the composter nodebox, since it is basicly the same
type = "fixed", type = "fixed",
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.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.375, 0.375, 0.5, 0.5}, -- Back wall
{-0.375, -0.5, -0.5, 0.375, 0.5, -0.375}, -- Front 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 {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Bottom level
} }
}, },
on_rightclick = function(pos, node, player, itemstack) on_rightclick = function(pos, node, player, itemstack)
if pos.y < -29077 or pos.y > -28933 then if pos.y < -29077 or pos.y > -28933 then
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true}) mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
else else
mcl_spawn.set_spawn_pos(player, pos, nil) mcl_spawn.set_spawn_pos(player, pos, nil)
end awards.unlock(player:get_player_name(), "mcl:notQuiteNineLives")
end, end
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1}, end,
_mcl_hardness = 22.5 groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
_mcl_hardness = 22.5
}) })
minetest.register_craft({ output = "mcl_beds:respawn_anchor", minetest.register_craft({ output = "mcl_beds:respawn_anchor",
recipe = { {"mcl_core:crying_obsidian", "mcl_core:crying_obsidian", "mcl_core:crying_obsidian"}, recipe = {
{"mcl_nether:glowstone", "mcl_nether:glowstone", "mcl_nether:glowstone"}, {"mcl_core:crying_obsidian", "mcl_core:crying_obsidian", "mcl_core:crying_obsidian"},
{"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"}
}
})

View File

@ -235,6 +235,7 @@ function mcl_portals.end_portal_teleport(pos, node)
end end
mcl_portals.end_teleport(obj, objpos) mcl_portals.end_teleport(obj, objpos)
awards.unlock(obj:get_player_name(), "mcl:enterEndPortal")
end end
end end