k (Verdere optimalisatie) |
k (+ steenachtig blok) |
||
(25 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 1: | Regel 1: | ||
+ | -- Ga door een tabel in de volgorde zoals gegeven (http://lua-users.org/wiki/MakingLuaLikePhp) |
||
− | local kleurstoffen = { |
||
+ | function functioning_table( ... ) |
||
− | 'Oranje kleurstof', 'Magenta kleurstof', 'Lichtblauwe kleurstof', 'Paardenbloemgeel', 'Lichtgroene kleurstof', |
||
+ | local newTable,keys,values={},{},{} |
||
− | 'Roze kleurstof', 'Grijze kleurstof', 'Lichtgrijze kleurstof', 'Turquoise kleurstof', 'Paarse kleurstof', |
||
+ | newTable.pairs=function(self) -- pairs iterator |
||
− | 'Lapis Lazuli', 'Cacaobonen', 'Cactusgroen', 'Rozenrood', 'Inktzak', |
||
+ | local count=0 |
||
− | } |
||
+ | return function() |
||
+ | count=count+1 |
||
+ | return keys[count],values[keys[count]] |
||
+ | end |
||
+ | end |
||
+ | setmetatable(newTable,{ |
||
+ | __newindex=function(self,key,value) |
||
+ | if not self[key] then table.insert(keys,key) |
||
+ | elseif value==nil then -- Handle item delete |
||
+ | local count=1 |
||
+ | while keys[count]~=key do count = count + 1 end |
||
+ | table.remove(keys,count) |
||
+ | end |
||
+ | values[key]=value -- replace/create |
||
+ | end, |
||
+ | __index=function(self,key) return values[key] end |
||
+ | }) |
||
+ | for x=1,table.getn(arg) do -- door #args vervangen als dit werkt |
||
+ | for k,v in pairs(arg[x]) do newTable[k]=v end |
||
+ | end |
||
+ | return newTable |
||
+ | end |
||
+ | |||
+ | -- Hoofdletters (houdt ook rekening met 'ij') |
||
+ | function hoofdletter( str ) |
||
+ | local pstr = '' -- pstr = Parsed STRing |
||
+ | if str:match('^%l%l') == 'ij' then |
||
+ | pstr = str:gsub('^ij', 'IJ') |
||
+ | else |
||
+ | pstr = str:gsub('^%l', string.upper) |
||
+ | end |
||
+ | return pstr |
||
+ | end |
||
local aliases = { |
local aliases = { |
||
− | -- Veelvoorkomende |
+ | -- Veelvoorkomende branstof -- |
− | ['Elke brandstof'] = { 'Steenkool', 'Houtskool', { title = ' |
+ | ['Elke brandstof'] = { 'Steenkool', 'Houtskool', { title = 'Stam', name = 'Eikenstam' }, { title = 'Houten planken', name = 'Eikenhouten planken' }, 'Steenkoolblok', 'Gedroogd kelpblok' }, |
+ | |||
-- Harnas -- |
-- Harnas -- |
||
['Leren harnas'] = { 'Leren kap', 'Leren tuniek', 'Leren broek', 'Leren laarzen' }, |
['Leren harnas'] = { 'Leren kap', 'Leren tuniek', 'Leren broek', 'Leren laarzen' }, |
||
Regel 14: | Regel 48: | ||
['IJzeren harnas'] = { 'IJzeren helm', 'IJzeren borstplaat', 'IJzeren beenstukken', 'IJzeren laarzen' }, |
['IJzeren harnas'] = { 'IJzeren helm', 'IJzeren borstplaat', 'IJzeren beenstukken', 'IJzeren laarzen' }, |
||
['Diamanten harnas'] = { 'Diamanten helm', 'Diamanten borstplaat', 'Diamanten beenstukken', 'Diamanten laarzen' }, |
['Diamanten harnas'] = { 'Diamanten helm', 'Diamanten borstplaat', 'Diamanten beenstukken', 'Diamanten laarzen' }, |
||
+ | ['Netherieten harnas'] = { 'Netherieten helm', 'Netherieten borstplaat', 'Netherieten beenstukken', 'Netherieten laarzen' }, |
||
− | -- Toon namen -- |
||
+ | |||
+ | -- Overige namen -- |
||
['Gebroken dekschild'] = { title = 'Dekschild', name = 'Gebroken dekschild' }, |
['Gebroken dekschild'] = { title = 'Dekschild', name = 'Gebroken dekschild' }, |
||
+ | -- Klei (blok) -> Klei |
||
− | ['Bruine paddenstoel'] = { title = 'Paddenstoel', name = 'Bruine paddenstoel' }, |
||
+ | -- Klei -> Kleibal |
||
− | ['Bruine paddenstoel (blok)'] = { title = 'Paddenstoel', name = 'Bruine paddenstoel (blok)' }, |
||
− | [' |
+ | ['Bloemwapenbanierpatroon'] = { title = 'Banierpatroon', name = 'Banierpatroon', text = '&7Bloem' }, |
− | [' |
+ | ['Creeperwapenbanierpatroon'] = { title = '&eBanierpatroon', name = 'Banierpatroon', text = '&7Creeper' }, |
− | [' |
+ | ['Ingesprongen zoom-banierpatroon'] = { title = 'Banierpatroon', name = 'Banierpatroon', text = '&Ingesprongen zoom' }, |
− | [' |
+ | ['Metselwerkbanierpatroon'] = { title = 'Banierpatroon', name = 'Banierpatroon', text = '&7Metselwerk' }, |
− | [' |
+ | ['Schedelwapenbanierpatroon'] = { title = '&eBanierpatroon', name = 'Banierpatroon', text = '&7Schedel' }, |
− | [' |
+ | ['Mojanglogobanierpatroon'] = { title = '&dBanierpatroon', name = 'Banierpatroon', text = '&7Mojanglogo' }, |
− | [' |
+ | ['Globebanierpatroon'] = { title = 'Banierpatroon', name = 'Banierpatroon', text = '&7Globe' }, |
− | [' |
+ | ['Snuitbanierpatroon'] = { title = 'Banierpatroon', name = 'Banierpatroon', text = '&7Snuit' }, |
− | [' |
+ | ['Knop'] = { title = 'Knop', name = 'Stenen knop' }, |
− | [' |
+ | ['Houten knop'] = { title = 'Houten knop', name = 'Eikenhouten knop' }, |
− | [' |
+ | ['Kruisboog geladen met pijl'] = { title = 'Kruisboog', name = 'Kruisboog geladen met pijl' }, |
+ | ['Beschadigde kruisboog geladen met pijl'] = { title = 'Kruisboog', name = 'Beschadigde kruisboog geladen met pijl' }, |
||
− | -- Toon namen (Bedrockeditie) -- |
||
− | [' |
+ | ['Kruisboog geladen met vuurpijl'] = { title = 'Kruisboog', name = 'Kruisboog geladen met vuurpijl' }, |
+ | ['Beschadigde kruisboog geladen met vuurpijl'] = { title = 'Kruisboog', name = 'Beschadigde kruisboog geladen met vuurpijl' }, |
||
+ | ['Illagerbanier'] = { title = '&6&oIllagerbanier', name = 'Illagerbanier', text = |
||
+ | '&7Turquoise lozanje/&7Lichtgrijs schildvoet/&7Grijze paal/&7Lichtgrijze zoom/&7Zwarte dwarsbalk/&7Lichtgrijsgebalkt' |
||
+ | }, |
||
+ | ['Puzzelblok'] = { title = '&dPuzzelblok', name = 'Puzzelblok' }, |
||
+ | ['Halfvolle bundel'] = { title = 'Bundel', name = 'Halfvolle bundel' }, |
||
+ | ['Volle bundel'] = { title = 'Bundel', name = 'Volle bundel' }, |
||
+ | |||
+ | -- Wapens -- |
||
+ | ['Drietand'] = { name = 'Drietand', text = '/&7 Wanneer hoofdhand:/ &21,1 aanvalssnelheid/ &29 aanvalsschade' }, |
||
+ | ['Drietand (BE)'] = { name = 'Drietand', text = '/&9 +8 aanvalsschade' }, |
||
+ | |||
+ | -- Bedrock- en Educationedities -- |
||
['Gebakken rundvlees'] = { title = 'Gebakken rundvlees', name = 'Biefstuk' }, |
['Gebakken rundvlees'] = { title = 'Gebakken rundvlees', name = 'Biefstuk' }, |
||
['Kaart (BE)'] = { title = 'Kaart', name = 'Kaart', text = 'Toon markeerders: &cNee' }, |
['Kaart (BE)'] = { title = 'Kaart', name = 'Kaart', text = 'Toon markeerders: &cNee' }, |
||
+ | ['Kompas wijzend naar zeilsteen (BE)'] = { title = 'Kompas wijzend naar zeilsteen', name = 'Kompas wijzend naar zeilsteen (BE).gif' }, |
||
['Locatiekaart (BE)'] = { title = 'Kaart', name = 'Kaart', text = 'Toon markeerders: &aJa' }, |
['Locatiekaart (BE)'] = { title = 'Kaart', name = 'Kaart', text = 'Toon markeerders: &aJa' }, |
||
+ | ['Sculksensor (BE)'] = { title = 'Sculksensor', name = 'Sculksensor (BE).gif' }, |
||
− | -- |
+ | -- Chemie -- |
− | [' |
+ | ['Water (stof)'] = { title = 'Water', name = 'Water (stof)' }, |
− | [' |
+ | ['Chloride'] = { 'Calciumchloride', 'Ceriumchloride', 'Kaliumchloride', 'Kwikchloride', 'Wolfraamchloride' }, |
− | [' |
+ | ['Sterretjes'] = { 'Oranje sterretje', 'Blauw sterretje', 'Rood sterretje', 'Paars sterretje', 'Groen sterretje' }, |
+ | ['Overeenkomende chloride'] = { 'Calciumchloride', 'Ceriumchloride', 'Kaliumchloride', 'Kwikchloride', 'Wolfraamchloride' }, |
||
− | ['Triviale drank'] = { name = 'Triviale drank', text = '&7Geen effecten' }, |
||
+ | ['Overeenkomende gekleurde fakkel'] = { 'Blauwe fakkel', 'Rode fakkel', 'Paarse fakkel', 'Groene fakkel' }, |
||
+ | ['Overeenkomende gloeistaaf'] = { 'Witte gloeistaaf', 'Oranje gloeistaaf', 'Magenta gloeistaaf', 'Lichtblauwe gloeistaaf', |
||
+ | 'Gele gloeistaaf', 'Lichtgroene gloeistaaf', 'Roze gloeistaaf', 'Grijze gloeistaaf', 'Lichtgrijze gloeistaaf', 'Turquoise gloeistaaf', |
||
+ | 'Paarse gloeistaaf', 'Blauwe gloeistaaf', 'Bruine gloeistaaf', 'Groene gloeistaaf', 'Rode gloeistaaf' |
||
+ | }, |
||
+ | } |
||
+ | -- Tekstwolkkleuren & animatie -- |
||
− | ['Vreemde spattende drank'] = { name = 'Vreemde spattende drank', text = '&7Geen effecten' }, |
||
+ | -- Geen speciale tekstkleur (dus wit) |
||
− | ['Spattende waterfles'] = { name = 'Spattende waterfles', text = '&7Geen effecten' }, |
||
+ | local geanimeerdeSprites = { |
||
− | ['Dikke spattende drank'] = { name = 'Dikke spattende drank', text = '&7Geen effecten' }, |
||
+ | 'Blauwe sleutel', 'Bellenkolom', |
||
− | ['Triviale spattende drank'] = { name = 'Triviale spattende drank', text = '&7Geen effecten' }, |
||
+ | 'Debugstok', |
||
+ | 'Gele sleutel', 'Geschreven boek', |
||
+ | 'Helrode schimmeldraden', 'Helrode stam', |
||
+ | 'Klok', 'Kompas', 'Kompas wijzend naar zeilsteen', |
||
+ | 'Lava', |
||
+ | 'Magmablok', |
||
+ | 'Netherportaal', |
||
+ | 'Prismarien', 'Prismarienmuur', 'Prismarienplaat', 'Prismarientrap', |
||
+ | 'Rode sleutel', |
||
+ | 'Sculksensor', 'Spookachtige schimmeldraden', 'Spookachtige stam', 'Steenzaag', |
||
+ | 'Vuur', |
||
+ | 'Warmteblok', 'Water', |
||
+ | 'Zeelantaarn', 'Zielenvuur', |
||
+ | } |
||
+ | for _, sprite in ipairs ( geanimeerdeSprites ) do |
||
− | ['Vreemde aanhoudende drank'] = { name = 'Vreemde aanhoudende drank', text = '&7Geen effecten' }, |
||
+ | aliases[sprite] = sprite .. '.gif' |
||
− | ['Aanhoudende waterfles'] = { name = 'Aanhoudende waterfles', text = '&7Geen effecten' }, |
||
+ | end |
||
− | ['Dikke aanhoudende drank'] = { name = 'Dikke aanhoudende drank', text = '&7Geen effecten' }, |
||
− | ['Triviale aanhoudende drank'] = { name = 'Triviale aanhoudende drank', text = '&7Geen effecten' }, |
||
+ | -- Gele tekst in tekstwolk en/of geanimeerd |
||
− | ['Getipte pijl'] = { name = 'Getipte pijl', text = '&7Geen effecten' }, |
||
+ | local geleTekstwolken = { |
||
− | ['Pijl der spatting'] = { name = 'Pijl der spatting', text = '&7Geen effecten' }, |
||
+ | { naam = 'Beschadigd dekschild', geanimeerd = false }, |
||
− | ['Onmaakbare getipte pijl'] = { name = 'Onmaakbare getipte pijl', text = '&7Geen effecten' }, |
||
+ | { naam = 'Betoverd boek', geanimeerd = true }, |
||
+ | { naam = 'Creeperhoofd', geanimeerd = false }, |
||
+ | { naam = 'Drakenhoofd', geanimeerd = false }, |
||
+ | { naam = 'Drakenadem', geanimeerd = false }, |
||
+ | { naam = 'Dekschild', geanimeerd = false }, |
||
+ | { naam = 'Hoofd', geanimeerd = false }, |
||
+ | { naam = 'Hart van de zee', geanimeerd = false }, |
||
+ | { naam = 'Magiërsextract', geanimeerd = true }, |
||
+ | { naam = 'Netherster', geanimeerd = true }, |
||
+ | { naam = 'Skelettenschedel', geanimeerd = false }, |
||
+ | { naam = 'Totem der onsterfelijkheid', geanimeerd = false }, |
||
+ | { naam = 'Witherskelettenschedel', geanimeerd = false }, |
||
+ | { naam = 'Zombiehoofd', geanimeerd = false } |
||
+ | } |
||
+ | for _, eigenschap in ipairs( geleTekstwolken ) do |
||
− | ['Drank des nachtzichts - verlengd'] = { name = 'Drank des nachtzichts', text = '&9Nachtzicht (8:00)' }, |
||
+ | local naam = eigenschap.naam |
||
− | ['Spattende drank des nachtzichts - verlengd'] = { name = 'Spattende drank des nachtzichts', text = '&9Nachtzicht (8:00)' }, |
||
+ | if eigenschap.geanimeerd == true then |
||
− | ['Aanhoudende drank des nachtzichts - verlengd'] = { name = 'Aanhoudende drank des nachtzichts', text = '&9Nachtzicht (2:00)' }, |
||
− | + | aliases[naam] = { title = '&e', name = naam .. '.gif' } |
|
+ | else |
||
− | ['Drank des nachtzichts'] = { name = 'Drank des nachtzichts', text = '&9Nachtzicht (3:00)' }, |
||
− | + | aliases[naam] = { title = '&e', name = naam } |
|
+ | end |
||
− | ['Aanhoudende drank des nachtzichts'] = { name = 'Drank des nachtzichts', text = '&9Nachtzicht (0:45)' }, |
||
+ | end |
||
− | ['Pijl des nachtzichts'] = { name = 'Drank des nachtzichts', text = '&9Nachtzicht (0:22)' }, |
||
+ | -- Aqua tekst in tekstwolk en/of geanimeerd |
||
− | ['Drank der verval'] = { name = 'Drank der verval', text = '&cVerschrompeling II (0:40)' }, |
||
+ | local aquaTekstwolken = { |
||
− | ['Spattende drank der verval'] = { name = 'Spattende drank der verval', text = '&cVerschrompeling II (0:30)' }, |
||
+ | { naam = 'Baken', geanimeerd = false }, |
||
− | ['Aanhoudende drank der verval'] = { name = 'Aanhoudende drank der verval', text = '&cVerschrompeling II (0:10)' }, |
||
+ | { naam = 'Endkristal', geanimeerd = true }, |
||
− | ['Pijl der verval'] = { name = 'Pijl der verval', text = '&cVerschrompeling II (0:05)' }, |
||
+ | { naam = 'Gouden appel', geanimeerd = false }, |
||
+ | { naam = 'Kracht van de zee', geanimeerd = false } |
||
} |
} |
||
+ | for _, eigenschap in ipairs( aquaTekstwolken ) do |
||
− | -- Gereedschap en wapens -- |
||
− | local |
+ | local naam = eigenschap.naam |
+ | if eigenschap.geanimeerd == true then |
||
− | { 'Houten', 'Zwaard', '1,6', 4 }, |
||
− | { |
+ | aliases[naam] = { title = '&b', name = naam .. '.gif' } |
+ | else |
||
− | { 'IJzeren', 'Zwaard', '1,6', 6 }, |
||
+ | aliases[naam] = { title = '&b', name = naam } |
||
− | { 'Diamanten', 'Zwaard', '1,6', 7 }, |
||
+ | end |
||
− | { 'Gouden', 'Zwaard', '1,6', 4 }, |
||
+ | end |
||
+ | -- Lichtpaarse tekst in tekstwolk en/of geanimeerd |
||
− | { 'Houten', 'Houweel', '1,2', 2 }, |
||
+ | local lichtpaarseTekstwolken = { |
||
− | { 'Stenen', 'Houweel', '1,2', 3 }, |
||
− | { ' |
+ | { naam = 'Betoverde gouden appel', geanimeerd = true }, |
− | { |
+ | { naam = 'Constructieblok', geanimeerd = false }, |
− | { |
+ | { naam = 'Drakenei', geanimeerd = false }, |
+ | { naam = 'Gekoppeld opdrachtblok', geanimeerd = true }, |
||
+ | { naam = 'Herhalend opdrachtblok', geanimeerd = true }, |
||
+ | { naam = 'Opdrachtblok', geanimeerd = true }, |
||
+ | { naam = 'Kracht van de zee', geanimeerd = false } |
||
+ | } |
||
+ | for _, eigenschap in ipairs( lichtpaarseTekstwolken ) do |
||
− | { 'Houten', 'Bijl', '0,8', 7 }, |
||
+ | local naam = eigenschap.naam |
||
− | { 'Stenen', 'Bijl', '0,8', 9 }, |
||
+ | if eigenschap.geanimeerd == true then |
||
− | { 'IJzeren', 'Bijl', '0,9', 9 }, |
||
− | { |
+ | aliases[naam] = { title = '&b', name = naam .. '.gif' } |
+ | else |
||
− | { 'Gouden', 'Bijl', '1,0', 7 }, |
||
+ | aliases[naam] = { title = '&b', name = naam } |
||
+ | end |
||
+ | end |
||
+ | local oranjeEnSchuingedrukteTekstwolken = { |
||
− | { 'Houten', 'Schep', '1,0', '2,5' }, |
||
− | { |
+ | { naam = 'Onheilspellende banier', geanimeerd = false }, |
+ | } |
||
− | { 'IJzeren', 'Schep', '1,0', '4,5' }, |
||
− | { 'Diamanten', 'Schep', '1,0', '5,5' }, |
||
− | { 'Gouden', 'Schep', '1,0', '2,5' }, |
||
+ | for _, eigenschap in ipairs( oranjeEnSchuingedrukteTekstwolken ) do |
||
− | { 'Houten', 'Schoffel', '1,0', '1,0' }, |
||
+ | local naam = eigenschap.naam |
||
− | { 'Stenen', 'Schoffel', '2,0', '1,0' }, |
||
+ | if eigenschap.geanimeerd == true then |
||
− | { 'IJzeren', 'Schoffel', '3,0', '1,0' }, |
||
+ | aliases[naam] = { title = '&6&o', name = naam .. '.gif' } |
||
− | { 'Diamanten', 'Schoffel', '4,0', '1,0' }, |
||
+ | else |
||
− | { 'Gouden', 'Schoffel', '1,0', '1,0' }, |
||
+ | aliases[naam] = { title = '&6&o', name = naam } |
||
+ | end |
||
+ | end |
||
+ | |||
+ | -- Gereedschap en wapens -- |
||
+ | local gereedschapsvormen = { |
||
+ | ["zwaard"] = { vorm = 'onverbogen' }, |
||
+ | ["houweel"] = { vorm = 'verbogen' }, |
||
+ | ["bijl"] = { vorm = 'verbogen' }, |
||
+ | ["schep"] = { vorm = 'verbogen' }, |
||
+ | ["schoffel"] = { vorm = 'verbogen' }, |
||
} |
} |
||
+ | -- Merk op dat deze gereedschapstabel geen normale tabel is. Hierom zijn de |
||
− | local materiaalGroepen = {} |
||
+ | -- verschillende materiaalsoorten opgesplitst in een eigen tabel. Zie ook de |
||
− | local gereedschapGroepen = {} |
||
+ | -- functie die bovenaan staat. |
||
+ | local gereedschap = functioning_table({ |
||
+ | ['hout'] = { |
||
+ | { gereedschap = 'zwaard', aanvalssnelheid = '1,6', aanvalsschade = 4, bedrock_aanvalsschade = 4 }, |
||
+ | { gereedschap = 'houweel', aanvalssnelheid = '1,2', aanvalsschade = 2, bedrock_aanvalsschade = 2 }, |
||
+ | { gereedschap = 'bijl', aanvalssnelheid = '0,8', aanvalsschade = 7, bedrock_aanvalsschade = 3 }, |
||
+ | { gereedschap = 'schep', aanvalssnelheid = 1, aanvalsschade = '2,5', bedrock_aanvalsschade = 1 }, |
||
+ | { gereedschap = 'schoffel', aanvalssnelheid = 1, aanvalsschade = 1, bedrock_aanvalsschade = 2 }, |
||
+ | }},{ |
||
+ | ['steen'] = { |
||
+ | { gereedschap = 'zwaard', aanvalssnelheid = '1,6', aanvalsschade = 5, bedrock_aanvalsschade = 5 }, |
||
+ | { gereedschap = 'houweel', aanvalssnelheid = '1,2', aanvalsschade = 3, bedrock_aanvalsschade = 3 }, |
||
+ | { gereedschap = 'bijl', aanvalssnelheid = '0,8', aanvalsschade = 9, bedrock_aanvalsschade = 4 }, |
||
+ | { gereedschap = 'schep', aanvalssnelheid = 1, aanvalsschade = '3,5', bedrock_aanvalsschade = 2 }, |
||
+ | { gereedschap = 'schoffel', aanvalssnelheid = 2, aanvalsschade = 1, bedrock_aanvalsschade = 3 }, |
||
+ | }},{ |
||
+ | ['ijzer'] = { |
||
+ | { gereedschap = 'zwaard', aanvalssnelheid = '1,6', aanvalsschade = 6, bedrock_aanvalsschade = 6 }, |
||
+ | { gereedschap = 'houweel', aanvalssnelheid = '1,2', aanvalsschade = 4, bedrock_aanvalsschade = 4 }, |
||
+ | { gereedschap = 'bijl', aanvalssnelheid = '0,9', aanvalsschade = 9, bedrock_aanvalsschade = 5 }, |
||
+ | { gereedschap = 'schep', aanvalssnelheid = 1, aanvalsschade = '4,5', bedrock_aanvalsschade = 3 }, |
||
+ | { gereedschap = 'schoffel', aanvalssnelheid = 3, aanvalsschade = 1, bedrock_aanvalsschade = 4 }, |
||
+ | }},{ |
||
+ | ['goud'] = { |
||
+ | { gereedschap = 'zwaard', aanvalssnelheid = '1,6', aanvalsschade = 4, bedrock_aanvalsschade = 4 }, |
||
+ | { gereedschap = 'houweel', aanvalssnelheid = '1,2', aanvalsschade = 2, bedrock_aanvalsschade = 2 }, |
||
+ | { gereedschap = 'bijl', aanvalssnelheid = 1, aanvalsschade = 7, bedrock_aanvalsschade = 3 }, |
||
+ | { gereedschap = 'schep', aanvalssnelheid = 1, aanvalsschade = '2,5', bedrock_aanvalsschade = 1 }, |
||
+ | { gereedschap = 'schoffel', aanvalssnelheid = 1, aanvalsschade = 1, bedrock_aanvalsschade = 2 }, |
||
+ | }},{ |
||
+ | ['diamant'] = { |
||
+ | { gereedschap = 'zwaard', aanvalssnelheid = '1,6', aanvalsschade = 7, bedrock_aanvalsschade = 7 }, |
||
+ | { gereedschap = 'houweel', aanvalssnelheid = '1,2', aanvalsschade = 5, bedrock_aanvalsschade = 5 }, |
||
+ | { gereedschap = 'bijl', aanvalssnelheid = 1, aanvalsschade = 9, bedrock_aanvalsschade = 6 }, |
||
+ | { gereedschap = 'schep', aanvalssnelheid = 1, aanvalsschade = '5,5', bedrock_aanvalsschade = 4 }, |
||
+ | { gereedschap = 'schoffel', aanvalssnelheid = 4, aanvalsschade = 1, bedrock_aanvalsschade = 5 }, |
||
+ | }},{ |
||
+ | ['Netheriet'] = { |
||
+ | { gereedschap = 'zwaard', aanvalssnelheid = '1,6', aanvalsschade = 8, bedrock_aanvalsschade = 8 }, |
||
+ | { gereedschap = 'houweel', aanvalssnelheid = '1,2', aanvalsschade = 6, bedrock_aanvalsschade = 6 }, |
||
+ | { gereedschap = 'bijl', aanvalssnelheid = 1, aanvalsschade = 10, bedrock_aanvalsschade = 7 }, |
||
+ | { gereedschap = 'schep', aanvalssnelheid = '1,6', aanvalsschade = '6,5', bedrock_aanvalsschade = 5 }, |
||
+ | { gereedschap = 'schoffel', aanvalssnelheid = 4, aanvalsschade = 1, bedrock_aanvalsschade = 4 }, |
||
+ | }}) |
||
+ | local materiaalgroepen = functioning_table() |
||
− | for _, gereedschapType in ipairs( gereedschap ) do |
||
+ | local gereedschapsgroepen = functioning_table() |
||
− | local aliasNaam = gereedschapType[1] .. ' ' .. gereedschapType[2]:lower(); |
||
− | aliases[aliasNaam] = { title = aliasNaam, name = aliasNaam, text = '/&7Wanneer in hoofdhand:/ &7' .. gereedschapType[3] .. ' aanvalssnelheid/ &7' .. gereedschapType[4] .. ' aanvalsschade' } |
||
+ | for materiaalsoort, gereedschapsoort in gereedschap:pairs() do |
||
− | local materiaalGroep = gereedschapType[1]:lower(); |
||
+ | local materiaalsoortVerbogen |
||
− | local gereedschapGroep = gereedschapType[2]:lower(); |
||
+ | if materiaalsoort == 'steen' then |
||
+ | materiaalsoortVerbogen = 'stenen' |
||
+ | else |
||
+ | materiaalsoortVerbogen = materiaalsoort .. 'en' |
||
+ | end |
||
+ | |||
+ | for _, eigenschappen in ipairs( gereedschapsoort ) do |
||
+ | -- Voeg eerst alle aliasen toe aan de tabel |
||
+ | materiaalsoortVerbogen = hoofdletter( materiaalsoortVerbogen ) |
||
+ | local gereedschapsnaam = materiaalsoortVerbogen .. ' ' .. eigenschappen.gereedschap |
||
− | if gereedschapType[2] ~= 'Zwaard' then |
||
+ | aliases[gereedschapsnaam] = { name = gereedschapsnaam, text = '/&7Wanneer in hoofdhand:/ &2' .. eigenschappen.aanvalssnelheid .. ' aanvalssnelheid/ &2' .. eigenschappen.aanvalsschade .. ' aanvalsschade' } |
||
− | if materiaalGroepen[materiaalGroep] == nil then |
||
+ | aliases[gereedschapsnaam .. ' (BE)'] = { name = gereedschapsnaam, text = '/&9+' .. eigenschappen.bedrock_aanvalsschade .. ' aanvalsschade' } |
||
− | materiaalGroepen[materiaalGroep] = {} |
||
+ | |||
+ | local materiaalgroep = materiaalsoortVerbogen |
||
+ | local gereedschapsgroep = eigenschappen.gereedschap |
||
+ | -- Per materiaalgroep (m.u.v. zwaard) |
||
+ | if gereedschapsnaam:find('%(BE%)$') == nil then |
||
+ | if eigenschappen.gereedschap ~= 'zwaard' then |
||
+ | if materiaalgroepen[materiaalgroep] == nil then |
||
+ | materiaalgroepen[materiaalgroep] = {} |
||
+ | end |
||
+ | table.insert( materiaalgroepen[materiaalgroep], aliases[gereedschapsnaam] ) |
||
+ | end |
||
+ | -- Per gereedschapsgroep |
||
+ | if gereedschapsgroepen[gereedschapsgroep] == nil then |
||
+ | gereedschapsgroepen[gereedschapsgroep] = {} |
||
+ | end |
||
+ | table.insert( gereedschapsgroepen[gereedschapsgroep], aliases[gereedschapsnaam] ) |
||
end |
end |
||
− | table.insert( materiaalGroepen[materiaalGroep], aliases[aliasNaam] ) |
||
end |
end |
||
+ | end |
||
+ | -- Zet materiaal en gereedschap gegroepeerd in aliasestabel |
||
− | if gereedschapGroepen[gereedschapGroep] == nil then |
||
+ | for materiaalgroep, voorwerpen in materiaalgroepen:pairs() do |
||
− | gereedschapGroepen[gereedschapGroep] = {} |
||
+ | local mg |
||
+ | if materiaalgroep == 'Netherieten' then |
||
+ | mg = materiaalgroep |
||
+ | else |
||
+ | mg = materiaalgroep:lower() |
||
end |
end |
||
+ | aliases['Elk ' .. mg .. ' gereedschap'] = voorwerpen |
||
− | |||
+ | aliases['Overeenkomend ' .. mg .. ' gereedschap'] = voorwerpen |
||
− | table.insert( gereedschapGroepen[gereedschapGroep], aliases[aliasNaam] ) |
||
end |
end |
||
− | for |
+ | for gereedschapsgroep, voorwerpen in gereedschapsgroepen:pairs() do |
+ | local vorm = gereedschapsvormen[gereedschapsgroep].vorm |
||
− | aliases['Elk ' .. materiaalGroep .. ' gereedschap'] = voorwerpen |
||
+ | if vorm == 'onverbogen' then |
||
− | end |
||
+ | aliases['Elk ' .. gereedschapsgroep] = voorwerpen |
||
− | |||
+ | aliases['Overeenkomend ' .. gereedschapsgroep] = voorwerpen |
||
− | -- Als variabele gereedschapGroep gelijk is aan 'zwaard', gebruik dan 'Elk' in plaats van 'Elke'. |
||
+ | elseif vorm == 'verbogen' then |
||
− | for gereedschapGroep, voorwerpen in pairs( gereedschapGroepen ) do |
||
+ | aliases['Elke ' .. gereedschapsgroep] = voorwerpen |
||
− | if gereedschapGroep == 'zwaard' then |
||
− | aliases[' |
+ | aliases['Overeenkomende ' .. gereedschapsgroep] = voorwerpen |
− | end |
||
− | if gereedschapGroep ~= 'zwaard' then |
||
− | aliases['Elke ' .. gereedschapGroep] = voorwerpen |
||
end |
end |
||
end |
end |
||
+ | --[[ |
||
− | -- Lijst van voorwerpvarianten -- |
||
+ | Lijst met voorwerpvarianten. De parameter 'vorm' bepaalt of er 'elke' en |
||
− | --- Gebruikt 'Elk' |
||
+ | 'overeenkomende' (verbogen) óf 'elk' en 'overeenkomend' (onverbogen) voor |
||
+ | komt te staan in de aliasestabel. |
||
+ | Merk op dat hoofdletters niet nodig zijn tussen de blokhaken. |
||
+ | ]] |
||
local voorwerpvarianten = { |
local voorwerpvarianten = { |
||
− | [' |
+ | ['bloem'] = { vorm = 'verbogen', lijst = { 'Margriet', 'Korenbloem', 'Lelietje-van-dalen', |
+ | 'Witherroos', 'Rode tulp', 'Oranje tulp', 'Witte tulp', 'Roze tulp', 'Porseleinsterretje', |
||
− | ['rood zandsteen'] = { 'Rood zandsteen', 'Gebeiteld rood zandsteen', 'Glad rood zandsteen' }, |
||
− | + | 'Look', 'Blauwe orchidee', 'Klaproos', 'Paardenbloem' } }, |
|
− | [' |
+ | ['paddenstoel'] = { vorm = 'verbogen', lijst = { 'Rode paddenstoel', 'Bruine paddenstoel' } }, |
+ | ['kwartsblok'] = { vorm = 'onverbogen', lijst = { 'Kwartsblok', 'Gebeiteld kwartsblok', |
||
+ | 'Kwartspilaar' } }, |
||
+ | ['rood zandsteen'] = { vorm = 'onverbogen', lijst = { 'Rood zandsteen', |
||
+ | 'Gesneden rood zandsteen', 'Gebeiteld rood zandsteen', 'Glad rood zandsteen' } }, |
||
+ | ['zandsteen'] = { vorm = 'onverbogen', lijst = { 'Zandsteen', 'Gesneden zandsteen', |
||
+ | 'Gebeiteld zandsteen', 'Glad zandsteen' } }, |
||
+ | ['blokstenen'] = { vorm = 'verbogen', lijst = {'Blokstenen', 'Mossige blokstenen', |
||
+ | 'Gebarsten blokstenen', 'Gebeitelde blokstenen'} }, |
||
+ | ['stenen plaat'] = { vorm = 'verbogen', lijst = { 'Stenen plaat', 'Gladde stenen plaat', |
||
+ | 'Keistenen plaat', 'Mossige keistenen plaat', 'Blokstenen plaat', |
||
+ | 'Mossige blokstenen plaat', 'Andesietplaat', 'Gepolijste andesietplaat', 'Diorietplaat', |
||
+ | 'Gepolijste diorietplaat', 'Granietplaat', 'Gepolijste granietplaat', 'Zandstenen plaat', |
||
+ | 'Gesneden zandstenen plaat', 'Gladde zandstenen plaat', 'Rode zandstenen plaat', |
||
+ | 'Gesneden rode zandstenen plaat', 'Gladde rode zandstenen plaat', 'Bakstenen plaat', |
||
+ | { title = 'Prismarienplaat', name = 'Prismarienplaat.gif' }, 'Prismarienblokstenen plaat', |
||
+ | 'Donkerprismarienplaat', 'Netherbakstenen plaat', 'Rode Netherbakstenen plaat', |
||
+ | 'Kwartsplaat', 'Gladde kwartsplaat', 'Purpurplaat', 'Endblokstenen plaat', |
||
+ | 'Versteende eikenhouten plaat', 'Zwartstenen plaat', 'Gepolijste zwartstenen plaat', |
||
+ | 'Gepolijste zwartstenen blokstenen plaat' } }, |
||
+ | ['stenen trap'] = { vorm = 'verbogen', lijst = { 'Stenen trap', 'Keistenen trap', |
||
+ | 'Mossige keistenen trap', 'Blokstenen trap', 'Mossige blokstenen trap', 'Andesiettrap', |
||
+ | 'Gepolijste andesiettrap', 'Dioriettrap', 'Gepolijste dioriettrap', 'Graniettrap', |
||
+ | 'Gepolijste graniettrap', 'Zandstenen trap', 'Gladde zandstenen trap', |
||
+ | 'Rode zandstenen trap', 'Gladde rode zandstenen trap', 'Bakstenen trap', |
||
+ | { title = 'Prismarientrap', name = 'Prismarientrap.gif' }, 'Prismarienblokstenen trap', |
||
+ | 'Donkerprismarientrap', 'Netherbakstenen trap', 'Rode Netherbakstenen trap', 'Kwartstrap', |
||
+ | 'Gladde kwartstrap', 'Purpurtrap', 'Endblokstenen trap', 'Zwartstenen trap', |
||
+ | 'Gepolijste zwartstenen trap', 'Gepolijste zwartstenen blokstenen trap' } }, |
||
+ | ['purpurblok'] = { vorm = 'onverbogen', lijst = { 'Purpurblok', 'Purpurpilaar' } }, |
||
+ | ['steen'] = { vorm = 'verbogen', lijst = { 'Steen', 'Andesiet', 'Graniet', 'Dioriet', |
||
+ | 'Gepolijst andesiet', 'Gepolijst graniet', 'Gepolijst dioriet' } }, |
||
+ | ['steenachtig blok'] = { vorm = 'onverbogen', lijst = { 'Keisteen', 'Zwartsteen', |
||
+ | 'Geplaveid wrevelsteen' } }, |
||
+ | ['tulp'] = { vorm = 'verbogen', lijst = { 'Rode tulp', 'Oranje tulp', 'Witte tulp', |
||
+ | 'Roze tulp' } }, |
||
+ | ['prismarien'] = { vorm = 'onverbogen', lijst = { { title = 'Prismarien', name = 'Prismarien.gif' }, |
||
+ | 'Prismarienblokstenen', 'Donkerprismarien' } }, |
||
+ | ['erts'] = { vorm = 'verbogen', lijst = { 'Steenkoolerts', 'IJzererts', 'Gouderts', |
||
+ | 'Lapislazuli-erts', 'Redstone-erts', 'Smaragderts', 'Diamanterts', 'Netherkwartserts', |
||
+ | 'Nethergouderts' } }, |
||
+ | ['dood koraalblok'] = { vorm = 'onverbogen', lijst = { 'Dood buiskoraalblok', |
||
+ | 'Dood hersenkoraalblok', 'Dood blaaskoraalblok', 'Dood brandkoraalblok', |
||
+ | 'Dood hoornkoraalblok' } }, |
||
+ | ['dode koraalwaaier'] = { vorm = 'verbogen', lijst = { 'Dode buiskoraalwaaier', |
||
+ | 'Dode hersenkoraalwaaier', 'Dode blaaskoraalwaaier', 'Dode brandkoraalwaaier', |
||
+ | 'Dode hoornkoraalwaaier' } }, |
||
+ | ['muur'] = { vorm = 'verbogen', lijst = { 'Keistenen muur', 'Mossige keistenen muur', |
||
+ | 'Blokstenen muur', 'Mossige blokstenen muur', 'Andesietmuur', 'Diorietmuur', 'Granietmuur', |
||
+ | 'Zandstenen muur', 'Rode zandstenen muur', 'Bakstenen muur', |
||
+ | { title = 'Prismarienmuur', name = 'Prismarienmuur.gif' }, 'Netherbakstenen muur', |
||
+ | 'Rode Netherbakstenen muur', 'Endblokstenen muur', 'Zwartstenen muur', |
||
+ | 'Gepolijste zwartstenen muur' } }, |
||
+ | ['fakkel'] = { vorm = 'verbogen', lijst = { 'Fakkel', 'Zielenfakkel' } }, |
||
+ | ['lantaarn'] = { vorm = 'verbogen', lijst = { 'Lantaarn', 'Zielenlantaarn' } }, |
||
+ | ['zwam'] = { vorm = 'verbogen', lijst = { 'Helrode zwam', 'Spookachtige zwam' } }, |
||
+ | ['wortels'] = { vorm = 'verbogen', lijst = { 'Helrode wortels', 'Spookachtige wortels' } }, |
||
+ | ['nylium'] = { vorm = 'onverbogen', lijst = { 'Helrood nylium', 'Spookachtig nylium' } }, |
||
+ | ['zielenzand'] = { vorm = 'onverbogen', lijst = { 'Zielenzand', 'Zielenaarde' } }, |
||
+ | ['kampvuur'] = { vorm = 'onverbogen', lijst = { 'Kampvuur', 'Zielenkampvuur' } }, |
||
+ | ['zwartsteen'] = { vorm = 'onverbogen', lijst = { 'Zwartsteen', 'Gepolijst zwartsteen', |
||
+ | 'Gebeiteld gepolijst zwartsteen', 'Gepolijste zwartstenen blokstenen', |
||
+ | 'Gebarsten gepolijste zwartstenen blokstenen' } }, |
||
+ | ['stenen knop'] = { vorm = 'verbogen', lijst = { 'Stenen knop', 'Gepolijste zwartstenen knop' } }, |
||
+ | ['stenen drukplaat'] = { vorm = 'verbogen', lijst = { 'Stenen drukplaat', |
||
+ | 'Gepolijste zwartstenen drukplaat' } }, |
||
+ | ['Netherhouten drukplaat'] = { vorm = 'verbogen', lijst = { 'Helrode houten drukplaat', |
||
+ | 'Spookachtige houten drukplaat' } }, |
||
+ | ['Netherhouten hek'] = { vorm = 'verbogen', lijst = { 'Helrood houten hek', |
||
+ | 'Spookachtig houten hek' } }, |
||
+ | ['Netherhouten valluik'] = { vorm = 'verbogen', lijst = { 'Helrood houten valluik', |
||
+ | 'Spookachtig houten valluik' } }, |
||
+ | ['Netherhouten poort'] = { vorm = 'verbogen', lijst = { 'Helrode houten poort', |
||
+ | 'Spookachtige houten poort' } }, |
||
+ | ['Netherhouten trap'] = { vorm = 'verbogen', lijst = { 'Helrode houten trap', |
||
+ | 'Spookachtige houten trap' } }, |
||
+ | ['Netherhouten deur'] = { vorm = 'verbogen', lijst = { 'Helrode houten deur', |
||
+ | 'Spookachtige houten deur' } }, |
||
+ | ['Netherhouten bord'] = { vorm = 'verbogen', lijst = { 'Helrood houten bord', |
||
+ | 'Spookachtig houten bord' } }, |
||
} |
} |
||
− | --- Bijbehorende functie |
||
− | for aliasNaam, aliasVoorwerpen in pairs( voorwerpvarianten ) do |
||
− | aliases['Elk ' .. aliasNaam] = aliasVoorwerpen |
||
− | aliases['Overeenkomend ' .. aliasNaam] = aliasVoorwerpen |
||
− | end |
||
+ | for aliasnaam, aliasinhoud in pairs( voorwerpvarianten ) do |
||
− | --- Gebruikt 'Elke' |
||
+ | if aliasinhoud.vorm == 'onverbogen' then |
||
− | local voorwerpvariantenNaamval = { |
||
+ | aliases['Elk ' .. aliasnaam] = aliasinhoud.lijst |
||
− | ['kleurstof'] = mw.clone( kleurstoffen ), |
||
+ | aliases['Overeenkomend ' .. aliasnaam] = aliasinhoud.lijst |
||
− | ['gekleurde kleurstof'] = kleurstoffen, |
||
+ | elseif aliasinhoud.vorm == 'verbogen' then |
||
− | ['gekleurde wol'] = { |
||
+ | aliases['Elke ' .. aliasnaam] = aliasinhoud.lijst |
||
− | 'Oranje wol', 'Magenta wol', 'Lichtblauwe wol', 'Gele wol', 'Lichtgroene wol', |
||
+ | aliases['Overeenkomende ' .. aliasnaam] = aliasinhoud.lijst |
||
− | 'Roze wol', 'Grijze wol', 'Lichtgrijze wol', 'Turquoise wol', 'Paarse wol', |
||
+ | else |
||
− | 'Blauwe wol', 'Bruine wol', 'Groene wol', 'Rode wol', 'Zwarte wol', |
||
+ | error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'") |
||
− | }, |
||
+ | end |
||
− | ['paddenstoel'] = { { title = 'Paddenstoel', name = 'Rode paddenstoel' }, { title = 'Paddenstoel', name = 'Bruine paddenstoel' } }, |
||
− | ['bloksteen'] = { 'Blokstenen', 'Mossige blokstenen', 'Gebarsten blokstenen', 'Gebeitelde blokstenen' }, |
||
− | ['stenen plaat'] = { 'Stenen plaat', 'Zandstenen plaat', 'Keistenen plaat', 'Bakstenen plaat', 'Blokstenen plaat', 'Netherbakstenen plaat', 'Kwartsplaat', 'Purpurplaat' }, |
||
− | ['steen'] = { 'Steen', 'Andesiet', 'Graniet', 'Dioriet', 'Gepolijst andesiet', 'Gepolijst graniet', 'Gepolijst dioriet' }, |
||
− | } |
||
− | --- Bijbehorende functie |
||
− | table.insert( voorwerpvariantenNaamval['kleurstof'], 1, 'Beendermeel' ) |
||
− | for aliasNaam, aliasVoorwerpen in pairs( voorwerpvariantenNaamval ) do |
||
− | aliases['Elke ' .. aliasNaam] = aliasVoorwerpen |
||
− | aliases['Overeenkomende ' .. aliasNaam] = aliasVoorwerpen |
||
end |
end |
||
+ | -- Koper -- |
||
− | -- Geanimeerde afbeeldingen -- |
||
− | local |
+ | local kopervarianten = { |
+ | ['Overeenkomend# (geoxideerd#) koperblok'] = { 'Koperblok', 'Blootgesteld# koperblok', |
||
− | 'Opdrachtblok', |
||
+ | 'Verweerd# koperblok', 'Geoxideerd# koperblok' }, |
||
− | 'Gekoppeld opdrachtblok', |
||
+ | ['Overeenkomend# (geoxideerd#) gesneden koperblok'] = { 'Gesneden koperblok', |
||
− | 'Herhalend opdrachtblok', |
||
+ | 'Blootgesteld# gesneden koperblok', 'Verweerd# gesneden koperblok', |
||
− | 'Vuur', |
||
+ | 'Geoxideerd# gesneden koperblok' }, |
||
− | 'Magmablok', |
||
+ | ['Overeenkomend# ingewassen (geoxideerd#) koperblok'] = { 'Ingewassen koperblok', |
||
− | 'Prismarien', |
||
+ | 'Ingewassen blootgesteld# koperblok', 'Ingewassen verweerd# koperblok' }, |
||
− | 'Zeelantaarn', |
||
+ | ['Overeenkomend# ingewassen (geoxideerd#) gesneden koperblok'] = { 'Ingewassen gesneden koperblok', |
||
+ | 'Ingewassen blootgesteld# gesneden koperblok', 'Ingewassen verweerd# gesneden koperblok' }, |
||
} |
} |
||
+ | for key, values in pairs( kopervarianten ) do -- waarde in kopervariantentabel |
||
− | for _, afbeelding in ipairs( geanimeerdeAfbeeldingen ) do |
||
+ | for _, value in ipairs(values) do -- waarde in tabel van waarde kopervariantentabel |
||
− | aliases[afbeelding] = afbeelding .. '.gif' |
||
+ | local geparseerdeSleutel = '' |
||
+ | local geparseerdeWaarde = '' |
||
+ | |||
+ | -- Koperblok |
||
+ | geparseerdeSleutel = key:gsub('#', '') |
||
+ | geparseerdeWaarde = value:gsub('#', '') |
||
+ | |||
+ | -- maak tabel als-ie niet bestaat |
||
+ | if aliases[geparseerdeSleutel] == nil then aliases[geparseerdeSleutel] = {} end |
||
+ | aliases[geparseerdeSleutel] = geparseerdeWaarde |
||
+ | |||
+ | -- Koperen plaat |
||
+ | geparseerdeSleutel = key:gsub('#', 'e'):gsub('blok$', 'en plaat') |
||
+ | geparseerdeWaarde = value:gsub('#', 'e'):gsub('blok$', 'en plaat') |
||
+ | if aliases[geparseerdeSleutel] == nil then aliases[geparseerdeSleutel] = {} end |
||
+ | aliases[geparseerdeSleutel] = geparseerdeWaarde |
||
+ | |||
+ | -- Koperen trap |
||
+ | geparseerdeSleutel = key:gsub('#', 'e'):gsub('blok$', 'en trap') |
||
+ | geparseerdeWaarde = value:gsub('#', 'e'):gsub('blok$', 'en trap') |
||
+ | if aliases[geparseerdeSleutel] == nil then aliases[geparseerdeSleutel] = {} end |
||
+ | aliases[geparseerdeSleutel] = geparseerdeWaarde |
||
+ | end |
||
end |
end |
||
-- Muziekplaten -- |
-- Muziekplaten -- |
||
− | local |
+ | local platen = { |
− | '13', |
+ | { nummer = '13', artiest = 'C418' }, |
− | 'cat', |
+ | { nummer = 'cat', artiest = 'C418' }, |
− | 'blocks', |
+ | { nummer = 'blocks', artiest = 'C418' }, |
− | 'chirp', |
+ | { nummer = 'chirp', artiest = 'C418' }, |
− | 'far', |
+ | { nummer = 'far', artiest = 'C418' }, |
− | 'mall', |
+ | { nummer = 'mall', artiest = 'C418' }, |
− | 'mellohi', |
+ | { nummer = 'mellohi', artiest = 'C418' }, |
− | 'stal', |
+ | { nummer = 'stal', artiest = 'C418' }, |
− | 'strad', |
+ | { nummer = 'strad', artiest = 'C418' }, |
− | 'ward', |
+ | { nummer = 'ward', artiest = 'C418' }, |
− | '11', |
+ | { nummer = '11', artiest = 'C418' }, |
− | 'wait', |
+ | { nummer = 'wait', artiest = 'C418' }, |
+ | { nummer = 'pigstep', artiest = 'Lena Raine' }, |
||
} |
} |
||
− | for _, |
+ | for _, plaat in ipairs( platen ) do |
− | local naam = 'Muziekplaat ' .. |
+ | local naam = 'Muziekplaat ' .. plaat.nummer |
− | aliases[naam] = { title = '&bMuziekplaat', name = naam, text = '& |
+ | aliases[naam] = { title = '&bMuziekplaat', name = naam, text = '&7' .. plaat.artiest .. ' - ' .. plaat.nummer } |
end |
end |
||
+ | --[[ |
||
− | -- Beschadigd harnas, gereedschap en beschadigde wapens -- |
||
+ | Beschadigde voorwerpen. |
||
+ | De parameter 'vorm' kan de volgende waarden bevatten: |
||
+ | - onverbogen (zonder -e) |
||
+ | - verbogen (met -e) |
||
+ | ]] |
||
local beschadigdeVoorwerpen = { |
local beschadigdeVoorwerpen = { |
||
+ | { naam = 'boog', vorm = 'verbogen' }, |
||
− | 'Diamanten zwaard', |
||
+ | { naam = 'dekschild', vorm = 'onverbogen' }, |
||
− | 'Dekschild', |
||
+ | { naam = 'diamanten beenstukken', vorm = 'verbogen' }, |
||
− | 'Vuursteen en staal', |
||
+ | { naam = 'diamanten bijl', vorm = 'verbogen' }, |
||
− | 'Gouden zwaard', |
||
+ | { naam = 'diamanten borstplaat', vorm = 'verbogen' }, |
||
− | 'IJzeren zwaard', |
||
+ | { naam = 'diamanten helm', vorm = 'verbogen' }, |
||
− | 'Schild', |
||
+ | { naam = 'diamanten houweel', vorm = 'verbogen' }, |
||
− | 'Stenen zwaard', |
||
+ | { naam = 'diamanten laarzen', vorm = 'verbogen' }, |
||
− | 'Houten zwaard', |
||
+ | { naam = 'diamanten schep', vorm = 'verbogen' }, |
||
+ | { naam = 'diamanten schoffel', vorm = 'verbogen' }, |
||
+ | { naam = 'diamanten zwaard', vorm = 'onverbogen' }, |
||
+ | { naam = 'gouden beenstukken', vorm = 'verbogen' }, |
||
+ | { naam = 'gouden bijl', vorm = 'verbogen' }, |
||
+ | { naam = 'gouden borstplaat', vorm = 'verbogen' }, |
||
+ | { naam = 'gouden helm', vorm = 'verbogen' }, |
||
+ | { naam = 'gouden houweel', vorm = 'verbogen' }, |
||
+ | { naam = 'gouden laarzen', vorm = 'verbogen' }, |
||
+ | { naam = 'gouden schep', vorm = 'verbogen' }, |
||
+ | { naam = 'gouden schoffel', vorm = 'verbogen' }, |
||
+ | { naam = 'gouden zwaard', vorm = 'onverbogen' }, |
||
+ | { naam = 'houten bijl', vorm = 'verbogen' }, |
||
+ | { naam = 'houten houweel', vorm = 'verbogen' }, |
||
+ | { naam = 'houten schep', vorm = 'verbogen' }, |
||
+ | { naam = 'houten schoffel', vorm = 'verbogen' }, |
||
+ | { naam = 'houten zwaard', vorm = 'onverbogen' }, |
||
+ | { naam = 'ijzeren beenstukken', vorm = 'verbogen' }, |
||
+ | { naam = 'ijzeren bijl', vorm = 'verbogen' }, |
||
+ | { naam = 'ijzeren borstplaat', vorm = 'verbogen' }, |
||
+ | { naam = 'ijzeren helm', vorm = 'verbogen' }, |
||
+ | { naam = 'ijzeren houweel', vorm = 'verbogen' }, |
||
+ | { naam = 'ijzeren laarzen', vorm = 'verbogen' }, |
||
+ | { naam = 'ijzeren schep', vorm = 'verbogen' }, |
||
+ | { naam = 'ijzeren schoffel', vorm = 'verbogen' }, |
||
+ | { naam = 'ijzeren zwaard', vorm = 'onverbogen' }, |
||
+ | { naam = 'leren broek', vorm = 'verbogen' }, |
||
+ | { naam = 'leren kap', vorm = 'verbogen' }, |
||
+ | { naam = 'leren tuniek', vorm = 'verbogen' }, |
||
+ | { naam = 'leren laarzen', vorm = 'verbogen' }, |
||
+ | { naam = 'maliënbroek', vorm = 'verbogen' }, |
||
+ | { naam = 'maliënkap', vorm = 'verbogen' }, |
||
+ | { naam = 'maliënkolder', vorm = 'verbogen' }, |
||
+ | { naam = 'maliënlaarzen', vorm = 'verbogen' }, |
||
+ | { naam = 'Netherieten beenstukken', vorm = 'verbogen' }, |
||
+ | { naam = 'Netherieten bijl', vorm = 'verbogen' }, |
||
+ | { naam = 'Netherieten borstplaat', vorm = 'verbogen' }, |
||
+ | { naam = 'Netherieten helm', vorm = 'verbogen' }, |
||
+ | { naam = 'Netherieten houweel', vorm = 'verbogen' }, |
||
+ | { naam = 'Netherieten laarzen', vorm = 'verbogen' }, |
||
+ | { naam = 'Netherieten schep', vorm = 'verbogen' }, |
||
+ | { naam = 'Netherieten schoffel', vorm = 'verbogen' }, |
||
+ | { naam = 'Netherieten zwaard', vorm = 'onverbogen' }, |
||
+ | { naam = 'kruisboog', vorm = 'verbogen' }, |
||
+ | { naam = 'schaar', vorm = 'verbogen' }, |
||
+ | { naam = 'schild', vorm = 'onverbogen' }, |
||
+ | { naam = 'spookachtige zwam aan een stok', vorm = 'verbogen' }, |
||
+ | { naam = 'stenen bijl', vorm = 'verbogen' }, |
||
+ | { naam = 'stenen houweel', vorm = 'verbogen' }, |
||
+ | { naam = 'stenen schep', vorm = 'verbogen' }, |
||
+ | { naam = 'stenen schoffel', vorm = 'verbogen' }, |
||
+ | { naam = 'stenen zwaard', vorm = 'onverbogen' }, |
||
+ | { naam = 'vishengel', vorm = 'verbogen' }, |
||
+ | { naam = 'vuursteen en staal', vorm = 'onverbogen' }, |
||
+ | { naam = 'wortel aan een stok', vorm = 'verbogen' }, |
||
} |
} |
||
for _, voorwerp in ipairs( beschadigdeVoorwerpen ) do |
for _, voorwerp in ipairs( beschadigdeVoorwerpen ) do |
||
− | local naam = |
+ | local naam = hoofdletter( voorwerp.naam ) |
− | aliases[naam] = { title = voorwerp, name = naam } |
||
− | end |
||
+ | if voorwerp.vorm == 'onverbogen' then |
||
− | local beschadigdeVoorwerpenNaamval = { |
||
+ | aliases['Beschadigd ' .. voorwerp.naam] = { title = naam, name = 'Beschadigd ' .. voorwerp.naam } |
||
− | 'Boog', |
||
+ | elseif voorwerp.vorm == 'verbogen' then |
||
− | 'Wortel aan een stok', |
||
+ | aliases['Beschadigde ' .. voorwerp.naam] = { title = naam, name = 'Beschadigde ' .. voorwerp.naam } |
||
− | 'Maliënlaarzen', |
||
+ | else |
||
− | 'Maliënkolder', |
||
+ | error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'") |
||
− | 'Maliënkap', |
||
− | + | end |
|
− | 'Diamanten bijl', |
||
− | 'Diamanten laarzen', |
||
− | 'Diamanten borstplaat', |
||
− | 'Diamanten helm', |
||
− | 'Diamanten schoffel', |
||
− | 'Diamanten beenstukken', |
||
− | 'Diamanten houweel', |
||
− | 'Diamanten schep', |
||
− | 'Vishengel', |
||
− | 'Gouden bijl', |
||
− | 'Gouden laarzen', |
||
− | 'Gouden borstplaat', |
||
− | 'Gouden helm', |
||
− | 'Gouden schoffel', |
||
− | 'Gouden beenstukken', |
||
− | 'Gouden houweel', |
||
− | 'Gouden schep', |
||
− | 'IJzeren bijl', |
||
− | 'IJzeren laarzen', |
||
− | 'IJzeren borstplaat', |
||
− | 'IJzeren helm', |
||
− | 'IJzeren schoffel', |
||
− | 'IJzeren beenstukken', |
||
− | 'IJzeren houweel', |
||
− | 'IJzeren schep', |
||
− | 'Leren laarzen', |
||
− | 'Leren tuniek', |
||
− | 'Leren kap', |
||
− | 'Leren broek', |
||
− | 'Schaar', |
||
− | 'Stenen bijl', |
||
− | 'Stenen schoffel', |
||
− | 'Stenen houweel', |
||
− | 'Stenen schep', |
||
− | 'Houten bijl', |
||
− | 'Houten schoffel', |
||
− | 'Houten houweel', |
||
− | 'Houten schep', |
||
− | } |
||
− | |||
− | for _, voorwerp in ipairs( beschadigdeVoorwerpenNaamval ) do |
||
− | local naam = 'Beschadigde ' .. voorwerp:lower(); |
||
− | aliases[naam] = { title = voorwerp, name = naam } |
||
end |
end |
||
+ | -- Kleuren -- |
||
− | -- Banieren en gekleurde voorwerpen -- |
||
− | --- Kleuren (normaal en naamval) |
||
local kleuren = { |
local kleuren = { |
||
− | { 'Wit', 'Witte' }, |
+ | { onverbogen = 'Wit', verbogen = 'Witte' }, |
− | { 'Oranje', 'Oranje' }, |
+ | { onverbogen = 'Oranje', verbogen = 'Oranje' }, |
− | { 'Magenta', 'Magenta' }, |
+ | { onverbogen = 'Magenta', verbogen = 'Magenta' }, |
− | { 'Lichtblauw', 'Lichtblauwe' }, |
+ | { onverbogen = 'Lichtblauw', verbogen = 'Lichtblauwe' }, |
− | { 'Geel', 'Gele' }, |
+ | { onverbogen = 'Geel', verbogen = 'Gele' }, |
− | { 'Lichtgroen', 'Lichtgroene' }, |
+ | { onverbogen = 'Lichtgroen', verbogen = 'Lichtgroene' }, |
− | { 'Roze', 'Roze' }, |
+ | { onverbogen = 'Roze', verbogen = 'Roze' }, |
− | { 'Grijs', 'Grijze' }, |
+ | { onverbogen = 'Grijs', verbogen = 'Grijze' }, |
− | { 'Lichtgrijs', 'Lichtgrijze' }, |
+ | { onverbogen = 'Lichtgrijs', verbogen = 'Lichtgrijze' }, |
− | { 'Turquoise', 'Turquoise' }, |
+ | { onverbogen = 'Turquoise', verbogen = 'Turquoise' }, |
− | { 'Paars', 'Paarse' }, |
+ | { onverbogen = 'Paars', verbogen = 'Paarse' }, |
− | { 'Blauw', 'Blauwe' }, |
+ | { onverbogen = 'Blauw', verbogen = 'Blauwe' }, |
− | { 'Bruin', 'Bruine' }, |
+ | { onverbogen = 'Bruin', verbogen = 'Bruine' }, |
− | { 'Groen', 'Groene' }, |
+ | { onverbogen = 'Groen', verbogen = 'Groene' }, |
− | { 'Rood', 'Rode' }, |
+ | { onverbogen = 'Rood', verbogen = 'Rode' }, |
− | { 'Zwart', 'Zwarte' } |
+ | { onverbogen = 'Zwart', verbogen = 'Zwarte' } |
} |
} |
||
+ | --[[ |
||
− | --- Vuurwerksterren |
||
+ | Banieren. |
||
− | local vuurwerkster = {} |
||
+ | Parameters: |
||
− | |||
+ | - vorm: |
||
− | for _, kleur in ipairs( kleuren ) do |
||
+ | - onverbogen: geen -e |
||
− | local naam = kleur[2] .. ' vuurwerkster' |
||
+ | - verbogen: met -e |
||
− | aliases[naam] = { title = 'Vuurwerkster', name = naam, text = '&7' .. kleur[1] } |
||
+ | - voorzetsel: of 'met' tussen banier en patroon geplaatst moet worden |
||
− | table.insert( vuurwerkster, aliases[naam] ) |
||
+ | - spatie: of tussen kleur en patroon een spatie hoort te staan |
||
− | end |
||
+ | ]] |
||
− | |||
− | aliases['Elke vuurwerkster'] = vuurwerkster |
||
− | aliases['Overeenkomende vuurwerkster'] = vuurwerkster |
||
− | |||
− | --- Banieren |
||
− | ---- Banierpatronen (zonder spatie) |
||
local banierpatronen = { |
local banierpatronen = { |
||
− | 'andreaskruis', |
+ | ['andreaskruis'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
+ | ['bloem'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
− | 'bloemwapen', |
||
+ | ['Creeper'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
− | 'Creeperwapen', |
||
+ | ['dwarsbalk'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
− | 'gradiënt', |
||
+ | ['gebalkt'] = { vorm = 'onverbogen', voorzetsel = false, spatie = false }, |
||
− | 'ingesprongen hoofd', |
||
+ | ['gegolfd schildhoofd'] = { vorm = 'onverbogen', voorzetsel = true, spatie = false }, |
||
− | 'kruis', |
||
+ | ['gegolfd schildvoet'] = { vorm = 'onverbogen', voorzetsel = true, spatie = false }, |
||
− | 'Mojangwapen', |
||
+ | ['gepaald'] = { vorm = 'onverbogen', voorzetsel = false, spatie = false }, |
||
− | 'rozet', |
||
+ | ['globe'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
− | 'schedelwapen', |
||
+ | ['gradiënt'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
||
− | 'veld gemetseld', |
||
+ | ['ingesprongen zoom'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
+ | ['keper'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
+ | ['koek'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
+ | ['kruis'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
||
+ | ['kwartier linksboven'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
||
+ | ['kwartier linksonder'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
||
+ | ['kwartier rechtsboven'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
||
+ | ['kwartier rechtsonder'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
||
+ | ['linkerpaal'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
+ | ['linkerschuinbalk'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
+ | ['lozanje'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
||
+ | ['metselwerk'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
||
+ | ['Mojanglogo'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
||
+ | ['omgekeerd gebalkt'] = { vorm = 'onverbogen', voorzetsel = false, spatie = true }, |
||
+ | ['omgekeerd gepaald'] = { vorm = 'onverbogen', voorzetsel = false, spatie = true }, |
||
+ | ['omgekeerd schuinlinks verdeeld'] = { vorm = 'onverbogen', voorzetsel = false, spatie = true }, |
||
+ | ['omgekeerd schuinrechts verdeeld'] = { vorm = 'onverbogen', voorzetsel = false, spatie = true }, |
||
+ | ['paal'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
+ | ['palen'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
+ | ['rechterpaal'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
+ | ['rechterschuinbalk'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
+ | ['schedel'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
+ | ['schildhoofd'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
||
+ | ['schildvoet'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
||
+ | ['schildvoetgradiënt'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true }, |
||
+ | ['schuinlinks verdeeld'] = { vorm = 'onverbogen', voorzetsel = false, spatie = true }, |
||
+ | ['schuinrechts verdeeld'] = { vorm = 'onverbogen', voorzetsel = false, spatie = true }, |
||
+ | ['snuit'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
+ | ['zoom'] = { vorm = 'verbogen', voorzetsel = true, spatie = true }, |
||
} |
} |
||
+ | for patroon, eigenschappen in pairs( banierpatronen ) do |
||
− | ---- Banierpatronen (nv) |
||
+ | for _, kleur in ipairs( kleuren ) do |
||
− | local banierpatronenNv = { |
||
+ | local patroonnaam = '' |
||
− | 'band sinister', |
||
+ | if eigenschappen.vorm == 'onverbogen' then |
||
− | 'band', |
||
+ | if eigenschappen.voorzetsel == true and eigenschappen.spatie == true then |
||
− | 'basis dexter kanton', |
||
+ | patroonnaam = 'Banier met ' .. kleur.onverbogen:lower() .. ' ' .. patroon |
||
− | 'basis faas', |
||
+ | aliases[patroonnaam] = { title = 'Banier', name = patroonnaam, text = '&7' .. kleur.onverbogen .. ' ' .. patroon } |
||
− | 'basis gradiënt', |
||
+ | elseif eigenschappen.voorzetsel == true and eigenschappen.spatie == false then |
||
− | 'basis sinister kanton', |
||
+ | patroonnaam = 'Banier met ' .. kleur.onverbogen:lower() .. patroon |
||
− | 'faas', |
||
+ | aliases[patroonnaam] = { title = 'Banier', name = patroonnaam, text = '&7' .. kleur.onverbogen .. patroon } |
||
− | 'hoofd dexter kanton', |
||
+ | elseif eigenschappen.voorzetsel == false and eigenschappen.spatie == true then |
||
− | 'hoofd faas', |
||
+ | patroonnaam = 'Banier ' .. kleur.onverbogen:lower() .. ' ' .. patroon |
||
− | 'hoofd sinister kanton', |
||
+ | aliases[patroonnaam] = { title = 'Banier', name = patroonnaam, text = '&7' .. kleur.onverbogen .. ' ' .. patroon } |
||
− | 'ingesprongen basis', |
||
+ | elseif eigenschappen.voorzetsel == false and eigenschappen.spatie == false then |
||
− | 'ingesprongen zoom', |
||
+ | patroonnaam = 'Banier ' .. kleur.onverbogen:lower() .. patroon |
||
− | 'keper', |
||
+ | aliases[patroonnaam] = { title = 'Banier', name = patroonnaam, text = '&7' .. kleur.onverbogen .. patroon } |
||
− | 'omgekeerde keper', |
||
− | + | else |
|
+ | error("Controleer waarden voor '" .. patroon .. "'.") |
||
− | 'paal sinister', |
||
− | + | end |
|
+ | elseif eigenschappen.vorm == 'verbogen' then |
||
− | 'paly', |
||
+ | if eigenschappen.voorzetsel == true and eigenschappen.spatie == true then |
||
− | 'per band omgekeerd', |
||
+ | patroonnaam = 'Banier met ' .. kleur.verbogen:lower() .. ' ' .. patroon |
||
− | 'per band sinister omgekeerd', |
||
+ | aliases[patroonnaam] = { title = 'Banier', name = patroonnaam, text = '&7' .. kleur.verbogen .. ' ' .. patroon } |
||
− | 'per band sinister', |
||
− | + | else |
|
+ | error("Fout bij maken aliases. Overige vormen van voorzetsel en spatie niet geïmplementeerd.") |
||
− | 'per faas', |
||
− | + | end |
|
− | + | else |
|
+ | error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'") |
||
− | 'per paal omgekeerd', |
||
− | + | end |
|
− | 'zoom', |
||
− | } |
||
− | |||
− | for _, kleur in ipairs( kleuren ) do |
||
− | for _, patronen in ipairs( banierpatronen ) do |
||
− | naam = kleur[2] .. ' ' .. patronen .. 'banier' |
||
− | tekst = kleur[1] .. ' ' .. patronen |
||
− | aliases[naam] = { title = 'Banier', name = naam, text = '&7' .. tekst } |
||
− | end |
||
− | for _, patronenNv in ipairs( banierpatronenNv ) do |
||
− | naamNv = kleur[2] .. ' ' .. patronenNv .. 'banier' |
||
− | tekstNv = kleur[2] .. ' ' .. patronenNv |
||
− | aliases[naamNv] = { title = 'Banier', name = naamNv, text = '&7' .. tekstNv } |
||
end |
end |
||
end |
end |
||
+ | --[[ |
||
− | -- Voorwerpen gebruikende de zestien kleuren -- |
||
+ | Gekleurde voorwerpen. Vuurwerksterren krijgen een aparte behandeling. |
||
− | --- Spatie tussen kleur en voorwerp, geen extra 'e' |
||
+ | Parameters: |
||
− | local gekleurdeVoorwerpenNormaal = { |
||
− | + | - vorm: |
|
+ | - onverbogen: geen -e |
||
− | 'beton', |
||
+ | - verbogen: met -e |
||
− | 'cement', |
||
+ | - spatie: of een spatie hoort te staan tussen kleur en voorwerp |
||
− | 'schild', |
||
+ | - wit: of voorwerp met of zonder witte kleurstof moet worden gemaakt |
||
− | 'bed', |
||
+ | - false: er worden twee aliasen gemaakt - één mét witte kleur |
||
− | 'terracotta', |
||
+ | en één zonder. De alias zonder wit wordt 'gekleurd(e)' |
||
+ | genoemd |
||
+ | - true: er wordt één alias gemaakt, mét witte kleur |
||
+ | Overige: |
||
+ | - $1: kleur en vorm komen overeen |
||
+ | - $2: kleur en vorm komen niet overeen |
||
+ | In beide gevallen wordt de kleur als eerste ingevuld in correcte vorm. |
||
+ | Er wordt uitgegaan dat de kleur op de juiste locatie staat. Hierom |
||
+ | wordt de parameter 'spatie' niet meegenomen. |
||
+ | ]] |
||
+ | local gekleurdeVoorwerpen = { |
||
+ | ['ballon'] = { vorm = 'verbogen', spatie = true, wit = true }, |
||
+ | ['banier'] = { vorm = 'verbogen', spatie = true, wit = true }, |
||
+ | ['bed'] = { vorm = 'onverbogen', spatie = true, wit = false }, |
||
+ | ['beton'] = { vorm = 'onverbogen', spatie = true, wit = true }, |
||
+ | ['cement'] = { vorm = 'onverbogen', spatie = true, wit = true }, |
||
+ | ['geglazuurd terracotta'] = { vorm = 'onverbogen', spatie = false, wit = true }, |
||
+ | ['gehard $1gekleurd glas'] = { vorm = 'onverbogen', spatie = false, wit = true }, |
||
+ | ['geharde $2gekleurde glazen ruit'] = { vorm = 'verbogen', spatie = false, wit = true }, |
||
+ | ['gekleurd glas'] = { vorm = 'onverbogen', spatie = false, wit = true }, |
||
+ | ['$2gekleurde glazen ruit'] = { vorm = 'verbogen', spatie = false, wit = true }, |
||
+ | ['tapijt'] = { vorm = 'onverbogen', spatie = true, wit = false }, |
||
+ | ['terracotta'] = { vorm = 'onverbogen', spatie = true, wit = false }, |
||
+ | ['kaars'] = { vorm = 'verbogen', spatie = true, wit = false }, |
||
+ | ['kleurstof'] = { vorm = 'verbogen', spatie = true, wit = false }, |
||
+ | ['schild'] = { vorm = 'onverbogen', spatie = true, wit = true }, |
||
+ | ['Shulkerdoos'] = { vorm = 'verbogen', spatie = true, wit = true }, |
||
+ | ['wol'] = { vorm = 'verbogen', spatie = true, wit = false }, |
||
} |
} |
||
− | for |
+ | for voorwerp, eigenschappen in pairs( gekleurdeVoorwerpen ) do |
local gekleurdeVoorwerpenAliases = {} |
local gekleurdeVoorwerpenAliases = {} |
||
+ | local voorwerpnaam = '' |
||
+ | local voorwerpalias = '' |
||
for _, kleur in ipairs( kleuren ) do |
for _, kleur in ipairs( kleuren ) do |
||
+ | if eigenschappen.vorm == 'onverbogen' then |
||
− | table.insert( gekleurdeVoorwerpenAliases, kleur[1] .. ' ' .. voorwerp ) |
||
+ | if voorwerp:find( '%$1' ) then |
||
+ | local kl = kleur.onverbogen:lower() |
||
+ | voorwerpnaam = voorwerp:gsub( '%$1', kl ) |
||
+ | voorwerpnaam = hoofdletter( voorwerpnaam ) |
||
+ | table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam ) |
||
+ | elseif voorwerp:find( '%$2' ) then |
||
+ | local kl = kleur.verbogen:lower() |
||
+ | voorwerpnaam = voorwerp:gsub( '%$2', kl ) |
||
+ | voorwerpnaam = hoofdletter( voorwerpnaam ) |
||
+ | table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam ) |
||
+ | else |
||
+ | if eigenschappen.spatie == true then |
||
+ | voorwerpnaam = kleur.onverbogen .. ' ' .. voorwerp |
||
+ | table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam ) |
||
+ | else |
||
+ | voorwerpnaam = kleur.onverbogen .. voorwerp |
||
+ | table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam ) |
||
+ | end |
||
+ | end |
||
+ | elseif eigenschappen.vorm == 'verbogen' then |
||
+ | if voorwerp:find( '%$1' ) then |
||
+ | local kl = kleur.verbogen:lower() |
||
+ | voorwerpnaam = voorwerp:gsub( '%$1', kl ) |
||
+ | voorwerpnaam = hoofdletter( voorwerpnaam ) |
||
+ | table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam ) |
||
+ | elseif voorwerp:find( '%$2' ) then |
||
+ | local kl = kleur.onverbogen:lower() |
||
+ | voorwerpnaam = voorwerp:gsub( '%$2', kl ) |
||
+ | voorwerpnaam = hoofdletter( voorwerpnaam ) |
||
+ | table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam ) |
||
+ | else |
||
+ | if eigenschappen.spatie == true then |
||
+ | voorwerpnaam = kleur.verbogen .. ' ' .. voorwerp |
||
+ | table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam ) |
||
+ | else |
||
+ | voorwerpnaam = kleur.verbogen .. voorwerp |
||
+ | table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam ) |
||
+ | end |
||
+ | end |
||
+ | else |
||
+ | error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'") |
||
+ | end |
||
end |
end |
||
− | aliases['Elk ' .. voorwerp] = gekleurdeVoorwerpenAliases |
||
− | aliases['Overeenkomend ' .. voorwerp] = gekleurdeVoorwerpenAliases |
||
− | end |
||
+ | if eigenschappen.vorm == 'onverbogen' then |
||
− | --- Geen spatie tussen kleur en voorwerp |
||
+ | voorwerpalias = voorwerp:gsub( '%$%d', '' ) |
||
− | local gekleurdeVoorwerpenNormaalGeenSpatie = { |
||
+ | aliases['Elk ' .. voorwerpalias] = gekleurdeVoorwerpenAliases |
||
− | 'geglazuurde terracotta', |
||
+ | aliases['Overeenkomend ' .. voorwerpalias] = gekleurdeVoorwerpenAliases |
||
− | 'gekleurd glas', |
||
− | 'gekleurde glazen ruit', |
||
− | } |
||
+ | if eigenschappen.wit == false then |
||
− | for _, voorwerp in ipairs( gekleurdeVoorwerpenNormaalGeenSpatie ) do |
||
+ | local alleenGekleurdeVoorwerpenAliases = mw.clone( gekleurdeVoorwerpenAliases ) |
||
− | local gekleurdeVoorwerpenAliasesGS = {} |
||
+ | local witWeg = table.remove( alleenGekleurdeVoorwerpenAliases, 1 ) -- verwijder het eerste element van de tabel (wit) |
||
− | for _, kleur in ipairs( kleuren ) do |
||
+ | aliases['Elk gekleurd ' .. voorwerpalias] = alleenGekleurdeVoorwerpenAliases |
||
− | table.insert( gekleurdeVoorwerpenAliasesGS, kleur[1] .. '' .. voorwerp ) |
||
+ | aliases['Overeenkomend gekleurd ' .. voorwerpalias] = alleenGekleurdeVoorwerpenAliases |
||
+ | end |
||
+ | elseif eigenschappen.vorm == 'verbogen' then |
||
+ | voorwerpalias = voorwerp:gsub( '%$%d', '' ) |
||
+ | aliases['Elke ' .. voorwerpalias] = gekleurdeVoorwerpenAliases |
||
+ | aliases['Overeenkomende ' .. voorwerpalias] = gekleurdeVoorwerpenAliases |
||
+ | |||
+ | if eigenschappen.wit == false then |
||
+ | local alleenGekleurdeVoorwerpenAliases = mw.clone( gekleurdeVoorwerpenAliases ) |
||
+ | local witWeg = table.remove( alleenGekleurdeVoorwerpenAliases, 1 ) -- verwijder het eerste element van de tabel (wit) |
||
+ | aliases['Elke gekleurde ' .. voorwerpalias] = alleenGekleurdeVoorwerpenAliases |
||
+ | aliases['Overeenkomende gekleurde ' .. voorwerpalias] = alleenGekleurdeVoorwerpenAliases |
||
+ | end |
||
+ | else |
||
+ | error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'") |
||
end |
end |
||
− | aliases['Elk ' .. voorwerp] = gekleurdeVoorwerpenAliasesGS |
||
− | aliases['Overeenkomend ' .. voorwerp] = gekleurdeVoorwerpenAliasesGS |
||
end |
end |
||
+ | -- Vuurwerksterren -- |
||
− | --- Spatie tussen kleur en voorwerp, extra 'e' |
||
− | local |
+ | local vuurwerksterren = {} |
+ | for _, kleur in ipairs( kleuren ) do |
||
− | 'banier', |
||
+ | local naam = kleur.verbogen .. ' vuurwerkster' |
||
− | 'Shulkerdoos', |
||
+ | aliases[naam] = { title = 'Vuurwerkster', name = naam, text = '&7' .. kleur.onverbogen } |
||
− | 'wol', |
||
+ | table.insert( vuurwerksterren, aliases[naam] ) |
||
− | } |
||
− | |||
− | for _, voorwerp in ipairs( gekleurdeVoorwerpenNaamval ) do |
||
− | local gekleurdeVoorwerpenAliasesNv = {} |
||
− | for _, kleur in ipairs( kleuren ) do |
||
− | table.insert( gekleurdeVoorwerpenAliasesNv, kleur[2] .. ' ' .. voorwerp ) |
||
− | end |
||
− | aliases['Elke ' .. voorwerp] = gekleurdeVoorwerpenAliasesNv |
||
− | aliases['Overeenkomende ' .. voorwerp] = gekleurdeVoorwerpenAliasesNv |
||
end |
end |
||
+ | aliases['Elke vuurwerkster'] = vuurwerksterren |
||
+ | aliases['Overeenkomende vuurwerkster'] = vuurwerksterren |
||
− | -- |
+ | -- Dranken -- |
+ | -- Geen effect |
||
− | local effecten = { |
||
+ | local geenEffecten = { |
||
− | 'der regeneratie', |
||
− | ' |
+ | 'Waterfles', |
− | ' |
+ | 'Vreemde drank', |
− | ' |
+ | 'Stroperige drank', |
− | ' |
+ | 'Triviale drank', |
− | ' |
+ | 'Onmaakbare drank', |
− | ' |
+ | 'Spattende waterfles', |
− | ' |
+ | 'Spattende vreemde drank', |
− | ' |
+ | 'Spattende stroperige drank', |
− | ' |
+ | 'Spattende triviale drank', |
− | ' |
+ | 'Spattende onmaakbare drank', |
− | ' |
+ | 'Aanhoudende waterfles', |
− | ' |
+ | 'Aanhoudende vreemde drank', |
− | ' |
+ | 'Aanhoudende stroperige drank', |
− | ' |
+ | 'Aanhoudende triviale drank', |
+ | 'Aanhoudende onmaakbare drank', |
||
+ | 'Getipte pijl', |
||
+ | 'Pijl der spatting', |
||
+ | 'Onmaakbare getipte pijl' |
||
} |
} |
||
+ | for _, naam in ipairs( geenEffecten ) do |
||
+ | aliases[naam] = { name = naam, text = '&7Geen effecten' } |
||
+ | end |
||
+ | |||
+ | -- Begin lijst met dranken |
||
local drankvoorwerpen = { |
local drankvoorwerpen = { |
||
− | [' |
+ | ['drank'] = { |
− | 'Waterfles', |
+ | aliases['Waterfles'], |
− | 'Vreemde drank', |
+ | aliases['Vreemde drank'], |
− | ' |
+ | aliases['Stroperige drank'], |
− | 'Triviale drank', |
+ | aliases['Triviale drank'], |
}, |
}, |
||
− | [' |
+ | ['spattende drank'] = { |
− | 'Spattende waterfles', |
+ | aliases['Spattende waterfles'], |
− | ' |
+ | aliases['Spattende vreemde drank'], |
− | ' |
+ | aliases['Spattende stroperige drank'], |
− | ' |
+ | aliases['Spattende triviale drank'], |
}, |
}, |
||
− | [' |
+ | ['aanhoudende drank'] = { |
− | 'Aanhoudende waterfles', |
+ | aliases['Aanhoudende waterfles'], |
− | ' |
+ | aliases['Aanhoudende vreemde drank'], |
− | ' |
+ | aliases['Aanhoudende stroperige drank'], |
− | ' |
+ | aliases['Aanhoudende triviale drank'], |
− | }, |
||
− | ['Getipte pijl'] = { |
||
− | 'Pijl der spatting', |
||
− | 'Getipte pijl', |
||
− | 'Getipte pijl', |
||
− | 'Getipte pijl', |
||
}, |
}, |
||
+ | ['getipte pijl'] = { |
||
+ | aliases['Pijl der spatting'], |
||
+ | aliases['Getipte pijl'], |
||
+ | aliases['Getipte pijl'], |
||
+ | aliases['Getipte pijl'], |
||
+ | } |
||
+ | } |
||
+ | |||
+ | --[[ |
||
+ | Effecten. |
||
+ | Paramters: |
||
+ | - naam: naam van effect, inclusief genitief |
||
+ | - effect: naam van effect zelf, voorafgegaan door &9 (positief) of &c (negatief) |
||
+ | - versterking: met Romeinse cijfers aangegeven wat de versterking is |
||
+ | - duur: duur van het effect |
||
+ | - normaal: gewone & spattende drank voor normaal, verlengd en versterkt |
||
+ | - aanhoudend: aanhoudende drank voor normaal, verlengd en versterkt |
||
+ | - pijl: getipte pijl voor normaal, verlengd en versterkt |
||
+ | - in gevallen waar een drank meerdere effecten heeft (zoals der schildpadmeester) is de |
||
+ | formatting iets anders. In plaats van 'effect' heet deze parameter 'tekst' |
||
+ | ]] |
||
+ | local effecten = { |
||
+ | { naam = 'der regeneratie', effect = '&9Regeneratie', versterking = 'II', |
||
+ | duur = { normaal = { '0:45', '1:30', '0:22' }, aanhoudend = { '0:11', '0:22', '0:05' }, pijl = { '0:05', '0:11', '0:02' } } }, |
||
+ | { naam = 'der vlotheid', effect = '&9Snelheid', versterking = 'II', |
||
+ | duur = { normaal = { '3:00', '8:00', '1:30' }, aanhoudend = { '0:45', '2:00', '0:22' }, pijl = { '0:22', '1:00', '0:11' } } }, |
||
+ | { naam = 'der vuurbestendigheid', effect = '&9Vuurbestendigheid', |
||
+ | duur = { normaal = { '3:00', '8:00' }, aanhoudend = { '0:45', '2:00' }, pijl = { '0:22', '1:00' } } }, |
||
+ | { naam = 'des gifs', effect = '&cVergif', versterking = 'II', |
||
+ | duur = { normaal = { '0:45', '1:30', '0:21' }, aanhoudend = { '0:11', '0:22', '0:05' }, pijl = { '0:05', '0:11', '0:02' } } }, |
||
+ | { naam = 'der genezing', effect = '&9Onmiddellijke genezing', versterking = 'II' }, |
||
+ | { naam = 'des nachtzichts', effect = '&9Nachtzicht', |
||
+ | duur = { normaal = { '3:00', '8:00' }, aanhoudend = { '0:45', '2:00' }, pijl = { '0:22', '1:00' } } }, |
||
+ | { naam = 'der zwakheid', effect = '&cZwakheid', |
||
+ | duur = { normaal = { '1:30', '4:00' }, aanhoudend = { '0:22', '1:00' }, pijl = { '0:11', '0:30' } } }, |
||
+ | { naam = 'der kracht', effect = '&9Kracht', versterking = 'II', |
||
+ | duur = { normaal = { '3:00', '8:00', '1:30' }, aanhoudend = { '0:45', '2:00', '0:22' }, pijl = { '0:22', '1:00', '0:11' } } }, |
||
+ | { naam = 'der traagheid', effect = '&cTraagheid', versterking = 'IV', |
||
+ | duur = { normaal = { '1:30', '4:00', '0:20' }, aanhoudend = { '0:22', '1:00', '0:05' }, pijl = { '0:11', '0:30', '0:02' } } }, |
||
+ | { naam = 'der sprongen', effect = '&9Sprongversterking', versterking = 'II', |
||
+ | duur = { normaal = { '3:00', '8:00', '1:30' }, aanhoudend = { '0:45', '2:00', '0:22' }, pijl = { '0:22', '1:00', '0:11' } } }, |
||
+ | { naam = 'der verwonding', effect = '&cOnmiddellijke schade', versterking = 'II' }, |
||
+ | { naam = 'des wateradems', effect = '&9Wateradem', |
||
+ | duur = { normaal = { '3:00', '8:00' }, aanhoudend = { '0:45', '2:00' }, pijl = { '0:22', '1:00' } } }, |
||
+ | { naam = 'der onzichtbaarheid', effect = '&9Onzichtbaarheid', |
||
+ | duur = { normaal = { '3:00', '8:00' }, aanhoudend = { '0:45', '2:00' }, pijl = { '0:22', '1:00' } } }, |
||
+ | { naam = 'der valvertraging', effect = '&9Valvertraging', |
||
+ | duur = { normaal = { '1:30', '4:00' }, aanhoudend = { '0:22', '1:00' }, pijl = { '0:11', '0:30' } } }, |
||
+ | { naam = 'des geluks', effect = '&9Geluk', |
||
+ | duur = { normaal = { '5:00' }, aanhoudend = { '1:15' }, pijl = { '0:37' } } }, |
||
+ | { naam = 'der verval', effect = '&cVerschrompeling', |
||
+ | duur = { normaal = { '0:40' }, aanhoudend = { '0:10' }, pijl = { '0:05' } } }, |
||
+ | -- Drank der schildpadmeester heeft speciale formatting nodig. Hierom volgt het niet het standaardformaat. |
||
+ | { naam = 'der schildpadmeester', tekst = '&cTraagheid IV ($1)/&9Weerstand III ($1)', versterking = '&cTraagheid VI ($1)/&9Weerstand IV ($1)', |
||
+ | duur = { normaal = { '0:20', '0:40', '0:20' }, aanhoudend = { '0:15', '0:45', '0:15' }, pijl = { '0:07', '0:22', '0:07' } } }, |
||
+ | } |
||
+ | |||
+ | local soorten = { |
||
+ | { naam = 'Drank', duur = 'normaal', tekst = 'Drank ' }, |
||
+ | { naam = 'Spattende drank', duur = 'normaal', tekst = 'Spattende drank ' }, |
||
+ | { naam = 'Aanhoudende drank', duur = 'aanhoudend', tekst = 'Aanhoudende drank ' }, |
||
+ | { naam = 'Getipte pijl', duur = 'pijl', tekst = 'Pijl ' }, |
||
} |
} |
||
for _, effect in ipairs( effecten ) do |
for _, effect in ipairs( effecten ) do |
||
+ | for _, soort in ipairs( soorten ) do |
||
− | table.insert( drankvoorwerpen['Drank'], 'Drank ' .. effect ) |
||
+ | -- Maak naam van drank |
||
− | table.insert( drankvoorwerpen['Spattende drank'], 'Spattende drank ' .. effect ) |
||
+ | local naam = soort.tekst .. effect.naam |
||
− | table.insert( drankvoorwerpen['Aanhoudende drank'], 'Aanhoudende drank ' .. effect ) |
||
+ | local dranknaam = {} |
||
− | table.insert( drankvoorwerpen['Getipte pijl'], 'Pijl ' .. effect ) |
||
+ | if soort.naam == 'Getipte pijl' then |
||
− | end |
||
+ | dranknaam = soort.tekst .. effect.naam |
||
+ | else |
||
+ | dranknaam = soort.tekst .. effect.naam .. '.gif' |
||
+ | end |
||
+ | -- Voeg duur toe als er een duur is |
||
− | for voorwerp, drankAliases in pairs( drankvoorwerpen ) do |
||
+ | if effect.duur then |
||
− | local voorwerpKL = voorwerp:lower(); |
||
+ | local duur = effect.duur[soort.duur] |
||
+ | -- Vervang $1 door tijden |
||
− | aliases['Elke ' .. voorwerpKL] = drankAliases |
||
+ | if effect.tekst then |
||
− | aliases['Overeenkomende ' .. voorwerpKL] = drankAliases |
||
+ | aliases[naam] = { name = dranknaam, text = effect.tekst:gsub( '%$1', duur[1] ) } |
||
+ | aliases[naam .. ' - verlengd'] = { name = dranknaam, text = effect.tekst:gsub( '%$1', duur[2] ) } |
||
+ | aliases[naam .. ' - versterkt'] = { name = dranknaam, text = effect.versterking:gsub( '%$1', duur[3] ) } |
||
+ | else |
||
+ | -- Er is altijd de normale variant |
||
+ | aliases[naam] = { name = dranknaam, text = string.format( '%s (%s)', effect.effect, duur[1] ) } |
||
+ | |||
+ | -- Verlengde variant als die er is |
||
+ | if duur[2] then |
||
+ | aliases[naam .. ' - verlengd'] = { name = dranknaam, text = string.format( '%s (%s)', effect.effect, duur[2] ) } |
||
+ | end |
||
+ | |||
+ | -- Versterkte variant als die er is |
||
+ | if effect.versterking then |
||
+ | aliases[naam .. ' - versterkt'] = { name = dranknaam, text = string.format( '%s %s (%s)', effect.effect, effect.versterking, duur[3] ) } |
||
+ | end |
||
+ | end |
||
+ | |||
+ | else |
||
+ | -- Anders is het drank zonder duur |
||
+ | aliases[naam] = { name = dranknaam, text = effect.effect } |
||
+ | |||
+ | -- Voeg de versterkte variant toe als die er is |
||
+ | if effect.versterking then |
||
+ | aliases[naam .. ' - versterkt'] = { name = dranknaam, text = effect.effect .. ' ' .. effect.versterking } |
||
+ | end |
||
+ | end |
||
+ | -- Voeg de standaarddrank toe aan de drankenlijst |
||
+ | table.insert( drankvoorwerpen[soort.naam:lower()], aliases[naam] ) |
||
+ | end |
||
end |
end |
||
+ | -- Maak ten slotte de lijst met dranken |
||
− | -- Hout -- |
||
+ | -- Op dit moment zijn alle drankvoorwerpen in de verbogen vorm, dus hoeft daar |
||
− | --- Houtsoorten |
||
+ | -- geen rekening gehouden mee te worden. |
||
− | local houtsoort = { |
||
+ | for voorwerp, drankaliases in pairs( drankvoorwerpen ) do |
||
− | 'Eiken', |
||
+ | aliases['Elke ' .. voorwerp] = drankaliases |
||
− | 'Sparren', |
||
+ | aliases['Overeenkomende ' .. voorwerp] = drankaliases |
||
− | 'Berken', |
||
+ | end |
||
− | 'Oerwoud', |
||
− | 'Acacia', |
||
− | 'Donkereiken', |
||
− | } |
||
+ | --[[ |
||
− | local houtsoortKlein = { |
||
− | + | Houtsoorten. |
|
− | + | Parameters: |
|
− | + | - vorm: |
|
+ | - onverbogen: geen -e |
||
− | 'oerwoud', |
||
+ | - verbogen: met -e |
||
− | 'acacia', |
||
+ | ]] |
||
− | 'donkereiken', |
||
+ | local houtsoorten = { |
||
+ | bovenwereld = { |
||
+ | { onverbogen = 'Eik', verbogen = 'Eiken' }, |
||
+ | { onverbogen = 'Spar', verbogen = 'Sparren' }, |
||
+ | { onverbogen = 'Berk', verbogen = 'Berken' }, |
||
+ | { onverbogen = 'Oerwoud', verbogen = 'Oerwoud' }, |
||
+ | { onverbogen = 'Acacia', verbogen = 'Acacia' }, |
||
+ | { onverbogen = 'Donkereik', verbogen = 'Donkereiken' }, |
||
+ | }, |
||
+ | Nether = { |
||
+ | { onverbogen = 'Helrood', verbogen = 'Helrode' }, |
||
+ | { onverbogen = 'Spookachtig', verbogen = 'Spookachtige' }, |
||
+ | } |
||
} |
} |
||
+ | --[[ |
||
− | --- Voorwerpen (elk) |
||
+ | Houten voorwerpen. |
||
+ | Parameters: |
||
+ | - vorm: |
||
+ | - onverbogen: geen -e |
||
+ | - verbogen: met -e |
||
+ | - bovenwereld: optioneel. |
||
+ | Naam van het blok in de bovenwereld. |
||
+ | - Nether: optioneel |
||
+ | Naam van het blok in de Nether. |
||
+ | - overige: |
||
+ | - $1: Gebruik de onverbogen variant van de houtsoort |
||
+ | - $1l: Zelfde als bovenstaande, maar in kleine letters - van :lower() |
||
+ | - $2: Gebruik de verbogen variant van de houtsoort |
||
+ | - $2l: Zelfde als bovenstaande, maar in kleine letters - van :lower() |
||
+ | ]] |
||
local houtenVoorwerpen = { |
local houtenVoorwerpen = { |
||
+ | ['hout'] = { vorm = 'onverbogen', bovenwereld = '$2hout' }, |
||
− | 'hout', |
||
+ | ['gestript hout'] = { vorm = 'onverbogen', bovenwereld = 'Gestript $2lhout' }, |
||
− | 'houten hek', |
||
+ | ['gestripte schimmeldraden'] = { vorm = 'verbogen', Nether = 'Gestripte $2l schimmeldraden' }, |
||
+ | ['gestripte stam'] = { vorm = 'verbogen', bovenwereld = 'Gestripte $2lstam', Nether = 'Gestripte $2l stam' }, |
||
+ | ['houten boot'] = { vorm = 'verbogen', bovenwereld = '$2houten boot' }, |
||
+ | ['houten bord'] = { vorm = 'onverbogen', bovenwereld = '$2houten bord', Nether = '$1 houten bord' }, |
||
+ | ['houten deur'] = { vorm = 'verbogen', bovenwereld = '$2houten deur', Nether = '$2 houten deur' }, |
||
+ | ['houten drukplaat'] = { vorm = 'verbogen', bovenwereld = '$2houten drukplaat', Nether = '$2 houten drukplaat' }, |
||
+ | ['houten hek'] = { vorm = 'onverbogen', bovenwereld = '$2houten hek', Nether = '$1 houten hek' }, |
||
+ | ['houten knop'] = { vorm = 'verbogen', bovenwereld = '$2houten knop', Nether = '$2 houten knop' }, |
||
+ | ['houten plaat'] = { vorm = 'verbogen', bovenwereld = '$2houten plaat', Nether = '$2 houten plaat' }, |
||
+ | ['houten planken'] = { vorm = 'verbogen', bovenwereld = '$2houten planken', Nether = '$2 houten planken' }, |
||
+ | ['houten poort'] = { vorm = 'verbogen', bovenwereld = '$2houten poort', Nether = '$2 houten poort' }, |
||
+ | ['houten trap'] = { vorm = 'verbogen', bovenwereld = '$2houten trap', Nether = '$2 houten trap' }, |
||
+ | ['houten valluik'] = { vorm = 'onverbogen', bovenwereld = '$2houten valluik', Nether = '$1 houten valluik' }, |
||
+ | ['kiemplant'] = { vorm = 'verbogen', bovenwereld = '$2kiemplant' }, |
||
+ | ['schimmeldraden'] = { vorm = 'verbogen', Nether = '$2 schimmeldraden' }, |
||
+ | ['stam'] = { vorm = 'verbogen', bovenwereld = '$2stam', Nether = '$2 stam' }, |
||
} |
} |
||
+ | -- Geparseerd hout, door onderstaande drie for-loops gebruikt |
||
− | for _, voorwerp in ipairs( houtenVoorwerpen ) do |
||
− | + | local geparseerdHout = {} |
|
+ | |||
− | for _, hout in ipairs( houtsoort ) do |
||
+ | -- Vul bovenstaande tabel |
||
− | table.insert( houtAliases, hout .. '' .. voorwerp ) |
||
+ | for groep, data in pairs( houtenVoorwerpen ) do |
||
+ | for wereld, houtsoortenInWereld in pairs( houtsoorten ) do |
||
+ | local geparseerdHoutenVoorwerp = '' |
||
+ | if data.bovenwereld and wereld == 'bovenwereld' then |
||
+ | for _, houttype in ipairs( houtsoortenInWereld ) do |
||
+ | geparseerdHoutenVoorwerp = data.bovenwereld:gsub('%$1l', houttype.verbogen:lower()):gsub('%$1', houttype.onverbogen):gsub('%$2l', houttype.verbogen:lower()):gsub('%$2', houttype.verbogen) |
||
+ | if geparseerdHout[groep .. ' - bovenwereld'] == nil then geparseerdHout[groep .. ' - bovenwereld'] = {} end |
||
+ | if geparseerdHout[groep] == nil then geparseerdHout[groep] = {} end |
||
+ | table.insert(geparseerdHout[groep .. ' - bovenwereld'], geparseerdHoutenVoorwerp) |
||
+ | table.insert(geparseerdHout[groep], geparseerdHoutenVoorwerp) -- compatibiliteit met vorige versie |
||
+ | end |
||
+ | end |
||
+ | if data.Nether and wereld == 'Nether' then |
||
+ | for _, houttype in ipairs( houtsoortenInWereld ) do |
||
+ | geparseerdHoutenVoorwerp = data.Nether:gsub('%$1l', houttype.verbogen:lower()):gsub('%$1', houttype.onverbogen):gsub('%$2l', houttype.verbogen:lower()):gsub('%$2', houttype.verbogen) |
||
+ | if geparseerdHout[groep .. ' - Nether'] == nil then geparseerdHout[groep .. ' - Nether'] = {} end |
||
+ | table.insert(geparseerdHout[groep .. ' - Nether'], geparseerdHoutenVoorwerp) |
||
+ | end |
||
+ | end |
||
end |
end |
||
− | aliases['Elk ' .. voorwerp] = houtAliases |
||
− | aliases['Overeenkomend ' .. voorwerp] = houtAliases |
||
end |
end |
||
+ | -- Voeg toe aan de aliasestabel |
||
− | --- Voorwerpen (elke) |
||
+ | for houtPerWereld, voorwerpen in pairs( geparseerdHout ) do |
||
− | local houtenVoorwerpenNaamval = { |
||
− | + | local houtRegex = '' |
|
+ | if houtPerWereld:match( '%-' ) then |
||
− | 'bast', |
||
+ | houtRegex = houtPerWereld:match( '(.+)%s%-' ) |
||
− | 'houten boot', |
||
− | + | else |
|
+ | houtRegex = houtPerWereld |
||
− | 'houten planken', |
||
− | + | end |
|
− | + | ||
+ | if houtenVoorwerpen[houtRegex].vorm == 'onverbogen' then |
||
+ | aliases['Elk ' .. houtPerWereld] = voorwerpen |
||
+ | aliases['Overeenkomend ' .. houtPerWereld] = voorwerpen |
||
+ | elseif houtenVoorwerpen[houtRegex].vorm == 'verbogen' then |
||
+ | aliases['Elke ' .. houtPerWereld] = voorwerpen |
||
+ | aliases['Overeenkomende ' .. houtPerWereld] = voorwerpen |
||
+ | else |
||
+ | error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'") |
||
+ | end |
||
+ | end |
||
+ | |||
+ | -- Zet hier blokken neer die samengevoegd moeten worden |
||
+ | -- volgorde: bovenwereld, Nether |
||
+ | local houtSamenvoegen = { |
||
+ | { 'hout', 'schimmeldraden' }, |
||
+ | { 'gestript hout', 'gestripte schimmeldraden' }, |
||
+ | { 'gestripte stam' }, |
||
+ | { 'houten bord' }, |
||
+ | { 'houten deur' }, |
||
+ | { 'houten drukplaat' }, |
||
+ | { 'houten hek' }, |
||
+ | { 'houten knop' }, |
||
+ | { 'houten plaat' }, |
||
+ | { 'houten planken' }, |
||
+ | { 'houten poort' }, |
||
+ | { 'houten trap' }, |
||
+ | { 'houten valluik' }, |
||
+ | { 'stam' }, |
||
} |
} |
||
+ | -- Merge two tables into one https://stackoverflow.com/a/43460349 |
||
− | for _, voorwerp in ipairs( houtenVoorwerpenNaamval ) do |
||
+ | function merge_tables( a, b ) |
||
− | local houtAliasesNv = {} |
||
+ | local result = {} |
||
− | for _, hout in ipairs( houtsoort ) do |
||
+ | for k,v in pairs ( a ) do |
||
− | table.insert( houtAliasesNv, hout .. '' .. voorwerp ) |
||
+ | table.insert( result, v ) |
||
end |
end |
||
+ | for k,v in pairs ( b ) do |
||
− | aliases['Elke ' .. voorwerp] = houtAliasesNv |
||
+ | table.insert( result, v ) |
||
− | aliases['Overeenkomende ' .. voorwerp] = houtAliasesNv |
||
+ | end |
||
+ | return result |
||
end |
end |
||
+ | -- Voeg houten voorwerpen (bovenwereld en Nether) samen |
||
− | --- Voorwerpen (elk, type vooraan + spatie) |
||
+ | for _, samenvoegen in ipairs( houtSamenvoegen ) do |
||
− | local houtPrefix = { |
||
+ | local samengevoegd |
||
− | 'Gestript', |
||
+ | if #samenvoegen > 1 then |
||
+ | local samenTeVoegenLinks = samenvoegen[1] -- zoals altijd fantastische |
||
+ | local samenTeVoegenRechts = samenvoegen[2] -- future-proofing |
||
+ | samengevoegd = merge_tables( geparseerdHout[samenTeVoegenLinks .. ' - bovenwereld'], geparseerdHout[samenTeVoegenRechts .. ' - Nether'] ) |
||
+ | if houtenVoorwerpen[samenTeVoegenLinks].vorm == houtenVoorwerpen[samenTeVoegenRechts].vorm then |
||
+ | -- omdat beide vormen gelijk zijn aan elkaar, hoeft enkel één |
||
+ | -- opgehaald te worden |
||
+ | local vorm = houtenVoorwerpen[samenTeVoegenLinks].vorm |
||
+ | if vorm == 'onverbogen' then |
||
+ | aliases['Elk ' .. samenTeVoegenLinks .. ' of ' .. samenTeVoegenRechts] = samengevoegd |
||
+ | aliases['Overeenkomend ' .. samenTeVoegenLinks .. ' of ' .. samenTeVoegenRechts] = samengevoegd |
||
+ | elseif vorm == 'verbogen' then |
||
+ | aliases['Elke ' .. samenTeVoegenLinks .. ' of ' .. samenTeVoegenRechts] = samengevoegd |
||
+ | aliases['Overeenkomende ' .. samenTeVoegenLinks .. ' of ' .. samenTeVoegenRechts] = samengevoegd |
||
+ | else |
||
+ | error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'\nWaarde: " .. vorm) |
||
+ | end |
||
+ | else |
||
+ | -- beide vormen zijn verschillend, dus de linkervorm is het |
||
+ | -- tegenovergestelde van de rechter |
||
+ | local vormLinks = houtenVoorwerpen[samenTeVoegenLinks].vorm |
||
+ | if vormLinks == 'onverbogen' then |
||
+ | aliases['Elk ' .. samenTeVoegenLinks .. ' of elke ' .. samenTeVoegenRechts] = samengevoegd |
||
+ | aliases['Overeenkomend ' .. samenTeVoegenLinks .. ' of overeenkomende ' .. samenTeVoegenRechts] = samengevoegd |
||
+ | elseif vormLinks == 'verbogen' then |
||
+ | aliases['Elke ' .. samenTeVoegenLinks .. ' of elk ' .. samenTeVoegenRechts] = samengevoegd |
||
+ | aliases['Overeenkomende ' .. samenTeVoegenLinks .. ' of overeenkomend ' .. samenTeVoegenRechts] = samengevoegd |
||
+ | else |
||
+ | error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'\nWaarde: " .. vormLinks) |
||
+ | end |
||
+ | end |
||
+ | else |
||
+ | -- Er is slechts één element in de tabel, dus hoeft er geen rekening |
||
+ | -- gehouden te worden met of de vorm van beide verschillen of gelijk |
||
+ | -- zijn. |
||
+ | samenTeVoegen = samenvoegen[1] |
||
+ | samengevoegd = merge_tables( geparseerdHout[samenTeVoegen .. ' - bovenwereld'], geparseerdHout[samenTeVoegen .. ' - Nether'] ) |
||
+ | if houtenVoorwerpen[samenTeVoegen].vorm == 'onverbogen' then |
||
+ | aliases['Elk ' .. samenTeVoegen .. ' - nieuw'] = samengevoegd |
||
+ | aliases['Overeenkomend ' .. samenTeVoegen .. ' - nieuw'] = samengevoegd |
||
+ | elseif houtenVoorwerpen[samenTeVoegen].vorm == 'verbogen' then |
||
+ | aliases['Elke ' .. samenTeVoegen .. ' - nieuw'] = samengevoegd |
||
+ | aliases['Overeenkomende ' .. samenTeVoegen .. ' - nieuw'] = samengevoegd |
||
+ | else |
||
+ | error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'") |
||
+ | end |
||
+ | end |
||
+ | end |
||
+ | |||
+ | -- Bedrock en console-specifieke voorwerpen -- |
||
+ | local editievoorwerpen = { |
||
+ | ['(BE)'] = { |
||
+ | 'Acaciahouten poort', |
||
+ | 'Baken', 'Betoveringstafel', 'Berkenhouten poort', 'Blauw ijs', 'Boog', 'Bosontdekkingskaart', |
||
+ | 'Constructieleegte', 'Creeperhoofd', |
||
+ | 'Donkereikenhouten poort', 'Drakenei', 'Drakenhoofd', |
||
+ | 'Eikenhouten poort', 'Emmer kogelvis', 'Emmer tropische vis', 'Enderkist', 'Endpoort', 'Endportaal', 'Endportaalframe', 'Endstaf', |
||
+ | 'Glazen ruit', 'Gloeisteen', |
||
+ | 'Helrode houten poort', 'Honingblok', 'Hoofd', 'Hoornkoraalblok', 'Huilend obsidiaan', |
||
+ | "Jack-o'-lantern", |
||
+ | 'Kaart', 'Kattenspawnei', 'Kist', 'Kist met valstrik', 'Kracht van de zee', |
||
+ | 'Lava', |
||
+ | 'Magmablok', 'Mijnkar met opdrachtblok', 'Monsterkooi', |
||
+ | 'Observeerder', 'Oceaanontdekkingskaart', 'Oerwoudbladeren', 'Oerwoudhouten poort', |
||
+ | 'Pandaspawnei', 'Pioenroos', 'Puzzelblok', |
||
+ | 'Rondreizendehandelaarsspawnei', 'Rozenstruik', |
||
+ | 'Skelettenschedel', 'Sparrenhouten poort', 'Spookachtige houten poort', 'Steiger', 'Stromende lava', |
||
+ | 'Tralies', |
||
+ | 'Witherskelettenschedel', |
||
+ | 'Zeelantaarn', 'Zombiehoofd', 'Zwammenlicht', |
||
+ | }, |
||
+ | ['(LCE)'] = { |
||
+ | 'Pioenroos', |
||
+ | 'Rozenstruik', |
||
+ | 'Struik' |
||
+ | } |
||
} |
} |
||
− | for |
+ | for editie, voorwerpen in pairs( editievoorwerpen ) do |
+ | for _, voorwerp in ipairs( voorwerpen ) do |
||
− | local houtAliasesPrefix = {} |
||
+ | local naam = voorwerp .. ' ' .. editie |
||
− | |||
+ | aliases[naam] = { title = voorwerp, name = naam } |
||
− | for _, hout in ipairs( houtsoortKlein ) do |
||
− | table.insert( houtAliasesPrefix, voorwerp .. ' ' .. hout .. 'hout' ) |
||
end |
end |
||
+ | end |
||
− | local voorwerpKL = voorwerp:lower(); |
||
+ | |||
− | aliases['Elk ' .. voorwerpKL .. ' hout'] = houtAliasesPrefix |
||
+ | -- Lichtblokken (BE) |
||
− | aliases['Overeenkomend ' .. voorwerpKL .. ' hout'] = houtAliasesPrefix |
||
+ | for niveau = 0,15 do |
||
+ | aliases['Lichtblok ' .. niveau] = { title = 'Lichtblok', name = 'Lichtblok ' .. niveau } |
||
end |
end |
||
Huidige versie van 3 mrt 2021 om 23:41
[aanmaken | geschiedenis | cache legen]Documentatie
Deze pagina heeft nog geen documentatie. Als je weet hoe het werkt, maak het dan alsjeblieft.-- Ga door een tabel in de volgorde zoals gegeven (http://lua-users.org/wiki/MakingLuaLikePhp)
function functioning_table( ... )
local newTable,keys,values={},{},{}
newTable.pairs=function(self) -- pairs iterator
local count=0
return function()
count=count+1
return keys[count],values[keys[count]]
end
end
setmetatable(newTable,{
__newindex=function(self,key,value)
if not self[key] then table.insert(keys,key)
elseif value==nil then -- Handle item delete
local count=1
while keys[count]~=key do count = count + 1 end
table.remove(keys,count)
end
values[key]=value -- replace/create
end,
__index=function(self,key) return values[key] end
})
for x=1,table.getn(arg) do -- door #args vervangen als dit werkt
for k,v in pairs(arg[x]) do newTable[k]=v end
end
return newTable
end
-- Hoofdletters (houdt ook rekening met 'ij')
function hoofdletter( str )
local pstr = '' -- pstr = Parsed STRing
if str:match('^%l%l') == 'ij' then
pstr = str:gsub('^ij', 'IJ')
else
pstr = str:gsub('^%l', string.upper)
end
return pstr
end
local aliases = {
-- Veelvoorkomende branstof --
['Elke brandstof'] = { 'Steenkool', 'Houtskool', { title = 'Stam', name = 'Eikenstam' }, { title = 'Houten planken', name = 'Eikenhouten planken' }, 'Steenkoolblok', 'Gedroogd kelpblok' },
-- Harnas --
['Leren harnas'] = { 'Leren kap', 'Leren tuniek', 'Leren broek', 'Leren laarzen' },
['Gouden harnas'] = { 'Gouden helm', 'Gouden borstplaat', 'Gouden beenstukken', 'Gouden laarzen' },
['Maliënharnas'] = { 'Maliënkap', 'Maliënkolder', 'Maliënbroek', 'Maliënlaarzen' },
['IJzeren harnas'] = { 'IJzeren helm', 'IJzeren borstplaat', 'IJzeren beenstukken', 'IJzeren laarzen' },
['Diamanten harnas'] = { 'Diamanten helm', 'Diamanten borstplaat', 'Diamanten beenstukken', 'Diamanten laarzen' },
['Netherieten harnas'] = { 'Netherieten helm', 'Netherieten borstplaat', 'Netherieten beenstukken', 'Netherieten laarzen' },
-- Overige namen --
['Gebroken dekschild'] = { title = 'Dekschild', name = 'Gebroken dekschild' },
-- Klei (blok) -> Klei
-- Klei -> Kleibal
['Bloemwapenbanierpatroon'] = { title = 'Banierpatroon', name = 'Banierpatroon', text = '&7Bloem' },
['Creeperwapenbanierpatroon'] = { title = '&eBanierpatroon', name = 'Banierpatroon', text = '&7Creeper' },
['Ingesprongen zoom-banierpatroon'] = { title = 'Banierpatroon', name = 'Banierpatroon', text = '&Ingesprongen zoom' },
['Metselwerkbanierpatroon'] = { title = 'Banierpatroon', name = 'Banierpatroon', text = '&7Metselwerk' },
['Schedelwapenbanierpatroon'] = { title = '&eBanierpatroon', name = 'Banierpatroon', text = '&7Schedel' },
['Mojanglogobanierpatroon'] = { title = '&dBanierpatroon', name = 'Banierpatroon', text = '&7Mojanglogo' },
['Globebanierpatroon'] = { title = 'Banierpatroon', name = 'Banierpatroon', text = '&7Globe' },
['Snuitbanierpatroon'] = { title = 'Banierpatroon', name = 'Banierpatroon', text = '&7Snuit' },
['Knop'] = { title = 'Knop', name = 'Stenen knop' },
['Houten knop'] = { title = 'Houten knop', name = 'Eikenhouten knop' },
['Kruisboog geladen met pijl'] = { title = 'Kruisboog', name = 'Kruisboog geladen met pijl' },
['Beschadigde kruisboog geladen met pijl'] = { title = 'Kruisboog', name = 'Beschadigde kruisboog geladen met pijl' },
['Kruisboog geladen met vuurpijl'] = { title = 'Kruisboog', name = 'Kruisboog geladen met vuurpijl' },
['Beschadigde kruisboog geladen met vuurpijl'] = { title = 'Kruisboog', name = 'Beschadigde kruisboog geladen met vuurpijl' },
['Illagerbanier'] = { title = '&6&oIllagerbanier', name = 'Illagerbanier', text =
'&7Turquoise lozanje/&7Lichtgrijs schildvoet/&7Grijze paal/&7Lichtgrijze zoom/&7Zwarte dwarsbalk/&7Lichtgrijsgebalkt'
},
['Puzzelblok'] = { title = '&dPuzzelblok', name = 'Puzzelblok' },
['Halfvolle bundel'] = { title = 'Bundel', name = 'Halfvolle bundel' },
['Volle bundel'] = { title = 'Bundel', name = 'Volle bundel' },
-- Wapens --
['Drietand'] = { name = 'Drietand', text = '/&7 Wanneer hoofdhand:/ &21,1 aanvalssnelheid/ &29 aanvalsschade' },
['Drietand (BE)'] = { name = 'Drietand', text = '/&9 +8 aanvalsschade' },
-- Bedrock- en Educationedities --
['Gebakken rundvlees'] = { title = 'Gebakken rundvlees', name = 'Biefstuk' },
['Kaart (BE)'] = { title = 'Kaart', name = 'Kaart', text = 'Toon markeerders: &cNee' },
['Kompas wijzend naar zeilsteen (BE)'] = { title = 'Kompas wijzend naar zeilsteen', name = 'Kompas wijzend naar zeilsteen (BE).gif' },
['Locatiekaart (BE)'] = { title = 'Kaart', name = 'Kaart', text = 'Toon markeerders: &aJa' },
['Sculksensor (BE)'] = { title = 'Sculksensor', name = 'Sculksensor (BE).gif' },
-- Chemie --
['Water (stof)'] = { title = 'Water', name = 'Water (stof)' },
['Chloride'] = { 'Calciumchloride', 'Ceriumchloride', 'Kaliumchloride', 'Kwikchloride', 'Wolfraamchloride' },
['Sterretjes'] = { 'Oranje sterretje', 'Blauw sterretje', 'Rood sterretje', 'Paars sterretje', 'Groen sterretje' },
['Overeenkomende chloride'] = { 'Calciumchloride', 'Ceriumchloride', 'Kaliumchloride', 'Kwikchloride', 'Wolfraamchloride' },
['Overeenkomende gekleurde fakkel'] = { 'Blauwe fakkel', 'Rode fakkel', 'Paarse fakkel', 'Groene fakkel' },
['Overeenkomende gloeistaaf'] = { 'Witte gloeistaaf', 'Oranje gloeistaaf', 'Magenta gloeistaaf', 'Lichtblauwe gloeistaaf',
'Gele gloeistaaf', 'Lichtgroene gloeistaaf', 'Roze gloeistaaf', 'Grijze gloeistaaf', 'Lichtgrijze gloeistaaf', 'Turquoise gloeistaaf',
'Paarse gloeistaaf', 'Blauwe gloeistaaf', 'Bruine gloeistaaf', 'Groene gloeistaaf', 'Rode gloeistaaf'
},
}
-- Tekstwolkkleuren & animatie --
-- Geen speciale tekstkleur (dus wit)
local geanimeerdeSprites = {
'Blauwe sleutel', 'Bellenkolom',
'Debugstok',
'Gele sleutel', 'Geschreven boek',
'Helrode schimmeldraden', 'Helrode stam',
'Klok', 'Kompas', 'Kompas wijzend naar zeilsteen',
'Lava',
'Magmablok',
'Netherportaal',
'Prismarien', 'Prismarienmuur', 'Prismarienplaat', 'Prismarientrap',
'Rode sleutel',
'Sculksensor', 'Spookachtige schimmeldraden', 'Spookachtige stam', 'Steenzaag',
'Vuur',
'Warmteblok', 'Water',
'Zeelantaarn', 'Zielenvuur',
}
for _, sprite in ipairs ( geanimeerdeSprites ) do
aliases[sprite] = sprite .. '.gif'
end
-- Gele tekst in tekstwolk en/of geanimeerd
local geleTekstwolken = {
{ naam = 'Beschadigd dekschild', geanimeerd = false },
{ naam = 'Betoverd boek', geanimeerd = true },
{ naam = 'Creeperhoofd', geanimeerd = false },
{ naam = 'Drakenhoofd', geanimeerd = false },
{ naam = 'Drakenadem', geanimeerd = false },
{ naam = 'Dekschild', geanimeerd = false },
{ naam = 'Hoofd', geanimeerd = false },
{ naam = 'Hart van de zee', geanimeerd = false },
{ naam = 'Magiërsextract', geanimeerd = true },
{ naam = 'Netherster', geanimeerd = true },
{ naam = 'Skelettenschedel', geanimeerd = false },
{ naam = 'Totem der onsterfelijkheid', geanimeerd = false },
{ naam = 'Witherskelettenschedel', geanimeerd = false },
{ naam = 'Zombiehoofd', geanimeerd = false }
}
for _, eigenschap in ipairs( geleTekstwolken ) do
local naam = eigenschap.naam
if eigenschap.geanimeerd == true then
aliases[naam] = { title = '&e', name = naam .. '.gif' }
else
aliases[naam] = { title = '&e', name = naam }
end
end
-- Aqua tekst in tekstwolk en/of geanimeerd
local aquaTekstwolken = {
{ naam = 'Baken', geanimeerd = false },
{ naam = 'Endkristal', geanimeerd = true },
{ naam = 'Gouden appel', geanimeerd = false },
{ naam = 'Kracht van de zee', geanimeerd = false }
}
for _, eigenschap in ipairs( aquaTekstwolken ) do
local naam = eigenschap.naam
if eigenschap.geanimeerd == true then
aliases[naam] = { title = '&b', name = naam .. '.gif' }
else
aliases[naam] = { title = '&b', name = naam }
end
end
-- Lichtpaarse tekst in tekstwolk en/of geanimeerd
local lichtpaarseTekstwolken = {
{ naam = 'Betoverde gouden appel', geanimeerd = true },
{ naam = 'Constructieblok', geanimeerd = false },
{ naam = 'Drakenei', geanimeerd = false },
{ naam = 'Gekoppeld opdrachtblok', geanimeerd = true },
{ naam = 'Herhalend opdrachtblok', geanimeerd = true },
{ naam = 'Opdrachtblok', geanimeerd = true },
{ naam = 'Kracht van de zee', geanimeerd = false }
}
for _, eigenschap in ipairs( lichtpaarseTekstwolken ) do
local naam = eigenschap.naam
if eigenschap.geanimeerd == true then
aliases[naam] = { title = '&b', name = naam .. '.gif' }
else
aliases[naam] = { title = '&b', name = naam }
end
end
local oranjeEnSchuingedrukteTekstwolken = {
{ naam = 'Onheilspellende banier', geanimeerd = false },
}
for _, eigenschap in ipairs( oranjeEnSchuingedrukteTekstwolken ) do
local naam = eigenschap.naam
if eigenschap.geanimeerd == true then
aliases[naam] = { title = '&6&o', name = naam .. '.gif' }
else
aliases[naam] = { title = '&6&o', name = naam }
end
end
-- Gereedschap en wapens --
local gereedschapsvormen = {
["zwaard"] = { vorm = 'onverbogen' },
["houweel"] = { vorm = 'verbogen' },
["bijl"] = { vorm = 'verbogen' },
["schep"] = { vorm = 'verbogen' },
["schoffel"] = { vorm = 'verbogen' },
}
-- Merk op dat deze gereedschapstabel geen normale tabel is. Hierom zijn de
-- verschillende materiaalsoorten opgesplitst in een eigen tabel. Zie ook de
-- functie die bovenaan staat.
local gereedschap = functioning_table({
['hout'] = {
{ gereedschap = 'zwaard', aanvalssnelheid = '1,6', aanvalsschade = 4, bedrock_aanvalsschade = 4 },
{ gereedschap = 'houweel', aanvalssnelheid = '1,2', aanvalsschade = 2, bedrock_aanvalsschade = 2 },
{ gereedschap = 'bijl', aanvalssnelheid = '0,8', aanvalsschade = 7, bedrock_aanvalsschade = 3 },
{ gereedschap = 'schep', aanvalssnelheid = 1, aanvalsschade = '2,5', bedrock_aanvalsschade = 1 },
{ gereedschap = 'schoffel', aanvalssnelheid = 1, aanvalsschade = 1, bedrock_aanvalsschade = 2 },
}},{
['steen'] = {
{ gereedschap = 'zwaard', aanvalssnelheid = '1,6', aanvalsschade = 5, bedrock_aanvalsschade = 5 },
{ gereedschap = 'houweel', aanvalssnelheid = '1,2', aanvalsschade = 3, bedrock_aanvalsschade = 3 },
{ gereedschap = 'bijl', aanvalssnelheid = '0,8', aanvalsschade = 9, bedrock_aanvalsschade = 4 },
{ gereedschap = 'schep', aanvalssnelheid = 1, aanvalsschade = '3,5', bedrock_aanvalsschade = 2 },
{ gereedschap = 'schoffel', aanvalssnelheid = 2, aanvalsschade = 1, bedrock_aanvalsschade = 3 },
}},{
['ijzer'] = {
{ gereedschap = 'zwaard', aanvalssnelheid = '1,6', aanvalsschade = 6, bedrock_aanvalsschade = 6 },
{ gereedschap = 'houweel', aanvalssnelheid = '1,2', aanvalsschade = 4, bedrock_aanvalsschade = 4 },
{ gereedschap = 'bijl', aanvalssnelheid = '0,9', aanvalsschade = 9, bedrock_aanvalsschade = 5 },
{ gereedschap = 'schep', aanvalssnelheid = 1, aanvalsschade = '4,5', bedrock_aanvalsschade = 3 },
{ gereedschap = 'schoffel', aanvalssnelheid = 3, aanvalsschade = 1, bedrock_aanvalsschade = 4 },
}},{
['goud'] = {
{ gereedschap = 'zwaard', aanvalssnelheid = '1,6', aanvalsschade = 4, bedrock_aanvalsschade = 4 },
{ gereedschap = 'houweel', aanvalssnelheid = '1,2', aanvalsschade = 2, bedrock_aanvalsschade = 2 },
{ gereedschap = 'bijl', aanvalssnelheid = 1, aanvalsschade = 7, bedrock_aanvalsschade = 3 },
{ gereedschap = 'schep', aanvalssnelheid = 1, aanvalsschade = '2,5', bedrock_aanvalsschade = 1 },
{ gereedschap = 'schoffel', aanvalssnelheid = 1, aanvalsschade = 1, bedrock_aanvalsschade = 2 },
}},{
['diamant'] = {
{ gereedschap = 'zwaard', aanvalssnelheid = '1,6', aanvalsschade = 7, bedrock_aanvalsschade = 7 },
{ gereedschap = 'houweel', aanvalssnelheid = '1,2', aanvalsschade = 5, bedrock_aanvalsschade = 5 },
{ gereedschap = 'bijl', aanvalssnelheid = 1, aanvalsschade = 9, bedrock_aanvalsschade = 6 },
{ gereedschap = 'schep', aanvalssnelheid = 1, aanvalsschade = '5,5', bedrock_aanvalsschade = 4 },
{ gereedschap = 'schoffel', aanvalssnelheid = 4, aanvalsschade = 1, bedrock_aanvalsschade = 5 },
}},{
['Netheriet'] = {
{ gereedschap = 'zwaard', aanvalssnelheid = '1,6', aanvalsschade = 8, bedrock_aanvalsschade = 8 },
{ gereedschap = 'houweel', aanvalssnelheid = '1,2', aanvalsschade = 6, bedrock_aanvalsschade = 6 },
{ gereedschap = 'bijl', aanvalssnelheid = 1, aanvalsschade = 10, bedrock_aanvalsschade = 7 },
{ gereedschap = 'schep', aanvalssnelheid = '1,6', aanvalsschade = '6,5', bedrock_aanvalsschade = 5 },
{ gereedschap = 'schoffel', aanvalssnelheid = 4, aanvalsschade = 1, bedrock_aanvalsschade = 4 },
}})
local materiaalgroepen = functioning_table()
local gereedschapsgroepen = functioning_table()
for materiaalsoort, gereedschapsoort in gereedschap:pairs() do
local materiaalsoortVerbogen
if materiaalsoort == 'steen' then
materiaalsoortVerbogen = 'stenen'
else
materiaalsoortVerbogen = materiaalsoort .. 'en'
end
for _, eigenschappen in ipairs( gereedschapsoort ) do
-- Voeg eerst alle aliasen toe aan de tabel
materiaalsoortVerbogen = hoofdletter( materiaalsoortVerbogen )
local gereedschapsnaam = materiaalsoortVerbogen .. ' ' .. eigenschappen.gereedschap
aliases[gereedschapsnaam] = { name = gereedschapsnaam, text = '/&7Wanneer in hoofdhand:/ &2' .. eigenschappen.aanvalssnelheid .. ' aanvalssnelheid/ &2' .. eigenschappen.aanvalsschade .. ' aanvalsschade' }
aliases[gereedschapsnaam .. ' (BE)'] = { name = gereedschapsnaam, text = '/&9+' .. eigenschappen.bedrock_aanvalsschade .. ' aanvalsschade' }
local materiaalgroep = materiaalsoortVerbogen
local gereedschapsgroep = eigenschappen.gereedschap
-- Per materiaalgroep (m.u.v. zwaard)
if gereedschapsnaam:find('%(BE%)$') == nil then
if eigenschappen.gereedschap ~= 'zwaard' then
if materiaalgroepen[materiaalgroep] == nil then
materiaalgroepen[materiaalgroep] = {}
end
table.insert( materiaalgroepen[materiaalgroep], aliases[gereedschapsnaam] )
end
-- Per gereedschapsgroep
if gereedschapsgroepen[gereedschapsgroep] == nil then
gereedschapsgroepen[gereedschapsgroep] = {}
end
table.insert( gereedschapsgroepen[gereedschapsgroep], aliases[gereedschapsnaam] )
end
end
end
-- Zet materiaal en gereedschap gegroepeerd in aliasestabel
for materiaalgroep, voorwerpen in materiaalgroepen:pairs() do
local mg
if materiaalgroep == 'Netherieten' then
mg = materiaalgroep
else
mg = materiaalgroep:lower()
end
aliases['Elk ' .. mg .. ' gereedschap'] = voorwerpen
aliases['Overeenkomend ' .. mg .. ' gereedschap'] = voorwerpen
end
for gereedschapsgroep, voorwerpen in gereedschapsgroepen:pairs() do
local vorm = gereedschapsvormen[gereedschapsgroep].vorm
if vorm == 'onverbogen' then
aliases['Elk ' .. gereedschapsgroep] = voorwerpen
aliases['Overeenkomend ' .. gereedschapsgroep] = voorwerpen
elseif vorm == 'verbogen' then
aliases['Elke ' .. gereedschapsgroep] = voorwerpen
aliases['Overeenkomende ' .. gereedschapsgroep] = voorwerpen
end
end
--[[
Lijst met voorwerpvarianten. De parameter 'vorm' bepaalt of er 'elke' en
'overeenkomende' (verbogen) óf 'elk' en 'overeenkomend' (onverbogen) voor
komt te staan in de aliasestabel.
Merk op dat hoofdletters niet nodig zijn tussen de blokhaken.
]]
local voorwerpvarianten = {
['bloem'] = { vorm = 'verbogen', lijst = { 'Margriet', 'Korenbloem', 'Lelietje-van-dalen',
'Witherroos', 'Rode tulp', 'Oranje tulp', 'Witte tulp', 'Roze tulp', 'Porseleinsterretje',
'Look', 'Blauwe orchidee', 'Klaproos', 'Paardenbloem' } },
['paddenstoel'] = { vorm = 'verbogen', lijst = { 'Rode paddenstoel', 'Bruine paddenstoel' } },
['kwartsblok'] = { vorm = 'onverbogen', lijst = { 'Kwartsblok', 'Gebeiteld kwartsblok',
'Kwartspilaar' } },
['rood zandsteen'] = { vorm = 'onverbogen', lijst = { 'Rood zandsteen',
'Gesneden rood zandsteen', 'Gebeiteld rood zandsteen', 'Glad rood zandsteen' } },
['zandsteen'] = { vorm = 'onverbogen', lijst = { 'Zandsteen', 'Gesneden zandsteen',
'Gebeiteld zandsteen', 'Glad zandsteen' } },
['blokstenen'] = { vorm = 'verbogen', lijst = {'Blokstenen', 'Mossige blokstenen',
'Gebarsten blokstenen', 'Gebeitelde blokstenen'} },
['stenen plaat'] = { vorm = 'verbogen', lijst = { 'Stenen plaat', 'Gladde stenen plaat',
'Keistenen plaat', 'Mossige keistenen plaat', 'Blokstenen plaat',
'Mossige blokstenen plaat', 'Andesietplaat', 'Gepolijste andesietplaat', 'Diorietplaat',
'Gepolijste diorietplaat', 'Granietplaat', 'Gepolijste granietplaat', 'Zandstenen plaat',
'Gesneden zandstenen plaat', 'Gladde zandstenen plaat', 'Rode zandstenen plaat',
'Gesneden rode zandstenen plaat', 'Gladde rode zandstenen plaat', 'Bakstenen plaat',
{ title = 'Prismarienplaat', name = 'Prismarienplaat.gif' }, 'Prismarienblokstenen plaat',
'Donkerprismarienplaat', 'Netherbakstenen plaat', 'Rode Netherbakstenen plaat',
'Kwartsplaat', 'Gladde kwartsplaat', 'Purpurplaat', 'Endblokstenen plaat',
'Versteende eikenhouten plaat', 'Zwartstenen plaat', 'Gepolijste zwartstenen plaat',
'Gepolijste zwartstenen blokstenen plaat' } },
['stenen trap'] = { vorm = 'verbogen', lijst = { 'Stenen trap', 'Keistenen trap',
'Mossige keistenen trap', 'Blokstenen trap', 'Mossige blokstenen trap', 'Andesiettrap',
'Gepolijste andesiettrap', 'Dioriettrap', 'Gepolijste dioriettrap', 'Graniettrap',
'Gepolijste graniettrap', 'Zandstenen trap', 'Gladde zandstenen trap',
'Rode zandstenen trap', 'Gladde rode zandstenen trap', 'Bakstenen trap',
{ title = 'Prismarientrap', name = 'Prismarientrap.gif' }, 'Prismarienblokstenen trap',
'Donkerprismarientrap', 'Netherbakstenen trap', 'Rode Netherbakstenen trap', 'Kwartstrap',
'Gladde kwartstrap', 'Purpurtrap', 'Endblokstenen trap', 'Zwartstenen trap',
'Gepolijste zwartstenen trap', 'Gepolijste zwartstenen blokstenen trap' } },
['purpurblok'] = { vorm = 'onverbogen', lijst = { 'Purpurblok', 'Purpurpilaar' } },
['steen'] = { vorm = 'verbogen', lijst = { 'Steen', 'Andesiet', 'Graniet', 'Dioriet',
'Gepolijst andesiet', 'Gepolijst graniet', 'Gepolijst dioriet' } },
['steenachtig blok'] = { vorm = 'onverbogen', lijst = { 'Keisteen', 'Zwartsteen',
'Geplaveid wrevelsteen' } },
['tulp'] = { vorm = 'verbogen', lijst = { 'Rode tulp', 'Oranje tulp', 'Witte tulp',
'Roze tulp' } },
['prismarien'] = { vorm = 'onverbogen', lijst = { { title = 'Prismarien', name = 'Prismarien.gif' },
'Prismarienblokstenen', 'Donkerprismarien' } },
['erts'] = { vorm = 'verbogen', lijst = { 'Steenkoolerts', 'IJzererts', 'Gouderts',
'Lapislazuli-erts', 'Redstone-erts', 'Smaragderts', 'Diamanterts', 'Netherkwartserts',
'Nethergouderts' } },
['dood koraalblok'] = { vorm = 'onverbogen', lijst = { 'Dood buiskoraalblok',
'Dood hersenkoraalblok', 'Dood blaaskoraalblok', 'Dood brandkoraalblok',
'Dood hoornkoraalblok' } },
['dode koraalwaaier'] = { vorm = 'verbogen', lijst = { 'Dode buiskoraalwaaier',
'Dode hersenkoraalwaaier', 'Dode blaaskoraalwaaier', 'Dode brandkoraalwaaier',
'Dode hoornkoraalwaaier' } },
['muur'] = { vorm = 'verbogen', lijst = { 'Keistenen muur', 'Mossige keistenen muur',
'Blokstenen muur', 'Mossige blokstenen muur', 'Andesietmuur', 'Diorietmuur', 'Granietmuur',
'Zandstenen muur', 'Rode zandstenen muur', 'Bakstenen muur',
{ title = 'Prismarienmuur', name = 'Prismarienmuur.gif' }, 'Netherbakstenen muur',
'Rode Netherbakstenen muur', 'Endblokstenen muur', 'Zwartstenen muur',
'Gepolijste zwartstenen muur' } },
['fakkel'] = { vorm = 'verbogen', lijst = { 'Fakkel', 'Zielenfakkel' } },
['lantaarn'] = { vorm = 'verbogen', lijst = { 'Lantaarn', 'Zielenlantaarn' } },
['zwam'] = { vorm = 'verbogen', lijst = { 'Helrode zwam', 'Spookachtige zwam' } },
['wortels'] = { vorm = 'verbogen', lijst = { 'Helrode wortels', 'Spookachtige wortels' } },
['nylium'] = { vorm = 'onverbogen', lijst = { 'Helrood nylium', 'Spookachtig nylium' } },
['zielenzand'] = { vorm = 'onverbogen', lijst = { 'Zielenzand', 'Zielenaarde' } },
['kampvuur'] = { vorm = 'onverbogen', lijst = { 'Kampvuur', 'Zielenkampvuur' } },
['zwartsteen'] = { vorm = 'onverbogen', lijst = { 'Zwartsteen', 'Gepolijst zwartsteen',
'Gebeiteld gepolijst zwartsteen', 'Gepolijste zwartstenen blokstenen',
'Gebarsten gepolijste zwartstenen blokstenen' } },
['stenen knop'] = { vorm = 'verbogen', lijst = { 'Stenen knop', 'Gepolijste zwartstenen knop' } },
['stenen drukplaat'] = { vorm = 'verbogen', lijst = { 'Stenen drukplaat',
'Gepolijste zwartstenen drukplaat' } },
['Netherhouten drukplaat'] = { vorm = 'verbogen', lijst = { 'Helrode houten drukplaat',
'Spookachtige houten drukplaat' } },
['Netherhouten hek'] = { vorm = 'verbogen', lijst = { 'Helrood houten hek',
'Spookachtig houten hek' } },
['Netherhouten valluik'] = { vorm = 'verbogen', lijst = { 'Helrood houten valluik',
'Spookachtig houten valluik' } },
['Netherhouten poort'] = { vorm = 'verbogen', lijst = { 'Helrode houten poort',
'Spookachtige houten poort' } },
['Netherhouten trap'] = { vorm = 'verbogen', lijst = { 'Helrode houten trap',
'Spookachtige houten trap' } },
['Netherhouten deur'] = { vorm = 'verbogen', lijst = { 'Helrode houten deur',
'Spookachtige houten deur' } },
['Netherhouten bord'] = { vorm = 'verbogen', lijst = { 'Helrood houten bord',
'Spookachtig houten bord' } },
}
for aliasnaam, aliasinhoud in pairs( voorwerpvarianten ) do
if aliasinhoud.vorm == 'onverbogen' then
aliases['Elk ' .. aliasnaam] = aliasinhoud.lijst
aliases['Overeenkomend ' .. aliasnaam] = aliasinhoud.lijst
elseif aliasinhoud.vorm == 'verbogen' then
aliases['Elke ' .. aliasnaam] = aliasinhoud.lijst
aliases['Overeenkomende ' .. aliasnaam] = aliasinhoud.lijst
else
error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'")
end
end
-- Koper --
local kopervarianten = {
['Overeenkomend# (geoxideerd#) koperblok'] = { 'Koperblok', 'Blootgesteld# koperblok',
'Verweerd# koperblok', 'Geoxideerd# koperblok' },
['Overeenkomend# (geoxideerd#) gesneden koperblok'] = { 'Gesneden koperblok',
'Blootgesteld# gesneden koperblok', 'Verweerd# gesneden koperblok',
'Geoxideerd# gesneden koperblok' },
['Overeenkomend# ingewassen (geoxideerd#) koperblok'] = { 'Ingewassen koperblok',
'Ingewassen blootgesteld# koperblok', 'Ingewassen verweerd# koperblok' },
['Overeenkomend# ingewassen (geoxideerd#) gesneden koperblok'] = { 'Ingewassen gesneden koperblok',
'Ingewassen blootgesteld# gesneden koperblok', 'Ingewassen verweerd# gesneden koperblok' },
}
for key, values in pairs( kopervarianten ) do -- waarde in kopervariantentabel
for _, value in ipairs(values) do -- waarde in tabel van waarde kopervariantentabel
local geparseerdeSleutel = ''
local geparseerdeWaarde = ''
-- Koperblok
geparseerdeSleutel = key:gsub('#', '')
geparseerdeWaarde = value:gsub('#', '')
-- maak tabel als-ie niet bestaat
if aliases[geparseerdeSleutel] == nil then aliases[geparseerdeSleutel] = {} end
aliases[geparseerdeSleutel] = geparseerdeWaarde
-- Koperen plaat
geparseerdeSleutel = key:gsub('#', 'e'):gsub('blok$', 'en plaat')
geparseerdeWaarde = value:gsub('#', 'e'):gsub('blok$', 'en plaat')
if aliases[geparseerdeSleutel] == nil then aliases[geparseerdeSleutel] = {} end
aliases[geparseerdeSleutel] = geparseerdeWaarde
-- Koperen trap
geparseerdeSleutel = key:gsub('#', 'e'):gsub('blok$', 'en trap')
geparseerdeWaarde = value:gsub('#', 'e'):gsub('blok$', 'en trap')
if aliases[geparseerdeSleutel] == nil then aliases[geparseerdeSleutel] = {} end
aliases[geparseerdeSleutel] = geparseerdeWaarde
end
end
-- Muziekplaten --
local platen = {
{ nummer = '13', artiest = 'C418' },
{ nummer = 'cat', artiest = 'C418' },
{ nummer = 'blocks', artiest = 'C418' },
{ nummer = 'chirp', artiest = 'C418' },
{ nummer = 'far', artiest = 'C418' },
{ nummer = 'mall', artiest = 'C418' },
{ nummer = 'mellohi', artiest = 'C418' },
{ nummer = 'stal', artiest = 'C418' },
{ nummer = 'strad', artiest = 'C418' },
{ nummer = 'ward', artiest = 'C418' },
{ nummer = '11', artiest = 'C418' },
{ nummer = 'wait', artiest = 'C418' },
{ nummer = 'pigstep', artiest = 'Lena Raine' },
}
for _, plaat in ipairs( platen ) do
local naam = 'Muziekplaat ' .. plaat.nummer
aliases[naam] = { title = '&bMuziekplaat', name = naam, text = '&7' .. plaat.artiest .. ' - ' .. plaat.nummer }
end
--[[
Beschadigde voorwerpen.
De parameter 'vorm' kan de volgende waarden bevatten:
- onverbogen (zonder -e)
- verbogen (met -e)
]]
local beschadigdeVoorwerpen = {
{ naam = 'boog', vorm = 'verbogen' },
{ naam = 'dekschild', vorm = 'onverbogen' },
{ naam = 'diamanten beenstukken', vorm = 'verbogen' },
{ naam = 'diamanten bijl', vorm = 'verbogen' },
{ naam = 'diamanten borstplaat', vorm = 'verbogen' },
{ naam = 'diamanten helm', vorm = 'verbogen' },
{ naam = 'diamanten houweel', vorm = 'verbogen' },
{ naam = 'diamanten laarzen', vorm = 'verbogen' },
{ naam = 'diamanten schep', vorm = 'verbogen' },
{ naam = 'diamanten schoffel', vorm = 'verbogen' },
{ naam = 'diamanten zwaard', vorm = 'onverbogen' },
{ naam = 'gouden beenstukken', vorm = 'verbogen' },
{ naam = 'gouden bijl', vorm = 'verbogen' },
{ naam = 'gouden borstplaat', vorm = 'verbogen' },
{ naam = 'gouden helm', vorm = 'verbogen' },
{ naam = 'gouden houweel', vorm = 'verbogen' },
{ naam = 'gouden laarzen', vorm = 'verbogen' },
{ naam = 'gouden schep', vorm = 'verbogen' },
{ naam = 'gouden schoffel', vorm = 'verbogen' },
{ naam = 'gouden zwaard', vorm = 'onverbogen' },
{ naam = 'houten bijl', vorm = 'verbogen' },
{ naam = 'houten houweel', vorm = 'verbogen' },
{ naam = 'houten schep', vorm = 'verbogen' },
{ naam = 'houten schoffel', vorm = 'verbogen' },
{ naam = 'houten zwaard', vorm = 'onverbogen' },
{ naam = 'ijzeren beenstukken', vorm = 'verbogen' },
{ naam = 'ijzeren bijl', vorm = 'verbogen' },
{ naam = 'ijzeren borstplaat', vorm = 'verbogen' },
{ naam = 'ijzeren helm', vorm = 'verbogen' },
{ naam = 'ijzeren houweel', vorm = 'verbogen' },
{ naam = 'ijzeren laarzen', vorm = 'verbogen' },
{ naam = 'ijzeren schep', vorm = 'verbogen' },
{ naam = 'ijzeren schoffel', vorm = 'verbogen' },
{ naam = 'ijzeren zwaard', vorm = 'onverbogen' },
{ naam = 'leren broek', vorm = 'verbogen' },
{ naam = 'leren kap', vorm = 'verbogen' },
{ naam = 'leren tuniek', vorm = 'verbogen' },
{ naam = 'leren laarzen', vorm = 'verbogen' },
{ naam = 'maliënbroek', vorm = 'verbogen' },
{ naam = 'maliënkap', vorm = 'verbogen' },
{ naam = 'maliënkolder', vorm = 'verbogen' },
{ naam = 'maliënlaarzen', vorm = 'verbogen' },
{ naam = 'Netherieten beenstukken', vorm = 'verbogen' },
{ naam = 'Netherieten bijl', vorm = 'verbogen' },
{ naam = 'Netherieten borstplaat', vorm = 'verbogen' },
{ naam = 'Netherieten helm', vorm = 'verbogen' },
{ naam = 'Netherieten houweel', vorm = 'verbogen' },
{ naam = 'Netherieten laarzen', vorm = 'verbogen' },
{ naam = 'Netherieten schep', vorm = 'verbogen' },
{ naam = 'Netherieten schoffel', vorm = 'verbogen' },
{ naam = 'Netherieten zwaard', vorm = 'onverbogen' },
{ naam = 'kruisboog', vorm = 'verbogen' },
{ naam = 'schaar', vorm = 'verbogen' },
{ naam = 'schild', vorm = 'onverbogen' },
{ naam = 'spookachtige zwam aan een stok', vorm = 'verbogen' },
{ naam = 'stenen bijl', vorm = 'verbogen' },
{ naam = 'stenen houweel', vorm = 'verbogen' },
{ naam = 'stenen schep', vorm = 'verbogen' },
{ naam = 'stenen schoffel', vorm = 'verbogen' },
{ naam = 'stenen zwaard', vorm = 'onverbogen' },
{ naam = 'vishengel', vorm = 'verbogen' },
{ naam = 'vuursteen en staal', vorm = 'onverbogen' },
{ naam = 'wortel aan een stok', vorm = 'verbogen' },
}
for _, voorwerp in ipairs( beschadigdeVoorwerpen ) do
local naam = hoofdletter( voorwerp.naam )
if voorwerp.vorm == 'onverbogen' then
aliases['Beschadigd ' .. voorwerp.naam] = { title = naam, name = 'Beschadigd ' .. voorwerp.naam }
elseif voorwerp.vorm == 'verbogen' then
aliases['Beschadigde ' .. voorwerp.naam] = { title = naam, name = 'Beschadigde ' .. voorwerp.naam }
else
error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'")
end
end
-- Kleuren --
local kleuren = {
{ onverbogen = 'Wit', verbogen = 'Witte' },
{ onverbogen = 'Oranje', verbogen = 'Oranje' },
{ onverbogen = 'Magenta', verbogen = 'Magenta' },
{ onverbogen = 'Lichtblauw', verbogen = 'Lichtblauwe' },
{ onverbogen = 'Geel', verbogen = 'Gele' },
{ onverbogen = 'Lichtgroen', verbogen = 'Lichtgroene' },
{ onverbogen = 'Roze', verbogen = 'Roze' },
{ onverbogen = 'Grijs', verbogen = 'Grijze' },
{ onverbogen = 'Lichtgrijs', verbogen = 'Lichtgrijze' },
{ onverbogen = 'Turquoise', verbogen = 'Turquoise' },
{ onverbogen = 'Paars', verbogen = 'Paarse' },
{ onverbogen = 'Blauw', verbogen = 'Blauwe' },
{ onverbogen = 'Bruin', verbogen = 'Bruine' },
{ onverbogen = 'Groen', verbogen = 'Groene' },
{ onverbogen = 'Rood', verbogen = 'Rode' },
{ onverbogen = 'Zwart', verbogen = 'Zwarte' }
}
--[[
Banieren.
Parameters:
- vorm:
- onverbogen: geen -e
- verbogen: met -e
- voorzetsel: of 'met' tussen banier en patroon geplaatst moet worden
- spatie: of tussen kleur en patroon een spatie hoort te staan
]]
local banierpatronen = {
['andreaskruis'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['bloem'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['Creeper'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['dwarsbalk'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['gebalkt'] = { vorm = 'onverbogen', voorzetsel = false, spatie = false },
['gegolfd schildhoofd'] = { vorm = 'onverbogen', voorzetsel = true, spatie = false },
['gegolfd schildvoet'] = { vorm = 'onverbogen', voorzetsel = true, spatie = false },
['gepaald'] = { vorm = 'onverbogen', voorzetsel = false, spatie = false },
['globe'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['gradiënt'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['ingesprongen zoom'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['keper'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['koek'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['kruis'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['kwartier linksboven'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['kwartier linksonder'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['kwartier rechtsboven'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['kwartier rechtsonder'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['linkerpaal'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['linkerschuinbalk'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['lozanje'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['metselwerk'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['Mojanglogo'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['omgekeerd gebalkt'] = { vorm = 'onverbogen', voorzetsel = false, spatie = true },
['omgekeerd gepaald'] = { vorm = 'onverbogen', voorzetsel = false, spatie = true },
['omgekeerd schuinlinks verdeeld'] = { vorm = 'onverbogen', voorzetsel = false, spatie = true },
['omgekeerd schuinrechts verdeeld'] = { vorm = 'onverbogen', voorzetsel = false, spatie = true },
['paal'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['palen'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['rechterpaal'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['rechterschuinbalk'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['schedel'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['schildhoofd'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['schildvoet'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['schildvoetgradiënt'] = { vorm = 'onverbogen', voorzetsel = true, spatie = true },
['schuinlinks verdeeld'] = { vorm = 'onverbogen', voorzetsel = false, spatie = true },
['schuinrechts verdeeld'] = { vorm = 'onverbogen', voorzetsel = false, spatie = true },
['snuit'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
['zoom'] = { vorm = 'verbogen', voorzetsel = true, spatie = true },
}
for patroon, eigenschappen in pairs( banierpatronen ) do
for _, kleur in ipairs( kleuren ) do
local patroonnaam = ''
if eigenschappen.vorm == 'onverbogen' then
if eigenschappen.voorzetsel == true and eigenschappen.spatie == true then
patroonnaam = 'Banier met ' .. kleur.onverbogen:lower() .. ' ' .. patroon
aliases[patroonnaam] = { title = 'Banier', name = patroonnaam, text = '&7' .. kleur.onverbogen .. ' ' .. patroon }
elseif eigenschappen.voorzetsel == true and eigenschappen.spatie == false then
patroonnaam = 'Banier met ' .. kleur.onverbogen:lower() .. patroon
aliases[patroonnaam] = { title = 'Banier', name = patroonnaam, text = '&7' .. kleur.onverbogen .. patroon }
elseif eigenschappen.voorzetsel == false and eigenschappen.spatie == true then
patroonnaam = 'Banier ' .. kleur.onverbogen:lower() .. ' ' .. patroon
aliases[patroonnaam] = { title = 'Banier', name = patroonnaam, text = '&7' .. kleur.onverbogen .. ' ' .. patroon }
elseif eigenschappen.voorzetsel == false and eigenschappen.spatie == false then
patroonnaam = 'Banier ' .. kleur.onverbogen:lower() .. patroon
aliases[patroonnaam] = { title = 'Banier', name = patroonnaam, text = '&7' .. kleur.onverbogen .. patroon }
else
error("Controleer waarden voor '" .. patroon .. "'.")
end
elseif eigenschappen.vorm == 'verbogen' then
if eigenschappen.voorzetsel == true and eigenschappen.spatie == true then
patroonnaam = 'Banier met ' .. kleur.verbogen:lower() .. ' ' .. patroon
aliases[patroonnaam] = { title = 'Banier', name = patroonnaam, text = '&7' .. kleur.verbogen .. ' ' .. patroon }
else
error("Fout bij maken aliases. Overige vormen van voorzetsel en spatie niet geïmplementeerd.")
end
else
error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'")
end
end
end
--[[
Gekleurde voorwerpen. Vuurwerksterren krijgen een aparte behandeling.
Parameters:
- vorm:
- onverbogen: geen -e
- verbogen: met -e
- spatie: of een spatie hoort te staan tussen kleur en voorwerp
- wit: of voorwerp met of zonder witte kleurstof moet worden gemaakt
- false: er worden twee aliasen gemaakt - één mét witte kleur
en één zonder. De alias zonder wit wordt 'gekleurd(e)'
genoemd
- true: er wordt één alias gemaakt, mét witte kleur
Overige:
- $1: kleur en vorm komen overeen
- $2: kleur en vorm komen niet overeen
In beide gevallen wordt de kleur als eerste ingevuld in correcte vorm.
Er wordt uitgegaan dat de kleur op de juiste locatie staat. Hierom
wordt de parameter 'spatie' niet meegenomen.
]]
local gekleurdeVoorwerpen = {
['ballon'] = { vorm = 'verbogen', spatie = true, wit = true },
['banier'] = { vorm = 'verbogen', spatie = true, wit = true },
['bed'] = { vorm = 'onverbogen', spatie = true, wit = false },
['beton'] = { vorm = 'onverbogen', spatie = true, wit = true },
['cement'] = { vorm = 'onverbogen', spatie = true, wit = true },
['geglazuurd terracotta'] = { vorm = 'onverbogen', spatie = false, wit = true },
['gehard $1gekleurd glas'] = { vorm = 'onverbogen', spatie = false, wit = true },
['geharde $2gekleurde glazen ruit'] = { vorm = 'verbogen', spatie = false, wit = true },
['gekleurd glas'] = { vorm = 'onverbogen', spatie = false, wit = true },
['$2gekleurde glazen ruit'] = { vorm = 'verbogen', spatie = false, wit = true },
['tapijt'] = { vorm = 'onverbogen', spatie = true, wit = false },
['terracotta'] = { vorm = 'onverbogen', spatie = true, wit = false },
['kaars'] = { vorm = 'verbogen', spatie = true, wit = false },
['kleurstof'] = { vorm = 'verbogen', spatie = true, wit = false },
['schild'] = { vorm = 'onverbogen', spatie = true, wit = true },
['Shulkerdoos'] = { vorm = 'verbogen', spatie = true, wit = true },
['wol'] = { vorm = 'verbogen', spatie = true, wit = false },
}
for voorwerp, eigenschappen in pairs( gekleurdeVoorwerpen ) do
local gekleurdeVoorwerpenAliases = {}
local voorwerpnaam = ''
local voorwerpalias = ''
for _, kleur in ipairs( kleuren ) do
if eigenschappen.vorm == 'onverbogen' then
if voorwerp:find( '%$1' ) then
local kl = kleur.onverbogen:lower()
voorwerpnaam = voorwerp:gsub( '%$1', kl )
voorwerpnaam = hoofdletter( voorwerpnaam )
table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam )
elseif voorwerp:find( '%$2' ) then
local kl = kleur.verbogen:lower()
voorwerpnaam = voorwerp:gsub( '%$2', kl )
voorwerpnaam = hoofdletter( voorwerpnaam )
table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam )
else
if eigenschappen.spatie == true then
voorwerpnaam = kleur.onverbogen .. ' ' .. voorwerp
table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam )
else
voorwerpnaam = kleur.onverbogen .. voorwerp
table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam )
end
end
elseif eigenschappen.vorm == 'verbogen' then
if voorwerp:find( '%$1' ) then
local kl = kleur.verbogen:lower()
voorwerpnaam = voorwerp:gsub( '%$1', kl )
voorwerpnaam = hoofdletter( voorwerpnaam )
table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam )
elseif voorwerp:find( '%$2' ) then
local kl = kleur.onverbogen:lower()
voorwerpnaam = voorwerp:gsub( '%$2', kl )
voorwerpnaam = hoofdletter( voorwerpnaam )
table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam )
else
if eigenschappen.spatie == true then
voorwerpnaam = kleur.verbogen .. ' ' .. voorwerp
table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam )
else
voorwerpnaam = kleur.verbogen .. voorwerp
table.insert( gekleurdeVoorwerpenAliases, voorwerpnaam )
end
end
else
error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'")
end
end
if eigenschappen.vorm == 'onverbogen' then
voorwerpalias = voorwerp:gsub( '%$%d', '' )
aliases['Elk ' .. voorwerpalias] = gekleurdeVoorwerpenAliases
aliases['Overeenkomend ' .. voorwerpalias] = gekleurdeVoorwerpenAliases
if eigenschappen.wit == false then
local alleenGekleurdeVoorwerpenAliases = mw.clone( gekleurdeVoorwerpenAliases )
local witWeg = table.remove( alleenGekleurdeVoorwerpenAliases, 1 ) -- verwijder het eerste element van de tabel (wit)
aliases['Elk gekleurd ' .. voorwerpalias] = alleenGekleurdeVoorwerpenAliases
aliases['Overeenkomend gekleurd ' .. voorwerpalias] = alleenGekleurdeVoorwerpenAliases
end
elseif eigenschappen.vorm == 'verbogen' then
voorwerpalias = voorwerp:gsub( '%$%d', '' )
aliases['Elke ' .. voorwerpalias] = gekleurdeVoorwerpenAliases
aliases['Overeenkomende ' .. voorwerpalias] = gekleurdeVoorwerpenAliases
if eigenschappen.wit == false then
local alleenGekleurdeVoorwerpenAliases = mw.clone( gekleurdeVoorwerpenAliases )
local witWeg = table.remove( alleenGekleurdeVoorwerpenAliases, 1 ) -- verwijder het eerste element van de tabel (wit)
aliases['Elke gekleurde ' .. voorwerpalias] = alleenGekleurdeVoorwerpenAliases
aliases['Overeenkomende gekleurde ' .. voorwerpalias] = alleenGekleurdeVoorwerpenAliases
end
else
error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'")
end
end
-- Vuurwerksterren --
local vuurwerksterren = {}
for _, kleur in ipairs( kleuren ) do
local naam = kleur.verbogen .. ' vuurwerkster'
aliases[naam] = { title = 'Vuurwerkster', name = naam, text = '&7' .. kleur.onverbogen }
table.insert( vuurwerksterren, aliases[naam] )
end
aliases['Elke vuurwerkster'] = vuurwerksterren
aliases['Overeenkomende vuurwerkster'] = vuurwerksterren
-- Dranken --
-- Geen effect
local geenEffecten = {
'Waterfles',
'Vreemde drank',
'Stroperige drank',
'Triviale drank',
'Onmaakbare drank',
'Spattende waterfles',
'Spattende vreemde drank',
'Spattende stroperige drank',
'Spattende triviale drank',
'Spattende onmaakbare drank',
'Aanhoudende waterfles',
'Aanhoudende vreemde drank',
'Aanhoudende stroperige drank',
'Aanhoudende triviale drank',
'Aanhoudende onmaakbare drank',
'Getipte pijl',
'Pijl der spatting',
'Onmaakbare getipte pijl'
}
for _, naam in ipairs( geenEffecten ) do
aliases[naam] = { name = naam, text = '&7Geen effecten' }
end
-- Begin lijst met dranken
local drankvoorwerpen = {
['drank'] = {
aliases['Waterfles'],
aliases['Vreemde drank'],
aliases['Stroperige drank'],
aliases['Triviale drank'],
},
['spattende drank'] = {
aliases['Spattende waterfles'],
aliases['Spattende vreemde drank'],
aliases['Spattende stroperige drank'],
aliases['Spattende triviale drank'],
},
['aanhoudende drank'] = {
aliases['Aanhoudende waterfles'],
aliases['Aanhoudende vreemde drank'],
aliases['Aanhoudende stroperige drank'],
aliases['Aanhoudende triviale drank'],
},
['getipte pijl'] = {
aliases['Pijl der spatting'],
aliases['Getipte pijl'],
aliases['Getipte pijl'],
aliases['Getipte pijl'],
}
}
--[[
Effecten.
Paramters:
- naam: naam van effect, inclusief genitief
- effect: naam van effect zelf, voorafgegaan door &9 (positief) of &c (negatief)
- versterking: met Romeinse cijfers aangegeven wat de versterking is
- duur: duur van het effect
- normaal: gewone & spattende drank voor normaal, verlengd en versterkt
- aanhoudend: aanhoudende drank voor normaal, verlengd en versterkt
- pijl: getipte pijl voor normaal, verlengd en versterkt
- in gevallen waar een drank meerdere effecten heeft (zoals der schildpadmeester) is de
formatting iets anders. In plaats van 'effect' heet deze parameter 'tekst'
]]
local effecten = {
{ naam = 'der regeneratie', effect = '&9Regeneratie', versterking = 'II',
duur = { normaal = { '0:45', '1:30', '0:22' }, aanhoudend = { '0:11', '0:22', '0:05' }, pijl = { '0:05', '0:11', '0:02' } } },
{ naam = 'der vlotheid', effect = '&9Snelheid', versterking = 'II',
duur = { normaal = { '3:00', '8:00', '1:30' }, aanhoudend = { '0:45', '2:00', '0:22' }, pijl = { '0:22', '1:00', '0:11' } } },
{ naam = 'der vuurbestendigheid', effect = '&9Vuurbestendigheid',
duur = { normaal = { '3:00', '8:00' }, aanhoudend = { '0:45', '2:00' }, pijl = { '0:22', '1:00' } } },
{ naam = 'des gifs', effect = '&cVergif', versterking = 'II',
duur = { normaal = { '0:45', '1:30', '0:21' }, aanhoudend = { '0:11', '0:22', '0:05' }, pijl = { '0:05', '0:11', '0:02' } } },
{ naam = 'der genezing', effect = '&9Onmiddellijke genezing', versterking = 'II' },
{ naam = 'des nachtzichts', effect = '&9Nachtzicht',
duur = { normaal = { '3:00', '8:00' }, aanhoudend = { '0:45', '2:00' }, pijl = { '0:22', '1:00' } } },
{ naam = 'der zwakheid', effect = '&cZwakheid',
duur = { normaal = { '1:30', '4:00' }, aanhoudend = { '0:22', '1:00' }, pijl = { '0:11', '0:30' } } },
{ naam = 'der kracht', effect = '&9Kracht', versterking = 'II',
duur = { normaal = { '3:00', '8:00', '1:30' }, aanhoudend = { '0:45', '2:00', '0:22' }, pijl = { '0:22', '1:00', '0:11' } } },
{ naam = 'der traagheid', effect = '&cTraagheid', versterking = 'IV',
duur = { normaal = { '1:30', '4:00', '0:20' }, aanhoudend = { '0:22', '1:00', '0:05' }, pijl = { '0:11', '0:30', '0:02' } } },
{ naam = 'der sprongen', effect = '&9Sprongversterking', versterking = 'II',
duur = { normaal = { '3:00', '8:00', '1:30' }, aanhoudend = { '0:45', '2:00', '0:22' }, pijl = { '0:22', '1:00', '0:11' } } },
{ naam = 'der verwonding', effect = '&cOnmiddellijke schade', versterking = 'II' },
{ naam = 'des wateradems', effect = '&9Wateradem',
duur = { normaal = { '3:00', '8:00' }, aanhoudend = { '0:45', '2:00' }, pijl = { '0:22', '1:00' } } },
{ naam = 'der onzichtbaarheid', effect = '&9Onzichtbaarheid',
duur = { normaal = { '3:00', '8:00' }, aanhoudend = { '0:45', '2:00' }, pijl = { '0:22', '1:00' } } },
{ naam = 'der valvertraging', effect = '&9Valvertraging',
duur = { normaal = { '1:30', '4:00' }, aanhoudend = { '0:22', '1:00' }, pijl = { '0:11', '0:30' } } },
{ naam = 'des geluks', effect = '&9Geluk',
duur = { normaal = { '5:00' }, aanhoudend = { '1:15' }, pijl = { '0:37' } } },
{ naam = 'der verval', effect = '&cVerschrompeling',
duur = { normaal = { '0:40' }, aanhoudend = { '0:10' }, pijl = { '0:05' } } },
-- Drank der schildpadmeester heeft speciale formatting nodig. Hierom volgt het niet het standaardformaat.
{ naam = 'der schildpadmeester', tekst = '&cTraagheid IV ($1)/&9Weerstand III ($1)', versterking = '&cTraagheid VI ($1)/&9Weerstand IV ($1)',
duur = { normaal = { '0:20', '0:40', '0:20' }, aanhoudend = { '0:15', '0:45', '0:15' }, pijl = { '0:07', '0:22', '0:07' } } },
}
local soorten = {
{ naam = 'Drank', duur = 'normaal', tekst = 'Drank ' },
{ naam = 'Spattende drank', duur = 'normaal', tekst = 'Spattende drank ' },
{ naam = 'Aanhoudende drank', duur = 'aanhoudend', tekst = 'Aanhoudende drank ' },
{ naam = 'Getipte pijl', duur = 'pijl', tekst = 'Pijl ' },
}
for _, effect in ipairs( effecten ) do
for _, soort in ipairs( soorten ) do
-- Maak naam van drank
local naam = soort.tekst .. effect.naam
local dranknaam = {}
if soort.naam == 'Getipte pijl' then
dranknaam = soort.tekst .. effect.naam
else
dranknaam = soort.tekst .. effect.naam .. '.gif'
end
-- Voeg duur toe als er een duur is
if effect.duur then
local duur = effect.duur[soort.duur]
-- Vervang $1 door tijden
if effect.tekst then
aliases[naam] = { name = dranknaam, text = effect.tekst:gsub( '%$1', duur[1] ) }
aliases[naam .. ' - verlengd'] = { name = dranknaam, text = effect.tekst:gsub( '%$1', duur[2] ) }
aliases[naam .. ' - versterkt'] = { name = dranknaam, text = effect.versterking:gsub( '%$1', duur[3] ) }
else
-- Er is altijd de normale variant
aliases[naam] = { name = dranknaam, text = string.format( '%s (%s)', effect.effect, duur[1] ) }
-- Verlengde variant als die er is
if duur[2] then
aliases[naam .. ' - verlengd'] = { name = dranknaam, text = string.format( '%s (%s)', effect.effect, duur[2] ) }
end
-- Versterkte variant als die er is
if effect.versterking then
aliases[naam .. ' - versterkt'] = { name = dranknaam, text = string.format( '%s %s (%s)', effect.effect, effect.versterking, duur[3] ) }
end
end
else
-- Anders is het drank zonder duur
aliases[naam] = { name = dranknaam, text = effect.effect }
-- Voeg de versterkte variant toe als die er is
if effect.versterking then
aliases[naam .. ' - versterkt'] = { name = dranknaam, text = effect.effect .. ' ' .. effect.versterking }
end
end
-- Voeg de standaarddrank toe aan de drankenlijst
table.insert( drankvoorwerpen[soort.naam:lower()], aliases[naam] )
end
end
-- Maak ten slotte de lijst met dranken
-- Op dit moment zijn alle drankvoorwerpen in de verbogen vorm, dus hoeft daar
-- geen rekening gehouden mee te worden.
for voorwerp, drankaliases in pairs( drankvoorwerpen ) do
aliases['Elke ' .. voorwerp] = drankaliases
aliases['Overeenkomende ' .. voorwerp] = drankaliases
end
--[[
Houtsoorten.
Parameters:
- vorm:
- onverbogen: geen -e
- verbogen: met -e
]]
local houtsoorten = {
bovenwereld = {
{ onverbogen = 'Eik', verbogen = 'Eiken' },
{ onverbogen = 'Spar', verbogen = 'Sparren' },
{ onverbogen = 'Berk', verbogen = 'Berken' },
{ onverbogen = 'Oerwoud', verbogen = 'Oerwoud' },
{ onverbogen = 'Acacia', verbogen = 'Acacia' },
{ onverbogen = 'Donkereik', verbogen = 'Donkereiken' },
},
Nether = {
{ onverbogen = 'Helrood', verbogen = 'Helrode' },
{ onverbogen = 'Spookachtig', verbogen = 'Spookachtige' },
}
}
--[[
Houten voorwerpen.
Parameters:
- vorm:
- onverbogen: geen -e
- verbogen: met -e
- bovenwereld: optioneel.
Naam van het blok in de bovenwereld.
- Nether: optioneel
Naam van het blok in de Nether.
- overige:
- $1: Gebruik de onverbogen variant van de houtsoort
- $1l: Zelfde als bovenstaande, maar in kleine letters - van :lower()
- $2: Gebruik de verbogen variant van de houtsoort
- $2l: Zelfde als bovenstaande, maar in kleine letters - van :lower()
]]
local houtenVoorwerpen = {
['hout'] = { vorm = 'onverbogen', bovenwereld = '$2hout' },
['gestript hout'] = { vorm = 'onverbogen', bovenwereld = 'Gestript $2lhout' },
['gestripte schimmeldraden'] = { vorm = 'verbogen', Nether = 'Gestripte $2l schimmeldraden' },
['gestripte stam'] = { vorm = 'verbogen', bovenwereld = 'Gestripte $2lstam', Nether = 'Gestripte $2l stam' },
['houten boot'] = { vorm = 'verbogen', bovenwereld = '$2houten boot' },
['houten bord'] = { vorm = 'onverbogen', bovenwereld = '$2houten bord', Nether = '$1 houten bord' },
['houten deur'] = { vorm = 'verbogen', bovenwereld = '$2houten deur', Nether = '$2 houten deur' },
['houten drukplaat'] = { vorm = 'verbogen', bovenwereld = '$2houten drukplaat', Nether = '$2 houten drukplaat' },
['houten hek'] = { vorm = 'onverbogen', bovenwereld = '$2houten hek', Nether = '$1 houten hek' },
['houten knop'] = { vorm = 'verbogen', bovenwereld = '$2houten knop', Nether = '$2 houten knop' },
['houten plaat'] = { vorm = 'verbogen', bovenwereld = '$2houten plaat', Nether = '$2 houten plaat' },
['houten planken'] = { vorm = 'verbogen', bovenwereld = '$2houten planken', Nether = '$2 houten planken' },
['houten poort'] = { vorm = 'verbogen', bovenwereld = '$2houten poort', Nether = '$2 houten poort' },
['houten trap'] = { vorm = 'verbogen', bovenwereld = '$2houten trap', Nether = '$2 houten trap' },
['houten valluik'] = { vorm = 'onverbogen', bovenwereld = '$2houten valluik', Nether = '$1 houten valluik' },
['kiemplant'] = { vorm = 'verbogen', bovenwereld = '$2kiemplant' },
['schimmeldraden'] = { vorm = 'verbogen', Nether = '$2 schimmeldraden' },
['stam'] = { vorm = 'verbogen', bovenwereld = '$2stam', Nether = '$2 stam' },
}
-- Geparseerd hout, door onderstaande drie for-loops gebruikt
local geparseerdHout = {}
-- Vul bovenstaande tabel
for groep, data in pairs( houtenVoorwerpen ) do
for wereld, houtsoortenInWereld in pairs( houtsoorten ) do
local geparseerdHoutenVoorwerp = ''
if data.bovenwereld and wereld == 'bovenwereld' then
for _, houttype in ipairs( houtsoortenInWereld ) do
geparseerdHoutenVoorwerp = data.bovenwereld:gsub('%$1l', houttype.verbogen:lower()):gsub('%$1', houttype.onverbogen):gsub('%$2l', houttype.verbogen:lower()):gsub('%$2', houttype.verbogen)
if geparseerdHout[groep .. ' - bovenwereld'] == nil then geparseerdHout[groep .. ' - bovenwereld'] = {} end
if geparseerdHout[groep] == nil then geparseerdHout[groep] = {} end
table.insert(geparseerdHout[groep .. ' - bovenwereld'], geparseerdHoutenVoorwerp)
table.insert(geparseerdHout[groep], geparseerdHoutenVoorwerp) -- compatibiliteit met vorige versie
end
end
if data.Nether and wereld == 'Nether' then
for _, houttype in ipairs( houtsoortenInWereld ) do
geparseerdHoutenVoorwerp = data.Nether:gsub('%$1l', houttype.verbogen:lower()):gsub('%$1', houttype.onverbogen):gsub('%$2l', houttype.verbogen:lower()):gsub('%$2', houttype.verbogen)
if geparseerdHout[groep .. ' - Nether'] == nil then geparseerdHout[groep .. ' - Nether'] = {} end
table.insert(geparseerdHout[groep .. ' - Nether'], geparseerdHoutenVoorwerp)
end
end
end
end
-- Voeg toe aan de aliasestabel
for houtPerWereld, voorwerpen in pairs( geparseerdHout ) do
local houtRegex = ''
if houtPerWereld:match( '%-' ) then
houtRegex = houtPerWereld:match( '(.+)%s%-' )
else
houtRegex = houtPerWereld
end
if houtenVoorwerpen[houtRegex].vorm == 'onverbogen' then
aliases['Elk ' .. houtPerWereld] = voorwerpen
aliases['Overeenkomend ' .. houtPerWereld] = voorwerpen
elseif houtenVoorwerpen[houtRegex].vorm == 'verbogen' then
aliases['Elke ' .. houtPerWereld] = voorwerpen
aliases['Overeenkomende ' .. houtPerWereld] = voorwerpen
else
error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'")
end
end
-- Zet hier blokken neer die samengevoegd moeten worden
-- volgorde: bovenwereld, Nether
local houtSamenvoegen = {
{ 'hout', 'schimmeldraden' },
{ 'gestript hout', 'gestripte schimmeldraden' },
{ 'gestripte stam' },
{ 'houten bord' },
{ 'houten deur' },
{ 'houten drukplaat' },
{ 'houten hek' },
{ 'houten knop' },
{ 'houten plaat' },
{ 'houten planken' },
{ 'houten poort' },
{ 'houten trap' },
{ 'houten valluik' },
{ 'stam' },
}
-- Merge two tables into one https://stackoverflow.com/a/43460349
function merge_tables( a, b )
local result = {}
for k,v in pairs ( a ) do
table.insert( result, v )
end
for k,v in pairs ( b ) do
table.insert( result, v )
end
return result
end
-- Voeg houten voorwerpen (bovenwereld en Nether) samen
for _, samenvoegen in ipairs( houtSamenvoegen ) do
local samengevoegd
if #samenvoegen > 1 then
local samenTeVoegenLinks = samenvoegen[1] -- zoals altijd fantastische
local samenTeVoegenRechts = samenvoegen[2] -- future-proofing
samengevoegd = merge_tables( geparseerdHout[samenTeVoegenLinks .. ' - bovenwereld'], geparseerdHout[samenTeVoegenRechts .. ' - Nether'] )
if houtenVoorwerpen[samenTeVoegenLinks].vorm == houtenVoorwerpen[samenTeVoegenRechts].vorm then
-- omdat beide vormen gelijk zijn aan elkaar, hoeft enkel één
-- opgehaald te worden
local vorm = houtenVoorwerpen[samenTeVoegenLinks].vorm
if vorm == 'onverbogen' then
aliases['Elk ' .. samenTeVoegenLinks .. ' of ' .. samenTeVoegenRechts] = samengevoegd
aliases['Overeenkomend ' .. samenTeVoegenLinks .. ' of ' .. samenTeVoegenRechts] = samengevoegd
elseif vorm == 'verbogen' then
aliases['Elke ' .. samenTeVoegenLinks .. ' of ' .. samenTeVoegenRechts] = samengevoegd
aliases['Overeenkomende ' .. samenTeVoegenLinks .. ' of ' .. samenTeVoegenRechts] = samengevoegd
else
error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'\nWaarde: " .. vorm)
end
else
-- beide vormen zijn verschillend, dus de linkervorm is het
-- tegenovergestelde van de rechter
local vormLinks = houtenVoorwerpen[samenTeVoegenLinks].vorm
if vormLinks == 'onverbogen' then
aliases['Elk ' .. samenTeVoegenLinks .. ' of elke ' .. samenTeVoegenRechts] = samengevoegd
aliases['Overeenkomend ' .. samenTeVoegenLinks .. ' of overeenkomende ' .. samenTeVoegenRechts] = samengevoegd
elseif vormLinks == 'verbogen' then
aliases['Elke ' .. samenTeVoegenLinks .. ' of elk ' .. samenTeVoegenRechts] = samengevoegd
aliases['Overeenkomende ' .. samenTeVoegenLinks .. ' of overeenkomend ' .. samenTeVoegenRechts] = samengevoegd
else
error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'\nWaarde: " .. vormLinks)
end
end
else
-- Er is slechts één element in de tabel, dus hoeft er geen rekening
-- gehouden te worden met of de vorm van beide verschillen of gelijk
-- zijn.
samenTeVoegen = samenvoegen[1]
samengevoegd = merge_tables( geparseerdHout[samenTeVoegen .. ' - bovenwereld'], geparseerdHout[samenTeVoegen .. ' - Nether'] )
if houtenVoorwerpen[samenTeVoegen].vorm == 'onverbogen' then
aliases['Elk ' .. samenTeVoegen .. ' - nieuw'] = samengevoegd
aliases['Overeenkomend ' .. samenTeVoegen .. ' - nieuw'] = samengevoegd
elseif houtenVoorwerpen[samenTeVoegen].vorm == 'verbogen' then
aliases['Elke ' .. samenTeVoegen .. ' - nieuw'] = samengevoegd
aliases['Overeenkomende ' .. samenTeVoegen .. ' - nieuw'] = samengevoegd
else
error("Eigenschap 'vorm' moet één van de volgende waarden bevatten:\n\t'verbogen'\n\t'onverbogen'")
end
end
end
-- Bedrock en console-specifieke voorwerpen --
local editievoorwerpen = {
['(BE)'] = {
'Acaciahouten poort',
'Baken', 'Betoveringstafel', 'Berkenhouten poort', 'Blauw ijs', 'Boog', 'Bosontdekkingskaart',
'Constructieleegte', 'Creeperhoofd',
'Donkereikenhouten poort', 'Drakenei', 'Drakenhoofd',
'Eikenhouten poort', 'Emmer kogelvis', 'Emmer tropische vis', 'Enderkist', 'Endpoort', 'Endportaal', 'Endportaalframe', 'Endstaf',
'Glazen ruit', 'Gloeisteen',
'Helrode houten poort', 'Honingblok', 'Hoofd', 'Hoornkoraalblok', 'Huilend obsidiaan',
"Jack-o'-lantern",
'Kaart', 'Kattenspawnei', 'Kist', 'Kist met valstrik', 'Kracht van de zee',
'Lava',
'Magmablok', 'Mijnkar met opdrachtblok', 'Monsterkooi',
'Observeerder', 'Oceaanontdekkingskaart', 'Oerwoudbladeren', 'Oerwoudhouten poort',
'Pandaspawnei', 'Pioenroos', 'Puzzelblok',
'Rondreizendehandelaarsspawnei', 'Rozenstruik',
'Skelettenschedel', 'Sparrenhouten poort', 'Spookachtige houten poort', 'Steiger', 'Stromende lava',
'Tralies',
'Witherskelettenschedel',
'Zeelantaarn', 'Zombiehoofd', 'Zwammenlicht',
},
['(LCE)'] = {
'Pioenroos',
'Rozenstruik',
'Struik'
}
}
for editie, voorwerpen in pairs( editievoorwerpen ) do
for _, voorwerp in ipairs( voorwerpen ) do
local naam = voorwerp .. ' ' .. editie
aliases[naam] = { title = voorwerp, name = naam }
end
end
-- Lichtblokken (BE)
for niveau = 0,15 do
aliases['Lichtblok ' .. niveau] = { title = 'Lichtblok', name = 'Lichtblok ' .. niveau }
end
return aliases