8,282
edits
m (Reverted edits by Diamondback88 (talk) to last revision by [[User:minecraft>Unavailablehoax|minecraft>Unavailablehoax]]) Tag: Rollback |
(Update to 1.21) |
||
Line 1: | Line 1: | ||
local aliases = { | local aliases = { | ||
-- Common fuel types for furnace -- | -- Common fuel types for furnace -- | ||
['Any fuel'] = { 'Coal', 'Charcoal', { title = 'Log', name = 'Oak Log' }, { title = 'Overworld Planks', name = 'Oak Planks' }, 'Block of Coal' }, | ['Any fuel'] = { 'Coal', 'Charcoal', { title = 'Log', name = 'Oak Log' }, { title = 'Overworld Planks', name = 'Oak Planks' }, 'Block of Coal' }, | ||
-- All armor -- | |||
['Any leather armor'] = { 'Leather Cap', 'Leather Tunic', 'Leather Pants', 'Leather Boots' }, | ['Any leather armor'] = { 'Leather Cap', 'Leather Tunic', 'Leather Pants', 'Leather Boots' }, | ||
['Any golden armor'] = { 'Golden Helmet', 'Golden Chestplate', 'Golden Leggings', 'Golden Boots' }, | ['Any golden armor'] = { 'Golden Helmet', 'Golden Chestplate', 'Golden Leggings', 'Golden Boots' }, | ||
Line 13: | Line 10: | ||
['Any diamond armor'] = { 'Diamond Helmet', 'Diamond Chestplate', 'Diamond Leggings', 'Diamond Boots' }, | ['Any diamond armor'] = { 'Diamond Helmet', 'Diamond Chestplate', 'Diamond Leggings', 'Diamond Boots' }, | ||
['Any netherite armor'] = { 'Netherite Helmet', 'Netherite Chestplate', 'Netherite Leggings', 'Netherite Boots' }, | ['Any netherite armor'] = { 'Netherite Helmet', 'Netherite Chestplate', 'Netherite Leggings', 'Netherite Boots' }, | ||
-- Stones -- | |||
-- | |||
['Any Cobblestone or Blackstone'] = { 'Cobblestone', 'Blackstone' }, | ['Any Cobblestone or Blackstone'] = { 'Cobblestone', 'Blackstone' }, | ||
['Any stone-tier block'] = { 'Cobblestone', 'Blackstone', 'Cobbled Deepslate' }, | ['Any stone-tier block'] = { 'Cobblestone', 'Blackstone', 'Cobbled Deepslate' }, | ||
Line 21: | Line 17: | ||
-- Display names -- | -- Display names -- | ||
['Broken Elytra'] = { title = '&eElytra', name = 'Broken Elytra' }, | ['Broken Elytra'] = { title = '&eElytra', name = 'Broken Elytra' }, | ||
['Button'] = { title = 'Button', name = 'Stone Button'}, | ['Button'] = { title = 'Button', name = 'Stone Button'}, | ||
['Wooden Button'] = { title = 'Button', name = 'Oak Button'}, | ['Wooden Button'] = { title = 'Button', name = 'Oak Button'}, | ||
Line 40: | Line 23: | ||
['Firework Loaded Crossbow'] = { title = 'Crossbow', name = 'Firework Loaded Crossbow' }, | ['Firework Loaded Crossbow'] = { title = 'Crossbow', name = 'Firework Loaded Crossbow' }, | ||
['Damaged Firework Loaded Crossbow'] = { title = 'Crossbow', name = 'Damaged Firework Loaded Crossbow' }, | ['Damaged Firework Loaded Crossbow'] = { title = 'Crossbow', name = 'Damaged Firework Loaded Crossbow' }, | ||
[' | ['Ominous Banner'] = { title = '&6&oOminous Banner', name = 'Ominous Banner', text = | ||
'&7Cyan Lozenge/&7Light Gray Base/&7Gray Pale/&7Light Gray Bordure/&7Black Fess/&7Light Gray Per Fess'}, | '&7Cyan Lozenge/&7Light Gray Base/&7Gray Pale/&7Light Gray Bordure/&7Black Fess/&7Light Gray Per Fess'}, | ||
['Half Filled Bundle'] = { title = 'Bundle', name = 'Half Filled Bundle' }, | ['Half Filled Bundle'] = { title = 'Bundle', name = 'Half Filled Bundle' }, | ||
['Filled Bundle'] = { title = 'Bundle', name = 'Filled Bundle' }, | ['Filled Bundle'] = { title = 'Bundle', name = 'Filled Bundle' }, | ||
-- | -- Empty display name -- | ||
['Trident'] = { name = 'Trident', text = '/&7 When in | ['debug_fourj_item'] = { title = '\226\128\140', name = 'debug_fourj_item' }, | ||
['Trident BE'] = { name = 'Trident', text = '/&9 +8 Attack Damage'}, | |||
-- Equipment with custom rarity -- | |||
['Trident'] = { title = '&bTrident', name = 'Trident', text = '/&7 When in Main Hand:/ &29 Attack Damage/ &21.1 Attack Speed'}, | |||
['Damaged Trident'] = { title = '&bTrident', name = 'Damaged Trident', text = '/&7 When in Main Hand:/ &29 Attack Damage/ &21.1 Attack Speed'}, | |||
['Trident BE'] = { title = '&bTrident', name = 'Trident', text = '/&9 +8 Attack Damage'}, | |||
['Mace'] = { title = '&dMace', name = 'Mace', text = '/&7 When in Main Hand:/ &26 Attack Damage/ &20.6 Attack Speed'}, | |||
['Damaged Mace'] = { title = '&dMace', name = 'Damaged Mace', text = '/&7 When in Main Hand:/ &26 Attack Damage/ &20.6 Attack Speed'}, | |||
['Mace BE'] = { title = '&dMace', name = 'Mace', text = '/&9 +7 Attack Damage'}, | |||
["Damaged Elytra"] = { title = "&dElytra", name = "Damaged Elytra" }, | |||
["Damaged Chainmail Boots"] = { title = "&eChainmail Boots", name = "Damaged Chainmail Boots" }, | |||
["Damaged Chainmail Chestplate"] = { title = "&eChainmail Chestplate", name = "Damaged Chainmail Chestplate" }, | |||
["Damaged Chainmail Helmet"] = { title = "&eChainmail Helmet", name = "Damaged Chainmail Helmet" }, | |||
["Damaged Chainmail Leggings"] = { title = "&eChainmail Leggings", name = "Damaged Chainmail Leggings" }, | |||
-- Ominous Bottles -- | |||
['Ominous Bottle'] = { title = '&eOminous Bottle', name = 'Ominous Bottle', text = '&9Bad Omen (01:40:00)' }, | |||
['Ominous Bottle II'] = { title = '&eOminous Bottle', name = 'Ominous Bottle', text = '&9Bad Omen II (01:40:00)' }, | |||
['Ominous Bottle III'] = { title = '&eOminous Bottle', name = 'Ominous Bottle', text = '&9Bad Omen III (01:40:00)' }, | |||
['Ominous Bottle IV'] = { title = '&eOminous Bottle', name = 'Ominous Bottle', text = '&9Bad Omen IV (01:40:00)' }, | |||
['Ominous Bottle V'] = { title = '&eOminous Bottle', name = 'Ominous Bottle', text = '&9Bad Omen V (01:40:00)' }, | |||
-- Bedrock and Education Edition display names -- | -- Bedrock and Education Edition display names -- | ||
['Buried Treasure Map BE'] = { title = 'Treasure Map', name = 'Buried Treasure Map BE' }, | |||
['Elytra Wings'] = { title = 'Elytra Wings', name = 'Elytra' }, | ['Elytra Wings'] = { title = 'Elytra Wings', name = 'Elytra' }, | ||
[' | ['Glowing Obsidian'] = { title = 'tile.glowingobsidian.name', name = 'Glowing Obsidian' }, | ||
['Map (no markers)'] = { title = 'Map', name = 'Map', text = 'Display Markers: &cNo' }, | ['Map (no markers)'] = { title = 'Map', name = 'Map', text = 'Display Markers: &cNo' }, | ||
['Locator Map'] = { title = 'Map', name = 'Map', text = 'Display Markers: &aYes' }, | ['Locator Map'] = { title = 'Map', name = 'Map', text = 'Display Markers: &aYes' }, | ||
['Shrub BE'] = { title = 'Fern', name = 'Short Grass' }, | |||
['Unknown'] = { title = 'Unknown', name = 'Missing Tile' }, | |||
['info_update'] = { title = 'tile.info_update.name', name = 'Missing Tile' }, | |||
['info_update2'] = { title = 'tile.info_update2.name', name = 'Missing Tile' }, | |||
['reserved6'] = { title = 'tile.reserved6.name', name = 'Missing Tile' }, | |||
['Smooth Purpur'] = { title = 'tile.deprecated_purpur_block_2.name', name = 'Smooth Purpur' }, | |||
['Beacon BE'] = { title = '&bBeacon', name = 'Beacon BE' }, | |||
['Conduit BE'] = { title = '&eConduit', name = 'Conduit BE' }, | |||
['Dragon Egg BE'] = { title = '&dDragon Egg', name = 'Dragon Egg BE' }, | |||
['Skeleton Skull BE'] = { title = '&eSkeleton Skull', name = 'Skeleton Skull BE' }, | |||
['Wither Skeleton Skull BE'] = { title = '&bWither Skeleton Skull', name = 'Wither Skeleton Skull BE' }, | |||
['Zombie Head BE'] = { title = '&eZombie Head', name = 'Zombie Head BE' }, | |||
['Player Head BE'] = { title = '&ePlayer Head', name = 'Player Head BE' }, | |||
['Creeper Head BE'] = { title = '&eCreeper Head', name = 'Creeper Head BE' }, | |||
['Dragon Head BE'] = { title = '&dDragon Head', name = 'Dragon Head BE' }, | |||
-- Chemistry -- | -- Chemistry -- | ||
Line 62: | Line 80: | ||
['Matching Chloride'] = { 'Cerium Chloride', 'Mercuric Chloride', 'Potassium Chloride', 'Tungsten Chloride' }, | ['Matching Chloride'] = { 'Cerium Chloride', 'Mercuric Chloride', 'Potassium Chloride', 'Tungsten Chloride' }, | ||
['Matching Colored Torch'] = { 'Blue Torch', 'Red Torch', 'Purple Torch', 'Green Torch' }, | ['Matching Colored Torch'] = { 'Blue Torch', 'Red Torch', 'Purple Torch', 'Green Torch' }, | ||
[' | |||
-- April Fools' Day jokes -- | |||
['New Thing Banner Pattern'] = { title = '&dBanner Pattern', name = 'New Thing Banner Pattern', text = '&7New Thing'}, | |||
-- Note: These can't use this module's default color handling because potato peels have no white variant but do include the uncolored variant in recipes | |||
['Any Potato Peels'] = { 'Potato Peels', 'Light Gray Potato Peels', 'Gray Potato Peels', 'Black Potato Peels', 'Brown Potato Peels', 'Red Potato Peels', 'Orange Potato Peels', 'Yellow Potato Peels', 'Lime Potato Peels', 'Green Potato Peels', 'Cyan Potato Peels', 'Light Blue Potato Peels', 'Blue Potato Peels', 'Purple Potato Peels', 'Magenta Potato Peels', 'Pink Potato Peels' }, | |||
} | } | ||
-- Tooltip colors -- | -- Tooltip colors -- | ||
local yellowTooltips = { | local yellowTooltips = { | ||
'Bottle o\' Enchanting', | |||
'Chainmail Boots', | |||
'Chainmail Chestplate', | |||
'Chainmail Helmet', | |||
'Chainmail Leggings', | |||
'Conduit', | |||
'Creeper Charge Banner Pattern', | |||
'Creeper Head', | |||
'Disc Fragment 5', | |||
'Dragon\'s Breath', | |||
'Echo Shard', | |||
'Enchanted Book', | |||
'Goat Horn', | |||
'Heart of the Sea', | |||
'Nautilus Shell', | |||
'Ominous Banner', | |||
'Piglin Head', | |||
'Player Head', | |||
'Recovery Compass', | |||
'Skeleton Skull', | |||
'Sniffer Egg', | |||
'Snout Banner Pattern', | |||
'Totem of Undying', | |||
'Zombie Head', | |||
} | } | ||
for _, name in ipairs( yellowTooltips ) do | for _, name in ipairs( yellowTooltips ) do | ||
Line 89: | Line 120: | ||
local aquaTooltips = { | local aquaTooltips = { | ||
'Beacon', | 'Beacon', | ||
' | 'Enchanted Golden Apple', | ||
' | 'Flow Banner Pattern', | ||
'Guster Banner Pattern', | |||
'Nether Star', | |||
'Skull Charge Banner Pattern', | |||
'Thing Banner Pattern', | |||
'Wither Skeleton Skull', | |||
} | } | ||
for _, name in ipairs( aquaTooltips ) do | for _, name in ipairs( aquaTooltips ) do | ||
Line 96: | Line 132: | ||
end | end | ||
local | local magentaTooltips = { | ||
'Barrier', | |||
'Command Block', | |||
'Chain Command Block', | |||
'Dragon Egg', | 'Dragon Egg', | ||
'Dragon Head', | |||
'Elytra', | |||
'Heavy Core', | |||
'Jigsaw Block', | |||
'Light', | |||
'Repeating Command Block', | |||
'Structure Block', | 'Structure Block', | ||
'Structure Void', | 'Structure Void', | ||
} | } | ||
for _, name in ipairs( | for _, name in ipairs( magentaTooltips ) do | ||
aliases[name] = { title = '&d', name = name } | aliases[name] = { title = '&d', name = name } | ||
end | end | ||
-- Tools and weapons -- | -- Tools and weapons -- | ||
local tools = { | local tools = { | ||
{'Wooden', 'Sword', 1.6 | {'Wooden', 'Sword', 4, 1.6 }, | ||
{'Stone', 'Sword', 1.6 | {'Stone', 'Sword', 5, 1.6 }, | ||
{'Iron', 'Sword', 1. | {'Iron', 'Sword', 6, 1.6 }, | ||
{'Golden', 'Sword', 1.6 | {'Golden', 'Sword', 4, 1.6 }, | ||
{'Diamond', 'Sword', 1.6 | {'Diamond', 'Sword', 7, 1.6 }, | ||
{'Netherite', 'Sword', 1.6 | {'Netherite', 'Sword', 8, 1.6 }, | ||
{'Wooden', 'Pickaxe', 1. | {'Wooden', 'Pickaxe', 2, 1.2 }, | ||
{'Stone', 'Pickaxe', 1.2 | {'Stone', 'Pickaxe', 3, 1.2 }, | ||
{'Iron', 'Pickaxe', 1.2 | {'Iron', 'Pickaxe', 4, 1.2 }, | ||
{'Golden', 'Pickaxe', 1. | {'Golden', 'Pickaxe', 2, 1.2 }, | ||
{'Diamond', 'Pickaxe', 1.2 | {'Diamond', 'Pickaxe', 5, 1.2 }, | ||
{'Netherite', 'Pickaxe', 1.2 | {'Netherite', 'Pickaxe', 6, 1.2 }, | ||
{'Wooden', 'Axe', 0.8 | {'Wooden', 'Axe', 7, 0.8 }, | ||
{'Stone', 'Axe', 0.8 | {'Stone', 'Axe', 9, 0.8 }, | ||
{'Iron', 'Axe', 0. | {'Iron', 'Axe', 9, 0.9 }, | ||
{'Golden', 'Axe', 1 | {'Golden', 'Axe', 7, 1 }, | ||
{'Diamond', 'Axe', 1 | {'Diamond', 'Axe', 9, 1 }, | ||
{'Netherite', 'Axe', 1 | {'Netherite', 'Axe', 10, 1 }, | ||
{'Wooden', 'Shovel' | {'Wooden', 'Shovel', 2.5, 1 }, | ||
{'Stone', 'Shovel' | {'Stone', 'Shovel', 3.5, 1 }, | ||
{'Iron', 'Shovel' | {'Iron', 'Shovel', 4.5, 1 }, | ||
{'Golden', 'Shovel' | {'Golden', 'Shovel', 2.5, 1 }, | ||
{'Diamond', 'Shovel' | {'Diamond', 'Shovel', 5.5, 1 }, | ||
{'Netherite', 'Shovel' | {'Netherite', 'Shovel', 6.5, 1 }, | ||
{'Wooden', 'Hoe', 1, 1 }, | {'Wooden', 'Hoe', 1, 1 }, | ||
{'Stone', 'Hoe', 2 | {'Stone', 'Hoe', 1, 2 }, | ||
{'Iron', 'Hoe', 3 | {'Iron', 'Hoe', 1, 3 }, | ||
{'Golden', 'Hoe', 1, 1 }, | {'Golden', 'Hoe', 1, 1 }, | ||
{'Diamond', 'Hoe', 4 | {'Diamond', 'Hoe', 1, 4 }, | ||
{'Netherite', 'Hoe', 4 | {'Netherite', 'Hoe', 1, 4 } | ||
} | } | ||
Line 246: | Line 194: | ||
local aliasName = toolProps[1] .. ' ' .. toolProps[2] | local aliasName = toolProps[1] .. ' ' .. toolProps[2] | ||
local damagedName = 'Damaged ' .. aliasName | local damagedName = 'Damaged ' .. aliasName | ||
local text = '/&7When in | local text = '/&7When in Main Hand:/ &2' .. toolProps[3] .. ' Attack Damage/ &2' .. toolProps[4] .. ' Attack Speed' | ||
aliases[aliasName] = { title = aliasName, name = aliasName, text = text } | aliases[aliasName] = { title = aliasName, name = aliasName, text = text } | ||
aliases[damagedName] = { title = aliasName, name = damagedName, text = text } | aliases[damagedName] = { title = aliasName, name = damagedName, text = text } | ||
local materialGroup = toolProps[1]:lower() | local materialGroup = toolProps[1]:lower() | ||
local toolGroup = toolProps[2]:lower() | local toolGroup = toolProps[2]:lower() | ||
if toolProps[2] ~= 'Sword' then | if toolProps[2] ~= 'Sword' then | ||
Line 311: | Line 258: | ||
local aliasName = toolProps[1] .. ' ' .. toolProps[2] | local aliasName = toolProps[1] .. ' ' .. toolProps[2] | ||
aliases[aliasName .. ' BE'] = { title = aliasName, name = aliasName, text = '/&9+' .. toolProps[3] .. ' Attack Damage'} | aliases[aliasName .. ' BE'] = { title = aliasName, name = aliasName, text = '/&9+' .. toolProps[3] .. ' Attack Damage'} | ||
end | |||
-- Armor tooltips -- | |||
local head = { | |||
{'Leather Cap', 1 }, | |||
{'Chainmail Helmet', 2 }, | |||
{'Iron Helmet', 2 }, | |||
{'Golden Helmet', 2 }, | |||
{'Diamond Helmet', 3, 2 }, | |||
{'Netherite Helmet', 3, 3, 1 }, | |||
{'Turtle Shell', 2 }, | |||
} | |||
local body = { | |||
{'Leather Tunic', 3 }, | |||
{'Chainmail Chestplate', 5 }, | |||
{'Iron Chestplate', 6 }, | |||
{'Golden Chestplate', 5 }, | |||
{'Diamond Chestplate', 8, 2 }, | |||
{'Netherite Chestplate', 8, 3, 1 }, | |||
} | |||
local legs = { | |||
{'Leather Pants', 2 }, | |||
{'Chainmail Leggings', 4 }, | |||
{'Iron Leggings', 5 }, | |||
{'Golden Leggings', 3 }, | |||
{'Diamond Leggings', 6, 2 }, | |||
{'Netherite Leggings', 6, 3, 1 }, | |||
} | |||
local feet = { | |||
{'Leather Boots', 1 }, | |||
{'Chainmail Boots', 1 }, | |||
{'Iron Boots', 2 }, | |||
{'Golden Boots', 1 }, | |||
{'Diamond Boots', 3, 2 }, | |||
{'Netherite Boots', 3, 3, 1 }, | |||
} | |||
local equipped = { | |||
{'Leather Horse Armor', 3 }, | |||
{'Iron Horse Armor', 5 }, | |||
{'Golden Horse Armor', 7 }, | |||
{'Diamond Horse Armor', 11, 2 }, | |||
{'Wolf Armor', 11 }, | |||
} | |||
local bodyParts = { | |||
{head, "on Head"}, | |||
{body, "on Body"}, | |||
{legs, "on Legs"}, | |||
{feet, "on Feet"}, | |||
{equipped, "equipped"} | |||
} | |||
local trimMaterial = { | |||
{'Quartz', '&h'}, | |||
{'Iron', '&i'}, | |||
{'Netherite', '&j'}, | |||
{'Redstone', '&y'}, | |||
{'Copper', '&z'}, | |||
{'Gold', '&p'}, | |||
{'Emerald', '&q'}, | |||
{'Diamond', '&s'}, | |||
{'Lapis', '&t'}, | |||
{'Amethyst', '&u'}, | |||
{'Resin', '&v'}, | |||
{'Amber', '&6'}, | |||
} | |||
for _, bodyPart in ipairs(bodyParts) do | |||
local items = bodyPart[1] | |||
local bodyPartName = bodyPart[2] | |||
for _, toolProps in ipairs(items) do | |||
local aliasName = toolProps[1] | |||
local damagedName | |||
if string.find(aliasName, "Horse Armor") then | |||
damagedName = aliasName | |||
else | |||
damagedName = 'Damaged ' .. aliasName | |||
end | |||
local text = '/&7When ' .. bodyPartName .. ':/&9+' .. toolProps[2] .. ' Armor/' | |||
if toolProps[3] then | |||
text = text .. '+' .. toolProps[3] .. ' Armor Toughness/' | |||
end | |||
if toolProps[4] then | |||
text = text .. '+' .. toolProps[4] .. ' Knockback Resistance' | |||
end | |||
aliases[aliasName] = { title = aliasName, name = aliasName, text = text } | |||
aliases[damagedName] = { title = aliasName, name = damagedName, text = text } | |||
if bodyPartName ~= "equipped" then | |||
for _, materialType in ipairs( trimMaterial ) do | |||
local trimName = materialType[1] .. ' Trim ' .. aliasName | |||
local trimText = '&7Upgrade:/ ' .. materialType[2] .. 'Armor Trim/ ' .. materialType[1] .. ' Material/' | |||
aliases[trimName] = { title = aliasName, name = trimName, text = trimText .. text } | |||
end | |||
end | |||
end | |||
end | end | ||
-- Lists of item variants -- | -- Lists of item variants -- | ||
local itemVariants = { | local itemVariants = { | ||
[' | ['Small Flower'] = { 'Oxeye Daisy', 'Cornflower', 'Lily of the Valley', 'Wither Rose', 'Red Tulip', 'Orange Tulip', 'White Tulip', 'Pink Tulip', 'Azure Bluet', 'Allium', 'Blue Orchid', 'Poppy', 'Dandelion', 'Torchflower', 'Closed Eyeblossom', 'Open Eyeblossom' }, | ||
['Eyeblossom'] = { 'Closed Eyeblossom', 'Open Eyeblossom' }, | |||
['Mushroom'] = { 'Red Mushroom', 'Brown Mushroom' }, | ['Mushroom'] = { 'Red Mushroom', 'Brown Mushroom' }, | ||
['Quartz Block'] = { 'Block of Quartz', 'Chiseled Quartz Block', 'Quartz Pillar' }, | ['Quartz Block'] = { 'Block of Quartz', 'Chiseled Quartz Block', 'Quartz Pillar' }, | ||
Line 350: | Line 369: | ||
['Sandstone'] = { 'Sandstone', 'Cut Sandstone', 'Chiseled Sandstone', 'Smooth Sandstone' }, | ['Sandstone'] = { 'Sandstone', 'Cut Sandstone', 'Chiseled Sandstone', 'Smooth Sandstone' }, | ||
['Stone Bricks'] = { 'Stone Bricks', 'Mossy Stone Bricks', 'Cracked Stone Bricks', 'Chiseled Stone Bricks' }, | ['Stone Bricks'] = { 'Stone Bricks', 'Mossy Stone Bricks', 'Cracked Stone Bricks', 'Chiseled Stone Bricks' }, | ||
['Stone Slab'] = { 'Stone Slab', ' | ['Stone Slab'] = { 'Stone Slab', 'Cobblestone Slab', 'Mossy Cobblestone Slab', 'Smooth Stone Slab', 'Stone Brick Slab', 'Mossy Stone Brick Slab', | ||
'Granite Slab', 'Polished Granite Slab', 'Diorite Slab', 'Polished Diorite Slab', 'Andesite Slab', 'Polished Andesite Slab', | |||
'Cobbled Deepslate Slab', 'Polished Deepslate Slab', 'Deepslate Brick Slab', 'Deepslate Tile Slab', 'Brick Slab', 'Mud Brick Slab', 'Resin Brick Slab', | |||
'Sandstone Slab', 'Smooth Sandstone Slab', 'Cut Sandstone Slab', 'Red Sandstone Slab', 'Smooth Red Sandstone Slab', 'Cut Red Sandstone Slab', 'Prismarine Slab', 'Prismarine Brick Slab', 'Dark Prismarine Slab', | |||
'Nether Brick Slab', 'Red Nether Brick Slab', 'Blackstone Slab', 'Polished Blackstone Slab', 'Polished Blackstone Brick Slab', 'End Stone Brick Slab', 'Purpur Slab', 'Quartz Slab', 'Smooth Quartz Slab', 'Petrified Oak Slab' }, | |||
['Stone Stairs'] = { 'Stone Stairs', 'Cobblestone Stairs', 'Mossy Cobblestone Stairs', 'Stone Brick Stairs', 'Mossy Stone Brick Stairs', 'Andesite Stairs', 'Polished Andesite Stairs', | ['Stone Stairs'] = { 'Stone Stairs', 'Cobblestone Stairs', 'Mossy Cobblestone Stairs', 'Stone Brick Stairs', 'Mossy Stone Brick Stairs', | ||
' | 'Granite Stairs', 'Polished Granite Stairs', 'Diorite Stairs', 'Polished Diorite Stairs', 'Andesite Stairs', 'Polished Andesite Stairs', | ||
'Cobbled Deepslate Stairs', 'Polished Deepslate Stairs', 'Deepslate Brick Stairs', 'Deepslate Tile Stairs', 'Brick Stairs', 'Mud Brick Stairs', 'Resin Brick Stairs', | |||
'Sandstone Stairs', 'Smooth Sandstone Stairs', 'Red Sandstone Stairs', 'Smooth Red Sandstone Stairs', 'Prismarine Stairs', 'Prismarine Brick Stairs', 'Dark Prismarine Stairs', | |||
'Polished | 'Nether Brick Stairs', 'Red Nether Brick Stairs', 'Blackstone Stairs', 'Polished Blackstone Stairs', 'Polished Blackstone Brick Stairs', 'End Stone Brick Stairs', 'Purpur Stairs', 'Quartz Stairs', 'Smooth Quartz Stairs' }, | ||
['Wall'] = { 'Cobblestone Wall', 'Mossy Cobblestone Wall', 'Stone Brick Wall', 'Mossy Stone Brick Wall', 'Granite Wall', 'Diorite Wall', 'Andesite Wall', | |||
'Cobbled Deepslate Wall', 'Polished Deepslate Wall', 'Deepslate Brick Wall', 'Deepslate Tile Wall', 'Brick Wall', 'Mud Brick Wall', 'Sandstone Wall', 'Red Sandstone Wall', 'Prismarine Wall', | |||
'Nether Brick Wall', 'Red Nether Brick Wall', 'Blackstone Wall', 'Polished Blackstone Wall', 'Polished Blackstone Brick Wall', 'End Stone Brick Wall' }, | |||
['Purpur Block'] = { 'Purpur Block', 'Purpur Pillar' }, | ['Purpur Block'] = { 'Purpur Block', 'Purpur Pillar' }, | ||
['Stone'] = { 'Stone', 'Andesite', 'Granite', 'Diorite', 'Polished Andesite', 'Polished Granite', 'Polished Diorite' }, | ['Stone'] = { 'Stone', 'Andesite', 'Granite', 'Diorite', 'Polished Andesite', 'Polished Granite', 'Polished Diorite' }, | ||
['Resin Block'] = { 'Block of Resin', 'Resin Bricks', 'Chiseled Resin Bricks' }, | |||
['Tulip'] = { 'Red Tulip', 'Orange Tulip', 'White Tulip', 'Pink Tulip' }, | ['Tulip'] = { 'Red Tulip', 'Orange Tulip', 'White Tulip', 'Pink Tulip' }, | ||
['Prismarine'] = { | ['Prismarine'] = { 'Prismarine', 'Prismarine Bricks', 'Dark Prismarine' }, | ||
['Ore'] = { 'Coal Ore', 'Iron Ore', 'Gold Ore', 'Lapis Lazuli Ore', 'Redstone Ore', 'Emerald Ore', 'Diamond Ore', 'Nether Quartz Ore', 'Nether Gold Ore', 'Deepslate Coal Ore', | ['Ore'] = { 'Coal Ore', 'Iron Ore', 'Gold Ore', 'Lapis Lazuli Ore', 'Redstone Ore', 'Emerald Ore', 'Diamond Ore', 'Nether Quartz Ore', 'Nether Gold Ore', 'Deepslate Coal Ore', | ||
'Deepslate Copper Ore', 'Deepslate Emerald Ore', 'Deepslate Iron Ore', 'Deepslate Gold Ore', 'Deepslate Lapis Lazuli Ore', 'Deepslate Redstone Ore', 'Deepslate Diamond Ore'}, | 'Deepslate Copper Ore', 'Deepslate Emerald Ore', 'Deepslate Iron Ore', 'Deepslate Gold Ore', 'Deepslate Lapis Lazuli Ore', 'Deepslate Redstone Ore', 'Deepslate Diamond Ore'}, | ||
Line 372: | Line 395: | ||
['Coral'] = { 'Tube Coral', 'Brain Coral', 'Bubble Coral', 'Fire Coral', 'Horn Coral' }, | ['Coral'] = { 'Tube Coral', 'Brain Coral', 'Bubble Coral', 'Fire Coral', 'Horn Coral' }, | ||
['Coral Fan'] = { 'Tube Coral Fan', 'Brain Coral Fan', 'Bubble Coral Fan', 'Fire Coral Fan', 'Horn Coral Fan' }, | ['Coral Fan'] = { 'Tube Coral Fan', 'Brain Coral Fan', 'Bubble Coral Fan', 'Fire Coral Fan', 'Horn Coral Fan' }, | ||
['Torch'] = { 'Torch', 'Soul Torch' }, | ['Torch'] = { 'Torch', 'Soul Torch' }, | ||
['Lantern'] = { 'Lantern', 'Soul Lantern' }, | ['Lantern'] = { 'Lantern', 'Soul Lantern' }, | ||
Line 386: | Line 406: | ||
['Stone Button'] = { 'Stone Button', 'Polished Blackstone Button' }, | ['Stone Button'] = { 'Stone Button', 'Polished Blackstone Button' }, | ||
['Stone Pressure Plate'] = { 'Stone Pressure Plate', 'Polished Blackstone Pressure Plate' }, | ['Stone Pressure Plate'] = { 'Stone Pressure Plate', 'Polished Blackstone Pressure Plate' }, | ||
} | } | ||
-- Copper -- | -- Copper -- | ||
local copperstuff = { | local copperstuff = { | ||
'Block of Copper', | |||
'Cut Copper', | |||
'Cut Copper Stairs', | |||
'Cut Copper Slab', | |||
'Chiseled Copper', | |||
'Copper Grate', | |||
'Copper Bulb', | |||
'Copper Door', | |||
'Copper Trapdoor', | |||
} | } | ||
local | local coppervariants = { '', 'Exposed ', 'Weathered ', 'Oxidized ' } | ||
for _, copper in ipairs( copperstuff ) do | |||
itemVariants['Unwaxed ' .. copper] = {} | |||
itemVariants['Waxed ' .. copper] = {} | |||
for _, coppervariant in ipairs( coppervariants ) do | |||
local name = coppervariant .. copper | |||
if copper == 'Block of Copper' and coppervariant ~= '' then | |||
name = coppervariant .. 'Copper' | |||
end | |||
table.insert( itemVariants['Unwaxed ' .. copper], name ) | |||
table.insert( itemVariants['Waxed ' .. copper], 'Waxed ' .. name ) | |||
end | |||
itemVariants[copper] = {} | |||
for _, copperitem in ipairs( itemVariants['Unwaxed ' .. copper] ) do | |||
table.insert( itemVariants[copper], copperitem ) | |||
end | |||
for _, copperitem in ipairs( itemVariants['Waxed ' .. copper] ) do | |||
table.insert( itemVariants[copper], copperitem ) | |||
end | |||
end | end | ||
for | |||
aliases[ | for aliasName, aliasItems in pairs( itemVariants ) do | ||
aliases['Any ' .. aliasName] = aliasItems | |||
aliases['Matching ' .. aliasName] = aliasItems | |||
aliases[ | |||
end | end | ||
-- Discs -- | -- Discs -- | ||
local discs = { | local discs = { | ||
{ '13', | { '13', 'C418', '', '&e' }, | ||
{ 'Cat', | { 'Cat', 'C418', 'cat', '&e' }, | ||
{ 'Blocks', | { 'Blocks', 'C418', 'blocks', '&e' }, | ||
{ 'Chirp', | { 'Chirp', 'C418', 'chirp', '&e' }, | ||
{ 'Far', | { 'Far', 'C418', 'far', '&e' }, | ||
{ 'Mall', | { 'Mall', 'C418', 'mall', '&e' }, | ||
{ 'Mellohi', | { 'Mellohi', 'C418', 'mellohi', '&e' }, | ||
{ 'Stal', | { 'Stal', 'C418', 'stal', '&e' }, | ||
{ 'Strad', | { 'Strad', 'C418', 'strad', '&e' }, | ||
{ 'Ward', | { 'Ward', 'C418', 'ward', '&e' }, | ||
{ '11', | { '11', 'C418', '', '&e' }, | ||
{ 'Wait', | { 'Wait', 'C418', 'wait', '&e' }, | ||
{ 'Otherside', 'Lena Raine', 'otherside' }, | { 'Otherside', 'Lena Raine', 'otherside', '&b' }, | ||
{ 'Pigstep', | { 'Pigstep', 'Lena Raine', '', '&b' }, | ||
{ '5', | { '5', 'Samuel Åberg', '', '&e' }, | ||
{ 'Relic', | { 'Relic', 'Aaron Cherof', '', '&e' }, | ||
{ 'Precipice', 'Aaron Cherof', '', '&e' }, | |||
{ 'Creator', 'Lena Raine', '', '&b' }, | |||
{ 'Creator (Music Box)', 'Lena Raine', '', '&e' }, | |||
} | } | ||
for _, disc in ipairs( discs ) do | for _, disc in ipairs( discs ) do | ||
local rarityColor = disc[4] | |||
local name = 'Music Disc ' .. disc[1] | local name = 'Music Disc ' .. disc[1] | ||
local artist = disc[2] | local artist = disc[2] | ||
local trackname = disc[1] | local trackname = disc[1] | ||
if disc[3] ~= | if disc[3] ~= '' then | ||
trackname = disc[3] | trackname = disc[3] | ||
end | end | ||
aliases[name] = { title = ' | aliases[name] = { title = rarityColor .. 'Music Disc', name = name, text = '&7' .. artist .. ' - ' .. trackname } | ||
end | end | ||
Line 472: | Line 492: | ||
end | end | ||
-- Damaged | -- Paintings -- | ||
local paintings = { | |||
{ 'Kebab med tre pepperoni ', 'Kristoffer Zetterstrand', '1x1' }, | |||
{ 'de_aztec', 'Kristoffer Zetterstrand', '1x1' }, | |||
{ 'Albanian', 'Kristoffer Zetterstrand', '1x1' }, | |||
{ 'Target Successfully Bombed', 'Kristoffer Zetterstrand', '1x1' }, | |||
{ 'Paradisträd', 'Kristoffer Zetterstrand', '1x1' }, | |||
{ 'Wasteland', 'Kristoffer Zetterstrand', '1x1' }, | |||
{ 'Meditative', 'Sarah Boeving', '1x1' }, | |||
{ 'Wanderer', 'Kristoffer Zetterstrand', '1x2' }, | |||
{ 'Graham', 'Kristoffer Zetterstrand', '1x2' }, | |||
{ 'Prairie Ride', 'Sarah Boeving', '1x2' }, | |||
{ 'The Pool', 'Kristoffer Zetterstrand', '2x1' }, | |||
{ 'Bonjour Monsieur Courbet ', 'Kristoffer Zetterstrand', '2x1' }, | |||
{ 'sunset_dense', 'Kristoffer Zetterstrand', '2x1' }, | |||
{ 'Seaside', 'Kristoffer Zetterstrand', '2x1' }, | |||
{ 'Creebet', 'Kristoffer Zetterstrand', '2x1' }, | |||
{ 'Match', 'Kristoffer Zetterstrand', '2x2' }, | |||
{ 'Bust', 'Kristoffer Zetterstrand', '2x2' }, | |||
{ 'The Stage Is Set', 'Kristoffer Zetterstrand', '2x2' }, | |||
{ 'The void', 'Kristoffer Zetterstrand', '2x2' }, | |||
{ 'Skull and Roses', 'Kristoffer Zetterstrand', '2x2' }, | |||
{ 'Wither', 'Mojang', '2x2' }, | |||
{ 'Baroque', 'Sarah Boeving', '2x2' }, | |||
{ 'Humble', 'Sarah Boeving', '2x2' }, | |||
{ 'Bouquet', 'Kristoffer Zetterstrand', '3x3' }, | |||
{ 'Cavebird', 'Kristoffer Zetterstrand', '3x3' }, | |||
{ 'Cotán', 'Kristoffer Zetterstrand', '3x3' }, | |||
{ 'Endboss', 'Kristoffer Zetterstrand', '3x3' }, | |||
{ 'Fern', 'Kristoffer Zetterstrand', '3x3' }, | |||
{ 'Owlemons', 'Kristoffer Zetterstrand', '3x3' }, | |||
{ 'Sunflowers', 'Kristoffer Zetterstrand', '3x3' }, | |||
{ 'Tides', 'Kristoffer Zetterstrand', '3x3' }, | |||
{ 'Backyard', 'Kristoffer Zetterstrand', '3x4' }, | |||
{ 'Pond', 'Kristoffer Zetterstrand', '3x4' }, | |||
{ 'Fighters', 'Kristoffer Zetterstrand', '4x2' }, | |||
{ 'Changing', 'Kristoffer Zetterstrand', '4x2' }, | |||
{ 'Finding', 'Kristoffer Zetterstrand', '4x2' }, | |||
{ 'Lowmist', 'Kristoffer Zetterstrand', '4x2' }, | |||
{ 'Passage', 'Kristoffer Zetterstrand', '4x2' }, | |||
{ 'Mortal Coil', 'Kristoffer Zetterstrand', '4x3' }, | |||
{ 'Kong', 'Kristoffer Zetterstrand', '4x3' }, | |||
{ 'Pointer', 'Kristoffer Zetterstrand', '4x4' }, | |||
{ 'Pigscene', 'Kristoffer Zetterstrand', '4x4' }, | |||
{ 'Skull On Fire', 'Kristoffer Zetterstrand', '4x4' }, | |||
{ 'Unpacked', 'Sarah Boeving', '4x4' }, | |||
{ 'Orb', 'Kristoffer Zetterstrand', '4x4' }, | |||
{ 'Earth', 'Mojang', '2x2' }, | |||
{ 'Wind', 'Mojang', '2x2' }, | |||
{ 'Fire', 'Mojang', '2x2' }, | |||
{ 'Water', 'Mojang', '2x2' } | |||
} | |||
for _, painting in ipairs( paintings ) do | |||
local name = 'Painting ' .. painting[1] | |||
local artist = painting[2] | |||
local artwork = painting[1] | |||
local size = painting[3] | |||
aliases[name] = { title = 'Painting', name = 'Painting', text = '&e' .. artwork .. '/&7' .. artist .. '/' .. '&f' .. size } | |||
end | |||
-- Damaged items, note it skips tools, weapons, and armor as they are handled above to add the damage tooltip. -- | |||
-- Items with rarity (such as Mace and Elytra) are hard-coded in the module's beginning. | |||
local damagedItems = { | local damagedItems = { | ||
'Bow', | 'Bow', | ||
'Brush', | 'Brush', | ||
'Carrot on a Stick', | 'Carrot on a Stick', | ||
'Crossbow', | 'Crossbow', | ||
'Fishing Rod', | 'Fishing Rod', | ||
'Flint and Steel', | 'Flint and Steel', | ||
'Shears', | 'Shears', | ||
'Shield' | 'Shield' | ||
Line 533: | Line 589: | ||
'Fess', | 'Fess', | ||
'Field Masoned', | 'Field Masoned', | ||
'Flow', | |||
'Flower Charge', | 'Flower Charge', | ||
'Globe', | 'Globe', | ||
'Gradient', | 'Gradient', | ||
'Guster', | |||
'Inverted Chevron', | 'Inverted Chevron', | ||
'Lozenge', | 'Lozenge', | ||
Line 592: | Line 650: | ||
-- Items that use the sixteen colors -- | -- Items that use the sixteen colors -- | ||
local coloredItems = { | local coloredItems = { | ||
'Balloon', | withWhite = { | ||
'Balloon', | |||
'Banner', | |||
'Bed', | |||
'Carpet', | |||
'Concrete', | |||
'Concrete Powder', | |||
'Glazed Terracotta', | |||
'Glow Stick', | |||
'Hardened $1 Stained Glass', | |||
'Hardened $1 Stained Glass Pane', | |||
'Shield', | |||
'Shulker Box', | |||
'Wool' | 'Stained Glass', | ||
'Stained Glass Pane', | |||
'Wool', | |||
'$Dyed Bundle', | |||
'$Dyed Candle', | |||
'$Dyed Terracotta', | |||
}, | |||
noWhite = { | |||
'$Dyed Wool', | |||
'$Dyed Bed', | |||
'$Dyed Carpet', | |||
'$Colored Dye', | |||
} | |||
} | } | ||
for _, item in ipairs( | |||
local coloredBadItems = { | |||
['Light Gray Glow Stick'] = 1, | |||
['Black Glow Stick'] = 1, | |||
} | |||
for type, items in pairs( coloredItems ) do | |||
for _, item in ipairs( items ) do | |||
local coloredItemAliases = {} | |||
local defaultItemAliases | |||
if item:find( '%$[^1]' ) then | |||
defaultItemAliases = {} | |||
local itemName | |||
if type == 'noWhite' then | |||
itemName = item:gsub( '%$%w+', 'White' ) | |||
else | |||
itemName = item:gsub( '%$%w+ ', '' ) | |||
end | |||
table.insert( defaultItemAliases, itemName ) | |||
end | |||
for _, color in ipairs( colors ) do | |||
local itemName | |||
if type ~= 'noWhite' or color ~= 'White' then | |||
if item:find( '%$1' ) then | |||
itemName = item:gsub( '%$1', color ) | |||
elseif item:find( '%$' ) then | |||
itemName = item:gsub( '%$%w+', color ) | |||
else | |||
itemName = color .. ' ' .. item | |||
end | |||
end | |||
if not coloredBadItems[itemName] then | |||
if defaultItemAliases then | |||
table.insert( defaultItemAliases, itemName ) | |||
end | |||
table.insert( coloredItemAliases, itemName ) | |||
end | |||
end | |||
if defaultItemAliases then | |||
local defaultItem = item:gsub( '%$%w+ ', '' ) | |||
aliases['Any ' .. defaultItem] = defaultItemAliases | |||
aliases['Matching ' .. defaultItem] = defaultItemAliases | |||
end | end | ||
item = item:gsub( '%$1 ', '' ) | |||
item = item:gsub( '%$', '' ) | |||
aliases['Any ' .. item] = coloredItemAliases | |||
aliases['Matching ' .. item] = coloredItemAliases | |||
end | end | ||
end | end | ||
-- list of all potions with no effects | -- list of all potions with no effects | ||
Line 703: | Line 811: | ||
{ name = 'Decay', effect = '&cWither', durations = { normal = { '0:40' }, lingering = { '0:10' }, arrow = { '0:05' }}}, | { 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)', | { 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' }}} | durations = { normal = { '0:20', '0:40', '0:20' }, lingering = { '0:15', '0:45', '0:15' }, arrow = { '0:07', '0:22', '0:07' }}}, | ||
{ name = 'Oozing', effect = '&cOozing', durations = { normal = { '3:00' }, lingering = { '0:45' }, arrow = { '0:22' }}}, | |||
{ name = 'Infestation', effect = '&cInfested', durations = { normal = { '3:00' }, lingering = { '0:45' }, arrow = { '0:22' }}}, | |||
{ name = 'Weaving', effect = '&cWeaving', durations = { normal = { '3:00' }, lingering = { '0:45' }, arrow = { '0:22' }}}, | |||
{ name = 'Wind Charging', effect = '&cWind Charged', durations = { normal = { '3:00' }, lingering = { '0:45' }, arrow = { '0:22' }}} | |||
} | } | ||
local types = { | local types = { | ||
Line 774: | Line 886: | ||
'Mangrove', | 'Mangrove', | ||
'Cherry', | 'Cherry', | ||
'Pale Oak', | |||
'Bamboo', | 'Bamboo', | ||
}, | }, | ||
Line 792: | Line 905: | ||
local woodItems = { | local woodItems = { | ||
overworld = { | overworld = { | ||
'Log', | |||
'Wood', | 'Wood', | ||
'Log', | 'Stripped $1 Log', | ||
'Stripped $1 Wood', | |||
'Boat', | 'Boat', | ||
'Boat with Chest', | 'Boat with Chest', | ||
'Sapling', | 'Sapling', | ||
}, | }, | ||
Line 818: | Line 920: | ||
}, | }, | ||
both = { | both = { | ||
'$ | -- Any/Matching X or Y | ||
'${Log,Stem}', | |||
'${Wood,Hyphae}', | '${Wood,Hyphae}', | ||
'Stripped $1 ${Wood,Hyphae}', | 'Stripped $1 ${Wood,Hyphae}', | ||
'Stripped $1 ${Log,Stem}', | 'Stripped $1 ${Log,Stem}', | ||
-- Dimensional prefixes | |||
'$world Planks', | |||
'$world $wood Stairs', | |||
'$world $wood Slab', | |||
'$world $wood Fence', | |||
'$world $wood Fence Gate', | |||
'$world $wood Door', | |||
'$world $wood Trapdoor', | |||
'$world $wood Pressure Plate', | |||
'$world $wood Button', | |||
'$world $wood Sign', | |||
'$world $wood Hanging Sign', | |||
-- Both dimensions | |||
-- Items with non-wood variants include $wood | |||
'Planks', | |||
'$wood Stairs', | |||
'$wood Slab', | |||
'$wood Fence', | |||
'Fence Gate', | 'Fence Gate', | ||
'$wood Door', | '$wood Door', | ||
'$wood Trapdoor', | |||
'$wood Pressure Plate', | |||
'$wood Button', | '$wood Button', | ||
' | 'Sign', | ||
' | 'Hanging Sign', | ||
} | } | ||
} | } | ||
Line 844: | Line 962: | ||
woodItemWorld['Overworld ' .. item] = 'overworld' | woodItemWorld['Overworld ' .. item] = 'overworld' | ||
woodItemWorld['Nether ' .. item] = 'nether' | woodItemWorld['Nether ' .. item] = 'nether' | ||
else | |||
woodItemWorld[item] = world | |||
end | end | ||
end | end | ||
end | end | ||
local woodBadItems = { | local woodBadItems = { | ||
['Bamboo Sapling'] = 1, | ['Bamboo Sapling'] = 1, | ||
['Bamboo Wood'] = 1, | ['Bamboo Wood'] = 1, | ||
Line 882: | Line 1,000: | ||
itemName = itemName:gsub( '%$1', wood) | itemName = itemName:gsub( '%$1', wood) | ||
else | else | ||
itemName = wood .. ' ' .. itemName | itemName = wood .. ' ' .. itemName | ||
end | end | ||
Line 897: | Line 1,015: | ||
-- Parse ${,} (world-select) syntax | -- Parse ${,} (world-select) syntax | ||
item = item:gsub("%${(.-),(.-)}", "%1 or %2") | item = item:gsub("%${(.-),(.-)}", "%1 or %2") | ||
item = item:gsub('%$wood ', ' | item = item:gsub('%$wood', 'Wooden') | ||
item = item:gsub('%$1 ', '') | item = item:gsub('%$1 ', '') | ||
aliases['Any ' .. item] = woodAliases | aliases['Any ' .. item] = woodAliases | ||
Line 907: | Line 1,025: | ||
BE = { | BE = { | ||
'Acacia Fence Gate', | 'Acacia Fence Gate', | ||
' | 'Andesite Wall', | ||
'Birch Fence Gate', | 'Birch Fence Gate', | ||
'Black Bed', | |||
'Black Stained Glass Pane', | 'Black Stained Glass Pane', | ||
'Blackstone Wall', | |||
'Blue Bed', | |||
'Blue Ice', | 'Blue Ice', | ||
'Blue Stained Glass Pane', | 'Blue Stained Glass Pane', | ||
'Bow', | 'Bow', | ||
'Brick Wall', | |||
'Brown Bed', | |||
'Brown Stained Glass Pane', | 'Brown Stained Glass Pane', | ||
'Bucket of Pufferfish', | 'Bucket of Pufferfish', | ||
'Bucket of Tropical Fish', | 'Bucket of Tropical Fish', | ||
'Cat Spawn Egg', | |||
'Chest', | 'Chest', | ||
' | 'Cobbled Deepslate Wall', | ||
' | 'Cobblestone Wall', | ||
'Crimson Fence Gate', | 'Crimson Fence Gate', | ||
'Crying Obsidian', | 'Crying Obsidian', | ||
'Cyan Bed', | |||
'Cyan Stained Glass Pane', | 'Cyan Stained Glass Pane', | ||
'Dark Oak Fence Gate', | 'Dark Oak Fence Gate', | ||
' | 'Deepslate Brick Wall', | ||
' | 'Deepslate Tile Wall', | ||
'Desert Village Map', | |||
'Diorite Wall', | |||
'Enchanting Table', | 'Enchanting Table', | ||
'End Gateway', | 'End Gateway', | ||
Line 930: | Line 1,057: | ||
'End Portal', | 'End Portal', | ||
'End Rod', | 'End Rod', | ||
'End Stone Brick Wall', | |||
'Ender Chest', | 'Ender Chest', | ||
'Glass Pane', | 'Glass Pane', | ||
'Glowstone', | 'Glowstone', | ||
'Granite Wall', | |||
'Gray Bed', | |||
'Gray Stained Glass Pane', | 'Gray Stained Glass Pane', | ||
'Green Bed', | |||
'Green Stained Glass Pane', | 'Green Stained Glass Pane', | ||
'Honey Block', | 'Honey Block', | ||
'Horn Coral Block', | 'Horn Coral Block', | ||
'Iron Bars', | 'Iron Bars', | ||
'Jack o\'Lantern', | 'Jack o\'Lantern', | ||
'Jungle Explorer Map', | |||
'Jungle Fence Gate', | 'Jungle Fence Gate', | ||
'Jungle Leaves', | 'Jungle Leaves', | ||
'Lava', | 'Lava', | ||
'Leather Horse Armor', | 'Leather Horse Armor', | ||
'Light', | |||
'Light Blue Bed', | |||
'Light Blue Stained Glass Pane', | 'Light Blue Stained Glass Pane', | ||
'Light Gray Bed', | |||
'Light Gray Stained Glass Pane', | 'Light Gray Stained Glass Pane', | ||
'Lime Bed', | |||
'Lime Stained Glass Pane', | 'Lime Stained Glass Pane', | ||
'Lodestone Compass', | |||
'Magenta Bed', | |||
'Magenta Stained Glass Pane', | 'Magenta Stained Glass Pane', | ||
'Magma Block', | 'Magma Block', | ||
Line 953: | Line 1,089: | ||
'Minecart with Command Block', | 'Minecart with Command Block', | ||
'Monster Spawner', | 'Monster Spawner', | ||
'Mossy Cobblestone Wall', | |||
'Mossy Stone Brick Wall', | |||
'Mud Brick Wall', | |||
'Nether Brick Wall', | |||
'Oak Fence Gate', | 'Oak Fence Gate', | ||
'Observer', | 'Observer', | ||
'Ocean Explorer Map', | 'Ocean Explorer Map', | ||
'Orange Bed', | |||
'Orange Stained Glass Pane', | 'Orange Stained Glass Pane', | ||
' | 'Panda Spawn Egg', | ||
'Pink Bed', | |||
'Pink Stained Glass Pane', | 'Pink Stained Glass Pane', | ||
'Plains Village Map', | |||
'Polished Blackstone Wall', | |||
'Polished Blackstone Brick Wall', | |||
'Polished Deepslate Wall', | |||
'Prismarine Wall', | |||
'Purple Bed', | |||
'Purple Stained Glass Pane', | 'Purple Stained Glass Pane', | ||
'Red Bed', | |||
'Red Nether Brick Wall', | |||
'Red Sandstone Wall', | |||
'Red Stained Glass Pane', | 'Red Stained Glass Pane', | ||
' | 'Sandstone Wall', | ||
'Savanna Village Map', | |||
'Scaffolding', | 'Scaffolding', | ||
'Sea Lantern', | 'Sea Lantern', | ||
'Shroomlight', | 'Shroomlight', | ||
' | 'Snowy Village Map', | ||
'Spruce Fence Gate', | 'Spruce Fence Gate', | ||
'Stone Brick Wall', | |||
'Stonecutter', | 'Stonecutter', | ||
'Structure Void', | 'Structure Void', | ||
'Swamp Explorer Map', | |||
'Taiga Village Map', | |||
'Trapped Chest', | 'Trapped Chest', | ||
'Trial Explorer Map', | |||
'Wandering Trader Spawn Egg', | |||
'Warped Fence Gate', | 'Warped Fence Gate', | ||
'White Bed', | |||
'White Stained Glass Pane', | 'White Stained Glass Pane', | ||
'Woodland Explorer Map', | 'Woodland Explorer Map', | ||
'Yellow Bed', | |||
'Yellow Stained Glass Pane', | 'Yellow Stained Glass Pane', | ||
}, | }, | ||
LCE = { | LCE = { | ||
'Shrub' | 'Shrub' | ||
} | } | ||
Line 994: | Line 1,145: | ||
end | end | ||
-- Light blocks | -- Light blocks -- | ||
for level = 0, 15 do | for level = 0, 15 do | ||
aliases["Light | aliases["Light " .. level] = { title = "&dLight", name = "Light " .. level } | ||
aliases["Light " .. level] = {title = " | aliases["Light " .. level .. " BE"] = { title = "Light", name = "Light " .. level .. " BE" } | ||
end | |||
-- Pottery Sherds -- | |||
local pottery_sherds = { | |||
{ 'Angler' }, | |||
{ 'Arms Up' }, | |||
{ 'Archer' }, | |||
{ 'Blade' }, | |||
{ 'Brewer' }, | |||
{ 'Burn' }, | |||
{ 'Danger' }, | |||
{ 'Explorer' }, | |||
{ 'Flow' }, | |||
{ 'Friend' }, | |||
{ 'Guster' }, | |||
{ 'Heart' }, | |||
{ 'Heartbreak' }, | |||
{ 'Howl' }, | |||
{ 'Miner' }, | |||
{ 'Mourner' }, | |||
{ 'Plenty' }, | |||
{ 'Prize' }, | |||
{ 'Scrape' }, | |||
{ 'Sheaf' }, | |||
{ 'Shelter' }, | |||
{ 'Skull' }, | |||
{ 'Snort' }, | |||
} | |||
local potterySherdAliases = {} | |||
for _, pottery_sherd in ipairs(pottery_sherds) do | |||
local name = pottery_sherd[1] .. ' Pottery Sherd' | |||
aliases[name] = { title = '&e' .. name , name = name } | |||
table.insert(potterySherdAliases, aliases[name]) | |||
end | end | ||
aliases[ | table.insert(potterySherdAliases, 'Brick') | ||
aliases['Any Pottery Sherd'] = potterySherdAliases | |||
-- Smithing | -- Smithing Templates -- | ||
local smithing_templates = { | local smithing_templates = { | ||
{ 'Netherite Upgrade', 'Diamond Equipment', 'Netherite Ingot' }, | { 'Netherite Upgrade', 'Diamond Equipment', 'Netherite Ingot', '&e' }, | ||
{ 'Coast Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Bolt Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | ||
{ 'Dune Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Coast Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | ||
{ 'Eye Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Dune Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | ||
{ 'Host Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Eye Armor Trim', 'Armor', 'Ingot & Crystals', '&b' }, | ||
{ 'Raiser Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Flow Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | ||
{ 'Rib Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Host Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | ||
{ 'Sentry Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Raiser Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | ||
{ 'Shaper Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Rib Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | ||
{ 'Silence Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Sentry Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | ||
{ 'Snout Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Shaper Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | ||
{ 'Spire Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Silence Armor Trim', 'Armor', 'Ingot & Crystals', '&d' }, | ||
{ 'Tide Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Snout Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | ||
{ 'Vex Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Spire Armor Trim', 'Armor', 'Ingot & Crystals', '&b' }, | ||
{ 'Ward Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Tide Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | ||
{ 'Wayfinder Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Vex Armor Trim', 'Armor', 'Ingot & Crystals', '&b' }, | ||
{ 'Wild Armor Trim', 'Armor', 'Ingot & Crystals' }, | { 'Ward Armor Trim', 'Armor', 'Ingot & Crystals', '&b' }, | ||
{ 'Wayfinder Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | |||
{ 'Wild Armor Trim', 'Armor', 'Ingot & Crystals', '&e' }, | |||
} | } | ||
Line 1,025: | Line 1,214: | ||
local armor_trims_array = {} | local armor_trims_array = {} | ||
for _,smithing_template in pairs(smithing_templates) do | for _,smithing_template in pairs(smithing_templates) do | ||
local rarityColor = smithing_template[4] | |||
local current_alias = { | local current_alias = { | ||
title = | title = rarityColor .. smithing_template[1], | ||
name = smithing_template[1] .. ' Smithing Template', | name = smithing_template[1] .. ' Smithing Template', | ||
text = '&7' .. | text = '&7' .. 'Smithing Template' .. '//Applies to:/ &9' .. smithing_template[2] .. '/&7Ingredients:/ &9' .. smithing_template[3], | ||
} | } | ||
aliases[smithing_template[1]] = current_alias | aliases[smithing_template[1]] = current_alias | ||
Line 1,043: | Line 1,233: | ||
aliases['Matching Armor Trim Smithing Template'] = armor_trims_array | aliases['Matching Armor Trim Smithing Template'] = armor_trims_array | ||
aliases['Any Armor Trim Smithing Template'] = armor_trims_array | aliases['Any Armor Trim Smithing Template'] = armor_trims_array | ||
return aliases | return aliases |