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
|
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()
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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_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({
|
||||||
|
|
|
@ -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
|
-- 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 = {
|
||||||
|
|
|
@ -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)
|
||||||
|
|