diff --git a/mods/ENTITIES/mobs_mc/villager.lua b/mods/ENTITIES/mobs_mc/villager.lua index 423f6c392..f038fc751 100644 --- a/mods/ENTITIES/mobs_mc/villager.lua +++ b/mods/ENTITIES/mobs_mc/villager.lua @@ -712,6 +712,11 @@ local trade_inventory = { elseif listname == "output" then if not trader_exists(player:get_player_name()) then return 0 + -- Begin Award Code + -- May need to be moved if award gets unlocked in the wrong cases. + elseif trader_exists(player:get_player_name()) then + awards.unlock(player:get_player_name(), "mcl:whatAdeal") + -- End Award Code end -- Only allow taking full stack local count = stack:get_count() diff --git a/mods/HUD/mcl_achievements/init.lua b/mods/HUD/mcl_achievements/init.lua index b1c59fe54..7b3b2fc1c 100644 --- a/mods/HUD/mcl_achievements/init.lua +++ b/mods/HUD/mcl_achievements/init.lua @@ -199,6 +199,60 @@ awards.register_achievement("mcl:enterEndPortal", { icon = "mcl_end_end_stone.png", }) +-- Triggered in mcl_totems +awards.register_achievement("mcl:postMortal", { + title = S("Postmortal"), + description = S("Use a Totem of Undying to cheat death."), + icon = "mcl_totems_totem.png", +}) + +-- Triggered in mcl_beds +awards.register_achievement("mcl:sweetDreams", { + title = S("Sweet Dreams"), + description = S("Sleep in a bed to change your respawn point."), + icon = "mcl_beds_bed_red.png", +}) + +-- Triggered in mcl_smithing_table +awards.register_achievement("mcl:seriousDedication", { + title = S("Serious Dedication"), + description = S("Use a Netherite Ingot to upgrade a hoe, and then completely reevaluate your life choices."), + icon = "farming_tool_netheritehoe.png", +}) + +-- Triggered in mobs_mc +awards.register_achievement("mcl:whatAdeal", { + title = S("What A Deal!"), + description = S("Successfully trade with a Villager."), + icon = "mcl_core_emerald.png", +}) + +-- Triggered in mcl_fishing +awards.register_achievement("mcl:fishyBusiness", { + title = S("Fishy Business"), + description = S("Catch a fish. \nHint: Catch a fish, salmon, clownfish, or pufferfish."), + icon = "mcl_fishing_fishing_rod.png", +}) + +-- Armor Advancements +--[[awards.register_achievement("mcl:suitUp", { + title = S("Suit Up"), + description = S("Protect yourself with a piece of iron armor."), + icon = "mcl_armor_inv_chestplate_iron.png", +})]]-- + +--[[awards.register_achievement("mcl:coverMeDiamonds", { + title = S("Cover Me with Diamonds"), + description = S("Diamond armor saves lives."), + icon = "mcl_armor_inv_chestplate_diamond.png", +})]]-- + +--[[awards.register_achievement("mcl:coverMeDebris", { + title = S("Cover Me in Debris"), + description = S("Get a full suit of Netherite armor."), + icon = "mcl_armor_inv_chestplate_netherite.png", +})]]-- + -- NON-PC ACHIEVEMENTS (XBox, Pocket Edition, etc.) if non_pc_achievements then diff --git a/mods/ITEMS/mcl_beds/functions.lua b/mods/ITEMS/mcl_beds/functions.lua index b8478fc1f..820c3c4d0 100644 --- a/mods/ITEMS/mcl_beds/functions.lua +++ b/mods/ITEMS/mcl_beds/functions.lua @@ -76,6 +76,7 @@ local function lay_down(player, pos, bed_pos, state, skip) -- save respawn position when entering bed if spawn_mod and mcl_spawn.set_spawn_pos(player, bed_pos, nil) then minetest.chat_send_player(name, S("New respawn position set!")) + awards.unlock(player:get_player_name(), "mcl:sweetDreams") end -- No sleeping if too far away diff --git a/mods/ITEMS/mcl_cartography_table/README.md b/mods/ITEMS/mcl_cartography_table/README.md new file mode 100644 index 000000000..4818b6784 --- /dev/null +++ b/mods/ITEMS/mcl_cartography_table/README.md @@ -0,0 +1,13 @@ +mcl_cartography_table +------------------- +Cartography Tables, by PrairieWind + +Adds Cartography Tables to MineClone 2/5. + +License of source code +---------------------- +LGPLv2.1 + +License of media +---------------- +See the main MineClone 2 README.md file. \ No newline at end of file diff --git a/mods/ITEMS/mcl_cartography_table/init.lua b/mods/ITEMS/mcl_cartography_table/init.lua new file mode 100644 index 000000000..a7c66b4e2 --- /dev/null +++ b/mods/ITEMS/mcl_cartography_table/init.lua @@ -0,0 +1,27 @@ +local S = minetest.get_translator(minetest.get_current_modname()) +-- Cartography Table Code. Used to create and copy maps. Needs a GUI still. + +minetest.register_node("mcl_cartography_table:cartography_table", { + description = S("Cartography Table"), + _tt_help = S("Used to create or copy maps"), + _doc_items_longdesc = S("Is used to create or copy maps for use.."), + tiles = { + "cartography_table_top.png", "cartography_table_side3.png", + "cartography_table_side3.png", "cartography_table_side2.png", + "cartography_table_side3.png", "cartography_table_side1.png" + }, + paramtype2 = "facedir", + groups = { axey = 2, handy = 1, deco_block = 1, material_wood = 1, flammable = 1 }, + _mcl_blast_resistance = 2.5, + _mcl_hardness = 2.5 + }) + + +minetest.register_craft({ + output = "mcl_cartography_table:cartography_table", + recipe = { + { "mcl_core:paper", "mcl_core:paper", "" }, + { "group:wood", "group:wood", "" }, + { "group:wood", "group:wood", "" }, + } +}) \ No newline at end of file diff --git a/mods/ITEMS/mcl_cartography_table/mod.conf b/mods/ITEMS/mcl_cartography_table/mod.conf new file mode 100644 index 000000000..ebea16197 --- /dev/null +++ b/mods/ITEMS/mcl_cartography_table/mod.conf @@ -0,0 +1,3 @@ +name = mcl_cartography_table +author = PrairieWind +description = Adds the cartography table villager workstation to MineClone 2/5. Used to copy and create maps. \ No newline at end of file diff --git a/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side1.png b/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side1.png new file mode 100644 index 000000000..7573d6b98 Binary files /dev/null and b/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side1.png differ diff --git a/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side2.png b/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side2.png new file mode 100644 index 000000000..f5dbd7ce5 Binary files /dev/null and b/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side2.png differ diff --git a/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side3.png b/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side3.png new file mode 100644 index 000000000..740303ba1 Binary files /dev/null and b/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side3.png differ diff --git a/mods/ITEMS/mcl_cartography_table/textures/cartography_table_top.png b/mods/ITEMS/mcl_cartography_table/textures/cartography_table_top.png new file mode 100644 index 000000000..cefff1fbd Binary files /dev/null and b/mods/ITEMS/mcl_cartography_table/textures/cartography_table_top.png differ diff --git a/mods/ITEMS/mcl_fishing/init.lua b/mods/ITEMS/mcl_fishing/init.lua index d779a2a98..2c2ba6982 100644 --- a/mods/ITEMS/mcl_fishing/init.lua +++ b/mods/ITEMS/mcl_fishing/init.lua @@ -75,6 +75,7 @@ local fish = function(itemstack, player, pointed_thing) stacks_min = 1, stacks_max = 1, }, pr) + awards.unlock(player:get_player_name(), "mcl:fishyBusiness") elseif r <= junk_value then -- Junk items = mcl_loot.get_loot({ diff --git a/mods/ITEMS/mcl_fletching_table/README.md b/mods/ITEMS/mcl_fletching_table/README.md new file mode 100644 index 000000000..af0b88185 --- /dev/null +++ b/mods/ITEMS/mcl_fletching_table/README.md @@ -0,0 +1,13 @@ +mcl_fletching_table +------------------- +Fletching Tables, by PrairieWind + +Adds Fletching Tables to MineClone 2/5. + +License of source code +---------------------- +LGPLv2.1 + +License of media +---------------- +See the main MineClone 2 README.md file. \ No newline at end of file diff --git a/mods/ITEMS/mcl_fletching_table/init.lua b/mods/ITEMS/mcl_fletching_table/init.lua new file mode 100644 index 000000000..5fc7556b8 --- /dev/null +++ b/mods/ITEMS/mcl_fletching_table/init.lua @@ -0,0 +1,25 @@ +local S = minetest.get_translator(minetest.get_current_modname()) +-- Fletching Table Code. No use as of current Minecraft Updates. Basically a decor block. As of now, this is complete. +minetest.register_node("mcl_fletching_table:fletching_table", { + description = S("Fletching Table"), + _tt_help = S("A fletching table"), + _doc_items_longdesc = S("This is the fletcher villager's work station. It currently has no use beyond decoration."), + tiles = { + "fletching_table_top.png", "fletching_table_top.png", + "fletching_table_side.png", "fletching_table_side.png", + "fletching_table_front.png", "fletching_table_front.png" + }, + paramtype2 = "facedir", + groups = { axey = 2, handy = 1, deco_block = 1, material_wood = 1, flammable = 1 }, + _mcl_blast_resistance = 2.5, + _mcl_hardness = 2.5 + }) + +minetest.register_craft({ + output = "mcl_fletching_table:fletching_table", + recipe = { + { "mcl_core:flint", "mcl_core:flint", "" }, + { "group:wood", "group:wood", "" }, + { "group:wood", "group:wood", "" }, + } +}) \ No newline at end of file diff --git a/mods/ITEMS/mcl_fletching_table/mod.conf b/mods/ITEMS/mcl_fletching_table/mod.conf new file mode 100644 index 000000000..5a4e9a900 --- /dev/null +++ b/mods/ITEMS/mcl_fletching_table/mod.conf @@ -0,0 +1,3 @@ +name = mcl_fletching_table +author = PrairieWind +description = Adds the fletching table villager workstation to MineClone 2/5. diff --git a/mods/ITEMS/mcl_fletching_table/textures/fletching_table_front.png b/mods/ITEMS/mcl_fletching_table/textures/fletching_table_front.png new file mode 100644 index 000000000..da2eb3519 Binary files /dev/null and b/mods/ITEMS/mcl_fletching_table/textures/fletching_table_front.png differ diff --git a/mods/ITEMS/mcl_fletching_table/textures/fletching_table_side.png b/mods/ITEMS/mcl_fletching_table/textures/fletching_table_side.png new file mode 100644 index 000000000..c79454afe Binary files /dev/null and b/mods/ITEMS/mcl_fletching_table/textures/fletching_table_side.png differ diff --git a/mods/ITEMS/mcl_fletching_table/textures/fletching_table_top.png b/mods/ITEMS/mcl_fletching_table/textures/fletching_table_top.png new file mode 100644 index 000000000..0ecead696 Binary files /dev/null and b/mods/ITEMS/mcl_fletching_table/textures/fletching_table_top.png differ diff --git a/mods/ITEMS/mcl_loom/README.md b/mods/ITEMS/mcl_loom/README.md new file mode 100644 index 000000000..08ee0dea3 --- /dev/null +++ b/mods/ITEMS/mcl_loom/README.md @@ -0,0 +1,13 @@ +mcl_loom +-------- +Looms, by PrairieWind + +Adds Looms to MineClone 2/5. Used to add patterns to banners. + +License of source code +---------------------- +LGPLv2.1 + +License of media +---------------- +See the main MineClone 2 README.md file. \ No newline at end of file diff --git a/mods/ITEMS/mcl_loom/init.lua b/mods/ITEMS/mcl_loom/init.lua new file mode 100644 index 000000000..89960e133 --- /dev/null +++ b/mods/ITEMS/mcl_loom/init.lua @@ -0,0 +1,27 @@ +local S = minetest.get_translator(minetest.get_current_modname()) +-- Loom Code. Used to craft banner designs easier. Still needs a GUI. https://minecraft.fandom.com/wiki/Loom + +minetest.register_node("mcl_loom:loom", { + description = S("Loom"), + _tt_help = S("Used to create banner designs"), + _doc_items_longdesc = S("This is the shepherd villager's work station. It is used to create banner designs."), + tiles = { + "loom_top.png", "loom_bottom.png", + "loom_side.png", "loom_side.png", + "loom_front.png", "loom_front.png" + }, + paramtype2 = "facedir", + groups = { axey = 2, handy = 1, deco_block = 1, material_wood = 1, flammable = 1 }, + _mcl_blast_resistance = 2.5, + _mcl_hardness = 2.5 + }) + + +minetest.register_craft({ + output = "mcl_loom:loom", + recipe = { + { "", "", "" }, + { "mcl_mobitems:string", "mcl_mobitems:string", "" }, + { "group:wood", "group:wood", "" }, + } +}) diff --git a/mods/ITEMS/mcl_loom/mod.conf b/mods/ITEMS/mcl_loom/mod.conf new file mode 100644 index 000000000..9ebb10ff3 --- /dev/null +++ b/mods/ITEMS/mcl_loom/mod.conf @@ -0,0 +1,3 @@ +name = mcl_loom +author = PrairieWind +description = Adds the loom villager workstation to MineClone 2/5. Used to add patterns to banners. \ No newline at end of file diff --git a/mods/ITEMS/mcl_loom/textures/loom_bottom.png b/mods/ITEMS/mcl_loom/textures/loom_bottom.png new file mode 100644 index 000000000..835d36fca Binary files /dev/null and b/mods/ITEMS/mcl_loom/textures/loom_bottom.png differ diff --git a/mods/ITEMS/mcl_loom/textures/loom_bottom1.png b/mods/ITEMS/mcl_loom/textures/loom_bottom1.png new file mode 100644 index 000000000..f5dfe8189 Binary files /dev/null and b/mods/ITEMS/mcl_loom/textures/loom_bottom1.png differ diff --git a/mods/ITEMS/mcl_loom/textures/loom_front.png b/mods/ITEMS/mcl_loom/textures/loom_front.png new file mode 100644 index 000000000..ba1aebc80 Binary files /dev/null and b/mods/ITEMS/mcl_loom/textures/loom_front.png differ diff --git a/mods/ITEMS/mcl_loom/textures/loom_front1.png b/mods/ITEMS/mcl_loom/textures/loom_front1.png new file mode 100644 index 000000000..411e51891 Binary files /dev/null and b/mods/ITEMS/mcl_loom/textures/loom_front1.png differ diff --git a/mods/ITEMS/mcl_loom/textures/loom_side.png b/mods/ITEMS/mcl_loom/textures/loom_side.png new file mode 100644 index 000000000..bbeaeb6d8 Binary files /dev/null and b/mods/ITEMS/mcl_loom/textures/loom_side.png differ diff --git a/mods/ITEMS/mcl_loom/textures/loom_side1.png b/mods/ITEMS/mcl_loom/textures/loom_side1.png new file mode 100644 index 000000000..baf1aed5d Binary files /dev/null and b/mods/ITEMS/mcl_loom/textures/loom_side1.png differ diff --git a/mods/ITEMS/mcl_loom/textures/loom_top.png b/mods/ITEMS/mcl_loom/textures/loom_top.png new file mode 100644 index 000000000..af980f3c1 Binary files /dev/null and b/mods/ITEMS/mcl_loom/textures/loom_top.png differ diff --git a/mods/ITEMS/mcl_loom/textures/loom_top1.png b/mods/ITEMS/mcl_loom/textures/loom_top1.png new file mode 100644 index 000000000..febcb864d Binary files /dev/null and b/mods/ITEMS/mcl_loom/textures/loom_top1.png differ diff --git a/mods/ITEMS/mcl_smithing_table/init.lua b/mods/ITEMS/mcl_smithing_table/init.lua index 5e0610f44..1f2e2fbc6 100644 --- a/mods/ITEMS/mcl_smithing_table/init.lua +++ b/mods/ITEMS/mcl_smithing_table/init.lua @@ -125,6 +125,11 @@ minetest.register_node("mcl_smithing_table:table", { -- ToDo: make epic sound minetest.sound_play("mcl_smithing_table_upgrade", {pos = pos, max_hear_distance = 16}) end + if listname == "upgraded_item" then + if stack:get_name() == "mcl_farming:hoe_netherite" then + awards.unlock(player:get_player_name(), "mcl:seriousDedication") + end + end reset_upgraded_item(pos) end, @@ -133,6 +138,7 @@ minetest.register_node("mcl_smithing_table:table", { _mcl_hardness = 2.5 }) + minetest.register_craft({ output = "mcl_smithing_table:table", recipe = { diff --git a/mods/ITEMS/mcl_totems/init.lua b/mods/ITEMS/mcl_totems/init.lua index 7a45ea58f..5cf5f27a3 100644 --- a/mods/ITEMS/mcl_totems/init.lua +++ b/mods/ITEMS/mcl_totems/init.lua @@ -43,6 +43,7 @@ mcl_damage.register_modifier(function(obj, damage, reason) obj:set_wielded_item(wield) end end + awards.unlock(obj:get_player_name(), "mcl:postMortal") -- Effects minetest.sound_play({name = "mcl_totems_totem", gain = 1}, {pos=ppos, max_hear_distance = 16}, true)