Module:Inventory slot/Aliases : Différence entre versions
Sauter à la navigation
Sauter à la recherche
Ligne 239 : | Ligne 239 : | ||
['béton en poudre'] = { 'Béton blanc en poudre', 'Béton blanc en poudre', 'Béton orange en poudre', 'Béton magenta en poudre', 'Béton bleu clair en poudre', 'Béton jaune en poudre', 'Béton vert clair en poudre', 'Béton rose en poudre', 'Béton gris en poudre', 'Béton gris clair en poudre', 'Béton cyan en poudre', 'Béton violet en poudre', 'Béton bleu en poudre', 'Béton bleu en poudre', 'Béton marron en poudre', 'Béton marron en poudre', 'Béton vert en poudre', 'Béton rouge en poudre', 'Béton noir en poudre', 'Béton noir en poudre' }, | ['béton en poudre'] = { 'Béton blanc en poudre', 'Béton blanc en poudre', 'Béton orange en poudre', 'Béton magenta en poudre', 'Béton bleu clair en poudre', 'Béton jaune en poudre', 'Béton vert clair en poudre', 'Béton rose en poudre', 'Béton gris en poudre', 'Béton gris clair en poudre', 'Béton cyan en poudre', 'Béton violet en poudre', 'Béton bleu en poudre', 'Béton bleu en poudre', 'Béton marron en poudre', 'Béton marron en poudre', 'Béton vert en poudre', 'Béton rouge en poudre', 'Béton noir en poudre', 'Béton noir en poudre' }, | ||
} | } | ||
+ | -- "Tout" accordé différemment dans certains cas | ||
+ | local tout = { | ||
+ | ['champignons'] = 'Tous', | ||
+ | ['pierre taillée'] = 'Toute', | ||
+ | ['fleur'] = 'Toute', | ||
+ | ['dalle de pierre'] = 'Toute', | ||
+ | ['bûche écorcée'] = 'Toute', | ||
+ | } | ||
+ | -- "Même" accordé différemment dans certains cas | ||
+ | local meme = { | ||
+ | ['champignons'] = 'Mêmes', | ||
+ | } | ||
+ | |||
table.insert( itemVariants['colorant'], 1, 'Teinture blanche' ) | table.insert( itemVariants['colorant'], 1, 'Teinture blanche' ) | ||
table.insert( itemVariants['colorant'], 1, 'Poudre d\'os' ) | table.insert( itemVariants['colorant'], 1, 'Poudre d\'os' ) |
Version du 4 janvier 2020 à 19:31
La documentation pour ce module peut être créée à Module:Inventory slot/Aliases/doc
local coloredDyes = { 'Teinture orange', 'Teinture magenta', 'Teinture bleu clair', 'Jaune pissenlit', 'Teinture vert clair', 'Teinture rose', 'Teinture grise', 'Teinture gris clair', 'Teinture cyan', 'Teinture violette', 'Lapis-lazuli', 'Teinture bleue', 'Fèves de cacao', 'Teinture marron', 'Vert de cactus', 'Rouge de rose', 'Poche d\'encre', 'Teinture noire', } local aliases = { -- Common fuel types for furnace -- ['Tout combustible'] = { 'Charbon', 'Charbon de bois', { title = 'Bûche', name = 'Bûche' }, { title = 'Planches', name = 'Planches de chêne' }, 'Bloc de charbon' }, ['Tout outil en or'] = { 'Pioche en or', 'Hache en or', 'Pelle en or', 'Houe en or' }, ['Tout outil en bois'] = { 'Pioche en bois', 'Hache en bois', 'Pelle en bois', 'Houe en bois' }, ['Tout outil en pierre'] = { 'Pioche en pierre', 'Hache en pierre', 'Pelle en pierre', 'Houe en pierre' }, ['Tout outil en fer'] = { 'Pioche en fer', 'Hache en fer', 'Pelle en fer', 'Houe en fer' }, ['Tout outil en diamant'] = { 'Pioche en diamant', 'Hache en diamant', 'Pelle en diamant', 'Houe en diamant' }, ['Toute armure en cuir'] = { 'Chapeau en cuir', 'Tunique en cuir', 'Pantalon en cuir', 'Bottes en cuir' }, ['Toute armure en or'] = { 'Casque en or', 'Plastron en or', 'Jambières en or', 'Bottes en or' }, ['Toute armure en cotte de mailles'] = { 'Casque de mailles', 'Cotte de mailles', 'Jambières de mailles', 'Bottes de mailles' }, ['Toute armure en fer'] = { 'Casque en diamant', 'Plastron en diamant', 'Jambières en diamant', 'Bottes en diamant' }, ['Toute armure en diamant'] = { 'Casque en diamant', 'Plastron en diamant', 'Jambières en diamant', 'Bottes en diamant' }, ['Armure en fer'] = { 'Casque en fer', 'Plastron en fer', 'Jambières en fer', 'Bottes en fer' }, ['Armure en or'] = { 'Casque en or', 'Plastron en or', 'Jambières en or', 'Bottes en or' }, ['Armure en mailles'] = { 'Casque de mailles', 'Cotte de mailles', 'Jambières de mailles', 'Bottes de mailles' }, -- Display names -- ['Champignon brun'] = { title = 'Champignon brun', name = 'Champignon brun' }, ['Bloc de champignon brun'] = { title = 'Bloc de champignon', name = 'Bloc de champignon brun' }, ['Bloc d\'argile'] = { title = 'Bloc d\'argile', name = 'Bloc d\'argile' }, ['Cadre de portail de l\'End'] = { title = 'Portail de l\'End', name = 'Cadre de portail de l\'End' }, ['Pastèque'] = { title = 'Pastèque', name = 'Pastèque' }, ['Brique du Nether'] = { title = 'Brique du Nether', name = 'Brique du Nether' }, ['Champignon rouge'] = { title = 'Champignon rouge', name = 'Champignon rouge' }, ['Bloc de champignon rouge'] = { title = 'Bloc de champignon', name = 'Bloc de champignon rouge' }, ['Bloc de neige'] = { title = 'Bloc de neige', name = 'Bloc de neige' }, ['Bouton en pierre'] = { title = 'Bouton en pierre', name = 'Bouton en pierre' }, ['Élytres cassées'] = { title = '&eÉlytres', name = 'Élytres cassées' }, ['Bloc de structure'] = { title = '&d', name = 'Bloc de structure' }, ['Pomme dorée enchantée'] = { title = '&dPomme dorée enchantée', name = 'Pomme dorée enchantée' }, ['Disque 13'] = { title = '&b', name = 'Disque 13' }, ['Disque cat'] = { title = '&b', name = 'Disque cat' }, ['Disque blocks'] = { title = '&b', name = 'Disque blocks' }, ['Disque chirp'] = { title = '&b', name = 'Disque chirp' }, ['Disque far'] = { title = '&b', name = 'Disque far' }, ['Disque mall'] = { title = '&b', name = 'Disque mall' }, ['Disque mellohi'] = { title = '&b', name = 'Disque mellohi' }, ['Disque stal'] = { title = '&b', name = 'Disque stal' }, ['Disque strad'] = { title = '&b', name = 'Disque strad' }, ['Disque ward'] = { title = '&b', name = 'Disque ward' }, ['Disque 11'] = { title = '&b', name = 'Disque 11' }, ['Disque wait'] = { title = '&b', name = 'Disque wait' }, -- Armes -- ['Trident'] = { name = 'Trident', text = '/&7 Dans la main principale :/ &2 1.1 de vitesse d\'attaque/ &2 9 de points d\'attaque'}, -- Potions -- ['Potion banale'] = { name = 'Potion banale', text = '&7Sans effet' }, ['Fiole d\'eau'] = { name = 'Fiole d\'eau', text = '&7Sans effet' }, ['Potion étrange'] = { name = 'Potion étrange', text = '&7Sans effet' }, ['Potion épaisse'] = { name = 'Potion épaisse', text = '&7Sans effet' }, ['Potion non fabricable'] = { name = 'Potion non fabricable', text = '&7Sans effet' }, ['Potion banale jetable'] = { name = 'Potion banale jetable', text = '&7Sans effet' }, ['Fiole d\'eau jetable'] = { name = 'Fiole d\'eau jetable', text = '&7Sans effet' }, ['Potion étrange jetable'] = { name = 'Potion étrange jetable', text = '&7Sans effet' }, ['Potion épaisse jetable'] = { name = 'Potion épaisse jetable', text = '&7Sans effet' }, ['Potion étrange jetable'] = { name = 'Potion étrange jetable', text = '&7Sans effet' }, ['Potion jetable non fabricable'] = { name = 'Potion jetable non fabricable', text = '&7Sans effet' }, ['Potion banale persistante'] = { name = 'Potion banale persistante', text = '&7Sans effet' }, ['Fiole d\'eau persistante'] = { name = 'Fiole d\'eau persistante', text = '&7Sans effet' }, ['Potion étrange persistante'] = { name = 'Potion étrange persistante', text = '&7Sans effet' }, ['Potion épaisse persistante'] = { name = 'Potion épaisse persistante', text = '&7Sans effet' }, ['Potion étrange persistante'] = { name = 'Potion étrange persistante', text = '&7Sans effet' }, ['Potion persistante non fabricable'] = { name = 'Potion persistante non fabricable', text = '&7Sans effet' }, ['Flèche spéciale'] = { name = 'Flèche spéciale', text = '&7Sans effet' }, ['Flèche à effet'] = { name = 'Flèche à effet', text = '&7Sans effet' }, ['Flèche à eau'] = { name = 'Flèche à eau', text = '&7Sans effet' }, ['Flèche spéciale non fabricable'] = { name = 'Flèche spéciale non fabricable', text = '&7Sans effet' }, ['Flèche à effet non fabricable'] = { name = 'Flèche à effet non fabricable', text = '&7Sans effet' }, ['Potion du Maître Tortue'] = { name = 'Potion du Maître Tortue', text = '&cLenteur IV (1:00)/&9Résistance III (1:00)' }, ['Potion du Maître Tortue allongée'] = { name = 'Potion du Maître Tortue', text = '&cLenteur IV (3:00)/&9Résistance III (3:00)' }, ['Potion du Maître Tortue améliorée'] = { name = 'Potion du Maître Tortue', text = '&cLenteur VI (1:00)/&9Résistance IV (1:00)' }, ['Potion du Maître Tortue jetable'] = { name = 'Potion du Maître Tortue jetable', text = '&cLenteur IV (1:00)/&9Résistance IIIV (1:00)' }, ['Potion du Maître Tortue jetable allongée'] = { name = 'Potion du Maître Tortue jetable', text = '&cLenteur IV (3:00)/&9Résistance III (3:00)' }, ['Potion du Maître Tortue jetable améliorée'] = { name = 'Potion du Maître Tortue jetable', text = '&cLenteur VI (1:00)/&9Résistance IV (1:00)' }, ['Potion du Maître Tortue persistante'] = { name = 'Potion du Maître Tortue persistante', text = '&cLenteur IV (0:15)/&9Résistance III (0:15)' }, ['Potion du Maître Tortue persistante allongée'] = { name = 'Potion du Maître Tortue persistante', text = '&cLenteur IV (0:45)/&9Résistance III (0:45)' }, ['Potion du Maître Tortue persistante améliorée'] = { name = 'Potion du Maître Tortue persistante', text = '&cLenteur VI (45:15)/&9Résistance IV (0:15)' }, ['Flèche du Maître Tortue'] = { name = 'Flèche du Maître Tortue', text = '&cLenteur IV (0:07)/&9Résistance III (0:07)' }, ['Flèche du Maître Tortue allongée'] = { name = 'Flèche du Maître Tortue', text = '&cLenteur IV (0:22)/&9Résistance III (0:22)' }, ['Flèche du Maître Tortue améliorée'] = { name = 'Flèche du Maître Tortue', text = '&cLenteur VI (0:07)/&9Résistance IV (0:07)' }, } -- Tooltip colors -- local yellowTooltips = { 'Fiole d\'expérience', 'Tête de Creeper', 'Élytres endommagées', 'Tête de dragon', 'Souffle de dragon', 'Élytres', 'Livre enchanté', 'Tête', 'Cœur de la mer', 'Coeur de la mer', 'Étoile du Nether', 'Crâne de squelette', 'Totem d\'immortalité', 'Crâne de Wither squelette', 'Tête de zombie', } for _, name in ipairs( yellowTooltips ) do aliases[name] = { title = '&e', name = name } end local aquaTooltips = { 'Balise', 'Conduit', 'Cristal de l\'End', 'Pomme dorée', } for _, name in ipairs( aquaTooltips ) do aliases[name] = { title = '&b', name = name } end local lightPurpleTooltips = { 'Bloc de commande en mode Chaîne', 'Bloc de commande en mode Impulsion', 'Oeuf de dragon', 'Bloc de commande en mode Répétition', 'Bloc de structure', 'Bloc de puzzle', } for _, name in ipairs( lightPurpleTooltips ) do aliases[name] = { title = '&d', name = name } end -- Animated icons -- local animatedIcons = { 'Fire', 'Heat Block', 'Magma Block', 'Prismarine', 'Prismarine Slab', 'Prismarine Stairs', 'Prismarine Wall', 'Sea Lantern', 'Stonecutter', } for _, icon in ipairs( animatedIcons ) do aliases[icon] = icon .. '.gif' end -- Command blocks are both animated and purple -- local commandBlocks = { 'Command Block', 'Chain Command Block', 'Repeating Command Block', } for _, name in ipairs( commandBlocks ) do aliases[name] = { title = '&d', name = name .. '.gif' } end -- Tools and weapons -- local tools = { {'en bois', 'Épée', 1.6, 4 }, {'en pierre', 'Épée', 1.6, 5 }, {'en fer', 'Épée', 1.6, 4 }, {'en or', 'Épée', 1.6, 7 }, {'en diamant', 'Épée', 1.6, 6 }, {'en bois', 'Pioche', 1.2, 2 }, {'en pierre', 'Pioche', 1.2, 3 }, {'en fer', 'Pioche', 1.2, 4 }, {'en or', 'Pioche', 1.2, 2 }, {'en diamant', 'Pioche', 1.2, 5 }, {'en bois', 'Hache', 0.8, 7 }, {'en pierre', 'Hache', 0.8, 9 }, {'en fer', 'Hache', 0.9, 9 }, {'en or', 'Hache', 1, 7 }, {'en diamant', 'Hache', 1, 9 }, {'en bois', 'Pelle', 1, 2.5 }, {'en pierre', 'Pelle', 1, 3.5 }, {'en fer', 'Pelle', 1, 4.5 }, {'en or', 'Pelle', 1, 2.5 }, {'en diamant', 'Pelle', 1, 5.5 }, {'en bois', 'Houe', 1, 1 }, {'en pierre', 'Houe', 2, 1 }, {'en fer', 'Houe', 3, 1 }, {'en or', 'Houe', 1, 1 }, {'en diamant', 'Houe', 4, 1 } } local materialGroups = {} local toolGroups = {} for _, toolProps in ipairs( tools ) do local aliasName = toolProps[1] .. ' ' .. toolProps[2] aliases[aliasName] = { title = aliasName, name = aliasName, text = '/&7When in main hand:/ &2' .. toolProps[3] .. ' Attack Speed/ &2' .. toolProps[4] .. ' Attack Damage' } local materialGroup = toolProps[1]:lower(); local toolGroup = toolProps[2]:lower(); if toolProps[2] ~= 'Sword' then if materialGroups[materialGroup] == nil then materialGroups[materialGroup] = {} end table.insert( materialGroups[materialGroup], aliases[aliasName] ) end if toolGroups[toolGroup] == nil then toolGroups[toolGroup] = {} end table.insert( toolGroups[toolGroup], aliases[aliasName] ) end for materialGroup, items in pairs( materialGroups ) do aliases['Any ' .. materialGroup .. ' tools'] = items end for toolGroup, items in pairs( toolGroups ) do aliases['Any ' .. toolGroup] = items end -- Lists of item variants -- local itemVariants = { ['colorant'] = mw.clone( coloredDyes ), ['fleur'] = { 'Pissenlit', 'Coquelicot', 'Orchidée bleue', 'Allium', 'Houstonie bleue', 'Tulipe rouge', 'Tulipe orange', 'Tulipe blanche', 'Tulipe rose', 'Marguerite', 'Bleuet', 'Muguet', 'Rose de Wither' }, ['bloc de terre cuite colorée'] = { 'Terre cuite blanche', 'Terre cuite blanche', 'Terre cuite orange', 'Terre cuite magenta', 'Terre cuite bleu clair', 'Terre cuite jaune', 'Terre cuite vert clair', 'Terre cuite rose', 'Terre cuite grise', 'Terre cuite gris clair', 'Terre cuite cyan', 'Terre cuite violette', 'Terre cuite bleue', 'Terre cuite bleue', 'Terre cuite marron', 'Terre cuite marron', 'Terre cuite verte', 'Terre cuite rouge', 'Terre cuite noire', 'Terre cuite noire', }, ['champignons'] = { { title = 'Champignons', name = 'Champignon rouge' }, { title = 'Champignons', name = 'Champignon brun' } }, ['grès rouge'] = { 'Grès rouge', 'Grès rouge sculpté', 'Grès rouge poli' }, ['grès'] = { 'Grès', 'Grès sculpté', 'Grès poli' }, ['pierre taillée'] = { 'Pierre taillée', 'Pierre taillée moussue', 'Pierre taillée craquelée', 'Pierre sculptée' }, ['dalle de pierre'] = { 'Dalle en pierre', 'Dalle en grès', 'Dalle en grès rouge', 'Dalle de pierres', 'Dalle en briques', 'Dalle en pierre taillée', 'Dalle en briques du Nether', 'Dalle de quartz', 'Dalle de purpur' }, ['bloc de quartz'] = { 'Bloc de quartz', 'Bloc de quartz sculpté', 'Pilier de quartz' }, ['bloc de purpur'] = { 'Bloc de purpur', 'Bloc de purpur sculpté' }, ['bûche écorcée'] = { 'Bûche de chêne écorcée', 'Bûche de sapin écorcée', 'Bûche de bouleau écorcée', 'Bûche d\'acajou écorcée', 'Bûche d\'acacia écorcée', 'Bûche de chêne noir écorcée' }, ['bois écorcé'] = { 'Bois de chêne écorcé', 'Bois de sapin écorcé', 'Bois de bouleau écorcé', 'Bois d\'acajou écorcé', 'Bois d\'acacia écorcé', 'Bois de chêne noir écorcé' }, ['béton en poudre'] = { 'Béton blanc en poudre', 'Béton blanc en poudre', 'Béton orange en poudre', 'Béton magenta en poudre', 'Béton bleu clair en poudre', 'Béton jaune en poudre', 'Béton vert clair en poudre', 'Béton rose en poudre', 'Béton gris en poudre', 'Béton gris clair en poudre', 'Béton cyan en poudre', 'Béton violet en poudre', 'Béton bleu en poudre', 'Béton bleu en poudre', 'Béton marron en poudre', 'Béton marron en poudre', 'Béton vert en poudre', 'Béton rouge en poudre', 'Béton noir en poudre', 'Béton noir en poudre' }, } -- "Tout" accordé différemment dans certains cas local tout = { ['champignons'] = 'Tous', ['pierre taillée'] = 'Toute', ['fleur'] = 'Toute', ['dalle de pierre'] = 'Toute', ['bûche écorcée'] = 'Toute', } -- "Même" accordé différemment dans certains cas local meme = { ['champignons'] = 'Mêmes', } table.insert( itemVariants['colorant'], 1, 'Teinture blanche' ) table.insert( itemVariants['colorant'], 1, 'Poudre d\'os' ) for aliasName, aliasItems in pairs( itemVariants ) do aliases[(tout[aliasName] or 'Tout') .. ' ' .. aliasName] = aliasItems aliases[(meme[aliasName] or 'Même') .. ' ' .. aliasName] = aliasItems end -- Discs -- local discs = { '13', 'Cat', 'Blocks', 'Chirp', 'Far', 'Mall', 'Mellohi', 'Stal', 'Strad', 'Ward', '11', 'Wait' } for _, disc in ipairs( discs ) do local name = 'Music Disc ' .. disc aliases[name] = { title = '&bMusic Disc', name = name, text = '&7C418 - ' .. disc } end -- Damaged armor, tools and weapons -- local damagedItems = { 'Arrow Loaded Crossbow', 'Bow', 'Carrot on a Stick', 'Chainmail Boots', 'Chainmail Chestplate', 'Chainmail Helmet', 'Chainmail Leggings', 'Crossbow', 'Diamond Axe', 'Diamond Boots', 'Diamond Chestplate', 'Diamond Helmet', 'Diamond Hoe', 'Diamond Leggings', 'Diamond Pickaxe', 'Diamond Shovel', 'Diamond Sword', 'Elytra', 'Firework Loaded Crossbow', 'Fishing Rod', 'Flint and Steel', 'Golden Axe', 'Golden Boots', 'Golden Chestplate', 'Golden Helmet', 'Golden Hoe', 'Golden Leggings', 'Golden Pickaxe', 'Golden Shovel', 'Golden Sword', 'Iron Axe', 'Iron Boots', 'Iron Chestplate', 'Iron Helmet', 'Iron Hoe', 'Iron Leggings', 'Iron Pickaxe', 'Iron Shovel', 'Iron Sword', 'Leather Boots', 'Leather Tunic', 'Leather Cap', 'Leather Pants', 'Shears', 'Shield', 'Stone Axe', 'Stone Hoe', 'Stone Pickaxe', 'Stone Shovel', 'Stone Sword', 'Wooden Axe', 'Wooden Hoe', 'Wooden Pickaxe', 'Wooden Shovel', 'Wooden Sword' } for _, item in ipairs( damagedItems ) do local name = 'Damaged ' .. item aliases[name] = { title = item, name = name } end -- Banners and colored items -- local patterns = { 'Base Dexter Canton', 'Base', 'Base Gradient', 'Base Indented', 'Base Sinister Canton', 'Bend', 'Bend Sinister', 'Bordure', 'Bordure Indented', 'Chevron', 'Chief Dexter Canton', 'Chief', 'Chief Indented', 'Chief Sinister Canton', 'Creeper Charge', 'Cross', 'Fess', 'Field Masoned', 'Flower Charge', 'Globe', 'Gradient', 'Inverted Chevron', 'Lozenge', 'Thing', 'Pale', 'Pale Dexter', 'Pale Sinister', 'Paly', 'Per Bend', 'Per Bend Inverted', 'Per Bend Sinister', 'Per Bend Sinister Inverted', 'Per Fess', 'Per Fess Inverted', 'Per Pale', 'Per Pale Inverted', 'Roundel', 'Saltire', 'Skull Charge' } local colors = { 'White', 'Orange', 'Magenta', 'Light Blue', 'Yellow', 'Lime', 'Pink', 'Gray', 'Light Gray', 'Cyan', 'Purple', 'Blue', 'Brown', 'Green', 'Red', 'Black' } -- Firework Stars -- local fireworkStar = {} for _, color in ipairs( colors ) do local name = color .. ' Firework Star' aliases[name] = { title = 'Firework Star', name = name, text = '&7' .. color } table.insert( fireworkStar, aliases[name] ) for _, pattern in ipairs( patterns ) do name = color .. ' ' .. pattern .. ' Banner' aliases[name] = { title = 'Banner', name = name, text = '&7' .. color .. ' ' .. pattern } end end aliases['Any Firework Star'] = fireworkStar aliases['Matching Firework Star'] = fireworkStar -- Items that use the sixteen colors -- local coloredItems = { 'Balloon', 'Banner', 'Bed', 'Carpet', 'Concrete', 'Concrete Powder', 'Glazed Terracotta', 'Hardened $1 Stained Glass', 'Hardened $1 Stained Glass Pane', 'Shield', 'Shulker Box', 'Stained Glass', 'Stained Glass Pane', 'Wool' } for _, item in ipairs( coloredItems ) do local coloredItemAliases = {} local itemName = '' for _, color in ipairs( colors ) do if item:find( '%$1' ) then itemName = string.gsub( item, '%$1', color ) else itemName = color .. ' ' .. item end table.insert( coloredItemAliases, itemName ) end item = item:gsub( '%$1 ', '') aliases['Any ' .. item] = coloredItemAliases aliases['Matching ' .. item] = coloredItemAliases end -- list of all potions with no effects local noEffects = { 'Water Bottle', 'Awkward Potion', 'Thick Potion', 'Mundane Potion', 'Uncraftable Potion', 'Splash Water Bottle', 'Awkward Splash Potion', 'Thick Splash Potion', 'Mundane Splash Potion', 'Uncraftable Splash Potion', 'Lingering Water Bottle', 'Awkward Lingering Potion', 'Thick Lingering Potion', 'Mundane Lingering Potion', 'Uncraftable Lingering Potion', 'Tipped Arrow', 'Arrow of Splashing', 'Uncraftable Tipped Arrow', } for _, name in ipairs(noEffects) do aliases[name] = { name = name, text = '&7No effects' } end -- start these lists with the no effect items as names are not normal local potionItems = { ['Potion'] = { aliases['Water Bottle'], aliases['Awkward Potion'], aliases['Thick Potion'], aliases['Mundane Potion'], }, ['Splash Potion'] = { aliases['Splash Water Bottle'], aliases['Awkward Splash Potion'], aliases['Thick Splash Potion'], aliases['Mundane Splash Potion'], }, ['Lingering Potion'] = { aliases['Lingering Water Bottle'], aliases['Awkward Lingering Potion'], aliases['Thick Lingering Potion'], aliases['Mundane Lingering Potion'], }, ['Tipped Arrow'] = { aliases['Arrow of Splashing'], }, } -- Potions -- local effects = { -- durations are in the order normal, extended, enhanced {name = 'Regeneration', effect = '&9Regeneration', enhanced = 'II', durations = { normal = { '0:45', '1:30', '0:22' }, lingering = { '0:11', '0:22', '0:05' }, arrow = { '0:05', '0:11', '0:02' }}}, { name = 'Swiftness', effect = '&9Speed', enhanced = 'II', durations = { normal = { '3:00', '8:00', '1:30' }, lingering = { '0:45', '2:00', '0:22' }, arrow = { '0:22', '1:00', '0:11' }}}, { name = 'Fire Resistance', effect = '&9Fire Resistance', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}}, { name = 'Poison', effect = '&cPoison', enhanced = 'II', durations = { normal = { '0:45', '1:30', '0:21' }, lingering = { '0:11', '0:22', '0:05' }, arrow = { '0:05', '0:11', '0:02' }}}, { name = 'Healing', effect = '&9Instant Health', enhanced = 'II' }, { name = 'Night Vision', effect = '&9Night Vision', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}}, { name = 'Weakness', effect = '&cWeakness', durations = { normal = { '1:30', '4:00' }, lingering = { '0:22', '1:00' }, arrow = { '0:11', '0:30' }}}, { name = 'Strength', effect = '&9Strength', enhanced = 'II', durations = { normal = { '3:00', '8:00', '1:30'}, lingering = {'0:45', '2:00', '0:22'}, arrow = { '0:22', '1:00', '0:11' }}}, { name = 'Slowness', effect = '&cSlowness', enhanced = 'IV', durations = { normal = { '1:30', '4:00', '0:20'}, lingering = {'0:22', '1:00', '0:05'}, arrow = { '0:11', '0:30', '0:02' }}}, { name = 'Leaping', effect = '&9Jump Boost', enhanced = 'II', durations = { normal = { '3:00', '8:00', '1:30' }, lingering = {'0:45', '2:00', '0:22'}, arrow = { '0:22', '1:00', '0:11' }}}, { name = 'Harming', effect = '&cInstant Damage', enhanced = 'II' }, { name = 'Water Breathing', effect = '&9Water Breathing', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}}, { name = 'Invisibility', effect = '&9Invisibility', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}}, { name = 'Slow Falling', effect = '&9Slow Falling', durations = { normal = { '1:30', '4:00' }, lingering = { '0:22', '1:00' }, arrow = { '0:11', '0:30' }}}, { name = 'Luck', effect = '&9Luck', durations = { normal = { '5:00' }, lingering = { '1:15' }, arrow = { '0:37' }}}, { name = 'Decay', effect = '&cWither', durations = { normal = { '0:40' }, lingering = { '0:10' }, arrow = { '0:05' }}}, { name = 'the Turtle Master', text = '&cSlowness IV ($1)/&9Resistance III ($1)', enhanced = '&cSlowness VI ($1)/&9Resistance IV ($1)', durations = { normal = { '0:20', '0:40', '0:20' }, lingering = { '0:15', '0:45', '0:15' }, arrow = { '0:07', '0:22', '0:07' }}} } local types = { {name = 'Potion', durations = 'normal', text = 'Potion of '}, {name = 'Splash Potion', durations = 'normal', text = 'Splash Potion of '}, {name = 'Lingering Potion', durations = 'lingering', text = 'Lingering Potion of '}, {name = 'Tipped Arrow', durations = 'arrow', text = 'Arrow of '}, } for _, effect in ipairs(effects) do for _, type in ipairs(types) do -- form name, it will be reused local name = type.text .. effect.name -- if we have durations, add times if effect.durations then local durations = effect.durations[type.durations] -- turtle master is weird, so just do a fancy string replacement if effect.text then aliases[name] = { name = name, text = string.gsub( effect.text, '%$1', durations[1] ) } aliases[name .. ' Extended'] = { name = name, text = string.gsub( effect.text, '%$1', durations[2] ) } aliases[name .. ' Enhanced'] = { name = name, text = string.gsub( effect.enhanced, '%$1', durations[3] ) } else -- we always have normal aliases[name] = { name = name, text = string.format( '%s (%s)', effect.effect, durations[1] ) } -- ensure we have extended if durations[2] then aliases[name .. ' Extended'] = { name = name, text = string.format( '%s (%s)', effect.effect, durations[2] ) } -- and enhanced, currently there is nothing with a duration that can be extended but not enhanced if effect.enhanced then aliases[name .. ' Enhanced'] = { name = name, text = string.format( '%s %s (%s)', effect.effect, effect.enhanced, durations[3] ) } end end end else -- otherwise its just effect, currently every potion with no duration can be enhanced aliases[name] = { name = name, text = effect.effect} aliases[name .. ' Enhanced'] = { name = name, text = effect.effect .. ' ' .. effect.enhanced } end -- add the base potion to the any list table.insert(potionItems[type.name], aliases[name]) end end -- build the any lists for item, potionAliases in pairs( potionItems ) do aliases['Any ' .. item] = potionAliases aliases['Matching ' .. item] = potionAliases end -- Wood -- local woods = { 'Oak', 'Spruce', 'Birch', 'Jungle', 'Acacia', 'Dark Oak' } local woodItems = { 'Wood', 'Log', 'Planks', 'Fence Gate', 'Boat', 'wood Door', 'wood Fence', 'wood Button', 'wood Pressure Plate', 'wood Trapdoor', 'wood Slab', 'wood Stairs', 'Stripped $1 Log', 'Stripped $1 Wood', 'Wood Planks', 'Wood Slab', 'Wood Stairs', } for _, item in ipairs( woodItems ) do local itemName = '' local woodAliases = {} for _, wood in ipairs( woods ) do if item:find('wood') then itemName = string.gsub( item, 'wood', wood ) elseif item:find('%$1') then itemName = string.gsub( item, '%$1', wood ) else itemName = wood .. ' ' .. item end table.insert( woodAliases, itemName ) end item = string.gsub( item, '%$1 ', '' ) aliases['Any ' .. item] = woodAliases aliases['Matching ' .. item] = woodAliases end -- Bedrock Edition Items -- local editionItems = { BE = { 'Bow', 'Bucket of Pufferfish', 'Bucket of Tropical Fish', 'Spawn Cat', 'Chest', 'Cobblestone Wall', 'Ender Chest', 'Glass Pane', 'Horn Coral Block', 'Iron Bars', 'Lava', 'Flowing Lava', 'Minecart with Command Block', 'Mossy Cobblestone Wall', 'Oak Fence Gate', 'Observer', 'Spawn Panda', 'Peony', 'Rose Bush', 'Scaffolding', 'Stonecutter', }, LCE = { 'Peony', 'Rose Bush' } } for edition, items in pairs(editionItems) do for _, item in ipairs(items) do local name = item .. ' ' .. edition aliases[name] = { title = item, name = name } end end return aliases