Minecraft Wiki
Advertisement

La documentazione per questo modulo può essere creata in Modulo:Inventory slot/Aliases/doc

local coloredDyes = {
	'Colorante arancione', 'Colorante magenta', 'Colorante azzurro', 'Colorante giallo', 'Colorante lime',
	'Colorante rosa', 'Colorante grigio', 'Colorante grigio chiaro', 'Colorante ciano', 'Colorante viola',
	'Colorante blu', 'Colorante marrone', 'Colorante verde',
	'Colorante rosso', 'Colorante nero',
}
local aliases = {
	-- Common fuel types for furnace --
	['Ogni carburante'] = { 'Carbone', 'Carbonella', { title = 'Tronco', name = 'Tronco di quercia' }, { title = 'Assi di legno', name = 'Assi di quercia' }, 'Blocco di carbone' },
	['Any leather armor'] = { 'Casco di cuoio', 'Giubba di cuoio', 'Pantaloni di cuoio', 'Stivali di cuoio' },
	['Any golden armor'] = { "Elmo d'oro", "Corazza d'oro", "Gambiere d'oro", "Stivali d'oro" },
	['Any chainmail armor'] = { 'Elmo di maglia', 'Cotta di maglia', 'Gambiere di maglia', 'Stivali di maglia' },
	['Any iron armor'] = { 'Elmo di ferro', 'Corazza di ferro', 'Gambiere di ferro', 'Stivali di ferro' },
	['Any diamond armor'] = { 'Elmo di diamante', 'Corazza di diamante', 'Gambiere di diamante', 'Stivali di diamante' },
	['Any netherite armor'] = { 'Elmo di netherite', 'Corazza di netherite', 'Gambiere di netherite', 'Stivali di netherite' },
	
    -- stones --
	['Any Cobblestone or Blackstone'] = { 'Cobblestone', 'Blackstone' },
	
	-- Display names --
	['Elitre spezzate'] = { title = '&eElitre', name = 'Elitre spezzate' },
	['Clay (block)'] = { title = 'Clay', name = 'Clay (block)' }, --remove on Nether Update's release if bedrock also changes the item name
	['Clay (ball)'] = { title = 'Clay', name = 'Clay (ball)' }, --remove on Nether Update's release if bedrock also changes the item name
	['Figura per stendardo (Fiore)'] = { title = 'Figura per stendardo', name = 'Figura per stendardo', text = '&7Fiore'},
	['Figura per stendardo (Volto di creeper)'] = { title = '&eFigura per stendardo', name = 'Figura per stendardo', text = '&7Volto di creeper'},
	['Figura per stendardo (Bordura dentata)'] = { title = 'Figura per stendardo', name = 'Figura per stendardo', text = '&7Bordura dentata'},
	['Figura per stendardo (Seminato di mattoni)'] = { title = 'Figura per stendardo', name = 'Figura per stendardo', text = '&7Seminato di mattoni'},
	['Figura per stendardo (Teschio)'] = { title = '&eFigura per stendardo', name = 'Figura per stendardo', text = '&7Teschio'},
	['Figura per stendardo (Logo)'] = { title = '&dFigura per stendardo', name = 'Figura per stendardo', text = '&7Logo'},
	['Figura per stendardo (Mojang)'] = { title = '&dFigura per stendardo', name = 'Figura per stendardo', text = '&7Logo'},
	['Figura per stendardo (Globo)'] = { title = 'Figura per stendardo', name = 'Figura per stendardo', text = '&7Globo'},
	['Figura per stendardo (Grugno)'] = { title = 'Figura per stendardo', name = 'Figura per stendardo', text = '&7Grugno'},
	['Figura per stendardo (Piglin)'] = { title = 'Figura per stendardo', name = 'Figura per stendardo', text = '&7Grugno'},
	['Pulsante'] = { title = 'Pulsante', name = 'Pulsante di pietra'},
	['Pulsante di legno'] = { title = 'Pulsante', name = 'Pulsante di quercia'},
	['Balestra caricata con freccia'] = { title = 'Balestra', name = 'Balestra caricata con freccia' },
	['Damaged Arrow Loaded Crossbow'] = { title = 'Crossbow', name = 'Damaged Arrow Loaded Crossbow' },
	['Balestra caricata con razzo pirotecnico'] = { title = 'Balestra', name = 'Balestra caricata con razzo pirotecnico' },
	['Damaged Firework Loaded Crossbow'] = { title = 'Crossbow', name = 'Damaged Firework Loaded Crossbow' },
	['Stendardo abitore'] = { title = '&6&oStendardo abitore', name = 'Stendardo abitore', text = 
		'&7Cyan Lozenge/&7Light Gray Base/&7Gray Pale/&7Light Gray Bordure/&7Black Fess/&7Light Gray Per Fess'},
	['Blocco puzzle'] = { title = '&dBlocco puzzle', name = 'Blocco puzzle' },
	['Half Full Bundle'] = { title = 'Bundle', name = 'Half Full Bundle' },
	['Full Bundle'] = { title = 'Bundle', name = 'Full Bundle' },

	-- Weapons --
	['Tridente'] = { name = 'Tridente', text = '/&7 Nella mano principale:/ &21.1 Velocità di attacco/ &29 Danni per colpo'},
	['Trident BE'] = { name = 'Trident', text = '/&9 +8 Attack Damage'},

	-- Bedrock and Education Edition display names --
	['Elytra Wings'] = { title = 'Elytra Wings', name = 'Elytra' },
	['Cooked Beef'] = { title = 'Cooked Beef', name = 'Steak' },
	['Map (no markers)'] = { title = 'Map', name = 'Map', text = 'Display Markers: &cNo' },
	['Locator Map'] = { title = 'Map', name = 'Map', text = 'Display Markers: &aYes' },

	-- Chemistry --
	['Lead (element)'] = { title = 'Lead', name = 'Lead (element)' },
	['Water (compound)'] = { title = 'Water', name = 'Water (compound)' },
	['Chloride'] = { 'Calcium Chloride', 'Cerium Chloride', 'Mercuric Chloride', 'Potassium Chloride', 'Tungsten Chloride' },
	['Sparkler'] = { 'Orange Sparkler', 'Blue Sparkler', 'Red Sparkler', 'Purple Sparkler', 'Green Sparkler' },
	['Matching Chloride'] = { 'Cerium Chloride', 'Mercuric Chloride', 'Potassium Chloride', 'Tungsten Chloride' },
	['Matching Colored Torch'] = { 'Blue Torch', 'Red Torch', 'Purple Torch', 'Green Torch' },
	['Matching Glow Stick'] = { 'White Glow Stick', 'Orange Glow Stick', 'Magenta Glow Stick', 'Light Blue Glow Stick',
		'Yellow Glow Stick', 'Lime Glow Stick', 'Pink Glow Stick', 'Gray Glow Stick', 'Cyan Glow Stick',
		'Purple Glow Stick', 'Blue Glow Stick', 'Brown Glow Stick', 'Green Glow Stick', 'Red Glow Stick' },
}

