Added Types of Advancements (Advancements, Goals, and Challenges)

This commit is contained in:
PrairieWind 2022-10-03 16:55:26 -06:00 committed by cora
parent f9f74d2af7
commit 0a33c5b5df
3 changed files with 71 additions and 10 deletions

View file

@ -258,6 +258,10 @@ function awards.unlock(name, award)
if not custom_announce then if not custom_announce then
if awdef.secret then if awdef.secret then
custom_announce = S("Secret Advancement Made:") custom_announce = S("Secret Advancement Made:")
elseif awdef.type == "Goal" then
custom_announce = S("Goal Completed:")
elseif awdef.type == "Challenge" then
custom_announce = S("Challenge Completed:")
else else
custom_announce = S("Advancement Made:") custom_announce = S("Advancement Made:")
end end
@ -284,6 +288,10 @@ function awards.unlock(name, award)
local chat_announce local chat_announce
if awdef.secret == true then if awdef.secret == true then
chat_announce = S("Secret Advancement Made: @1") chat_announce = S("Secret Advancement Made: @1")
elseif awdef.type == "Goal" then
chat_announce = S("Goal Completed: @1")
elseif awdef.type == "Challenge" then
chat_announce = S("Challenge Completed: @1")
else else
chat_announce = S("Advancement Made: @1") chat_announce = S("Advancement Made: @1")
end end
@ -307,6 +315,10 @@ function awards.unlock(name, award)
local hud_announce local hud_announce
if awdef.secret == true then if awdef.secret == true then
hud_announce = S("Secret Advancement Made!") hud_announce = S("Secret Advancement Made!")
elseif awdef.type == "Goal" then
hud_announce = S("Goal Completed!")
elseif awdef.type == "Challenge" then
hud_announce = S("Challenge Completed!")
else else
hud_announce = S("Advancement Made!") hud_announce = S("Advancement Made!")
end end

View file

@ -62,3 +62,9 @@ Advancement “@1” does not exist.=
Mine a block: @1= Mine a block: @1=
Mine blocks: @1×@2= Mine blocks: @1×@2=
Awards are disabled, enable them first by using /awards enable!= Awards are disabled, enable them first by using /awards enable!=
Goal Completed:=
Goal Completed!=
Goal Completed: @1=
Challenge Completed:=
Challenge Completed!=
Challenge Completed: @1=

View file

