Module

WorldPills

From Dogcraft Wiki

(Uppercasing worlds names in single mode too)
m (smaller world pills)
 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:


local lang = mw.language.getContentLanguage()
local lang = mw.language.getContentLanguage()
-- function subworld(world, subworld)
-- input = mw.ustring.lower(world .. subworld)
-- subworlds = {"husky", "beagle", "akita", "corgi", "labrador", "shepherd", "sheltie", "retriever", "streamtown"}
-- 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", "survival 6", "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)
function pill (text, color)
return ('[[' .. text .. '|<span class="world-pill" style="background:' .. 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; margin-bottom:3px;">' .. text .. '</span>]]')
'; padding: 3px 7px; color: white; border-radius: 7.5px; display: inline-block; margin-bottom:3px; font-size: 12px; letter-spacing: .4px;">' .. text .. '</span>]]')
end
end


Line 39: Line 12:
function p.single(frame)
function p.single(frame)
color = frame.args[color] or 'lightslategray'
color = frame.args[color] or 'lightslategray'
world= worldTools.extractWorld(frame.args[1] .. frame.args[2]) -- world(frame.args[1], frame.args[2])
world= worldTools.extractWorld(frame.args[1] .. frame.args[2])
subworld = worldTools.extractSubworld(frame.args[1] .. frame.args[2]) -- subworld(frame.args[1], frame.args[2])
subworld = worldTools.extractSubworld(frame.args[1] .. frame.args[2])
if (subworld ~= '') then
if (subworld ~= '') then
Line 56: Line 29:
frame.args[2] = frame.args[2] or ''
frame.args[2] = frame.args[2] or ''
input = mw.ustring.lower(frame.args[1] .. frame.args[2])
input = mw.ustring.lower(frame.args[1] .. frame.args[2])
-- worlds = {"survival 1", "survival 2", "survival 3", "survival 4", "survival 5", "survival 6", "creative", "patreon", "hub", "amplified", "MCMMO", "skyblock"}
out = ''
out = ''

Latest revision as of 01:25, 6 September 2024

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

local p = {} --p stands for package
local worldTools = require('Module:World')

local lang = mw.language.getContentLanguage()

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


function p.single(frame)
	color = frame.args[color] or 'lightslategray'
	world= worldTools.extractWorld(frame.args[1] .. frame.args[2])
	subworld = worldTools.extractSubworld(frame.args[1] .. frame.args[2])
	
	if (subworld ~= '') then
		return (pill(lang:ucfirst(world), color) .. ' ' .. pill(lang:ucfirst(subworld), color))
	elseif (world ~= '') then
		return (pill(lang:ucfirst(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])
	out = ''
	
	for key,value in ipairs(worldTools.worlds) do 
		if (mw.ustring.find(input, value, 1, true) ~= nil) then
			value = lang:ucfirst(value)
			out = out .. pill(value, color) .. ' '
		end
	end
	
	return out
end


return p