-- Tooltip colors --
local yellowTooltips = {
	'Testa di creeper',
	'Elitre danneggiate',
	'Testa di drago',
	'Soffio di drago',
	'Elitre',
	'Testa',
	'Cuore del mare',
	'Testa di giocatore',
	'Teschio di scheletro',
	"Totem dell'immortalità",
	'Teschio di scheletro wither',
	'Testa di zombi',
}
for _, name in ipairs( yellowTooltips ) do
	aliases[name] = { title = '&e', name = name }
end

local aquaTooltips = {
	'Faro',
	'Condotto',
	"Mela d'oro",
}
for _, name in ipairs( aquaTooltips ) do
	aliases[name] = { title = '&b', name = name }
end

local lightPurpleTooltips = {
	'Uovo di drago',
	'Blocco struttura',
}
for _, name in ipairs( lightPurpleTooltips ) do
	aliases[name] = { title = '&d', name = name }
end

local orangeItalicTooltips = {
	'Ominous Banner',
}
for _, name in ipairs( orangeItalicTooltips ) do
	aliases[name] = { title = '&6&o', name = name }
end

-- Animated icons --
local animatedIcons = {
	'Colonna di bolle',
    'Compass',
    'Clock',
    'Crimson Hyphae',
    'Crimson Stem',
	'Debug Stick',
	'Fuoco',
	'Heat Block',
	'Lava',
	'Lodestone Compass',
	'Blocco di magma',
	'Nether Portal',
	'Prismarino',
	'Lastra di prismarino',
	'Scalini di prismarino',
	'Muretto di prismarino',
	'Lanterna marina',
	'Stonecutter',
    'Fuoco delle anime',
	'Warped Hyphae',
	'Warped Stem',
	'Acqua',
	'Written Book'
}
for _, icon in ipairs( animatedIcons ) do
	aliases[icon] = icon .. '.gif'
end

-- Some things are both animated and yellow --
local animatedIconsYellowTooltips = {
	'Enchanted Book',
	'Nether Star',
	'Bottle o\' Enchanting',
}
for _, name in ipairs( animatedIconsYellowTooltips ) do
	aliases[name] = { title = '&e', name = name .. '.gif' }
end

-- Some things are both animated and aqua --
local animatedIconsAquaTooltips = {
	'End Crystal',
}
for _, name in ipairs( animatedIconsAquaTooltips ) do
	aliases[name] = { title = '&b', name = name .. '.gif' }
end

-- Some things are both animated and purple --
local animatedIconsPurpleTooltips = {
	'Command Block',
	'Chain Command Block',
	'Repeating Command Block',
	'Enchanted Golden Apple',
}
for _, name in ipairs( animatedIconsPurpleTooltips ) do
	aliases[name] = { title = '&d', name = name .. '.gif' }
end

-- Bedrock Edition Items --
local animatedEditionItems = {
	BE = {
        'Lodestone Compass',
	},
	LCE = {
		
	}
}
for edition, items in pairs(animatedEditionItems) do
	for _, item in ipairs(items) do
		local name = item .. ' ' .. edition
		aliases[name] = { title = item, name = name .. '.gif' }
	end
end

