Minecraft Wiki
Registrieren
Advertisement
[Erstellen | Versionen | Aktualisieren]Buch und Feder DokumentationLua logo Zum Gebrauch von Lua-Modulen siehe die Modul-Hilfe.
Dieses Modul hat keine Dokumentation. Wenn du weißt, wie es funktioniert, dann erstelle sie bitte.
local coloredDyes = {
	'Oranger Farbstoff', 'Magenta Farbstoff', 'Hellblauer Farbstoff', 'Gelber Farbstoff', 'Hellgrüner Farbstoff',
	'Rosa Farbstoff', 'Grauer Farbstoff', 'Hellgrauer Farbstoff', 'Türkiser Farbstoff', 'Violetter Farbstoff',
	'Blauer Farbstoff', 'Brauner Farbstoff', 'Grüner Farbstoff',
	'Roter Farbstoff', 'Schwarzer Farbstoff',
}
local aliases = {
	
	-- Holz --
	--['Alle Oberwelt Stämme'] = { 'Eichenstamm', 'Fichtenstamm', 'Birkenstamm', 'Tropenbaumstamm', 'Akazienstamm', 'Schwarzeichenstamm' },
	--['Alle Oberwelt entrindete Stämme'] = { 'Entrindeter Eichenstamm', 'Entrindeter Fichtenstamm', 'Entrindeter Birkenstamm', 'Entrindeter Tropenbaumstamm', 'Entrindeter Akazienstamm', 'Entrindeter Schwarzeichenstamm' },
	--['Alle Oberwelt Hölzer'] = { 'Eichenholz', 'Fichtenholz', 'Birkenholz', 'Tropenholz', 'Akazienholz', 'Schwarzeichenholz' },
	--['Alle Oberwelt entrindete Hölzer'] = { 'Entrindetes Eichenholz', 'Entrindetes Fichtenholz', 'Entrindetes Birkenholz', 'Entrindetes Tropenholz', 'Entrindetes Akazienholz', 'Entrindetes Schwarzeichenholz' },

	-- Steine --
	['Passender Bruchstein oder Schwarzstein'] = { 'Bruchstein', 'Schwarzstein' },
	
	-- Anzeigenamen --
	['Zerfledderte Elytren'] = { title = '&eElytren', name = 'Zerfledderte Elytren' },
	['Bannervorlage Blume'] = { title = 'Bannervorlage', name = 'Bannervorlage', text = '&7Blume'},
	['Bannervorlage Creeper'] = { title = '&eBannervorlage', name = 'Bannervorlage', text = '&7Creeper'},
	['Bannervorlage Spickelbord'] = { title = 'Bannervorlage', name = 'Bannervorlage', text = '&7Spickelbord'},
	['Bannervorlage Gemauertes Feld'] = { title = 'Bannervorlage', name = 'Bannervorlage', text = '&7Gemauertes Feld'},
	['Bannervorlage Schädel'] = { title = '&eBannervorlage', name = 'Bannervorlage', text = '&7Schädel'},
	['Bannervorlage Mojang'] = { title = '&dBannervorlage', name = 'Bannervorlage', text = '&7Mojang-Logo'},
	['Bannervorlage Globus'] = { title = 'Bannervorlage', name = 'Bannervorlage', text = '&7Globus'},
	['Bannervorlage Piglin'] = { title = 'Bannervorlage', name = 'Bannervorlage', text = '&7Schnauze'},
	['Bannervorlage Schnauze'] = { title = 'Bannervorlage', name = 'Bannervorlage', text = '&7Schnauze'},
	['Knopf'] = { title = 'Knopf', name = 'Steinknopf'},
	['Holzknopf'] = { title = 'Knopf', name = 'Eichenholzknopf'},
	['Pfeil geladene Armbrust'] = { title = 'Armbrust', name = 'Pfeil geladene Armbrust' },
	['Beschädigte Pfeil geladene Armbrust'] = { title = 'Armbrust', name = 'Beschädigte Pfeil geladene Armbrust' },
	['Feuerwerk geladene Armbrust'] = { title = 'Armbrust', name = 'Feuerwerk geladene Armbrust' },
	['Beschädigte Feuerwerk geladene Armbrust'] = { title = 'Armbrust', name = 'Beschädigte Feuerwerk geladene Armbrust' },
	['Unheilvolles Banner'] = { title = '&6&oUnheilvolles Banner', name = 'Unheilvolles Banner', text = 
		'&7Türkise Raute/&7Hellgrauer Bannerfuß/&7Grauer Pfahl/&7Hellgrauer Bord/&7Schwarzer Balken/&7Oben hellgrau geteilt'},
	['Plattenbruchstück'] = { title = 'Plattenbruchstück', name = 'Plattenbruchstück', text = '&7Schallplatte - 5' },
	['Schild (Kampf)'] = { title = 'Schild', name = 'Schild (Kampf)' },
	['Netheritaufwertung'] = { title = 'Schmiedevorlage', name = 'Netheritaufwertung', text = '&7Netheritaufwertung//&7Anwendbar auf:/ &9Diamantausrüstung/&7Werkstoffe:/ &9Netheritbarren' },
	['Verzierter Krug (1)'] = { title = 'Verzierter Krug', name = 'Verzierter Krug (1)' },
	['Verzierter Krug (2)'] = { title = 'Verzierter Krug', name = 'Verzierter Krug (2)' },
	['Verzierter Krug (3)'] = { title = 'Verzierter Krug', name = 'Verzierter Krug (3)' },
	
	-- Waffen --
	['Dreizack'] = { name = 'Dreizack', text = '/&7 In der Haupthand:/ &2 9 Angriffsschaden/ &2 1.1 Angriffsgeschwindigkeit'},
}

-- Tooltip Farben --
local yellowTooltips = {
	'Beschädigte Elytren',
	'Zerfledderte Elytren',
	'Creeperkopf',
	'Drachenkopf',
	'Drachenatem',
	'Elytren',
	'Kopf',
	'Herz des Meeres',
	'Piglinkopf',
	'Spielerkopf',
	'Skelettschädel',
	'Totem der Unsterblichkeit',
	'Witherskelettschädel',
	'Zombiekopf',
}
for _, name in ipairs( yellowTooltips ) do
	aliases[name] = { title = '&e', name = name }
end

local aquaTooltips = {
	'Leuchtfeuer',
	'Aquisator',
	'Goldener Apfel',
}
for _, name in ipairs( aquaTooltips ) do
	aliases[name] = { title = '&b', name = name }
end

local lightPurpleTooltips = {
	'Drachenei',
	'Konstruktionsblock',
	'Verbundblock',
	'Barriere',
	'Spawner',
	'Buch des Wissens',
	'Befehlsblocklore',
	'Konstruktionsleere',
}
for _, name in ipairs( lightPurpleTooltips ) do
	aliases[name] = { title = '&d', name = name }
end

-- Animierte Symbole --
local animatedIcons = {
	'Beschriebenes Buch',
	'Blasensäule',
	'Feuer',
	'Hitzeblock',
	'Kompass',
	'Lava',
	'Leitstein-Kompass',
	'Magmablock',
	'Netherportal',
	'Prismarin',
	'Prismarinstufe',
	'Prismarintreppe',
	'Prismarinmauer',
	'Seelaterne',
	'Seelenfeuer',
	'Steinsäge',
	'Wasser',
	'Karmesinstiel',
	'Wirrstiel',
	'Karmesinhyphen',
	'Wirrhyphen',
	'Sculk-Sensor',
	'Bergungskompass',
	'Kalibrierter Sculk-Sensor'
}
for _, icon in ipairs( animatedIcons ) do
	aliases[icon] = icon .. '.gif'
