Merge pull request 'New Advancements and Nodes' (#326) from PrairieAstronomer/MineClone5:PrairieWind_commits into master
Reviewed-on: MineClone5/MineClone5#326
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
|
@ -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", "" },
|
||||
}
|
||||
})
|
|
@ -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.
|
After Width: | Height: | Size: 610 B |
After Width: | Height: | Size: 680 B |
After Width: | Height: | Size: 466 B |
After Width: | Height: | Size: 499 B |
|
@ -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({
|
||||
|
|
|
@ -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.
|
|
@ -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", "" },
|
||||
}
|
||||
})
|
|
@ -0,0 +1,3 @@
|
|||
name = mcl_fletching_table
|
||||
author = PrairieWind
|
||||
description = Adds the fletching table villager workstation to MineClone 2/5.
|
After Width: | Height: | Size: 720 B |
After Width: | Height: | Size: 745 B |
After Width: | Height: | Size: 630 B |
|
@ -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.
|
|
@ -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", "" },
|
||||
}
|
||||
})
|
|
@ -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.
|
After Width: | Height: | Size: 315 B |
After Width: | Height: | Size: 395 B |
After Width: | Height: | Size: 339 B |
After Width: | Height: | Size: 615 B |
After Width: | Height: | Size: 360 B |
After Width: | Height: | Size: 639 B |
After Width: | Height: | Size: 358 B |
After Width: | Height: | Size: 468 B |
|
@ -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 = {
|
||||
|
|
|
@ -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)
|
||||
|
|