-- Tools and weapons --
local tools = {
	{'di legno', 'Spada', 1.6, 4 },
	{'di pietra', 'Spada', 1.6, 5 },
	{'di ferro', 'Spada', 1.6, 6 },
	{"d'oro", 'Spada', 1.6, 4 },
	{'di diamante', 'Spada', 1.6, 7 },
	{'Netherite', 'Sword', 1.6, 8 },
	
	{'di legno', 'Piccone', 1.2, 2 },
	{'di pietra', 'Piccone', 1.2, 3 },
	{'di ferro', 'Piccone', 1.2, 4 },
	{"d'oro", 'Piccone', 1.2, 2 },
	{'di diamante', 'Piccone', 1.2, 5 },
	{'Netherite', 'Pickaxe', 1.2, 6 },
	
	{'di legno', 'Ascia', 0.8, 7 },
	{'di pietra', 'Ascia', 0.8, 9 },
	{'di ferro', 'Ascia', 0.9, 9 },
	{"d'oro", 'Ascia', 1, 7 },
	{'di diamante', 'Ascia', 1, 9 },
	{'Netherite', 'Axe', 1, 10 },
	
	{'di legno', 'Pala', 1, 2.5 },
	{'di pietra', 'Pala', 1, 3.5 },
	{'di ferro', 'Pala', 1, 4.5 },
	{"d'oro", 'Pala', 1, 2.5 },
	{'di diamante', 'Pala', 1, 5.5 },
	{'Netherite', 'Shovel', 1.6, 6.5 },
	
	{'di legno', 'Zappa', 1, 1 },
	{'di pietra', 'Zappa', 2, 1 },
	{'di ferro', 'Zappa', 3, 1 },
	{"d'oro", 'Zappa', 1, 1 },
	{'di diamante', 'Zappa', 4, 1 },
	{'Netherite', 'Hoe', 4, 1 }
}

local materialGroups = {}
local toolGroups = {}

for _, toolProps in ipairs( tools ) do
	local aliasName = toolProps[2] .. ' ' .. toolProps[1]
	aliases[aliasName] = { title = aliasName, name = aliasName, text = '/&7Nella mano principale:/ &2' .. toolProps[3] .. ' Velocità di attacco/ &2' .. toolProps[4] .. ' Danni per colpo' }
	
	local materialGroup = toolProps[1]:lower();
	local toolGroup = toolProps[2]:lower();
	
	if toolProps[2] ~= 'Spada' 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['Ogni strumento di ' .. materialGroup] = items
end

for toolGroup, items in pairs( toolGroups ) do
	aliases['Ogni ' .. toolGroup] = items
end

-- Tools and weapons in Bedrock Edition --
local toolsBE = {
	{'Wooden', 'Sword', 4 },
	{'Stone', 'Sword', 5 },
	{'Iron', 'Sword', 6 },
	{'Golden', 'Sword', 4 },
	{'Diamond', 'Sword', 7 },
	{'Netherite', 'Sword', 8 },
	
	{'Wooden', 'Pickaxe', 2 },
	{'Stone', 'Pickaxe', 3 },
	{'Iron', 'Pickaxe', 4 },
	{'Golden', 'Pickaxe', 2 },
	{'Diamond', 'Pickaxe', 5 },
	{'Netherite', 'Pickaxe', 6 },
	
	{'Wooden', 'Axe', 3 },
	{'Stone', 'Axe', 4 },
	{'Iron', 'Axe', 5 },
	{'Golden', 'Axe', 3 },
	{'Diamond', 'Axe', 6 },
	{'Netherite', 'Axe', 7 },
	
	{'Wooden', 'Shovel', 1 },
	{'Stone', 'Shovel', 2 },
	{'Iron', 'Shovel', 3 },
	{'Golden', 'Shovel', 1 },
	{'Diamond', 'Shovel', 4 },
	{'Netherite', 'Shovel', 5 },
	
	{'Wooden', 'Hoe', 2 },
	{'Stone', 'Hoe', 3 },
	{'Iron', 'Hoe', 4 },
	{'Golden', 'Hoe', 2 },
	{'Diamond', 'Hoe', 5 },
	{'Netherite', 'Hoe', 6 }
}

for _, toolProps in ipairs( toolsBE ) do
	local aliasName = toolProps[1] .. ' ' .. toolProps[2]
	aliases[aliasName .. ' BE'] = { title = aliasName, name = aliasName, text = '/&9+' .. toolProps[3] .. ' Attack Damage'}
end