end

-- Some things are both animated and yellow --
local animatedIconsYellowTooltips = {
	'Verzaubertes Buch',
	'Netherstern',
	'Erfahrungsfläschchen',
}
for _, name in ipairs( animatedIconsYellowTooltips ) do
	aliases[name] = { title = '&e', name = name .. '.gif' }
end

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

-- Some things are both animated and purple --
local animatedIconsPurpleTooltips = {
	'Befehlsblock',
	'Ketten-Befehlsblock',
	'Wiederhol-Befehlsblock',
	'Verzauberter goldener Apfel',
	'Debug-Stab',
}
for _, name in ipairs( animatedIconsPurpleTooltips ) do
	aliases[name] = { title = '&d', name = name .. '.gif' }
end

-- Werkzeuge und Waffen --
local tools = {
	{'Holz', 'Schwert', 1.6, 4 },
	{'Stein', 'Schwert', 1.6, 5 },
	{'Eisen', 'Schwert', 1.6, 6 },
	{'Gold', 'Schwert', 1.6, 4 },
	{'Diamant', 'Schwert', 1.6, 7 },
	{'Netherit', 'Schwert', 1.6, 8 },
	
	{'Holz', 'Spitzhacke', 1.2, 2 },
	{'Stein', 'Spitzhacke', 1.2, 3 },
	{'Eisen', 'Spitzhacke', 1.2, 4 },
	{'Gold', 'Spitzhacke', 1.2, 2 },
	{'Diamant', 'Spitzhacke', 1.2, 5 },
	{'Netherit', 'Spitzhacke', 1.2, 6 },
	
	{'Holz', 'Axt', 0.8, 7 },
	{'Stein', 'Axt', 0.8, 9 },
	{'Eisen', 'Axt', 0.9, 9 },
	{'Gold', 'Axt', 1, 7 },
	{'Diamant', 'Axt', 1, 9 },
	{'Netherit', 'Axt', 1, 10 },
	
	{'Holz', 'Schaufel', 1, 2.5 },
	{'Stein', 'Schaufel', 1, 3.5 },
	{'Eisen', 'Schaufel', 1, 4.5 },
	{'Gold', 'Schaufel', 1, 2.5 },
	{'Diamant', 'Schaufel', 1, 5.5 },
	{'Netherit', 'Schaufel', 1, 6.5 },
	
	{'Holz', 'Hacke', 1, 1 },
	{'Stein', 'Hacke', 2, 1 },
	{'Eisen', 'Hacke', 3, 1 },
	{'Gold', 'Hacke', 1, 1 },
	{'Diamant', 'Hacke', 4, 1 },
	{'Netherit', 'Hacke', 4, 1 }
}

local materialGroups = {}
local toolGroups = {}

for _, toolProps in ipairs( tools ) do
	local materialGroup = toolProps[1]:lower();
	local toolGroup = toolProps[2]:lower();
	
	local aliasName = toolProps[1] .. toolGroup
	aliases[aliasName] = { title = aliasName, name = aliasName, text = '/&7In der Haupthand:/ &2' .. toolProps[4] .. ' Angriffsschaden/ &2' .. toolProps[3] .. ' Angriffsgeschwindigkeit' }
	
	if toolProps[2] ~= 'Schwert' 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['Alle ' .. materialGroup .. 'werkzeuge'] = items
end

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

