Module

WorldPills

From Dogcraft Wiki

No edit summary
(adding multi world support)
Line 2: Line 2:


local lang = mw.language.getContentLanguage()
local lang = mw.language.getContentLanguage()


function subworld(world, subworld)
function subworld(world, subworld)
Line 13: Line 14:
return ''--return 'not found'
return ''--return 'not found'
end
end


function world(world, subworld)
function world(world, subworld)
Line 27: Line 29:
return ''--return 'not found'
return ''--return 'not found'
end
end
function pill (text, color)
return ('[[' .. text .. '|<span class="world-pill" style="background:' .. color ..
'; padding: 3px 7px; color: white; font-weight: bold; border-radius: 7.5px; display: inline-block;">' .. text .. '</span>]]')
end


function p.single(frame)
function p.single(frame)
Line 34: Line 42:
if (subworld ~= '') then
if (subworld ~= '') then
return ('[[' .. world .. '|<span class="world-pill" style="background:' .. color ..
return (pill(world, color) .. ' ' .. pill(subworld, color))
'; padding: 3px 7px; color: white; font-weight: bold; border-radius: 7.5px; display: inline-block;">' .. world ..
'</span>]] [[' .. subworld .. '|<span class="world-pill" style="background:' .. color ..
'; padding: 3px 7px; color: white; font-weight: bold; border-radius: 7.5px; display: inline-block;">' .. subworld .. '</span>]]')
elseif (world ~= '') then
elseif (world ~= '') then
return ('[[' .. world .. '|<span class="world-pill" style="background:' .. color ..
return (pill(world, color))
'; padding: 3px 7px; color: white; font-weight: bold; border-radius: 7.5px; display: inline-block;">' .. world .. '</span>]]')
else  
else  
return ''
return ''
end
end
function p.multi(frame)
color = frame.args[color] or 'lightslategray'
frame.args[2] = frame.args[2] or ''
input = mw.ustring.lower(frame.args[1] .. frame.args[2])
worlds = {"survival 1", "survival 2", "survival 3", "survival 4", "survival 5", "creative", "patreon", "hub", "amplified", "MCMMO", "skyblock"}
out = ''
for key,value in ipairs(worlds) do
if (mw.ustring.find(input, value, 1, true) ~= nil) then
value = lang:ucfirst(value)
out = out .. pill(value, color) .. ' '
end
end
if (mw.ustring.find(input, 'survival', 1, true) ~= nil) then
out = out .. pill('Survival 1', color) .. ' '
end
end
return out
end
end


return p
return p

Revision as of 01:42, 29 June 2022

Documentation for this module may be created at Module:WorldPills/doc

local p = {} --p stands for package

local lang = mw.language.getContentLanguage()


function subworld(world, subworld)
	input = mw.ustring.lower(world .. subworld)
	subworlds = {"husky", "beagle", "akita", "corgi", "labrador", "shepherd"}
	for key,value in ipairs(subworlds) do 
		if (mw.ustring.find(input, value, 1, true) ~= nil) then
			return lang:ucfirst(value)
		end
	end
	return ''--return 'not found'
end


function world(world, subworld)
	input = mw.ustring.lower(world .. subworld)
	worlds = {"survival 1", "survival 2", "survival 3", "survival 4", "survival 5", "creative", "patreon", "hub", "amplified", "MCMMO", "skyblock"}
	for key,value in ipairs(worlds) do 
		if (mw.ustring.find(input, value, 1, true) ~= nil) then
			return lang:ucfirst(value)
		end
	end
	if (mw.ustring.find(input, 'survival', 1, true) ~= nil) then
		return 'Survival 1'
	end
	return ''--return 'not found'
end

function pill (text, color)
	return ('[[' .. text .. '|<span class="world-pill" style="background:' .. color .. 
			'; padding: 3px 7px; color: white; font-weight: bold; border-radius: 7.5px; display: inline-block;">' .. text .. '</span>]]')
end


function p.single(frame)
	color = frame.args[color] or 'lightslategray'
	world = world(frame.args[1], frame.args[2])
	subworld = subworld(frame.args[1], frame.args[2])
	
	if (subworld ~= '') then
		return (pill(world, color) .. ' ' .. pill(subworld, color))
	elseif (world ~= '') then
		return (pill(world, color))
	else 
		return ''
	end
end


function p.multi(frame)
	color = frame.args[color] or 'lightslategray'
	frame.args[2] = frame.args[2] or ''
	input = mw.ustring.lower(frame.args[1] .. frame.args[2])
	worlds = {"survival 1", "survival 2", "survival 3", "survival 4", "survival 5", "creative", "patreon", "hub", "amplified", "MCMMO", "skyblock"}
	out = ''
	
	for key,value in ipairs(worlds) do 
		if (mw.ustring.find(input, value, 1, true) ~= nil) then
			value = lang:ucfirst(value)
			out = out .. pill(value, color) .. ' '
		end
	end
	if (mw.ustring.find(input, 'survival', 1, true) ~= nil) then
		out = out .. pill('Survival 1', color) .. ' '
	end
	
	return out
end


return p
This page was last modified on 29 June 2022, at 01:42. (2 months ago)