-- Lists of item variants --
local itemVariants = {
	['Colorante'] = mw.clone( coloredDyes ),
	['Lana colorata'] = {
		'Lana arancione', 'Lana magenta', 'Lana azzurra', 'Lana gialla', 'Lana lime',
		'Lana rosa', 'Lana grigia', 'Lana grigio chiaro', 'Lana ciano', 'Lana viola',
		'Lana blu', 'Lana marrone', 'Lana verde', 'Lana rossa', 'Lana nera',
	},
	['Letto colorato'] = {
		'Letto arancione', 'Letto magenta', 'Letto azzurro', 'Letto giallo', 'Letto lime',
		'Letto rosa', 'Letto grigio', 'Letto grigio chiaro', 'Letto ciano', 'Letto viola',
		'Letto blu', 'Letto marrone', 'Letto verde', 'Letto rosso', 'Letto nero',
	},
	['Tappeto colorato'] = {
		'Tappeto arancione', 'Tappeto magenta', 'Tappeto azzurro', 'Tappeto giallo', 'Tappeto lime',
		'Tappeto rosa', 'Tappeto grigio', 'Tappeto grigio chiaro', 'Tappeto ciano', 'Tappeto viola',
		'Tappeto blu', 'Tappeto marrone', 'Tappeto verde', 'Tappeto rosso', 'Tappeto nero',
	},
	['Terracotta colorata'] = {
		'Terracotta bianca', 'Terracotta arancione', 'Terracotta magenta', 'Terracotta azzurra',
		'Terracotta gialla', 'Terracotta lime','Terracotta rosa', 'Terracotta grigia',
		'Terracotta grigio chiaro', 'Terracotta ciano', 'Terracotta viola', 'Terracotta blu',
		'Terracotta marrone', 'Terracotta verde', 'Terracotta rossa', 'Terracotta nera',
	},
	['Dyed Candle'] = {
		'Orange Candle', 'Magenta Candle', 'Light Blue Candle', 'Yellow Candle', 'Lime Candle',
		'Pink Candle', 'Gray Candle', 'Light Gray Candle', 'Cyan Candle', 'Purple Candle',
		'Blue Candle', 'Brown Candle', 'Green Candle', 'Red Candle', 'Black Candle',
	},
	['Fiore'] = { 'Margherita', 'Fiordaliso', 'Mughetto', 'Rosa di Wither', 'Tulipano rosso', 'Tulipano arancione', 'Tulipano bianco', 'Tulipano rosa', 'Fiori di campo', 'Fiore di aglio', 'Orchidea blu', 'Papavero', 'Dente di leone' },
	['Fungo'] = { 'Fungo rosso', 'Fungo marrone' },
	['Blocco di quarzo'] = { 'Blocco di quarzo', 'Blocco di quarzo cesellato', 'Pilastro di quarzo' },
	['Arenaria rossa'] = { 'Arenaria rossa', 'Arenaria rossa incisa', 'Arenaria rossa cesellata', 'Arenaria rossa levigata' },
	['Arenaria'] = { 'Arenaria', 'Arenaria incisa', 'Arenaria cesellata', 'Arenaria liscia' },
	['Mattoni di pietra'] = { 'Mattoni di pietra', 'Mattoni di pietra muschiosi', 'Mattoni di pietra incrinati', 'Mattoni di pietra cesellati' },
	['Lastra di pietra'] = { 'Lastra di pietra', 'Lastra di pietra levigata', 'Lastra di pietrisco', 'Lastra di pietrisco muschioso', 'Lastra di mattoni di pietra', 'Lastra di mattoni di pietra muschiosi', 'Lastra di andesite', 'Lastra di andesite levigata',
		'Lastra di diorite', 'Lastra di diorite levigata', 'Lastra di granito', 'Lastra di granito levigato', 'Lastra di arenaria', 'Lastra di arenaria incisa', 'Lastra di arenaria levigata', 'Lastra di arenaria rossa', 'Lastra di arenaria rossa incisa', 
		'Lastra di arenaria rossa levigata', 'Lastra di mattoni', 'Lastra di prismarino', 'Lastra di mattoni di prismarino', 'Lastra di prismarino scuro', 'Lastra di mattoni del Nether', 'Lastra di mattoni del Nether rossi', 'Lastra di quarzo', 
		'Lastra di quarzo levigato', 'Lastra di purpur', "Lastra di mattoni di pietra dell'End", 'Lastra di quercia pietrificata', 'Blackstone Slab', 'Polished Blackstone Slab', 'Polished Blackstone Brick Slab' },
	['Scalini di pietra'] = { 'Scalini di pietra', 'Scalini di pietra levigata', 'Scalini di pietrisco', 'Scalini di pietrisco muschioso', 'Scalini di mattoni di pietra', 'Scalini di mattoni di pietra muschiosi', 'Scalini di andesite', 'Scalini di andesite levigata',
		'Scalini di diorite', 'Scalini di diorite levigata', 'Scalini di granito', 'Scalini di granito levigato', 'Scalini di arenaria', 'Scalini di arenaria incisa', 'Scalini di arenaria levigata', 'Scalini di arenaria rossa', 'Scalini di arenaria rossa incisa', 
		'Scalini di arenaria rossa levigata', 'Scalini di mattoni', 'Scalini di prismarino', 'Scalini di mattoni di prismarino', 'Scalini di prismarino scuro', 'Scalini di mattoni del Nether', 'Scalini di mattoni del Nether rossi', 'Scalini di quarzo', 
		'Scalini di quarzo levigato', 'Scalini di purpur', "Scalini di mattoni di pietra dell'End", 'Blackstone Stairs', 'Polished Blackstone Stairs', 'Polished Blackstone Brick Stairs' },
	['Blocco di purpur'] = { 'Blocco di purpur', 'Pilastro di purpur' },
	['Pietra'] = { 'Pietra', 'Andesite', 'Granito', 'Diorite', 'Andesite levigata', 'Granito levigato', 'Diorite levigata' },
	['Tulipano'] = { 'Tulipano rosso', 'Tulipano arancione', 'Tulipano bianco', 'Tulipano rosa' },
	['Prismarino'] = { { title = 'Prismarino', name = 'Prismarine.gif' }, 'Mattoni di prismarino', 'Prismarino scuro' },
	['Minerale grezzo'] = { 'Carbone grezzo', 'Ferro grezzo', 'Oro grezzo', 'Lapislazzuli grezzo', 'Redstone grezza', 'Smeraldo grezzo', 'Diamante grezzo', 'Quarzo del Nether grezzo', 'Oro grezzo del Nether' },
	['Blocco di corallo morto'] = { 'Blocco di corallo a tubo morto', 'Blocco di corallo a cervello morto', 'Blocco di corallo a bolle morto', 'Blocco di corallo di fuoco morto', 'Blocco di corallo a corna morto' },
	['Blocco di corallo'] = { 'Blocco di corallo a tubo', 'Blocco di corallo a cervello', 'Blocco di corallo a bolle', 'Blocco di corallo di fuoco', 'Blocco di corallo a corna' },
	['Corallo morto'] = { 'Corallo a tubo morto', 'Corallo a cervello morto', 'Corallo a bolle morto', 'Corallo di fuoco morto', 'Corallo a corna morto' },
	['Gorgonia morta'] = { 'Gorgonia a tubo morta', 'Gorgonia a cervello morta', 'Gorgonia a bolle morta', 'Gorgonia di fuoco morta', 'Gorgonia a corna morta' },
	['Corallo'] = { 'Corallo a tubo', 'Corallo a cervello', 'Corallo a bolle', 'Corallo di fuoco', 'Corallo a corna' },
	['Gorgonia'] = { 'Gorgonia a tubo', 'Gorgonia a cervello', 'Gorgonia a bolle', 'Gorgonia di fuoco', 'Gorgonia a corna' },
	['Muretto'] = { 'Muretto di pietrisco', 'Muretto di pietrisco muschioso', 'Muretto di mattoni di pietra', 'Muretto di mattoni di pietra muschiosi', 'Muretto di andesite', 'Muretto di diorite', 'Muretto di granito', 'Muretto di arenaria', 
		'Muretto di arenaria rossa', 'Muretto di mattoni', { title = 'Muretto di prismarino', name = 'Prismarine Wall.gif' }, 'Muretto di mattoni del Nether', 'Muretto di mattoni del Nether rossi', "Muretto di mattoni di pietra dell'End", 'Blackstone Wall', 'Polished Blackstone Wall', 
		'Polished Blackstone Brick Wall' },
	['Torch'] = { 'Torch', 'Soul Torch' },
	['Lantern'] = { 'Lantern', 'Soul Lantern' },
	['Fungus'] = { 'Crimson Fungus', 'Warped Fungus' },
	['Fungi'] = { 'Crimson Fungus', 'Warped Fungus' },
	['Roots'] = { 'Crimson Roots', 'Warped Roots' },
	['Nylium'] = { 'Crimson Nylium', 'Warped Nylium' },
	['Soul Sand'] = { 'Soul Sand', 'Soul Soil' },
	['Campfire'] = { 'Campfire', 'Soul Campfire' },
	['Blackstone'] = { 'Blackstone', 'Polished Blackstone', 'Chiseled Polished Blackstone', 'Polished Blackstone Bricks', 'Cracked Polished Blackstone Bricks' },
	['Stone Button'] = { 'Stone Button', 'Polished Blackstone Button' },
	['Stone Pressure Plate'] = { 'Stone Pressure Plate', 'Polished Blackstone Pressure Plate' },
	['Nether Wood Pressure Plate'] = { 'Crimson Pressure Plate', 'Warped Pressure Plate' },
	['Nether Wood Fence'] = { 'Crimson Fence', 'Warped Fence' },
	['Nether Wood Trapdoor'] = { 'Crimson Trapdoor', 'Warped Trapdoor' },
	['Nether Wood Fence Gate'] = { 'Crimson Fence Gate', 'Warped Fence Gate' },
	['Nether Wood Stairs'] = { 'Crimson Stairs', 'Warped Stairs' },
	['Nether Wood Door'] = { 'Crimson Door', 'Warped Door' },
	['Nether Wood Sign'] = { 'Crimson Sign', 'Warped Sign' },
}
table.insert( itemVariants['Colorante'], 1, 'Colorante bianco' )
for aliasName, aliasItems in pairs( itemVariants ) do
	aliases['Ogni ' .. aliasName] = aliasItems
	aliases[aliasName .. ' corrispondente'] = aliasItems