-- Liste von Gegenstandsvarianten --
local itemVariants = {
	['Farbstoffe'] = mw.clone( coloredDyes ),
	['Farben'] = coloredDyes,
	['gefärbte Wolle'] = {
		'Orange Wolle', 'Magenta Wolle', 'Hellblaue Wolle', 'Gelbe Wolle', 'Hellgrüne Wolle',
		'Rosa Wolle', 'Graue Wolle', 'Hellgraue Wolle', 'Türkise Wolle', 'Violette Wolle',
		'Blaue Wolle', 'Braune Wolle', 'Grüne Wolle', 'Rote Wolle', 'Schwarze Wolle',
	},
	['gefärbten Betten'] = {
		'Oranges Bett', 'Magenta Bett', 'Hellblaues Bett', 'Gelbes Bett', 'Hellgrünes Bett',
		'Rosa Bett', 'Graues Bett', 'Hellgraues Bett', 'Türkises Bett', 'Violettes Bett',
		'Blaues Bett', 'Braunes Bett', 'Grünes Bett', 'Rotes Bett', 'Schwarzes Bett',
	},
	['gefärbten Teppiche'] = {
		'Oranger Teppich', 'Magenta Teppich', 'Hellblauer Teppich', 'Gelber Teppich', 'Hellgrüner Teppich',
		'Rosa Teppich', 'Grauer Teppich', 'Hellgrauer Teppich', 'Türkiser Teppich', 'Violetter Teppich',
		'Blauer Teppich', 'Brauner Teppich', 'Grüner Teppich', 'Roter Teppich', 'Schwarzer Teppich',
	},
	['glasierten Keramiken'] = {
		'Weiße glasierte Keramik', 'Orange glasierte Keramik', 'Magenta glasierte Keramik', 'Hellblaue glasierte Keramik',
		'Gelbe glasierte Keramik', 'Hellgrüne glasierte Keramik', 'Rosa glasierte Keramik', 'Graue glasierte Keramik',
		'Hellgraue glasierte Keramik', 'Türkise glasierte Keramik', 'Violette glasierte Keramik', 'Blaue glasierte Keramik',
		'Braune glasierte Keramik', 'Grüne glasierte Keramik', 'Rote glasierte Keramik', 'Schwarze glasierte Keramik',
	},
	['Blumen'] = { 'Margerite', 'Kornblume', 'Maiglöckchen', 'Wither-Rose', 'Rote Tulpe', 'Orange Tulpe', 'Weiße Tulpe', 'Rosa Tulpe', 'Porzellansternchen', 'Zierlauch', 'Blaue Orchidee', 'Mohn', 'Löwenzahn' },
	['Pilze'] = { 'Roter Pilz', 'Brauner Pilz' },
	['Quarzblöcke'] = { 'Quarzblock', 'Gemeißelter Quarzblock', 'Quarzsäule' },
	['roten Sandsteine'] = { 'Roter Sandstein', 'Geschnittener roter Sandstein', 'Gemeißelter roter Sandstein', 'Glatter roter Sandstein' },
	['Sandsteine'] = { 'Sandstein', 'Geschnittener Sandstein', 'Gemeißelter Sandstein', 'Glatter Sandstein' },
	['Steinziegel'] = { 'Steinziegel', 'Bemooste Steinziegel', 'Rissige Steinziegel', 'Gemeißelte Steinziegel' },
	['Steinstufen'] = { 'Steinstufe', 'Glatte Steinstufe', 'Bruchsteinstufe', 'Bemooste Bruchsteinstufe', 'Steinziegelstufe', 'Bemooste Steinziegelstufe', 'Andesitstufe', 'Polierte Andesitstufe',
		'Dioritstufe', 'Polierte Dioritstufe', 'Granitstufe', 'Polierte Granitstufe', 'Sandsteinstufe', 'Geschnittene Sandsteinstufe', 'Glatte Sandsteinstufe', 'Rote Sandsteinstufe', 'Geschnittene rote Sandsteinstufe', 
		'Glatte rote Sandsteinstufe', 'Ziegelstufe', { title = 'Prismarinstufe', name = 'Prismarinstufe.gif' }, 'Prismarinziegelstufe', 'Dunkle Prismarinstufe', 'Netherziegelstufe', 'Rote Netherziegelstufe', 'Quarzstufe', 
		'Glatte Quarzstufe', 'Purpurstufe', 'Endsteinziegelstufe', 'Schwarzsteinstufe', 'Polierte Schwarzsteinstufe', 'Polierte Schwarzsteinziegelstufe' },
	['Steintreppen'] = { 'Steintreppe', 'Bruchsteintreppe', 'Bemooste Bruchsteintreppe', 'Steinziegeltreppe', 'Bemooste Steinziegeltreppe', 'Andesittreppe', 'Polierte Andesittreppe', 
		'Diorittreppe', 'Polierte Diorittreppe', 'Granittreppe', 'Polierte Granittreppe', 'Sandsteintreppe', 'Glatte Sandsteintreppe', 'Rote Sandsteintreppe', 'Glatte rote Sandsteintreppe', 
		'Steinziegeltreppe', { title = 'Prismarintreppe', name = 'Prismarintreppe.gif' }, 'Prismarinziegeltreppe', 'Dunkle Prismarintreppe', 'Netherziegeltreppe', 'Rote Netherziegeltreppe', 'Quarztreppe', 'Glatte Quarztreppe', 'Purpurtreppe', 
		'Endsteinziegeltreppe', 'Schwarzsteintreppe', 'Polierte Schwarzsteintreppe', 'Polierte Schwarzsteinziegeltreppe' },
	['Purpurblöcke'] = { 'Purpurblock', 'Purpursäule' },
	['Steine'] = { 'Stein', 'Andesit', 'Granit', 'Diorit', 'Polierter Andesit', 'Polierter Granit', 'Polierter Diorit' },
	['Tulpen'] = { 'Rote Tulpe', 'Orange Tulpe', 'Weiße Tulpe', 'Rosa Tulpe' },
	['Prismarin'] = { { title = 'Prismarin', name = 'Prismarin.gif' }, 'Prismarinziegel', 'Dunkler Prismarin' },
	['Erze'] = { 'Steinkohle', 'Eisenerz', 'Golderz', 'Lapislazulierz', 'Redstone-Erz', 'Smaragderz', 'Diamanterz', 'Netherquarzerz', 'Nethergolderz' },
	['abgestorbene Korallenblöcke'] = { 'Abgestorbener Orgelkorallenblock', 'Abgestorbener Hirnkorallenblock', 'Abgestorbener Blasenkorallenblock', 'Abgestorbener Feuerkorallenblock', 'Abgestorbener Geweihkorallenblock' },
	['Korallenblöcke'] = { 'Orgelkorallenblock', 'Hirnkorallenblock', 'Blasenkorallenblock', 'Feuerkorallenblock', 'Geweihkorallenblock' },
	['abgestorbenen Korallen'] = { 'Abgestorbene Orgelkoralle', 'Abgestorbene Hirnkoralle', 'Abgestorbene Blasenkoralle', 'Abgestorbene Feuerkoralle', 'Abgestorbene Geweihkoralle' },
	['abgestorbene Korallenfächer'] = { 'Abgestorbener Orgelkorallenfächer', 'Abgestorbener Hirnkorallenfächer', 'Abgestorbener Blasenkorallenfächer', 'Abgestorbener Feuerkorallenfächer', 'Abgestorbener Geweihkorallenfächer' },
	['Korallen'] = { 'Orgelkoralle', 'Hirnkoralle', 'Blasenkoralle', 'Feuerkoralle', 'Geweihkoralle' },
	['Korallenfächer'] = { 'Orgelkorallenfächer', 'Hirnkorallenfächer', 'Blasenkorallenfächer', 'Feuerkorallenfächer', 'Geweihkorallenfächer' },
	['Mauern'] = { 'Bruchsteinmauer', 'Bemooste Bruchsteinmauer', 'Steinziegelmauer', 'Bemooste Steinziegelmauer', 'Andesitmauer', 'Dioritmauer', 'Granitmauer', 'Sandsteinmauer', 
		'Rote Sandsteinmauer', 'Ziegelsteinmauer', { title = 'Prismarinmauer', name = 'Prismarinmauer.gif' }, 'Netherziegelmauer', 'Rote Netherziegelmauer', 'Endsteinziegelmauer', 'Schwarzsteinmauer', 'Polierte Schwarzsteinmauer', 'Polierte Schwarzsteinziegelmauer' },
	['Fackeln'] = { 'Fackel', 'Seelenfackel' },
	['Laternen'] = { 'Laterne', 'Seelenlaterne' },
	['Fungi'] = { 'Karmesinpilz', 'Wirrpilz' },
	['Wurzeln'] = { 'Karmesinwurzeln', 'Wirrwurzeln' },
	['Nezel'] = { 'Karmesin-Nezel', 'Wirr-Nezel' },
	['Netherbretter'] = { 'Karmesinbretter', 'Wirrbretter' },
	['Stiele'] = { 'Karmesinstiel', 'Wirrstiel' },
	['geschälten Stiele'] = { 'Geschälter Karmesinstiel', 'Geschälter Wirrstiel' },
	['Hyphen'] = { 'Karmesinhyphen', 'Wirrhyphen' },
	['geschälten Hyphen'] = { 'Geschälte Karmesinhyphen', 'Geschälte Wirrhyphen' },
	['Netherholzknöpfe'] = { 'Karmesinknopf', 'Wirrknopf' },
	['Netherholzdruckplatten'] = { 'Karmesindruckplatte', 'Wirrdruckplatte' },
	['Netherholzzäune'] = { 'Karmesinzaun', 'Wirrzaun' },
	['Netherholzfalltüren'] = { 'Karmesinfalltür', 'Wirrfalltür' },
	['Netherholzzauntore'] = { 'Karmesinzauntor', 'Wirrzauntor' },
	['Netherholztreppen'] = { 'Karmesintreppe', 'Wirrtreppe' },
	['Netherholztüren'] = { 'Karmesintür', 'Wirrtür' },
	['Netherholzschilder'] = { 'Karmesinschild', 'Wirrschild' },
	['Netherholzhängeschilder'] = {'Karmesinhängeschild', 'Wirrhängeschild' },
	['Seelensand'] = { 'Seelensand', 'Seelenerde' },
	['Lagerfeuer'] = { 'Lagerfeuer', 'Seelenlagerfeuer' },
	['Schwarzsteine'] = { 'Schwarzstein', 'Polierter Schwarzstein', 'Gemeißelter polierter Schwarzstein', 'Polierte Schwarzsteinziegel', 'Rissige polierte Schwarzsteinziegel' },
	['Steinknöpfe'] = { 'Steinknopf', 'Polierter Schwarzsteinknopf' },
	['Steindruckplatten'] = { 'Steindruckplatte', 'Polierte Schwarzsteindruckplatte' },
	
	-- Vom ursprünglichen Modul behalten
	['Spawn-Eier'] = { 'Axolotl-Spawn-Ei', 'Bienen-Spawn-Ei', 'Creeper-Spawn-Ei', 'Delfin-Spawn-Ei', 'Diener-Spawn-Ei', 'Dorfbewohner-Spawn-Ei', 'Eisbären-Spawn-Ei', 'Eiswanderer-Spawn-Ei', 'Enderman-Spawn-Ei', 'Endermiten-Spawn-Ei', 'Ertrunkenen-Spawn-Ei', 'Esel-Spawn-Ei', 'Fahrender-Händler-Spawn-Ei', 'Fledermaus-Spawn-Ei', 'Frosch-Spawn-Ei', 'Fuchs-Spawn-Ei', 'Ghast-Spawn-Ei', 'Großer-Wächter-Spawn-Ei', 'Händlerlama-Spawn-Ei', 'Hexen-Spawn-Ei', 'Hilfsgeister-Spawn-Ei', 'Hoglin-Spawn-Ei', 'Höhlenspinnen-Spawn-Ei', 'Huhn-Spawn-Ei', 'Kabeljau-Spawn-Ei', 'Kaninchen-Spawn-Ei', 'Katzen-Spawn-Ei', 'Kaulquappen-Spawn-Ei', 'Kugelfisch-Spawn-Ei', 'Kuh-Spawn-Ei', 'Lachs-Spawn-Ei', 'Lama-Spawn-Ei', 'Leuchttintenfisch-Spawn-Ei', 'Lohen-Spawn-Ei', 'Magier-Spawn-Ei', 'Magmawürfel-Spawn-Ei', 'Maultier-Spawn-Ei', 'Mooshroom-Spawn-Ei', 'Ozelot-Spawn-Ei', 'Panda-Spawn-Ei', 'Papageien-Spawn-Ei', 'Pferde-Spawn-Ei', 'Phantom-Spawn-Ei', 'Piglin-Spawn-Ei', 'Piglin-Barbaren-Spawn-Ei', 'Plagegeister-Spawn-Ei', 'Plünderer-Spawn-Ei', 'Schafs-Spawn-Ei', 'Schildkröten-Spawn-Ei', 'Schleim-Spawn-Ei', 'Schreiter-Spawn-Ei', 'Schweine-Spawn-Ei', 'Shulker-Spawn-Ei', 'Silberfischchen-Spawn-Ei', 'Skelett-Spawn-Ei', 'Skelettpferde-Spawn-Ei', 'Spinnen-Spawn-Ei', 'Tintenfisch-Spawn-Ei', 'Tropenfisch-Spawn-Ei', 'Verwüster-Spawn-Ei', 'Wächter-Spawn-Ei', 'Wärter-Spawn-Ei', 'Witherskelett-Spawn-Ei', 'Wolfs-Spawn-Ei', 'Wüstenzombie-Spawn-Ei', 'Ziegen-Spawn-Ei', 'Zoglin-Spawn-Ei', 'Zombie-Spawn-Ei', 'Zombiedorfbewohner-Spawn-Ei', 'Zombifizierter-Piglin-Spawn-Ei', 'Zombiepferde-Spawn-Ei' },
	['Lederkappen'] = { 'Weiße Lederkappe', 'Orange Lederkappe', 'Magenta Lederkappe', 'Hellblaue Lederkappe', 'Gelbe Lederkappe', 'Hellgrüne Lederkappe', 'Rosa Lederkappe', 'Graue Lederkappe', 'Hellgraue Lederkappe', 'Türkise Lederkappe', 'Violette Lederkappe', 'Blaue Lederkappe', 'Braune Lederkappe', 'Grüne Lederkappe', 'Rote Lederkappe', 'Schwarze Lederkappe' },
	['Lederjacken'] = { 'Weiße Lederjacke', 'Orange Lederjacke', 'Magenta Lederjacke', 'Hellblaue Lederjacke', 'Gelbe Lederjacke', 'Hellgrüne Lederjacke', 'Rosa Lederjacke', 'Graue Lederjacke', 'Hellgraue Lederjacke', 'Türkise Lederjacke', 'Violette Lederjacke', 'Blaue Lederjacke', 'Braune Lederjacke', 'Grüne Lederjacke', 'Rote Lederjacke', 'Schwarze Lederjacke' },
	['Lederhosen'] = { 'Weiße Lederhose', 'Orange Lederhose', 'Magenta Lederhose', 'Hellblaue Lederhose', 'Gelbe Lederhose', 'Hellgrüne Lederhose', 'Rosa Lederhose', 'Graue Lederhose', 'Hellgraue Lederhose', 'Türkise Lederhose', 'Violette Lederhose', 'Blaue Lederhose', 'Braune Lederhose', 'Grüne Lederhose', 'Rote Lederhose', 'Schwarze Lederhose' },
	['Lederstiefel'] = { 'Weiße Lederstiefel', 'Orange Lederstiefel', 'Magenta Lederstiefel', 'Hellblaue Lederstiefel', 'Gelbe Lederstiefel', 'Hellgrüne Lederstiefel', 'Rosa Lederstiefel', 'Graue Lederstiefel', 'Hellgraue Lederstiefel', 'Türkise Lederstiefel', 'Violette Lederstiefel', 'Blaue Lederstiefel', 'Braune Lederstiefel', 'Grüne Lederstiefel', 'Rote Lederstiefel', 'Schwarze Lederstiefel' },
	['Ofenzutaten'] = { 'Rohes Schweinefleisch', 'Rohes Rindfleisch', 'Rohes Hammelfleisch', 'Rohes Hühnchen', 'Rohes Kaninchen', 'Roher Kabeljau', 'Roher Lachs', 'Kartoffel', 'Eisenerz', 'Golderz', 'Sand', 'Roter Sand', 'Bruchstein', 'Stein', 'Tonklumpen', 'Netherrack', 'Ton', 'Diamanterz', 'Lapislazulierz', 'Redstone-Erz', 'Steinkohle', 'Smaragderz', 'Kupfererz', 'Netherquarzerz', 'Nethergolderz', 'Antiker Schrott', 'Rohgold', 'Roheisen', 'Rohkupfer', 'Eichenstamm', 'Fichtenstamm', 'Birkenstamm', 'Tropenbaumstamm', 'Akazienstamm', 'Schwarzeichenstamm', 'Mangrovenstamm', 'Kirschstamm', 'Eichenholz', 'Fichtenholz', 'Birkenholz', 'Tropenholz', 'Akazienholz', 'Schwarzeichenholz', 'Mangrovenholz', 'Kirschholz', 'Entrindeter Eichenstamm', 'Entrindeter Fichtenstamm', 'Entrindeter Birkenstamm', 'Entrindeter Tropenbaumstamm', 'Entrindeter Akazienstamm', 'Entrindeter Schwarzeichenstamm', 'Entrindeter Mangrovenstamm', 'Entrindeter Kirschstamm', 'Entrindetes Eichenholz', 'Entrindetes Fichtenholz', 'Entrindetes Birkenholz', 'Entrindetes Tropenholz', 'Entrindetes Akazienholz', 'Entrindetes Schwarzeichenholz', 'Entrindetes Mangrovenholz', 'Entrindetes Kirschholz', 'Kaktus', 'Meeresgurke', 'Seetang', 'Nasser Schwamm', 'Steinziegel', 'Weiße Keramik', 'Orange Keramik', 'Magenta Keramik', 'Hellblaue Keramik', 'Gelbe Keramik', 'Hellgrüne Keramik', 'Rosa Keramik', 'Graue Keramik', 'Hellgraue Keramik', 'Türkise Keramik', 'Violette Keramik', 'Blaue Keramik', 'Braune Keramik', 'Grüne Keramik', 'Rote Keramik', 'Schwarze Keramik', 'Netherziegel', 'Polierte Schwarzsteinziegel' },
	['Ofenprodukte'] = { 'Gebratenes Schweinefleisch', 'Steak', 'Gebratenes Hammelfleisch', 'Gebratenes Hühnchen', 'Gebratenes Kaninchen', 'Gebratener Kabeljau', 'Gebratener Lachs', 'Ofenkartoffel', 'Eisenbarren', 'Goldbarren', 'Glas', 'Glas', 'Stein', 'Glatter Stein', 'Ziegel', 'Netherziegel (Gegenstand)', 'Keramik', 'Diamant', 'Lapislazuli', 'Redstone', 'Kohle', 'Smaragd', 'Kupferbarren', 'Netherquarz', 'Goldbarren', 'Netheritplatten', 'Goldbarren', 'Eisenbarren', 'Kupferbarren', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Holzkohle', 'Grüner Farbstoff', 'Hellgrüner Farbstoff', 'Getrockneter Seetang', 'Schwamm', 'Rissige Steinziegel', 'Weiße glasierte Keramik', 'Orange glasierte Keramik', 'Magenta glasierte Keramik', 'Hellblaue glasierte Keramik', 'Gelbe glasierte Keramik', 'Hellgrüne glasierte Keramik', 'Rosa glasierte Keramik', 'Graue glasierte Keramik', 'Hellgraue glasierte Keramik', 'Türkise glasierte Keramik', 'Violette glasierte Keramik', 'Blaue glasierte Keramik', 'Braune glasierte Keramik', 'Grüne glasierte Keramik', 'Rote glasierte Keramik', 'Schwarze glasierte Keramik', 'Rissige Netherziegel', 'Rissige polierte Schwarzsteinziegel' },
	['Schmiedewerkstoffe'] = { 'Smaragd', 'Redstone', 'Lapislazuli', 'Diamant', 'Netherquarz', 'Amethystscherbe', 'Eisenbarren', 'Kupferbarren', 'Goldbarren', 'Netheritbarren' },
	
	-- Allgemeine Brennstoffarten für den Ofen --
	['Brennstoffe'] = { 'Kohle', 'Holzkohle', { title = 'Holz', name = 'Eichenholz' }, { title = 'Holzbretter', name = 'Eichenholzbretter' }, 'Kohleblock', 'Lavaeimer' },
	
	['Helle Blöcke'] = {},
	['Lichtblöcke'] = {},
	['Schmiedevorlagen'] = {},
	['Lederrüstungen'] = {},
	['Goldrüstungen'] = {},
	['Kettenrüstungen'] = {},
	['Eisenrüstungen'] = {},
	['Diamantrüstungen'] = {},
	['Netheritrüstungen'] = {},
}
table.insert( itemVariants['Farbstoffe'], 1, 'Weißer Farbstoff' )

-- Helle Lichtblöcke
for level = 0, 15 do
	aliases["Heller Block (" .. level .. ")"] = {title = "Heller Block", name = "Heller Block (" .. level .. ")"}
	table.insert( itemVariants['Helle Blöcke'], level+1, aliases["Heller Block (" .. level .. ")"] )
	aliases["Lichtblock (" .. level .. ")"] = {title = "&dLichtblock", name = "Lichtblock (" .. level .. ")"}
	table.insert( itemVariants['Lichtblöcke'], level+1, aliases["Lichtblock (" .. level .. ")"] )
end

-- Schmiedevorlagen --
local smithing = {
	{'Augen-Rüstungsbesatz'},
	{'Dünen-Rüstungsbesatz'},
	{'Gezeiten-Rüstungsbesatz'},
	{'Warthof-Rüstungsbesatz'},
	{'Küsten-Rüstungsbesatz'},
	{'Plagegeist-Rüstungsbesatz'},
	{'Rippen-Rüstungsbesatz'},
	{'Schnauzen-Rüstungsbesatz'},
	{'Turmspitzen-Rüstungsbesatz'},
	{'Wachen-Rüstungsbesatz'},
	{'Wildnis-Rüstungsbesatz'},
	{'Stille-Rüstungsbesatz'},
	{'Wegfinder-Rüstungsbesatz'},
	{'Gestalter-Rüstungsbesatz'},
	{'Aufzieher-Rüstungsbesatz'},
	{'Gastwirts-Rüstungsbesatz'},
}

for _, smithingProps in ipairs( smithing ) do
	local aliasName = smithingProps[1]
	aliases[aliasName] = { title = 'Schmiedevorlage', name = aliasName, text = '&7'.. aliasName ..'//&7Anwendbar auf:/ &9Rüstung/&7Werkstoffe:/ &9Barren & Kristalle' }
	table.insert( itemVariants['Schmiedevorlagen'], aliases[aliasName] )
end

-- Rüstung --
local armor = {
	{'Schildkrötenpanzer', nil, 'Auf dem Kopf', 2 },
	{'Lederkappe', 'Leder', 'Auf dem Kopf', 1 },
	{'Kettenhaube', 'Ketten', 'Auf dem Kopf', 2 },
	{'Eisenhelm', 'Eisen', 'Auf dem Kopf', 2 },
	{'Goldhelm', 'Gold', 'Auf dem Kopf', 2 },
	{'Diamanthelm', 'Diamant', 'Auf dem Kopf', 3, 2 },
	{'Netherithelm', 'Netherit', 'Auf dem Kopf', 3, 3, 1 },
	
	{'Lederjacke', 'Leder', 'Am Körper', 3 },
	{'Kettenhemd', 'Ketten', 'Am Körper', 5 },
	{'Eisenharnisch', 'Eisen', 'Am Körper', 6 },
	{'Goldharnisch', 'Gold', 'Am Körper', 5 },
	{'Diamantharnisch', 'Diamant', 'Am Körper', 8, 2 },
	{'Netheritharnisch', 'Netherit', 'Am Körper', 8, 3, 1 },

	{'Lederhose', 'Leder', 'An den Beinen', 2 },
	{'Kettenhose', 'Ketten', 'An den Beinen', 4 },
	{'Eisenbeinschutz', 'Eisen', 'An den Beinen', 5 },
	{'Goldbeinschutz', 'Gold', 'An den Beinen', 3 },
	{'Diamantbeinschutz', 'Diamant', 'An den Beinen', 6, 2 },
	{'Netheritbeinschutz', 'Netherit', 'An den Beinen', 6, 3, 1 },

	{'Lederstiefel', 'Leder', 'An den Füßen', 1 },
	{'Kettenstiefel', 'Ketten', 'An den Füßen', 1 },
	{'Eisenstiefel', 'Eisen', 'An den Füßen', 2 },
	{'Goldstiefel', 'Gold', 'An den Füßen', 1 },
	{'Diamantstiefel', 'Diamant', 'An den Füßen', 3, 2 },
	{'Netheritstiefel', 'Netherit', 'An den Füßen', 3, 3, 1 },
}
local smithingMaterial = {
	{'Smaragd', '&E'},
	{'Redstone', '&R'},
	{'Lapislazuli', '&L'},
	{'Diamant', '&D'},
	{'Quarz', '&Q'},
	{'Amethyst', '&A'},
	{'Eisen', '&I'},
	{'Kupfer', '&C'},
	{'Gold', '&G'},
	{'Netherit', '&N'},
}
for _, materialType in ipairs( smithingMaterial ) do
	itemVariants['Lederrüstungen-' .. materialType[1] .. 'besätze'] = {}
	itemVariants['Goldrüstungen-' .. materialType[1] .. 'besätze'] = {}
	itemVariants['Kettenrüstungen-' .. materialType[1] .. 'besätze'] = {}
	itemVariants['Eisenrüstungen-' .. materialType[1] .. 'besätze'] = {}
	itemVariants['Diamantrüstungen-' .. materialType[1] .. 'besätze'] = {}
	itemVariants['Netheritrüstungen-' .. materialType[1] .. 'besätze'] = {}
end
for _, armorProps in ipairs( armor ) do
	local aliasName = armorProps[1]
	local propText = '/&7' .. armorProps[3] .. ':/&9+' .. armorProps[4] .. ' Rüstung'
	if armorProps[5] ~= nil then
		propText = propText .. '/&9+' .. armorProps[5] .. ' Rüstungshärte'
	end
	if armorProps[6] ~= nil then
		propText = propText .. '/&9+' .. armorProps[6] .. ' Standfestigkeit'
	end
	aliases[aliasName] = { title = aliasName, name = aliasName, text = propText }
	if armorProps[2] ~= nil then
		table.insert( itemVariants[armorProps[2] ..'rüstungen'], aliases[aliasName] )
	end
	itemVariants[aliasName .. '-Besätze'] = {}
	for _, materialType in ipairs( smithingMaterial ) do
		local materialText = '&7Aufwertung:/ ' .. materialType[2] .. 'Rüstungsbesatz/ ' .. materialType[1] .. '/' .. propText
		aliases[aliasName .. '-' .. materialType[1] .. 'besatz'] = { title = aliasName, name = aliasName .. '-' .. materialType[1] .. 'besatz', text = materialText }
		table.insert( itemVariants[aliasName .. '-Besätze'], aliases[aliasName .. '-' .. materialType[1] .. 'besatz'] )
		if armorProps[2] ~= nil then
			table.insert( itemVariants[armorProps[2] ..'rüstungen-' .. materialType[1] .. 'besätze'], aliases[aliasName .. '-' .. materialType[1] .. 'besatz'] )
		end
	end
end

-- Gegenstandsvarianten --
for aliasName, aliasItems in pairs( itemVariants ) do
	aliases['Alle ' .. aliasName] = aliasItems
	aliases['Passende ' .. aliasName] = aliasItems
end

-- Schallplatten --
local discs = { 
	{ '13',      'C418',      },
	{ 'Cat',     'C418',      },
	{ 'Blocks',  'C418',      },
	{ 'Chirp',   'C418',      },
	{ 'Far',     'C418',      },
	{ 'Mall',    'C418',      },
	{ 'Mellohi', 'C418',      },
	{ 'Stal',    'C418',      },
	{ 'Strad',   'C418',      },
	{ 'Ward',    'C418',      },
	{ '11',      'C418',      },
	{ 'Wait',    'C418',      },
	{ 'Pigstep',   'Lena Raine', },
	{ 'Otherside', 'Lena Raine', },
	{ '5',       'Samuel Åberg', },
	{ 'Relic',   'Aaron Cherof', },
}
for _, disc in ipairs( discs ) do
	local name = 'Schallplatte ' .. disc[1]
	local artist = disc[2]
	local trackname = disc[1]
	if disc[3] ~= nil then
		trackname = disc[3]
	end
	aliases[name] = { title = '&bSchallplatte', name = name, text = '&7' .. artist .. ' - ' .. trackname }
end

-- Beschädigte Rüstung, Werkzeuge und Waffen --
local damagedItems = {
	['Bogen'] = 'm',
	['Karottenrute'] = 'f',
	['Kettenstiefel'] = 'f',
	['Kettenhemd'] = 'n',
	['Kettenhaube'] = 'f',
	['Kettenhose'] = 'f',
	['Armbrust'] = 'f',
	['Diamantaxt'] = 'f',
	['Diamantstiefel'] = 'f',
	['Diamantharnisch'] = 'm',
	['Diamanthelm'] = 'm',
	['Diamanthacke'] = 'f',
	['Diamantbeinschutz'] = 'm',
	['Diamantspitzhacke'] = 'f',
	['Diamantschaufel'] = 'f',
	['Diamantschwert'] = 'n',
	['Dreizack'] = 'm',
	['Elytren'] = 'f',
	['Angel'] = 'f',
	['Feuerzeug'] = 'n',
	['Goldaxt'] = 'f',
	['Goldstiefel'] = 'f',
	['Goldharnisch'] = 'm',
	['Goldhelm'] = 'm',
	['Goldhacke'] = 'f',
	['Goldbeinschutz'] = 'm',
	['Goldspitzhacke'] = 'f',
	['Goldschaufel'] = 'f',
	['Goldschwert'] = 'n',
	['Eisenaxt'] = 'f',
	['Eisenstiefel'] = 'f',
	['Eisenharnisch'] = 'm',
	['Eisenhelm'] = 'm',
	['Eisenhacke'] = 'f',
	['Eisenbeinschutz'] = 'm',
	['Eisenspitzhacke'] = 'f',
	['Eisenschaufel'] = 'f',
	['Eisenschwert'] = 'n',
	['Lederstiefel'] = 'f',
	['Lederjacke'] = 'f',
	['Lederkappe'] = 'f',
	['Lederhose'] = 'f',
	['Netheritaxt'] = 'f',
	['Netheritstiefel'] = 'f',
	['Netheritharnisch'] = 'm',
	['Netherithelm'] = 'm',
	['Netherithacke'] = 'f',
	['Netheritbeinschutz'] = 'm',
	['Netheritspitzhacke'] = 'f',
	['Netheritschaufel'] = 'f',
	['Netheritschwert'] = 'n',
	['Schere'] = 'f',
	['Schild'] = 'm',
	['Schildkrötenpanzer'] = 'm',
	['Steinaxt'] = 'f',
	['Steinhacke'] = 'f',
	['Steinspitzhacke'] = 'f',
	['Steinschaufel'] = 'f',
	['Steinschwert'] = 'n',
	['Holzaxt'] = 'f',
	['Holzhacke'] = 'f',
	['Holzspitzhacke'] = 'f',
	['Holzschaufel'] = 'f',
	['Holzschwert'] = 'n',
	['Wirrpilzrute'] = 'f'
}
for item, gender in next, damagedItems do
	local damaged = 'Beschädigte'
	if gender == 'n' then
		damaged = damaged .. 's'
	elseif gender == 'm' then
		damaged = damaged .. 'r'
	end
	local name = damaged .. ' ' .. item
	aliases[name] = { title = item, name = name }
end

-- Banner und farbige Gegenstände --
local patterns = {
	{ 'n', '%s rechtes Untereck', false },
	{ 'm', '%s Bannerfuß', false },
	{ 'm', '%s Farbverlauf (Invertiert)', false },
	{ 'm', '%s gespickelter Bannerfuß', false },
	{ 'n', '%s linkes Untereck', false },
	{ 'm', '%s Schrägbalken', false },
	{ 'm', '%s Schräglinksbalken', false },
	{ 'm', '%s Bord', false },
	{ 'm', '%s Spickelbord', false },
	{ 'f', '%s halbe Spitze', false },
	{ 'n', '%s rechtes Obereck', false },
	{ 'n', '%s Bannerhaupt', false },
	{ 'n', '%s gespickeltes Bannerhaupt', false },
	{ 'n', '%s linkes Obereck', false },
	{ 'm', '%s Creeper', true },
	{ 'n', '%s Kreuz', false },
	{ 'm', '%s Balken', false },
	{ 'd', 'Feld %s gemauert' },
	{ 'f', '%s Blume', true },
	{ 'm', '%s Globus', true },
	{ 'm', '%s Farbverlauf' },
	{ 'f', '%s gestürzte halbe Spitze', false },
	{ 'f', '%s Raute', false },
	{ 'n', '%s Mojang-Logo', true },
	{ 'm', '%s Pfahl', false },
	{ 'f', '%s rechte Flanke', false },
	{ 'f', '%s linke Flanke', false },
	{ 'f', 'Vier %s Pfähle', false },
	{ 'd', '%s schrägrechts geteilt', false },
	{ 'd', '%s schrägrechts geteilt (Invertiert)', false },
	{ 'd', '%s schräglinks geteilt', false },
	{ 'd', '%s schräglinks geteilt (Invertiert)', false },
	{ 'd', 'Oben %s geteilt', false },
	{ 'd', 'Unten %s geteilt', false },
	{ 'd', 'Rechts %s gespalten', false },
	{ 'd', 'Links %s gespalten', false },
	{ 'f', '%s Schnauze', true },
	{ 'f', '%s Kugel', false },
	{ 'n', '%s Andreaskreuz', false },
	{ 'm', '%s Schädel', true }
}
local colors = { -- divers, maennlich, weiblich, neutral, kategorie
	{ ['d'] = 'Weiß',		['m'] = 'Weißer',		['f'] = 'Weiße',		['n'] = 'Weißes' },
	{ ['d'] = 'Orange',		['m'] = 'Oranger',		['f'] = 'Orange',		['n'] = 'Oranges' },
	{ ['d'] = 'Magenta',	['m'] = 'Magenta',		['f'] = 'Magenta',		['n'] = 'Magenta' },
	{ ['d'] = 'Hellblau',	['m'] = 'Hellblauer',	['f'] = 'Hellblaue',	['n'] = 'Hellblaues' },
	{ ['d'] = 'Gelb',		['m'] = 'Gelber',		['f'] = 'Gelbe',		['n'] = 'Gelbes' },
	{ ['d'] = 'Hellgrün',	['m'] = 'Hellgrüner',	['f'] = 'Hellgrüne',	['n'] = 'Hellgrünes' },
	{ ['d'] = 'Rosa',		['m'] = 'Rosa',			['f'] = 'Rosa',			['n'] = 'Rosa' },
	{ ['d'] = 'Grau',		['m'] = 'Grauer',		['f'] = 'Graue',		['n'] = 'Graues' },
	{ ['d'] = 'Hellgrau',	['m'] = 'Hellgrauer',	['f'] = 'Hellgraue',	['n'] = 'Hellgraues' },
	{ ['d'] = 'Türkis',		['m'] = 'Türkiser',		['f'] = 'Türkise',		['n'] = 'Türkises' },
	{ ['d'] = 'Violett',	['m'] = 'Violetter',	['f'] = 'Violette',		['n'] = 'Violettes' },
	{ ['d'] = 'Blau',		['m'] = 'Blauer',		['f'] = 'Blaue',		['n'] = 'Blaues' },
	{ ['d'] = 'Braun',		['m'] = 'Brauner',		['f'] = 'Braune',		['n'] = 'Braunes' },
	{ ['d'] = 'Grün',		['m'] = 'Grüner',		['f'] = 'Grüne',		['n'] = 'Grünes' },
	{ ['d'] = 'Rot',		['m'] = 'Roter',		['f'] = 'Rote',			['n'] = 'Rotes' },
	{ ['d'] = 'Schwarz',	['m'] = 'Schwarzer',	['f'] = 'Schwarze',		['n'] = 'Schwarzes' }
}

-- Feuerwerkssterne --
local fireworkStar = {}
for i, color in next, colors do
	local name = color.m .. ' Feuerwerksstern'
	aliases[name] = { title = 'Feuerwerksstern', name = name, text = '&7' .. color.m }
	table.insert( fireworkStar, aliases[name] )
	local alleBanner = {}
	local alleBannerMitVorlage = {}
	local alleBannerOhneVorlage = {}
	for _, pattern in next, patterns do
		local patternDesc = string.format( pattern[2], string.lower( color[pattern[1]] ) ):gsub( '^%l', string.upper )
		name = patternDesc .. ' Banner'
		aliases[name] = { title = 'Banner', name = name, text = '&7' .. patternDesc }
		if not pattern[3] then
			table.insert( alleBannerOhneVorlage, aliases[name] )
		else
			table.insert( alleBannerMitVorlage, aliases[name] )
		end
			table.insert( alleBanner, aliases[name] )
	end
	aliases['Alle ' .. color.f:lower() .. ' Banner'] = alleBanner
	aliases['Alle ' .. color.f:lower() .. ' Banner mit Bannervorlage'] = alleBannerMitVorlage
	aliases['Alle ' .. color.f:lower() .. ' Banner ohne Bannervorlage'] = alleBannerOhneVorlage
end
aliases['Alle Feuerwerkssterne'] = fireworkStar
aliases['Passender Feuerwerksstern'] = fireworkStar

-- Gegenstände die die sechszehn Farben verwenden --
local coloredItems = {
	["Ballon"] = { 'm', 'Ballon' },
	['Banner'] = { 'n', 'Banner' },
	['Bett'] = { 'n', 'Betten' },
	['Teppich'] = { 'm', 'Teppiche' },
	['Beton'] = { 'm', 'Betons' },
	['Trockenbeton'] = { 'm', 'Trockenbetone' },
	['Keramik'] = { 'f', 'Keramiken' },
	['Gehärtetes $1 Glas'] = {'n', 'gehärteten Gläser'},
	['Gehärtete $1 Glasscheibe'] = {'f', 'gehärteten Glasscheiben'},
	['Schild'] = { 'm', 'Schilde' },
	['Shulker-Kiste'] = { 'f', 'Shulker-Kisten' },
	['Glas'] = { 'n', 'gefärbten Gläser' },
	['Glasscheibe'] = { 'f', 'gefärbten Glasscheiben' },
	['Wolle'] = { 'f', 'Wollen' },
	['lederner Rossharnisch'] = { 'm', 'lederne Rossharnische' }
}
for i, item in next, coloredItems do
	local coloredItemAliases = {}
	local itemName = ''
	
	for _, color in ipairs( colors ) do
		if i:find( '%$1' ) then
			itemName = string.gsub( i, '%$1', (color[item[1]]):lower() )
		else
			itemName = color[item[1]] .. ' ' .. i
		end
		table.insert( coloredItemAliases, itemName )
	end
	
	--item[2] = item[2]:gsub( '%$1 ', '')
	aliases['Alle ' .. item[2]] = coloredItemAliases
	aliases['Passende ' .. item[2]] = coloredItemAliases
end

-- start these lists with the no effect items as names are not normal
local potionItems = {
	['Tränke'] = {
		aliases['Wasserflasche'],
		aliases['Gewöhnlicher Trank'],
		aliases['Dickflüssiger Trank'],
		aliases['Seltsamer Trank'],
	},
	['Wurftränke'] = {
		aliases['Werfbare Wasserflasche'],
		aliases['Gewöhnlicher Wurftrank'],
		aliases['Dickflüssiger Wurftrank'],
		aliases['Seltsamer Wurftrank'],
	},
	['Verweiltränke'] = {
		aliases['Verweilende Wasserflasche'],
		aliases['Gewöhnlicher Verweiltrank'],
		aliases['Dickflüssiger Verweiltrank'],
		aliases['Seltsamer Verweiltrank'],
	},
	['Pfeile'] = {
		aliases['Arrow of Splashing'],
		aliases['Pfeil'],
		aliases['Pfeil'],
		aliases['Pfeil'],
	},
}

-- Tränke --
local effects = {
	-- durations are in the order normal, extended, enhanced
	{ name = 'der 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 = 'der Schnelligkeit', effect = '&9Schnelligkeit', 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 = 'der Feuerresistenz', effect = '&9Feuerschutz', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
	{ name = 'der Vergiftung', effect = '&cVergiftung', 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 = 'der Heilung', effect = '&9Direktheilung', enhanced = 'II' },
	{ name = 'der Nachtsicht',    effect = '&9Nachtsicht',    durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
	{ name = 'der Schwäche',        effect = '&cSchwäche',        durations = { normal = { '1:30', '4:00' }, lingering = { '0:22', '1:00' }, arrow = { '0:11', '0:30' }}},
	{ name = 'der Stärke', effect = '&9Stärke', 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 = 'der Langsamkeit', effect = '&cLangsamkeit', 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 = 'der Sprungkraft', effect = '&9Sprungkraft', 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 = 'des Schadens', effect = '&cDirektschaden', enhanced = 'II' },
	{ name = 'der Unterwasseratmung', effect = '&9Unterwasseratmung', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
	{ name = 'der Unsichtbarkeit',    effect = '&9Unsichtbarkeit',    durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
	{ name = 'des sanften Falls',    effect = '&9Sanfter Fall',    durations = { normal = { '1:30', '4:00' }, lingering = { '0:22', '1:00' }, arrow = { '0:11', '0:30' }}},
	{ name = 'des Glücks',  effect = '&9Glück',   durations = { normal = { '5:00' }, lingering = { '1:15' }, arrow = { '0:37' }}},
	{ name = 'des Verfalls', effect = '&cWither II', durations = { normal = { '0:40' }, lingering = { '0:10' }, arrow = { '0:05' }}},
	{ name = 'des Schildkrötenmeisters', text = '&cLangsamkeit IV ($1)/&9Resistenz 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 = 'Tränke',        durations = 'normal',    text = 'Trank '},
	{name = 'Wurftränke',    durations = 'normal',    text = 'Wurftrank '},
	{name = 'Verweiltränke', durations = 'lingering', text = 'Verweiltrank '},
	{name = 'Pfeile',        durations = 'arrow',     text = 'Pfeil '},
}

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['Alle ' .. item] = potionAliases
	aliases['Passende ' .. item] = potionAliases
end

-- Wood --
local woodTypes = {
	overworld = {
		'Eichen',
		'Fichten',
		'Birken',
		'Tropen',
		'Akazien',
		'Schwarzeichen',
		'Mangroven',
		'Kirsch'
	},
	nether = {
		'Karmesin',
		'Wirr'
	},
	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 = {
		{'holz', 'Hölzer', false},
		{'stamm', 'Stämme', false},
		{'boot', 'Boote', true},
		{'truhenboot', 'Truhenboote', true},
		{'Entrindeter $1stamm', 'entrindeten Stämme', false},
		{'Entrindetes $1holz', 'entrindeten Hölzer', false},
		{'holzbretter', 'Holzbretter', false},
		{'holzstufe', 'Holzstufen', false},
		{'holztreppe', 'Holztreppen', false},
		{'holzdruckplatte', 'Holzdruckplatten', false},
		{'holzknopf', 'Holzknöpfe', false},
		{'holztür', 'Holztüren', false},
		{'holzfalltür', 'Holzfalltüren', false},
		{'holzzauntor', 'Holzzauntore', false},
		{'holzzaun', 'Holzzäune', false},
		{'holzschild', 'Holzschilder', false},
		{'holzhängeschild', 'Holzhängeschilder', false},
		{'setzling', 'Setzlinge', false},
	},
	nether = {
		{'stamm', 'Stämme', false},
		{'hyphen', 'Hyphen', false},
		{'Entrindeter $1stamm', 'entrindeten Stämme', false},
		{'Geschälte $1hyphen', 'geschälten Hyphen', false},
	},
	both = {
		{'$worldbretter', 'Bretter', true},
		{'${holz,hyphen}', '${Hölzer,Hyphen}', false},
		{'${stamm,stiel}', '${Stämme,Stiele}', false},
		{'${Entrindetes,Geschälte} $1${holz,hyphen}', 'entrindeten ${Hölzer,Hyphen}', false},
		{'${Entrindeter,Geschälter} $1${stamm,stiel}', 'entrindeten ${Stämme,Stiele}', false},
		{'zauntor', 'Zauntore', true},
		-- '$world Wood Fence',
		{'$woodzaun', 'Zäune', true},
		{'$woodtür', 'Türen', true},
		{'$woodknopf', 'Knöpfe', true},
		{'$wooddruckplatte', 'Druckplatten', true},
		{'$woodfalltür', 'Falltüren', true},
		{'$world $woodstufe', 'Stufen', true},
		{'$woodtreppe', 'Treppen', true},
		{'schild', 'Schilder', true},
		{'hängeschild', 'Hängeschilder', true},
	}
}

local woodItemWorld = {}
local woodItemWorld2 = {}
local orgEntries = {}
for world, items in pairs(woodItems) do
	for _, item in ipairs(items) do
		-- expand $world (should only happen in "both")
		if (item[1]:find('%$world')) and world == 'both' then
			item[1] = item[1]:gsub('%$world ', ''):gsub('%$world', '')
			woodItemWorld['Oberwelt ' .. item[1]] = 'overworld'
			woodItemWorld['Nether ' .. item[1]] = 'nether'
		end
		orgEntries[item[1]] = item
		woodItemWorld[item[1]] = world
		woodItemWorld2[item[1]] = item[2]
	end
end

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

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

	function parseName(wood)
		-- Parse ${,} (world-select) syntax
		local selector = (woodTypeWorld[wood] == 'overworld') and "%1" or "%2"
		local itemName = realItem:gsub("%${(.-),(.-)}", selector)

		if itemName:find('%$wood') then
			itemName = itemName:gsub('%$wood', wood..(woodTypeWorld[wood] == 'overworld' and 'holz' or ''))
		elseif itemName:find('%$1') then
			itemName = itemName:gsub( '%$1', wood)
		else
			itemName = (wood .. (woodTypeWorld[wood] == 'overworld' and 'holz' or '') .. itemName):gsub('holzholz','holz')
		end
		itemName = itemName:gsub("holzsetzling", "setzling"):gsub("holzstamm", "stamm"):gsub('Tropenstamm', 'Tropenbaumstamm'):gsub('Tropensetzling', 'Tropenbaumsetzling'):gsub('Mangrovensetzling', 'Mangroven-Keimling'):gsub("Bambusholz", "Bambus"):gsub("Bambusboot", "Bambusfloß"):gsub("Bambustruhenboot", "Bambustruhenfloß")
		return itemName
	end

	for _, wood in ipairs(woodTypes[world]) do
		table.insert(woodAliases, parseName(wood))
		if wood == 'Kirsch' and orgEntries[realItem][3] then
			table.insert(woodAliases, parseName('Bambus'))
		end
	end

	if woodItemWorld2[item] then
		aliases['Alle ' .. woodItemWorld2[item]:gsub("%${(.-),(.-)}", "%1 oder %2")] = woodAliases
		aliases['Passende ' .. woodItemWorld2[item]:gsub("%${(.-),(.-)}", "%1 oder %2")] = woodAliases
	end
end

return aliases
Advertisement