Merge pull request 'New Advancements and Nodes' (#326) from PrairieAstronomer/MineClone5:PrairieWind_commits into master

Reviewed-on: MineClone5/MineClone5#326
This commit is contained in:
commit da4b867314
30 changed files with 195 additions and 0 deletions

View File

@ -712,6 +712,11 @@ local trade_inventory = {
elseif listname == "output" then elseif listname == "output" then
if not trader_exists(player:get_player_name()) then if not trader_exists(player:get_player_name()) then
return 0 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 end
-- Only allow taking full stack -- Only allow taking full stack
local count = stack:get_count() local count = stack:get_count()

View File

@ -199,6 +199,60 @@ awards.register_achievement("mcl:enterEndPortal", {
icon = "mcl_end_end_stone.png", 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.) -- NON-PC ACHIEVEMENTS (XBox, Pocket Edition, etc.)
if non_pc_achievements then if non_pc_achievements then

View File

@ -76,6 +76,7 @@ local function lay_down(player, pos, bed_pos, state, skip)
-- save respawn position when entering bed -- save respawn position when entering bed
if spawn_mod and mcl_spawn.set_spawn_pos(player, bed_pos, nil) then if spawn_mod and mcl_spawn.set_spawn_pos(player, bed_pos, nil) then
minetest.chat_send_player(name, S("New respawn position set!")) minetest.chat_send_player(name, S("New respawn position set!"))
awards.unlock(player:get_player_name(), "mcl:sweetDreams")
end end
-- No sleeping if too far away -- No sleeping if too far away

View File

@ -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.

View 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", "" },
}
})

View File

@ -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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

View File

@ -75,6 +75,7 @@ local fish = function(itemstack, player, pointed_thing)
stacks_min = 1, stacks_min = 1,
stacks_max = 1, stacks_max = 1,
}, pr) }, pr)
awards.unlock(player:get_player_name(), "mcl:fishyBusiness")
elseif r <= junk_value then elseif r <= junk_value then
-- Junk -- Junk
items = mcl_loot.get_loot({ items = mcl_loot.get_loot({

View File

@ -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.

View 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", "" },
}
})

View File

@ -0,0 +1,3 @@
name = mcl_fletching_table
author = PrairieWind
description = Adds the fletching table villager workstation to MineClone 2/5.

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 745 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

View File

@ -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.

View 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", "" },
}
})

View File

@ -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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 468 B

View File

@ -125,6 +125,11 @@ minetest.register_node("mcl_smithing_table:table", {
-- ToDo: make epic sound -- ToDo: make epic sound
minetest.sound_play("mcl_smithing_table_upgrade", {pos = pos, max_hear_distance = 16}) minetest.sound_play("mcl_smithing_table_upgrade", {pos = pos, max_hear_distance = 16})
end 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) reset_upgraded_item(pos)
end, end,
@ -133,6 +138,7 @@ minetest.register_node("mcl_smithing_table:table", {
_mcl_hardness = 2.5 _mcl_hardness = 2.5
}) })
minetest.register_craft({ minetest.register_craft({
output = "mcl_smithing_table:table", output = "mcl_smithing_table:table",
recipe = { recipe = {

View File

@ -43,6 +43,7 @@ mcl_damage.register_modifier(function(obj, damage, reason)
obj:set_wielded_item(wield) obj:set_wielded_item(wield)
end end
end end
awards.unlock(obj:get_player_name(), "mcl:postMortal")
-- Effects -- Effects
minetest.sound_play({name = "mcl_totems_totem", gain = 1}, {pos=ppos, max_hear_distance = 16}, true) minetest.sound_play({name = "mcl_totems_totem", gain = 1}, {pos=ppos, max_hear_distance = 16}, true)