end

-- Copper --
local copperstuff = {
	['Matching (Weathered) Copper Block'] = {'Copper Block', 'Lightly Weathered Copper Block', 'Semi-Weathered Copper Block', 'Weathered Copper BlocK'},
	['Matching (Weathered) Cut Copper'] = {'Cut Copper', 'Lightly Weathered Cut Copper', 'Semi-Weathered Cut Copper', 'Weathered Cut Copper'},
	['Matching Waxed (Weathered) Copper Block'] = {'Waxed Copper Block', 'Waxed Lightly Weathered Copper Block', 'Waxed Semi-Weathered Copper Block'},
	['Matching Waxed (Weathered) Cut Copper'] = {'Waxed Cut Copper', 'Waxed Lightly Weathered Cut Copper', 'Waxed Semi-Weathered Cut Copper'},
}
local function map(tbl, f)
    local t = {}
    for k,v in pairs(tbl) do
        t[k] = f(v)
    end
    return t
end
for k, v in pairs(copperstuff) do
	aliases[k] = v
	local k1 = k:gsub(' Block$', '')
	local v1 = map(v, function(s) return s:gsub(' Block$', '') end)
	aliases[k1 .. 'Slab'] = map(v1, function(s) return s .. 'Slab' end)
	aliases[k1 .. 'Stairs'] = map(v1, function(s) return s .. 'Stairs' end)
end

