diff --git a/CREDITS.md b/CREDITS.md index b3b6d4746..39eed70e1 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -178,6 +178,7 @@ * Faerraven / Michieal * Nicu * Exhale +* Aeonix_Aeon * Wbjitscool * SmokeyDope @@ -208,4 +209,4 @@ ## Special thanks * The Minetest team for making and supporting an engine, and distribution infrastructure that makes this all possible * The workaholics who spent way too much time writing for the Minecraft Wiki. It's an invaluable resource for creating this game -* Notch and Jeb for being the major forces behind Minecraft \ No newline at end of file +* Notch and Jeb for being the major forces behind Minecraft diff --git a/LEGAL.md b/LEGAL.md index e378c1b59..a181da398 100644 --- a/LEGAL.md +++ b/LEGAL.md @@ -42,6 +42,10 @@ The glazed terracotta textures have been created by [MysticTempest](https://gith Source: License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/) +Armor trim models were created by Aeonix_Aeon +Source: +License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) + The main menu images are released under: [CC0](https://creativecommons.org/publicdomain/zero/1.0/) All other files, unless mentioned otherwise, fall under: diff --git a/mods/ITEMS/mcl_armor/api.lua b/mods/ITEMS/mcl_armor/api.lua index 1b9aa4f73..558607785 100644 --- a/mods/ITEMS/mcl_armor/api.lua +++ b/mods/ITEMS/mcl_armor/api.lua @@ -85,6 +85,31 @@ function mcl_armor.equip_on_use(itemstack, player, pointed_thing) return mcl_armor.equip(itemstack, player) end +local function get_armor_texture(textures, name, modname, itemname, itemstring) + local core_texture = textures[name] or modname .. "_" .. itemname .. ".png" + if type(core_texture) == "function" then return core_texture end + mcl_armor.trims.core_textures[itemstring] = core_texture + local func = function(obj, itemstack) + local overlay = itemstack:get_meta():get_string("mcl_armor:trim_overlay") + local core_armor_texture + local stack_name = mcl_grindstone.remove_enchant_name(itemstack) -- gets original itemstring if enchanted, no need to store (nearly) identical values + local core_armor_texture = mcl_armor.trims.core_textures[stack_name] + + if mcl_enchanting.is_enchanted(itemstack:get_name()) then -- working with the original stack to know wether to apply enchanting overlay or not + -- Far, Far in the future we may no longer _enchanted itemstrings... + -- To fix this code, simply put the unmodified itemstring in stack_name's place + -- DO NOT REMOVE THIS if UNLESS YOU KNOW WHAT YOU'RE TRYING TO ACHIEVE! + core_armor_texture = core_armor_texture .. mcl_enchanting.overlay + end + + if overlay == "" then return core_armor_texture end -- key not present; armor not trimmed + + return core_armor_texture .. overlay + end + + return func +end + function mcl_armor.register_set(def) local modname = minetest.get_current_modname() local S = minetest.get_translator(modname) @@ -136,7 +161,7 @@ function mcl_armor.register_set(def) _on_unequip = on_unequip_callbacks[name] or def.on_unequip, _on_break = on_break_callbacks[name] or def.on_break, _mcl_armor_element = name, - _mcl_armor_texture = textures[name] or modname .. "_" .. itemname .. ".png", + _mcl_armor_texture = get_armor_texture(textures, name, modname, itemname, itemstring), _mcl_upgradable = def._mcl_upgradable, _mcl_upgrade_item = upgrade_item }) @@ -257,3 +282,55 @@ function mcl_armor.update(obj) end end +function mcl_armor.trim(itemstack, overlay, color_string) + local def = itemstack:get_definition() + if not def._mcl_armor_texture and not mcl_armor.trims.blacklisted[itemstack:get_name()] then return end + local meta = itemstack:get_meta() + + local piece_overlay = overlay + local inv_overlay = "" + local piece_type = def._mcl_armor_element + + if piece_type == "head" then --helmet + inv_overlay = "^(helmet_trim.png" + piece_overlay = piece_overlay .. "_helmet" + elseif piece_type == "torso" then --chestplate + inv_overlay = "^(chestplate_trim.png" + piece_overlay = piece_overlay .. "_chestplate" + elseif piece_type == "legs" then --leggings + inv_overlay = "^(leggings_trim.png" + piece_overlay = piece_overlay .. "_leggings" + elseif piece_type == "feet" then --boots + inv_overlay = "^(boots_trim.png" + piece_overlay = piece_overlay .. "_boots" + end + local color = mcl_armor.trims.colors[color_string] + inv_overlay = inv_overlay .. "^[colorize:" .. color .. ":150)" + piece_overlay = piece_overlay .. ".png" + + piece_overlay = "^(" .. piece_overlay .. "^[colorize:" .. color .. ":150)" + + meta:set_string("mcl_armor:trim_overlay" , piece_overlay) -- set textures to render on the player, will work for clients below 5.8 as well + meta:set_string("mcl_armor:inv", inv_overlay) -- make 5.8+ clients display the fancy inv image, older ones will see no change in the *inventory* image + meta:set_string("inventory_image", def.inventory_image .. inv_overlay) -- dont use reload_inv_image as it's a one liner in this enviorment +end + +function mcl_armor.reload_trim_inv_image(itemstack) + local meta = itemstack:get_meta() + local inv_overlay = meta:get_string("mcl_armor:inv") + local def = itemstack:get_definition() + if inv_overlay == "" then return end + meta:set_string("inventory_image", def.inventory_image .. inv_overlay) +end + +tt.register_snippet(function(itemstring, toolcaps, stack) + if not stack then return nil end + local meta = stack:get_meta() + if meta:get_string("mcl_armor:trim_overlay") == "" then return nil end -- remember, get_string returns "" if the key doesn't exist + -- we need to get the part of the overlay image between the overlay begin ( and the trim name end _ + -- we COULD easily store this info in meta, but that would bloat the meta storage, as the same few values would be stored over and over again on every trimmed item + -- this is fine here as this code gets only executed when you put armor and a trim in a smithing table + local full_overlay = meta:get_string("mcl_armor:trim_overlay") + local trim_name = full_overlay:match("%((.-)%_") + return "Upgrade:\n " .. trim_name:gsub("^%l", string.upper) .. " Armor Trim" +end) \ No newline at end of file diff --git a/mods/ITEMS/mcl_armor/init.lua b/mods/ITEMS/mcl_armor/init.lua index 799bf2e9c..e85158f6c 100644 --- a/mods/ITEMS/mcl_armor/init.lua +++ b/mods/ITEMS/mcl_armor/init.lua @@ -57,6 +57,12 @@ mcl_armor = { } }, player_view_range_factors = {}, + trims = { + core_textures = {}, + blacklisted = {["mcl_armor:elytra"]=true, ["mcl_armor:elytra_enchanted"]=true}, + overlays = {"sentry","dune","coast","wild","tide","ward","vex","rib","snout","eye","spire"}, + colors = {["amethyst"]="#8246a5",["gold"]="#ce9627",["emerald"]="#1b9958",["copper"]="#c36447",["diamond"]="#5faed8",["iron"]="#938e88",["lapis"]="#1c306b",["netherite"]="#302a26",["quartz"]="#c9bcb9",["redstone"]="#af2c23"}, + }, } local modpath = minetest.get_modpath("mcl_armor") @@ -66,3 +72,4 @@ dofile(modpath .. "/player.lua") dofile(modpath .. "/damage.lua") dofile(modpath .. "/register.lua") dofile(modpath .. "/alias.lua") +dofile(modpath .. "/trims.lua") diff --git a/mods/ITEMS/mcl_armor/locale/mcl_armor.de.tr b/mods/ITEMS/mcl_armor/locale/mcl_armor.de.tr index 09da3a9cc..312b9fafb 100644 --- a/mods/ITEMS/mcl_armor/locale/mcl_armor.de.tr +++ b/mods/ITEMS/mcl_armor/locale/mcl_armor.de.tr @@ -21,3 +21,6 @@ Iron Boots=Eisenstiefel Golden Boots=Goldstiefel Diamond Boots=Diamantstiefel Chain Boots=Kettenstiefel + + +Smithing Template '@1'=Schiedevorlage '@1' \ No newline at end of file diff --git a/mods/ITEMS/mcl_armor/locale/template.txt b/mods/ITEMS/mcl_armor/locale/template.txt index 4b4ad8385..64318f41b 100644 --- a/mods/ITEMS/mcl_armor/locale/template.txt +++ b/mods/ITEMS/mcl_armor/locale/template.txt @@ -45,4 +45,7 @@ Protection= Reduces most types of damage by 4% for each level.= Thorns= Reflects some of the damage taken when hit, at the cost of reducing durability with each proc.= -Aqua Affinity= \ No newline at end of file +Aqua Affinity= + +#Translations for armor trims +Smithing Template '@1'= \ No newline at end of file diff --git a/mods/ITEMS/mcl_armor/mod.conf b/mods/ITEMS/mcl_armor/mod.conf index fad2e494c..cfbaa831f 100644 --- a/mods/ITEMS/mcl_armor/mod.conf +++ b/mods/ITEMS/mcl_armor/mod.conf @@ -1,5 +1,5 @@ name = mcl_armor author = stu description = Adds craftable armor that is visible to other players. -depends = mcl_core, mcl_player, mcl_enchanting, mcl_damage +depends = mcl_core, mcl_player, mcl_enchanting, mcl_damage, mcl_grindstone optional_depends = mcl_fire, ethereal, bakedclay diff --git a/mods/ITEMS/mcl_armor/trims.lua b/mods/ITEMS/mcl_armor/trims.lua new file mode 100644 index 000000000..9e8e32625 --- /dev/null +++ b/mods/ITEMS/mcl_armor/trims.lua @@ -0,0 +1,46 @@ +local mod_registername = minetest.get_current_modname() .. ":" +local S = minetest.get_translator(minetest.get_current_modname()) + +for _, template_name in pairs(mcl_armor.trims.overlays) do + minetest.register_craftitem(mod_registername .. template_name, { + description = S("Smithing Template '@1'", template_name), + inventory_image = template_name .. "_armor_trim_smithing_template.png", + }) + + minetest.register_craft({ + output = mod_registername .. template_name .. " 2", + recipe = { + {"mcl_core:diamond",mod_registername .. template_name,"mcl_core:diamond"}, + {"mcl_core:diamond","mcl_core:cobble","mcl_core:diamond"}, + {"mcl_core:diamond","mcl_core:diamond","mcl_core:diamond"}, + } + }) +end + +--temp craft recipies, missing structures +minetest.register_craft({ + output = mod_registername .. "eye", + recipe = { + {"mcl_core:diamond","mcl_end:ender_eye","mcl_core:diamond"}, + {"mcl_core:diamond","mcl_end:ender_eye","mcl_core:diamond"}, + {"mcl_core:diamond","mcl_core:diamond","mcl_core:diamond"}, + } +}) + +minetest.register_craft({ + output = mod_registername .. "ward", + recipe = { + {"mcl_core:diamond","mcl_core:diamond","mcl_core:diamond"}, + {"mcl_core:diamond","mcl_core:apple_gold_enchanted","mcl_core:diamond"}, + {"mcl_core:diamond","mcl_core:diamond","mcl_core:diamond"}, + } +}) + +minetest.register_craft({ + output = mod_registername .. "snout", + recipe = { + {"mcl_core:diamond","mcl_core:diamond","mcl_core:diamond"}, + {"mcl_core:diamond","mcl_core:goldblock","mcl_core:diamond"}, + {"mcl_core:diamond","mcl_core:diamond","mcl_core:diamond"}, + } +}) \ No newline at end of file diff --git a/mods/ITEMS/mcl_grindstone/init.lua b/mods/ITEMS/mcl_grindstone/init.lua index e0137dcd1..f3ceaf825 100644 --- a/mods/ITEMS/mcl_grindstone/init.lua +++ b/mods/ITEMS/mcl_grindstone/init.lua @@ -1,5 +1,7 @@ -- Code based from mcl_anvils +mcl_grindstone = {} + local S = minetest.get_translator(minetest.get_current_modname()) local F = minetest.formspec_escape local C = minetest.colorize @@ -55,7 +57,7 @@ local function create_new_item(name_item, meta, wear) end -- If an item has an enchanment then remove "_enchanted" from the name -local function remove_enchant_name(stack) +function mcl_grindstone.remove_enchant_name(stack) if mcl_enchanting.is_enchanted(stack:get_name()) then local name = stack:get_name() return name.sub(name, 1, -11) @@ -116,8 +118,8 @@ local function update_grindstone_slots(meta) local def1 = input1:get_definition() local def2 = input2:get_definition() -- Remove enchant name if they have one - local name1 = remove_enchant_name(input1) - local name2 = remove_enchant_name(input2) + local name1 = mcl_grindstone.remove_enchant_name(input1) + local name2 = mcl_grindstone.remove_enchant_name(input2) -- Calculate repair local function calculate_repair(dur1, dur2) @@ -143,7 +145,7 @@ local function update_grindstone_slots(meta) local def1 = input1:get_definition() local meta = input1:get_meta() if def1.type == "tool" and mcl_enchanting.is_enchanted(input1:get_name()) then - local name = remove_enchant_name(input1) + local name = mcl_grindstone.remove_enchant_name(input1) local wear = input1:get_wear() local new_item = create_new_item(name, meta, wear) new_output = transfer_curse(input1, new_item) @@ -157,7 +159,7 @@ local function update_grindstone_slots(meta) local def2 = input2:get_definition() local meta = input2:get_meta() if def2.type == "tool" and mcl_enchanting.is_enchanted(input2:get_name()) then - local name = remove_enchant_name(input2) + local name = mcl_grindstone.remove_enchant_name(input2) local wear = input2:get_wear() local new_item = create_new_item(name, meta, wear) new_output = transfer_curse(input2, new_item) diff --git a/mods/ITEMS/mcl_smithing_table/init.lua b/mods/ITEMS/mcl_smithing_table/init.lua index 5d0becad7..4690a1ed6 100644 --- a/mods/ITEMS/mcl_smithing_table/init.lua +++ b/mods/ITEMS/mcl_smithing_table/init.lua @@ -6,9 +6,9 @@ local C = minetest.colorize mcl_smithing_table = {} ----Function to upgrade diamond tool/armor to netherite tool/armor +-- Function to upgrade diamond tool/armor to netherite tool/armor ---@param itemstack ItemStack -function mcl_smithing_table.upgrade_item(itemstack) +function mcl_smithing_table.upgrade_item_netherite(itemstack) local def = itemstack:get_definition() if not def or not def._mcl_upgradable then @@ -22,6 +22,7 @@ function mcl_smithing_table.upgrade_item(itemstack) end itemstack:set_name(upgrade_item) + mcl_armor.reload_trim_inv_image(itemstack) -- Reload the ToolTips of the tool @@ -40,14 +41,18 @@ local formspec = table.concat({ "image[0.875,0.375;1.75,1.75;mcl_smithing_table_inventory_hammer.png]", mcl_formspec.get_itemslot_bg_v4(1.625, 2.6, 1, 1), - "list[context;diamond_item;1.625,2.6;1,1;]", + "list[context;upgrade_item;1.625,2.6;1,1;]", - "image[3.5,2.6;1,1;mcl_anvils_inventory_cross.png]", + "image[3.125,2.6;1,1;mcl_anvils_inventory_cross.png]", - mcl_formspec.get_itemslot_bg_v4(5.375, 2.6, 1, 1), - "list[context;netherite;5.375,2.6;1,1;]", + mcl_formspec.get_itemslot_bg_v4(4.75, 2.6, 1, 1), + "list[context;mineral;4.75,2.6;1,1;]", - "image[6.75,2.6;2,1;mcl_anvils_inventory_arrow.png]", + mcl_formspec.get_itemslot_bg_v4(6, 2.6, 1, 1), + mcl_formspec.get_itemslot_bg_v4(6, 2.6, 1, 1, 0, "mcl_smithing_table_inventory_trim_bg.png"), + "list[context;template;6,2.6;1,1;]", + + "image[7,2.6;2,1;mcl_anvils_inventory_arrow.png]", mcl_formspec.get_itemslot_bg_v4(9.125, 2.6, 1, 1), "list[context;upgraded_item;9.125,2.6;1,1;]", @@ -62,23 +67,60 @@ local formspec = table.concat({ -- Listrings - "listring[context;diamond_item]", + "listring[context;upgrade_item]", "listring[current_player;main]", - "listring[context;netherite]", + "listring[context;mineral]", "listring[current_player;main]", "listring[context;upgraded_item]", "listring[current_player;main]", "listring[current_player;main]", - "listring[context;diamond_item]", + "listring[context;upgrade_item]", }) +local smithing_materials = { + ["mcl_nether:netherite_ingot"] = "netherite", + ["mcl_core:diamond"] = "diamond", + ["mcl_core:lapis"] = "lapis", + ["mcl_amethyst:amethyst_shard"] = "amethyst", + ["mesecons:wire_00000000_off"] = "redstone", + ["mcl_core:iron_ingot"] = "iron", + ["mcl_core:gold_ingot"] = "gold", + ["mcl_copper:copper_ingot"] = "copper", + ["mcl_core:emerald"] = "emerald", + ["mcl_nether:quartz"] = "quartz" +} + +function mcl_smithing_table.upgrade_trimmed(itemstack, color_mineral, template) + --get information required + local material_name = color_mineral:get_name() + material_name = smithing_materials[material_name] + + local overlay = template:get_name():gsub("mcl_armor:","") + + --trimming process + mcl_armor.trim(itemstack, overlay, material_name) + tt.reload_itemstack_description(itemstack) + + return itemstack +end + +function mcl_smithing_table.is_smithing_mineral(itemname) + return smithing_materials[itemname] ~= nil +end + ---@param pos Vector local function reset_upgraded_item(pos) local inv = minetest.get_meta(pos):get_inventory() local upgraded_item + local original_itemname = inv:get_stack("upgrade_item", 1):get_name() + local template_present = inv:get_stack("template",1):get_name() ~= "" + local is_armor = original_itemname:find("mcl_armor:") ~= nil + local is_trimmed = original_itemname:find("_trimmed") ~= nil - if inv:get_stack("netherite", 1):get_name() == "mcl_nether:netherite_ingot" then - upgraded_item = mcl_smithing_table.upgrade_item(inv:get_stack("diamond_item", 1)) + if inv:get_stack("mineral", 1):get_name() == "mcl_nether:netherite_ingot" and not template_present then + upgraded_item = mcl_smithing_table.upgrade_item_netherite(inv:get_stack("upgrade_item", 1)) + elseif template_present and is_armor and not is_trimmed and mcl_smithing_table.is_smithing_mineral(inv:get_stack("mineral", 1):get_name()) then + upgraded_item = mcl_smithing_table.upgrade_trimmed(inv:get_stack("upgrade_item", 1),inv:get_stack("mineral", 1),inv:get_stack("template", 1)) end inv:set_stack("upgraded_item", 1, upgraded_item) @@ -107,14 +149,24 @@ minetest.register_node("mcl_smithing_table:table", { local inv = meta:get_inventory() - inv:set_size("diamond_item", 1) - inv:set_size("netherite", 1) + inv:set_size("upgrade_item", 1) + inv:set_size("mineral", 1) + inv:set_size("template",1) inv:set_size("upgraded_item", 1) end, allow_metadata_inventory_put = function(pos, listname, index, stack, player) - if listname == "diamond_item" and mcl_smithing_table.upgrade_item(stack) or - listname == "netherite" and stack:get_name() == "mcl_nether:netherite_ingot" then + if + listname == "upgrade_item" + and string.find(stack:get_name(),"mcl_armor:") -- allow any armor piece to go in (in case the player wants to trim them) + and not mcl_armor.trims.blacklisted[stack:get_name()] + + or listname == "mineral" + and mcl_smithing_table.is_smithing_mineral(stack:get_name()) + + or listname == "template" + and string.find(stack:get_name(),"mcl_armor") + then return stack:get_count() end @@ -137,8 +189,9 @@ minetest.register_node("mcl_smithing_table:table", { end if listname == "upgraded_item" then - take_item("diamond_item") - take_item("netherite") + take_item("upgrade_item") + take_item("mineral") + take_item("template") -- ToDo: make epic sound minetest.sound_play("mcl_smithing_table_upgrade", { pos = pos, max_hear_distance = 16 }) @@ -165,3 +218,8 @@ minetest.register_craft({ { "group:wood", "group:wood", "" } }, }) + +-- this is the exact same as mcl_smithing_table.upgrade_item_netherite , in case something relies on the old function +function mcl_smithing_table.upgrade_item(itemstack) + return mcl_smithing_table.upgrade_item_netherite(itemstack) +end diff --git a/mods/ITEMS/mcl_smithing_table/mod.conf b/mods/ITEMS/mcl_smithing_table/mod.conf index 1c12cb483..6a7ea5286 100644 --- a/mods/ITEMS/mcl_smithing_table/mod.conf +++ b/mods/ITEMS/mcl_smithing_table/mod.conf @@ -1,2 +1,2 @@ name = mcl_smithing_table -depends = mcl_colors, mcl_formspec, mcl_anvils +depends = mcl_colors, mcl_formspec, mcl_armor, mcl_anvils diff --git a/mods/MAPGEN/mcl_nether_fortresses/init.lua b/mods/MAPGEN/mcl_nether_fortresses/init.lua index b736ff133..84823d106 100644 --- a/mods/MAPGEN/mcl_nether_fortresses/init.lua +++ b/mods/MAPGEN/mcl_nether_fortresses/init.lua @@ -188,6 +188,7 @@ mcl_structures.register_structure("nether_bulwark",{ stacks_max = 1, items = { { itemstring = "mcl_compass:lodestone" }, + { itemstring = "mcl_armor:rib" }, } }} }, diff --git a/mods/MAPGEN/mcl_structures/desert_temple.lua b/mods/MAPGEN/mcl_structures/desert_temple.lua index 75c170ab1..74ae20d37 100644 --- a/mods/MAPGEN/mcl_structures/desert_temple.lua +++ b/mods/MAPGEN/mcl_structures/desert_temple.lua @@ -69,6 +69,7 @@ mcl_structures.register_structure("desert_temple",{ { itemstring = "mcl_mobitems:diamond_horse_armor", weight = 5, }, { itemstring = "mcl_core:diamond", weight = 5, amount_min = 1, amount_max = 3 }, { itemstring = "mcl_core:apple_gold_enchanted", weight = 2, }, + { itemstring = "mcl_armor:dune", weight = 20, amount_min = 2, amount_max = 2}, } }, { diff --git a/mods/MAPGEN/mcl_structures/end_city.lua b/mods/MAPGEN/mcl_structures/end_city.lua index 5f432a0eb..e40f90c21 100644 --- a/mods/MAPGEN/mcl_structures/end_city.lua +++ b/mods/MAPGEN/mcl_structures/end_city.lua @@ -58,6 +58,7 @@ mcl_structures.register_structure("end_shipwreck",{ { itemstring = "mcl_core:diamond", weight = 3, amount_min = 2, amount_max = 7 }, { itemstring = "mcl_mobitems:saddle", weight = 3, }, { itemstring = "mcl_core:emerald", weight = 2, amount_min = 1, amount_max = 3 }, + { itemstring = "mcl_armor:spire", amount_min = 1, amount_max = 1 }, { itemstring = "mcl_books:book", weight = 1, func = function(stack, pr) mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}, pr) end }, diff --git a/mods/MAPGEN/mcl_structures/jungle_temple.lua b/mods/MAPGEN/mcl_structures/jungle_temple.lua index 843dec04d..ed7067c6c 100644 --- a/mods/MAPGEN/mcl_structures/jungle_temple.lua +++ b/mods/MAPGEN/mcl_structures/jungle_temple.lua @@ -38,6 +38,7 @@ mcl_structures.register_structure("jungle_temple",{ { itemstring = "mcl_mobitems:gold_horse_armor", weight = 1, }, { itemstring = "mcl_mobitems:diamond_horse_armor", weight = 1, }, { itemstring = "mcl_core:apple_gold_enchanted", weight = 2, }, + { itemstring = "mcl_armor:wild", amount_min = 1, amount_max = 1, }, } }} } diff --git a/mods/MAPGEN/mcl_structures/pillager_outpost.lua b/mods/MAPGEN/mcl_structures/pillager_outpost.lua index 53652d4fb..dfee8fae3 100644 --- a/mods/MAPGEN/mcl_structures/pillager_outpost.lua +++ b/mods/MAPGEN/mcl_structures/pillager_outpost.lua @@ -44,6 +44,7 @@ mcl_structures.register_structure("pillager_outpost",{ { itemstring = "mcl_books:book", weight = 1, func = function(stack, pr) mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}, pr) end }, + { itemstring = "mcl_armor:sentry"}, } }, { diff --git a/mods/MAPGEN/mcl_structures/shipwrecks.lua b/mods/MAPGEN/mcl_structures/shipwrecks.lua index a9c48e0b5..134b99517 100644 --- a/mods/MAPGEN/mcl_structures/shipwrecks.lua +++ b/mods/MAPGEN/mcl_structures/shipwrecks.lua @@ -166,7 +166,7 @@ mcl_structures.register_structure("shipwreck",{ { itemstring = "mcl_clock:clock", weight = 1, amount_min = 1, amount_max = 1 }, { itemstring = "mcl_compass:compass", weight = 1, amount_min = 1, amount_max = 1 }, { itemstring = "mcl_maps:empty_map", weight = 1, amount_min = 1, amount_max = 1 }, - + { itemstring = "mcl_armor:coast", weight = 20, amount_min = 2, amount_max = 2}, } }, } diff --git a/mods/MAPGEN/mcl_structures/woodland_mansion.lua b/mods/MAPGEN/mcl_structures/woodland_mansion.lua index 5429e4892..15e9167fc 100644 --- a/mods/MAPGEN/mcl_structures/woodland_mansion.lua +++ b/mods/MAPGEN/mcl_structures/woodland_mansion.lua @@ -63,6 +63,7 @@ mcl_structures.register_structure("woodland_cabin",{ { itemstring = "mcl_armor:chestplate_chain", weight = 1, }, { itemstring = "mcl_armor:chestplate_diamond", weight = 1, }, { itemstring = "mcl_core:apple_gold_enchanted", weight = 2, }, + { itemstring = "mcl_armor:vex", amount_max = 1, }, } }} } diff --git a/textures/boots_trim.png b/textures/boots_trim.png new file mode 100644 index 000000000..20a91a7fe Binary files /dev/null and b/textures/boots_trim.png differ diff --git a/textures/chestplate_trim.png b/textures/chestplate_trim.png new file mode 100644 index 000000000..e0d028e6d Binary files /dev/null and b/textures/chestplate_trim.png differ diff --git a/textures/coast_armor_trim_smithing_template.png b/textures/coast_armor_trim_smithing_template.png new file mode 100644 index 000000000..2701244fc Binary files /dev/null and b/textures/coast_armor_trim_smithing_template.png differ diff --git a/textures/coast_boots.png b/textures/coast_boots.png new file mode 100644 index 000000000..5782e80e0 Binary files /dev/null and b/textures/coast_boots.png differ diff --git a/textures/coast_chestplate.png b/textures/coast_chestplate.png new file mode 100644 index 000000000..2e61579b8 Binary files /dev/null and b/textures/coast_chestplate.png differ diff --git a/textures/coast_helmet.png b/textures/coast_helmet.png new file mode 100644 index 000000000..d82e237ea Binary files /dev/null and b/textures/coast_helmet.png differ diff --git a/textures/coast_leggings.png b/textures/coast_leggings.png new file mode 100644 index 000000000..a5d6c1c35 Binary files /dev/null and b/textures/coast_leggings.png differ diff --git a/textures/dune_armor_trim_smithing_template.png b/textures/dune_armor_trim_smithing_template.png new file mode 100644 index 000000000..a816e88fd Binary files /dev/null and b/textures/dune_armor_trim_smithing_template.png differ diff --git a/textures/dune_boots.png b/textures/dune_boots.png new file mode 100644 index 000000000..776dbdceb Binary files /dev/null and b/textures/dune_boots.png differ diff --git a/textures/dune_chestplate.png b/textures/dune_chestplate.png new file mode 100644 index 000000000..2edc91c74 Binary files /dev/null and b/textures/dune_chestplate.png differ diff --git a/textures/dune_helmet.png b/textures/dune_helmet.png new file mode 100644 index 000000000..8aa90b25f Binary files /dev/null and b/textures/dune_helmet.png differ diff --git a/textures/dune_leggings.png b/textures/dune_leggings.png new file mode 100644 index 000000000..d40e2b42c Binary files /dev/null and b/textures/dune_leggings.png differ diff --git a/textures/eye_armor_trim_smithing_template.png b/textures/eye_armor_trim_smithing_template.png new file mode 100644 index 000000000..a9d78dee8 Binary files /dev/null and b/textures/eye_armor_trim_smithing_template.png differ diff --git a/textures/eye_boots.png b/textures/eye_boots.png new file mode 100644 index 000000000..4e1db557a Binary files /dev/null and b/textures/eye_boots.png differ diff --git a/textures/eye_chestplate.png b/textures/eye_chestplate.png new file mode 100644 index 000000000..71bb0fa7b Binary files /dev/null and b/textures/eye_chestplate.png differ diff --git a/textures/eye_helmet.png b/textures/eye_helmet.png new file mode 100644 index 000000000..7c049b086 Binary files /dev/null and b/textures/eye_helmet.png differ diff --git a/textures/eye_leggings.png b/textures/eye_leggings.png new file mode 100644 index 000000000..64fc3192b Binary files /dev/null and b/textures/eye_leggings.png differ diff --git a/textures/helmet_trim.png b/textures/helmet_trim.png new file mode 100644 index 000000000..74ec7eb9e Binary files /dev/null and b/textures/helmet_trim.png differ diff --git a/textures/leggings_trim.png b/textures/leggings_trim.png new file mode 100644 index 000000000..8c22023a7 Binary files /dev/null and b/textures/leggings_trim.png differ diff --git a/textures/mcl_smithing_table_inventory_trim_bg.png b/textures/mcl_smithing_table_inventory_trim_bg.png new file mode 100644 index 000000000..1b01c9a09 Binary files /dev/null and b/textures/mcl_smithing_table_inventory_trim_bg.png differ diff --git a/textures/rib_armor_trim_smithing_template.png b/textures/rib_armor_trim_smithing_template.png new file mode 100644 index 000000000..92ab067ea Binary files /dev/null and b/textures/rib_armor_trim_smithing_template.png differ diff --git a/textures/rib_boots.png b/textures/rib_boots.png new file mode 100644 index 000000000..4549b077e Binary files /dev/null and b/textures/rib_boots.png differ diff --git a/textures/rib_chestplate.png b/textures/rib_chestplate.png new file mode 100644 index 000000000..a9a78e8b3 Binary files /dev/null and b/textures/rib_chestplate.png differ diff --git a/textures/rib_helmet.png b/textures/rib_helmet.png new file mode 100644 index 000000000..315c070c9 Binary files /dev/null and b/textures/rib_helmet.png differ diff --git a/textures/rib_leggings.png b/textures/rib_leggings.png new file mode 100644 index 000000000..bbff3fb8c Binary files /dev/null and b/textures/rib_leggings.png differ diff --git a/textures/sentry_armor_trim_smithing_template.png b/textures/sentry_armor_trim_smithing_template.png new file mode 100644 index 000000000..2e967e86c Binary files /dev/null and b/textures/sentry_armor_trim_smithing_template.png differ diff --git a/textures/sentry_boots.png b/textures/sentry_boots.png new file mode 100644 index 000000000..9296361bb Binary files /dev/null and b/textures/sentry_boots.png differ diff --git a/textures/sentry_chestplate.png b/textures/sentry_chestplate.png new file mode 100644 index 000000000..f09d70404 Binary files /dev/null and b/textures/sentry_chestplate.png differ diff --git a/textures/sentry_helmet.png b/textures/sentry_helmet.png new file mode 100644 index 000000000..4e2fa9937 Binary files /dev/null and b/textures/sentry_helmet.png differ diff --git a/textures/sentry_leggings.png b/textures/sentry_leggings.png new file mode 100644 index 000000000..80ca3a453 Binary files /dev/null and b/textures/sentry_leggings.png differ diff --git a/textures/snout_armor_trim_smithing_template.png b/textures/snout_armor_trim_smithing_template.png new file mode 100644 index 000000000..35d413d5b Binary files /dev/null and b/textures/snout_armor_trim_smithing_template.png differ diff --git a/textures/snout_boots.png b/textures/snout_boots.png new file mode 100644 index 000000000..e863989bf Binary files /dev/null and b/textures/snout_boots.png differ diff --git a/textures/snout_chestplate.png b/textures/snout_chestplate.png new file mode 100644 index 000000000..6106a0e4d Binary files /dev/null and b/textures/snout_chestplate.png differ diff --git a/textures/snout_helmet.png b/textures/snout_helmet.png new file mode 100644 index 000000000..a25297dac Binary files /dev/null and b/textures/snout_helmet.png differ diff --git a/textures/snout_leggings.png b/textures/snout_leggings.png new file mode 100644 index 000000000..1ff74f4a3 Binary files /dev/null and b/textures/snout_leggings.png differ diff --git a/textures/spire_armor_trim_smithing_template.png b/textures/spire_armor_trim_smithing_template.png new file mode 100644 index 000000000..d51dc5b7e Binary files /dev/null and b/textures/spire_armor_trim_smithing_template.png differ diff --git a/textures/spire_boots.png b/textures/spire_boots.png new file mode 100644 index 000000000..a0f5d0c1d Binary files /dev/null and b/textures/spire_boots.png differ diff --git a/textures/spire_chestplate.png b/textures/spire_chestplate.png new file mode 100644 index 000000000..baafb6137 Binary files /dev/null and b/textures/spire_chestplate.png differ diff --git a/textures/spire_helmet.png b/textures/spire_helmet.png new file mode 100644 index 000000000..3f70baf8f Binary files /dev/null and b/textures/spire_helmet.png differ diff --git a/textures/spire_leggings.png b/textures/spire_leggings.png new file mode 100644 index 000000000..5e397d14a Binary files /dev/null and b/textures/spire_leggings.png differ diff --git a/textures/tide_armor_trim_smithing_template.png b/textures/tide_armor_trim_smithing_template.png new file mode 100644 index 000000000..cf456d279 Binary files /dev/null and b/textures/tide_armor_trim_smithing_template.png differ diff --git a/textures/tide_boots.png b/textures/tide_boots.png new file mode 100644 index 000000000..dc1930f49 Binary files /dev/null and b/textures/tide_boots.png differ diff --git a/textures/tide_chestplate.png b/textures/tide_chestplate.png new file mode 100644 index 000000000..ae5a219cc Binary files /dev/null and b/textures/tide_chestplate.png differ diff --git a/textures/tide_helmet.png b/textures/tide_helmet.png new file mode 100644 index 000000000..4e08461ca Binary files /dev/null and b/textures/tide_helmet.png differ diff --git a/textures/tide_leggings.png b/textures/tide_leggings.png new file mode 100644 index 000000000..8b9ec043f Binary files /dev/null and b/textures/tide_leggings.png differ diff --git a/textures/vex_armor_trim_smithing_template.png b/textures/vex_armor_trim_smithing_template.png new file mode 100644 index 000000000..ec077551b Binary files /dev/null and b/textures/vex_armor_trim_smithing_template.png differ diff --git a/textures/vex_boots.png b/textures/vex_boots.png new file mode 100644 index 000000000..2180fbe77 Binary files /dev/null and b/textures/vex_boots.png differ diff --git a/textures/vex_chestplate.png b/textures/vex_chestplate.png new file mode 100644 index 000000000..77ab1e0f6 Binary files /dev/null and b/textures/vex_chestplate.png differ diff --git a/textures/vex_helmet.png b/textures/vex_helmet.png new file mode 100644 index 000000000..613af3dec Binary files /dev/null and b/textures/vex_helmet.png differ diff --git a/textures/vex_leggings.png b/textures/vex_leggings.png new file mode 100644 index 000000000..d7e179a22 Binary files /dev/null and b/textures/vex_leggings.png differ diff --git a/textures/ward_armor_trim_smithing_template.png b/textures/ward_armor_trim_smithing_template.png new file mode 100644 index 000000000..0cb227c9d Binary files /dev/null and b/textures/ward_armor_trim_smithing_template.png differ diff --git a/textures/ward_boots.png b/textures/ward_boots.png new file mode 100644 index 000000000..2918e54e5 Binary files /dev/null and b/textures/ward_boots.png differ diff --git a/textures/ward_chestplate.png b/textures/ward_chestplate.png new file mode 100644 index 000000000..5767435a0 Binary files /dev/null and b/textures/ward_chestplate.png differ diff --git a/textures/ward_helmet.png b/textures/ward_helmet.png new file mode 100644 index 000000000..02e57103c Binary files /dev/null and b/textures/ward_helmet.png differ diff --git a/textures/ward_leggings.png b/textures/ward_leggings.png new file mode 100644 index 000000000..b25ca08ef Binary files /dev/null and b/textures/ward_leggings.png differ diff --git a/textures/wild_armor_trim_smithing_template.png b/textures/wild_armor_trim_smithing_template.png new file mode 100644 index 000000000..1d3ba516c Binary files /dev/null and b/textures/wild_armor_trim_smithing_template.png differ diff --git a/textures/wild_boots.png b/textures/wild_boots.png new file mode 100644 index 000000000..dc05d4ee3 Binary files /dev/null and b/textures/wild_boots.png differ diff --git a/textures/wild_chestplate.png b/textures/wild_chestplate.png new file mode 100644 index 000000000..6eca1628c Binary files /dev/null and b/textures/wild_chestplate.png differ diff --git a/textures/wild_helmet.png b/textures/wild_helmet.png new file mode 100644 index 000000000..866ef67de Binary files /dev/null and b/textures/wild_helmet.png differ diff --git a/textures/wild_leggings.png b/textures/wild_leggings.png new file mode 100644 index 000000000..f4657ab13 Binary files /dev/null and b/textures/wild_leggings.png differ