@ -15,7 +15,8 @@ awards.register_achievement("mcl_buildWorkBench", {
type = "craft", type = "craft",
item = "mcl_crafting_table:crafting_table", item = "mcl_crafting_table:crafting_table",
target = 1 target = 1
} },
type = "Advancement",
}) })
awards.register_achievement("mcl:buildPickaxe", { awards.register_achievement("mcl:buildPickaxe", {
title = S("Time to Mine!"), title = S("Time to Mine!"),
@ -25,7 +26,8 @@ awards.register_achievement("mcl:buildPickaxe", {
type = "craft", type = "craft",
item = "mcl_tools:pick_wood", item = "mcl_tools:pick_wood",
target = 1 target = 1
} },
type = "Advancement",
}) })
awards.register_achievement("mcl:buildFurnace", { awards.register_achievement("mcl:buildFurnace", {
title = S("Hot Topic"), title = S("Hot Topic"),
@ -35,7 +37,8 @@ awards.register_achievement("mcl:buildFurnace", {
type = "craft", type = "craft",
item = "mcl_furnaces:furnace", item = "mcl_furnaces:furnace",
target = 1 target = 1
} },
type = "Advancement"
}) })
awards.register_achievement("mcl:buildHoe", { awards.register_achievement("mcl:buildHoe", {
title = S("Time to Farm!"), title = S("Time to Farm!"),
@ -45,7 +48,8 @@ awards.register_achievement("mcl:buildHoe", {
type = "craft", type = "craft",
item = "mcl_farming:hoe_wood", item = "mcl_farming:hoe_wood",
target = 1 target = 1
} },
type = "Advancement",
}) })
awards.register_achievement("mcl:makeBread", { awards.register_achievement("mcl:makeBread", {
title = S("Bake Bread"), title = S("Bake Bread"),
@ -55,7 +59,8 @@ awards.register_achievement("mcl:makeBread", {
type = "craft", type = "craft",
item = "mcl_farming:bread", item = "mcl_farming:bread",
target = 1 target = 1
} },
type = "Advancement",
}) })
awards.register_achievement("mcl:bakeCake", { awards.register_achievement("mcl:bakeCake", {
@ -66,7 +71,8 @@ awards.register_achievement("mcl:bakeCake", {
type = "craft", type = "craft",
item = "mcl_cake:cake", item = "mcl_cake:cake",
target = 1 target = 1
} },
type = "Advancement",
}) })
awards.register_achievement("mcl:buildBetterPickaxe", { awards.register_achievement("mcl:buildBetterPickaxe", {
title = S("Getting an Upgrade"), title = S("Getting an Upgrade"),
@ -77,7 +83,8 @@ awards.register_achievement("mcl:buildBetterPickaxe", {
type = "craft", type = "craft",
item = "mcl_tools:pick_stone", item = "mcl_tools:pick_stone",
target = 1 target = 1
} },
type = "Advancement",
}) })
awards.register_achievement("mcl:buildSword", { awards.register_achievement("mcl:buildSword", {
title = S("Time to Strike!"), title = S("Time to Strike!"),
@ -87,7 +94,8 @@ awards.register_achievement("mcl:buildSword", {
type = "craft", type = "craft",
item = "mcl_tools:sword_wood", item = "mcl_tools:sword_wood",
target = 1 target = 1
} },
type = "Advancement",
}) })
awards.register_achievement("mcl:bookcase", { awards.register_achievement("mcl:bookcase", {
@ -98,7 +106,8 @@ awards.register_achievement("mcl:bookcase", {
type = "craft", type = "craft",
item = "mcl_books:bookshelf", item = "mcl_books:bookshelf",
target = 1 target = 1
} },
type = "Advancement",
}) })
awards.register_achievement("mcl:buildIronPickaxe", { awards.register_achievement("mcl:buildIronPickaxe", {
@ -109,7 +118,8 @@ awards.register_achievement("mcl:buildIronPickaxe", {
type = "craft", type = "craft",
item = "mcl_tools:pick_iron", item = "mcl_tools:pick_iron",
target = 1 target = 1
} },
type = "Advancement",
}) })
-- Item pickup achievements: These are awarded when picking up a certain item. -- Item pickup achievements: These are awarded when picking up a certain item.
@ -118,46 +128,54 @@ awards.register_achievement("mcl:diamonds", {
title = S("DIAMONDS!"), title = S("DIAMONDS!"),
description = S("Pick up a diamond from the floor."), description = S("Pick up a diamond from the floor."),
icon = "mcl_core_diamond_ore.png", icon = "mcl_core_diamond_ore.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:blazeRod", { awards.register_achievement("mcl:blazeRod", {
title = S("Into Fire"), title = S("Into Fire"),
description = S("Pick up a blaze rod from the floor."), description = S("Pick up a blaze rod from the floor."),
icon = "mcl_mobitems_blaze_rod.png", icon = "mcl_mobitems_blaze_rod.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:killCow", { awards.register_achievement("mcl:killCow", {
title = S("Cow Tipper"), title = S("Cow Tipper"),
description = S("Pick up leather from the floor.\nHint: Cows and some other animals have a chance to drop leather, when killed."), description = S("Pick up leather from the floor.\nHint: Cows and some other animals have a chance to drop leather, when killed."),
icon = "mcl_mobitems_leather.png", icon = "mcl_mobitems_leather.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:mineWood", { awards.register_achievement("mcl:mineWood", {
title = S("Getting Wood"), title = S("Getting Wood"),
description = S("Pick up a wood item from the ground.\nHint: Punch a tree trunk until it pops out as an item."), description = S("Pick up a wood item from the ground.\nHint: Punch a tree trunk until it pops out as an item."),
icon = "default_tree.png", icon = "default_tree.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:whosCuttingOnions", { awards.register_achievement("mcl:whosCuttingOnions", {
title = S("Who is Cutting Onions?"), title = S("Who is Cutting Onions?"),
description = S("Pick up a crying obsidian from the floor."), description = S("Pick up a crying obsidian from the floor."),
icon = "default_obsidian.png^mcl_core_crying_obsidian.png", icon = "default_obsidian.png^mcl_core_crying_obsidian.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:hiddenInTheDepths", { awards.register_achievement("mcl:hiddenInTheDepths", {
title = S("Hidden in the Depths"), title = S("Hidden in the Depths"),
description = S("Pick up an Ancient Debris from the floor."), description = S("Pick up an Ancient Debris from the floor."),
icon = "mcl_nether_ancient_debris_side.png", icon = "mcl_nether_ancient_debris_side.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:PickUpDragonEgg", { awards.register_achievement("mcl:PickUpDragonEgg", {
title = S("The Next Generation"), title = S("The Next Generation"),
description = S("Hold the Dragon Egg.\nHint: Pick up the egg from the ground and have it in your inventory."), description = S("Hold the Dragon Egg.\nHint: Pick up the egg from the ground and have it in your inventory."),
icon = "mcl_end_dragon_egg.png", icon = "mcl_end_dragon_egg.png",
type = "Goal",
}) })
awards.register_achievement("mcl:skysTheLimit", { awards.register_achievement("mcl:skysTheLimit", {
title = S("Sky's the Limit"), title = S("Sky's the Limit"),
description = S("Find the elytra and prepare to fly above and beyond!"), description = S("Find the elytra and prepare to fly above and beyond!"),
icon = "mcl_armor_inv_elytra.png", icon = "mcl_armor_inv_elytra.png",
type = "Goal",
}) -- TODO: Make also unlock when moved to inventory, not just picking up from ground }) -- TODO: Make also unlock when moved to inventory, not just picking up from ground
-- 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
@ -166,11 +184,13 @@ awards.register_achievement("mcl:acquireIron", {
title = S("Aquire Hardware"), title = S("Aquire Hardware"),
description = S("Take an iron ingot from a furnace's output slot.\nHint: To smelt an iron ingot, put a fuel (like coal) and iron ore into a furnace."), description = S("Take an iron ingot from a furnace's output slot.\nHint: To smelt an iron ingot, put a fuel (like coal) and iron ore into a furnace."),
icon = "default_steel_ingot.png", icon = "default_steel_ingot.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:cookFish", { awards.register_achievement("mcl:cookFish", {
title = S("Delicious Fish"), title = S("Delicious Fish"),
description = S("Take a cooked fish from a furnace.\nHint: Use a fishing rod to catch a fish and cook it in a furnace."), description = S("Take a cooked fish from a furnace.\nHint: Use a fishing rod to catch a fish and cook it in a furnace."),
icon = "mcl_fishing_fish_cooked.png", icon = "mcl_fishing_fish_cooked.png",
type = "Advancement",
}) })
-- Other achievements triggered outside of mcl_achievements -- Other achievements triggered outside of mcl_achievements
@ -180,6 +200,7 @@ awards.register_achievement("mcl:onARail", {
title = S("On A Rail"), title = S("On A Rail"),
description = S("Travel by minecart for at least 1000 meters from your starting point in a single ride."), description = S("Travel by minecart for at least 1000 meters from your starting point in a single ride."),
icon = "default_rail.png", icon = "default_rail.png",
type = "Challenge",
}) })
-- Triggered in mcl_bows -- Triggered in mcl_bows
@ -189,6 +210,7 @@ awards.register_achievement("mcl:snipeSkeleton", {
-- TODO: The range should be 50, not 20. Nerfed because of reduced bow range -- TODO: The range should be 50, not 20. Nerfed because of reduced bow range
description = S("Hit a skeleton, wither skeleton or stray by bow and arrow from a distance of at least 20 meters."), description = S("Hit a skeleton, wither skeleton or stray by bow and arrow from a distance of at least 20 meters."),
icon = "mcl_bows_bow.png", icon = "mcl_bows_bow.png",
type = "Challenge",
}) })
-- Triggered in mcl_portals -- Triggered in mcl_portals
@ -196,18 +218,21 @@ awards.register_achievement("mcl:buildNetherPortal", {
title = S("We Need to Go Deeper"), title = S("We Need to Go Deeper"),
description = S("Use obsidian and a fire starter to construct a Nether portal."), description = S("Use obsidian and a fire starter to construct a Nether portal."),
icon = "mcl_fire_flint_and_steel.png", icon = "mcl_fire_flint_and_steel.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:enterEndPortal", { awards.register_achievement("mcl:enterEndPortal", {
title = S("The End?"), title = S("The End?"),
description = S("Or the beginning?\nHint: Enter an end portal."), description = S("Or the beginning?\nHint: Enter an end portal."),
icon = "mcl_end_end_stone.png", icon = "mcl_end_end_stone.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:theNether", { awards.register_achievement("mcl:theNether", {
title = S("The Nether"), title = S("The Nether"),
description = S("Bring summer clothes.\nHint: Enter the Nether."), description = S("Bring summer clothes.\nHint: Enter the Nether."),
icon = "mcl_nether_netherrack.png", icon = "mcl_nether_netherrack.png",
type = "Advancement",
}) })
-- Triggered in mcl_totems -- Triggered in mcl_totems
@ -215,6 +240,7 @@ awards.register_achievement("mcl:postMortal", {
title = S("Postmortal"), title = S("Postmortal"),
description = S("Use a Totem of Undying to cheat death."), description = S("Use a Totem of Undying to cheat death."),
icon = "mcl_totems_totem.png", icon = "mcl_totems_totem.png",
type = "Goal",
}) })
-- Triggered in mcl_beds -- Triggered in mcl_beds
@ -222,12 +248,14 @@ awards.register_achievement("mcl:sweetDreams", {
title = S("Sweet Dreams"), title = S("Sweet Dreams"),
description = S("Sleep in a bed to change your respawn point."), description = S("Sleep in a bed to change your respawn point."),
icon = "mcl_beds_bed_red_inv.png", icon = "mcl_beds_bed_red_inv.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:notQuiteNineLives", { awards.register_achievement("mcl:notQuiteNineLives", {
title = S('Not Quite "Nine" Lives'), title = S('Not Quite "Nine" Lives'),
description = S("Charge a Respawn Anchor to the maximum."), description = S("Charge a Respawn Anchor to the maximum."),
icon = "respawn_anchor_side4.png", icon = "respawn_anchor_side4.png",
type = "Advancement",
}) })
-- Triggered in mobs_mc -- Triggered in mobs_mc
@ -235,24 +263,28 @@ awards.register_achievement("mcl:whatAdeal", {
title = S("What A Deal!"), title = S("What A Deal!"),
description = S("Successfully trade with a Villager."), description = S("Successfully trade with a Villager."),
icon = "mcl_core_emerald.png", icon = "mcl_core_emerald.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:tacticalFishing", { awards.register_achievement("mcl:tacticalFishing", {
title = S("Tactical Fishing"), title = S("Tactical Fishing"),
description = S("Catch a fish... without a fishing rod!"), description = S("Catch a fish... without a fishing rod!"),
icon = "pufferfish_bucket.png", icon = "pufferfish_bucket.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:witheringHeights", { awards.register_achievement("mcl:witheringHeights", {
title = S("Withering Heights"), title = S("Withering Heights"),
description = S("Summon the wither from the dead."), description = S("Summon the wither from the dead."),
icon = "mcl_mobitems_nether_star.png", icon = "mcl_mobitems_nether_star.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:freeTheEnd", { awards.register_achievement("mcl:freeTheEnd", {
title = S("Free the End"), title = S("Free the End"),
description = S("Kill the ender dragon. Good Luck!"), description = S("Kill the ender dragon. Good Luck!"),
icon = "(spawn_egg.png^[multiply:#252525)^(spawn_egg_overlay.png^[multiply:#b313c9)", -- TODO: Dragon Head Icon icon = "(spawn_egg.png^[multiply:#252525)^(spawn_egg_overlay.png^[multiply:#b313c9)", -- TODO: Dragon Head Icon
type = "Advancement",
}) })
-- Triggered in mcl_fishing -- Triggered in mcl_fishing
@ -260,6 +292,7 @@ awards.register_achievement("mcl:fishyBusiness", {
title = S("Fishy Business"), title = S("Fishy Business"),
description = S("Catch a fish.\nHint: Catch a fish, salmon, clownfish, or pufferfish."), description = S("Catch a fish.\nHint: Catch a fish, salmon, clownfish, or pufferfish."),
icon = "mcl_fishing_fishing_rod.png", icon = "mcl_fishing_fishing_rod.png",
type = "Advancement",
}) })
-- Triggered in mcl_compass -- Triggered in mcl_compass
@ -267,6 +300,7 @@ awards.register_achievement("mcl:countryLode", {
title = S("Country Lode,\nTake Me Home"), title = S("Country Lode,\nTake Me Home"),
description = S("Use a compass on a Lodestone."), description = S("Use a compass on a Lodestone."),
icon = "lodestone_side4.png", icon = "lodestone_side4.png",
type = "Advancement",
}) })
-- Triggered in mcl_smithing_table -- Triggered in mcl_smithing_table
@ -274,6 +308,7 @@ awards.register_achievement("mcl:seriousDedication", {
title = S("Serious Dedication"), title = S("Serious Dedication"),
description = S("Use a Netherite Ingot to upgrade a hoe, and then completely reevaluate your life choices."), description = S("Use a Netherite Ingot to upgrade a hoe, and then completely reevaluate your life choices."),
icon = "farming_tool_netheritehoe.png", icon = "farming_tool_netheritehoe.png",
type = "Challenge",
}) })
-- Triggered in mcl_brewing -- Triggered in mcl_brewing
@ -281,6 +316,7 @@ awards.register_achievement("mcl:localBrewery", {
title = S("Local Brewery"), title = S("Local Brewery"),
description = S("Brew a Potion.\nHint: Take a potion or glass bottle out of the brewing stand."), description = S("Brew a Potion.\nHint: Take a potion or glass bottle out of the brewing stand."),
icon = "mcl_potions_potion_overlay.png^[colorize:#F82423:"..tostring(127).."^mcl_potions_potion_bottle.png", icon = "mcl_potions_potion_overlay.png^[colorize:#F82423:"..tostring(127).."^mcl_potions_potion_bottle.png",
type = "Advancement",
}) })
-- Triggered in mcl_enchanting -- Triggered in mcl_enchanting
@ -288,6 +324,7 @@ awards.register_achievement("mcl:enchanter", {
title = S("Enchanter"), title = S("Enchanter"),
description = S("Enchant an item using an Enchantment Table."), description = S("Enchant an item using an Enchantment Table."),
icon = "mcl_enchanting_book_enchanted.png", icon = "mcl_enchanting_book_enchanted.png",
type = "Advancement",
}) })
--Triggered in mcl_beacons --Triggered in mcl_beacons
@ -295,12 +332,14 @@ awards.register_achievement("mcl:beacon", {
title = S("Bring Home the Beacon"), title = S("Bring Home the Beacon"),
description = S("Use a beacon."), description = S("Use a beacon."),
icon = "beacon_achievement_icon.png", icon = "beacon_achievement_icon.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:maxed_beacon", { awards.register_achievement("mcl:maxed_beacon", {
title = S("Beaconator"), title = S("Beaconator"),
description = S("Use a fully powered beacon."), description = S("Use a fully powered beacon."),
icon = "beacon_achievement_icon.png", icon = "beacon_achievement_icon.png",
type = "Goal",
}) })
-- Triggered in mcl_end -- Triggered in mcl_end
@ -308,6 +347,7 @@ awards.register_achievement("mcl:theEndAgain", {
title = S("The End... Again..."), title = S("The End... Again..."),
description = S("Respawn the Ender Dragon."), description = S("Respawn the Ender Dragon."),
icon = "mcl_end_crystal_item.png", icon = "mcl_end_crystal_item.png",
type = "Goal",
}) })
-- NON-PC ACHIEVEMENTS (XBox, Pocket Edition, etc.) -- NON-PC ACHIEVEMENTS (XBox, Pocket Edition, etc.)
@ -391,14 +431,17 @@ awards.register_achievement("mcl:stoneAge", {
title = S("Stone Age"), title = S("Stone Age"),
description = S("Mine a stone with new pickaxe."), description = S("Mine a stone with new pickaxe."),
icon = "default_cobble.png", icon = "default_cobble.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:hotStuff", { awards.register_achievement("mcl:hotStuff", {
title = S("Hot Stuff"), title = S("Hot Stuff"),
description = S("Put lava in a bucket."), description = S("Put lava in a bucket."),
icon = "bucket_lava.png", icon = "bucket_lava.png",
type = "Advancement",
}) })
awards.register_achievement("mcl:obsidian", { awards.register_achievement("mcl:obsidian", {
title = S("Ice Bucket Challenge"), title = S("Ice Bucket Challenge"),
description = S("Obtain an obsidian block."), description = S("Obtain an obsidian block."),
icon = "default_obsidian.png", icon = "default_obsidian.png",
type = "Advancement",
}) })