-- Discs --
local discs = { 
	{ '13',      'C418',                 },
	{ 'Cat',     'C418',       'cat'     },
	{ 'Blocks',  'C418',       'blocks'  },
	{ 'Chirp',   'C418',       'chirp'   },
	{ 'Far',     'C418',       'far'     },
	{ 'Mall',    'C418',       'mall'    },
	{ 'Mellohi', 'C418',       'mellohi' },
	{ 'Stal',    'C418',       'stal'    },
	{ 'Strad',   'C418',       'strad'   },
	{ 'Ward',    'C418',       'ward'    },
	{ '11',      'C418',                 },
	{ 'Wait',    'C418',       'wait'    },
	{ 'Pigstep', 'Lena Raine',           },
}
for _, disc in ipairs( discs ) do
	local name = 'Disco musicale ' .. disc[1]
	local artist = disc[2]
	local trackname = disc[1]
	if disc[3] ~= nil then
		trackname = disc[3]
	end
	aliases[name] = { title = '&bDisco musicale', name = name, text = '&7' .. artist .. ' - ' .. trackname }
end

-- Damaged armor, tools and weapons --
local damagedItems = {
	'Arco',
	'Bastone e carota',
	'Stivali di maglia',
	'Cotta di maglia',
	'Elmo di maglia',
	'Gambiere di maglia',
	'Balestra',
	'Ascia di diamante',
	'Stivali di diamante',
	'Corazza di diamante',
	'Elmo di diamante',
	'Zappa di diamante',
	'Gambiera di diamante',
	'Piccone di diamante',
	'Pala di diamante',
	'Spada di diamante',
	'Elitre',
	'Canna da pesca',
	'Acciarino',
	"Ascia d'oro",
	"Stivali d'oro",
	"Corazza d'oro",
	"Elmo d'oro",
	"Zappa d'oro",
	"Gambiera d'oro",
	"Piccone d'oro",
	"Pala d'oro",
	"Spada d'oro",
	'Ascia di ferro',
	'Stivali di ferro',
	'Corazza di ferro',
	'Elmo di ferro',
	'Zappa di ferro',
	'Gambiera di ferro',
	'Piccone di ferro',
	'Pala di ferro',
	'Spada di ferro',
	'Stivali di cuoio',
	'Giubba di cuoio',
	'Casco di cuoio',
	'Pantaloni di cuoio',
	'Netherite Axe',
	'Netherite Boots',
	'Netherite Chestplate',
	'Netherite Helmet',
	'Netherite Hoe',
	'Netherite Leggings',
	'Netherite Pickaxe',
	'Netherite Shovel',
	'Netherite Sword',
	'Cesoie',
	'Scudo',
	'Ascia di pietra',
	'Zappa di pietra',
	'Piccone di pietra',
	'Pala di pietra',
	'Spada di pietra',
	'Ascia di legno',
	'Zappa di legno',
	'Piccone di legno',
	'Pala di legno',
	'Spada di legno'
}
for _, item in ipairs( damagedItems ) do
	local name = item .. ' danneggiato'
	aliases[name] = { title = item, name = name }
end

-- Banners and colored items --
local patterns = {
	'al cantone destro della punta di',
	'alla fascia in punta di',
	'sfumato in punta di',
	'alla punta cuneato di',
	'al cantone sinistro della punta di',
	'alla banda di',
	'alla sbarra di',
	'alla bordura di',
	'alla bordura dentata di',
	'alla punta di',
	'al cantone destro del capo di',
	'alla fascia in capo di',
	'al capo cuneato di',
	'al cantone sinistro del capo di',
	'al volto di creeper di',
	'alla croce di',
	'alla fascia di',
	'seminato di mattoni di',
	'al fiore di',
	'al globo di',
	'sfumato in capo di',
	'alla punta rovesciata di',
	'alla losanga di',
	'al logo di',
	'al palo di',
	'al palo destro di',
	'al palo sinistro di',
	'palato di',
	'trinciato a sinistra di',
	'trinciato a destra di',
	'tagliato a sinistra di',
	'tagliato a sinistra di',
	'troncato di sopra di',
	'troncato di sotto di',
	'partito a destra di',
	'partito a sinistra di',
	'al piglin di',
	'al grugno di',
	'alla torta di',
	'al decusse di',
	'al teschio di'
}
local colors = {
	'bianco',
	'arancione',
	'magenta',
	'azzurro',
	'giallo',
	'lime',
	'rosa',
	'grigio',
	'grigio chiaro',
	'ciano',
	'viola',
	'blu',
	'marrone',
	'verde',
	'rosso',
	'nero'
}

-- Firework Stars --
local fireworkStar = {}
for _, color in ipairs( colors ) do
	local name = 'Stella pirotecnica ' .. color
	aliases[name] = { title = 'Stella pirotecnica', name = name, text = '&7' .. color }
	table.insert( fireworkStar, aliases[name] )
	for _, pattern in ipairs( patterns ) do
		name = 'Stendardo ' .. pattern .. ' ' .. color
		aliases[name] = { title = 'Stendardo', name = name, text = '&7' .. pattern .. ' ' .. color }
	end
end
aliases['Ogni stella pirotecnica'] = fireworkStar
aliases['Stella pirotecnica corrispondente'] = fireworkStar

