Module

WorldSwitch

From Dogcraft Wiki

(Switching to using Module:World (basically only leaving input handling in this module))
m (Removing unused commented out functions (its still in the history if needed))
 
Line 2: Line 2:
local worldTools = require('Module:World')
local worldTools = require('Module:World')


-- 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


-- get the parent world for a specific subworld
function p.parentWorld(frame)
function p.parentWorld(frame)
input = mw.ustring.lower(frame.args[1] .. frame.args[2])
input = mw.ustring.lower(frame.args[1] .. frame.args[2])
return worldTools.getParentWorld(input)
return worldTools.getParentWorld(input)
-- 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
end
 
-- get the subworld
-- (usually would expect a world + subworld combo as the first two #invoke args, but works with any setup as long as either the first or the second arg has a string)
-- returns an empty string when it doesn't find anything
function p.subworld(frame)
function p.subworld(frame)
input = mw.ustring.lower(frame.args[1] .. frame.args[2])
input = mw.ustring.lower(frame.args[1] .. frame.args[2])
return worldTools.extractSubworld(input)
return worldTools.extractSubworld(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
end


-- get the world
-- (usually would expect a world + subworld combo as the first two #invoke args, but works with any setup as long as either the first or the second arg has a string)
-- returns an empty string when it doesn't find anything
function p.world(frame)
function p.world(frame)
input = mw.ustring.lower(frame.args[1] .. frame.args[2])
input = mw.ustring.lower(frame.args[1] .. frame.args[2])
return worldTools.extractWorld(input)
return worldTools.extractWorld(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
end


return p
return p

Latest revision as of 01:06, 29 December 2023

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

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


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


-- get the parent world for a specific subworld
function p.parentWorld(frame)
	input = mw.ustring.lower(frame.args[1] .. frame.args[2])
	return worldTools.getParentWorld(input)
end
	
	
-- get the subworld 
-- (usually would expect a world + subworld combo as the first two #invoke args, but works with any setup as long as either the first or the second arg has a string)
-- returns an empty string when it doesn't find anything
function p.subworld(frame)
	input = mw.ustring.lower(frame.args[1] .. frame.args[2])
	return worldTools.extractSubworld(input)
end


-- get the world 
-- (usually would expect a world + subworld combo as the first two #invoke args, but works with any setup as long as either the first or the second arg has a string)
-- returns an empty string when it doesn't find anything
function p.world(frame)
	input = mw.ustring.lower(frame.args[1] .. frame.args[2])
	return worldTools.extractWorld(input)
end

return p