Module

WorldSwitch

From Dogcraft Wiki

Revision as of 18:16, 20 December 2023 by Domino (talk | contribs) (added streamtown)

{{#invoke:WorldSwitch|subworld|Survial 4|Husky}} generates: husky

{{#invoke:WorldSwitch|world|Survial 4|Husky}} generates: survival 4


local p = {} --p stands for package

-- HELPERS

-- get world from a string
function world(input)
	input = mw.ustring.lower(input)
	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 value
		end
	end
	if (mw.ustring.find(input, 'survival', 1, true) ~= nil) then
		return 'survival 1'
	end
	return ''--return 'not found'
end
	

-- get the subworld from a string
function subworld(input)
	input = mw.ustring.lower(input)
	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 value
		end
	end
	return ''--return 'not found'
end


-- MODES

function p.parentWorld(frame)
	input = mw.ustring.lower(frame.args[1] .. frame.args[2])
	subworld = subworld(input)
	subworlds = {}
	subworlds["survival 4"] = {"husky", "beagle"}
	subworlds["survival 5"] = {"akita", "corgi", "labrador", "shepherd"}
	subworlds["survival 6"] = {"sheltie", "retriever", "streamtown"}
	for key,value in ipairs(subworlds["survival 4"]) do
		if (mw.ustring.find(subworld, value, 1, true) ~= nil) then
			return "survival 4"
		end
	end
	for key,value in ipairs(subworlds["survival 5"]) do
		if (mw.ustring.find(subworld, value, 1, true) ~= nil) then
			return "survival 5"
		end
	end
	for key,value in ipairs(subworlds["survival 6"]) do
		if (mw.ustring.find(subworld, value, 1, true) ~= nil) then
			return "survival 6"
		end
	end
end
	
	

function p.subworld(frame)
	input = mw.ustring.lower(frame.args[1] .. frame.args[2])
	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 value
		end
	end
	return ''--return 'not found'
end

function p.world(frame)
	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"}
	for key,value in ipairs(worlds) do 
		if (mw.ustring.find(input, value, 1, true) ~= nil) then
			return value
		end
	end
	if (mw.ustring.find(input, 'survival', 1, true) ~= nil) then
		return 'survival 1'
	end
	return ''--return 'not found'
end

return p
This page was last modified on 20 December 2023, at 18:16. (4 months ago)