-- Items that use the sixteen colors --
local coloredItems = {
	'Palloncino',
	'Stendardo',
	'Letto',
	'Candle',
	'Tappeto',
	'Calcestruzzo',
	'Polvere di calcestruzzo',
	'Glazed Terracotta',
	'Hardened $1 Stained Glass',
	'Hardened $1 Stained Glass Pane',
	'Scudo',
	'Scatola di shulker',
	'Vetro',
	'Pannello di vetro',
	'Lana'
}
for _, item in ipairs( coloredItems ) do
	local coloredItemAliases = {}
	local itemName = ''
	
	for _, color in ipairs( colors ) do
		if item:find( '%$1' ) then
			itemName = item:gsub( '%$1', color )
		else
			itemName = item .. ' ' .. color
		end
		table.insert( coloredItemAliases, itemName )
	end
	
	item = item:gsub( '%$1 ', '')
	aliases['Ogni ' .. item] = coloredItemAliases
	aliases[item .. ' corrispondente'] = coloredItemAliases
end
-- list of all potions with no effects
local noEffects = {
	"Ampolla d'acqua",
	'Pozione strana',
	'Pozione densa',
	'Pozione ordinaria',
	'Pozione non fabbricabile',
	"Ampolla d'acqua da lancio",
	'Pozione strana da lancio',
	'Pozione densa da lancio',
	'Pozione ordinaria da lancio',
	'Pozione da lancio non fabbricabile',
	"Ampolla d'acqua persistente",
	'Pozione strana persistente',
	'Pozione densa persistente',
	'Pozione ordinaria persistente',
	'Pozione persistente non fabbricabile',
	'Freccia imbevuta',
	"Freccia d'acqua",
	'Freccia imbevuta non fabbricabile',
}
for _, name in ipairs(noEffects) do
	aliases[name] = { name = name, text = '&7Nessun effetto' }
end

-- start these lists with the no effect items as names are not normal
local potionItems = {
	['Pozione'] = {
		aliases["Ampolla d'acqua"],
		aliases['Pozione strana'],
		aliases['Pozione densa'],
		aliases['Pozione ordinaria'],
	},
	['Pozione da lancio'] = {
		aliases["Ampolla d'acqua da lancio"],
		aliases['Pozione strana da lancio'],
		aliases['Pozione densa da lancio'],
		aliases['Pozione ordinaria da lancio'],
	},
	['Pozione persistente'] = {
		aliases["Ampolla d'acqua persistente"],
		aliases['Pozione strana persistente'],
		aliases['Pozione densa persistente'],
		aliases['Pozione ordinaria persistente'],
	},
	['Freccia imbevuta'] = {
		aliases["Freccia d'acqua"],
		aliases['Freccia imbevuta'],
		aliases['Freccia imbevuta'],
		aliases['Freccia imbevuta'],
	},
}

-- Potions --
local effects = {
	-- durations are in the order normal, extended, enhanced
	{name = 'di rigenerazione', effect = '&9Rigenerazione', 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 = 'di velocità', effect = '&9Velocità', 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 = 'di resistenza al fuoco', effect = '&9Resist. al fuoco', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
	{ name = 'di avvelenamento', effect = '&cAvvelenamento', 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 = 'di cura', effect = '&9Salute istantanea', enhanced = 'II' },
	{ name = 'di visione notturna',    effect = '&9Visione notturna',    durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
	{ name = 'di debolezza',        effect = '&cDebolezza',        durations = { normal = { '1:30', '4:00' }, lingering = { '0:22', '1:00' }, arrow = { '0:11', '0:30' }}},
	{ name = 'di forza', effect = '&9Forza', 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 = 'di lentezza', effect = '&cLentezza', 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 = 'di salto', effect = '&9Salto ampliato', 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 = 'di danno', effect = '&cDanno istantaneo', enhanced = 'II' },
	{ name = 'di respirazione acquatica', effect = '&9Respir. acquatica', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
	{ name = "d'invisibilità",    effect = '&9Invisibilità',    durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
	{ name = 'di caduta lenta',    effect = '&9Caduta lenta',    durations = { normal = { '1:30', '4:00' }, lingering = { '0:22', '1:00' }, arrow = { '0:11', '0:30' }}},
	{ name = 'di fortuna',  effect = '&9Fortuna',   durations = { normal = { '5:00' }, lingering = { '1:15' }, arrow = { '0:37' }}},
	{ name = "d'avvizzimento", effect = '&cWither', durations = { normal = { '0:40' }, lingering = { '0:10' }, arrow = { '0:05' }}},
	{ name = 'del maestro tartaruga', text = '&cLentezza IV ($1)/&9Resistenza III ($1)', enhanced = '&cLentezza VI ($1)/&9Resistenza 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 = 'Pozione',               durations = 'normal',      text = 'Pozione '},
	{name = 'Pozione da lancio',     durations = 'normal',      text = 'Pozione da lancio '},
	{name = 'Pozione persistente',   durations = 'lingering', text = 'Pozione persistente '},
	{name = 'Freccia imbevuta',      durations = 'arrow',     text = 'Freccia '},
}

for _, effect in ipairs(effects) do
	for _, type in ipairs(types) do
		-- form name, it will be reused
		local name =  type.text .. effect.name
		local potionName = {}
		if type.name == 'Tipped Arrow' then
		potionName = type.text .. effect.name
		else
		potionName = type.text .. effect.name .. '.gif'
		end
		
		-- 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 = potionName, text = effect.text:gsub( '%$1', durations[1] ) }
				aliases[name .. ' esteso'] = { name = potionName, text = effect.text:gsub( '%$1', durations[2] ) }
				aliases[name .. ' migliorata'] = { name = potionName, text = effect.enhanced:gsub( '%$1', durations[3] ) }
			else
				-- we always have normal
				aliases[name] = { name = potionName, text = string.format( '%s (%s)', effect.effect, durations[1] ) }
			
				-- ensure we have extended
				if durations[2] then
					aliases[name .. ' esteso'] = { name = potionName, 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 .. ' migliorata'] = { name = potionName, 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 = potionName, text = effect.effect}
			aliases[name .. ' migliorata'] = { name = potionName, 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['Ogni ' .. item] = potionAliases
	aliases[item .. ' corrispondente'] = potionAliases
end

-- Wood --
local woodTypes = {
    overworld = {
        'di quercia',
	    'di abete',
	    'di betulla',
	    'della giungla',
	    'di acacia',
        'di quercia scura',
    },
    nether = {
        'Crimson',
        'Warped'
    },
    both = {},
}
local woodTypeWorld = {}
for _, world in ipairs({'overworld', 'nether'}) do
	local woods = woodTypes[world]
	for _, type in ipairs(woods) do
		woodTypeWorld[type] = world
        table.insert(woodTypes.both, type)
    end
end
local woodItems = {
    overworld = {
        'Legno',
        'Tronco',
        'Barca',
        'Tronco $1 scortecciato',
        'Legno $1 scortecciato',
        'Assi',
        'Lastra',
        'Scalini',
        'Pedana a pressione',
        'Pulsante',
        'Porta',
        'Botola',
        'Cancelletto',
        'Staccionata',
        'Cartello',
        'Arboscello',
    },
    nether = {
        'Stem',
        'Hyphae',
        'Stripped $1 Stem',
        'Stripped $1 Hyphae',
    },
    both = {
        '$world Planks',
        '${Wood,Hyphae}',
        '${Log,Stem}',
        'Stripped $1 ${Wood,Hyphae}',
        'Stripped $1 ${Log,Stem}',
        'Fence Gate',
        -- '$world Wood Fence',
        '$wood Fence',
        '$wood Door',
        '$wood Button',
        '$wood Pressure Plate',
        '$wood Trapdoor',
        '$world $wood Slab',
        '$wood Stairs',
        'Sign'
    }
}
local woodItemWorld = {}
for world, items in pairs(woodItems) do
    for _, item in ipairs(items) do
		-- expand $world (should only happen in "both")
        if (item:find('%$world')) and world == 'both' then
            item = item:gsub('%$world ', '')
            woodItemWorld['Overworld ' .. item] = 'overworld'
			woodItemWorld['Nether ' .. item] = 'nether'
		end
		woodItemWorld[item] = world
    end
end

for item, world in pairs(woodItemWorld) do
	local itemName = ''
	local woodAliases = {}

	-- real "linkable" name
    local realItem = item:gsub('^Overworld ', '')
    realItem = realItem:gsub('^Nether ', '')

	for _, wood in ipairs(woodTypes[world]) do
		-- Parse ${,} (world-select) syntax
		local selector = (woodTypeWorld[wood] == 'overworld') and "%1" or "%2"
		itemName = realItem:gsub("%${(.-),(.-)}", selector)

		if itemName:find('%$wood') then
			itemName = itemName:gsub('%$wood', wood)
		elseif itemName:find('%$1') then
			itemName = itemName:gsub( '%$1', wood)
		else
			itemName = itemName .. ' ' .. wood
		end
		table.insert(woodAliases, itemName)
	end

	-- Parse ${,} (world-select) syntax
	item = item:gsub("%${(.-),(.-)}", "%1 or %2")
    item = item:gsub('%$wood ', 'wood ')
    item = item:gsub('%$1 ', '')
    aliases['Ogni ' .. item] = woodAliases
	aliases[item .. ' corrispondente'] = woodAliases
end

-- Bedrock Edition Items --
local editionItems = {
	BE = {
		'Acacia Fence Gate',
		'Birch Fence Gate',
		'Bow',
		'Bucket of Pufferfish',
		'Bucket of Tropical Fish',
		'Chest',
		'Creeper Head',
		'Crimson Fence Gate',
		'Dark Oak Fence Gate',
		'Dragon Head',
		'End Gateway',
		'End Portal',
		'Ender Chest',
		'Flowing Lava',
		'Glass Pane',
		'Head',
		'Honey Block',
		'Horn Coral Block',
		'Iron Bars',
		'Jigsaw Block',
		'Jungle Fence Gate',
		'Lava',
		'Map',
		'Minecart with Command Block',
		'Oak Fence Gate',
		'Observer',
		'Ocean Explorer Map',
		'Peony',
		'Rose Bush',
		'Scaffolding',
		'Skeleton Skull',
		'Spawn Cat',
		'Spawn Panda',
		'Spawn Wandering Trader',
		'Spruce Fence Gate',
		'Stonecutter',
		'Structure Void',
		'Warped Fence Gate',
		'Wither Skeleton Skull',
		'Woodland Explorer Map',
		'Zombie Head',
	},
	LCE = {
		'Peony',
		'Rose Bush',
		'Shrub'
	}
}
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

-- Bedrock Light blocks
for level = 0, 15 do
aliases["Light Block " .. level] = {title = "Light Block", name = "Light Block " .. level}
end

return aliases
Advertisement