--- Makes a seed from a string. -- If the input is a number, it is returned as-is. -- If the input is a string and can be converted to a number with tonumber(), -- the output of tonumber() is returned. -- Otherwise, the string is converted to a number via a simple hashing algorithm -- (caution: certainlly NOT crypto-secure!). -- @param {string} str The string to convert. -- @source https://stackoverflow.com/a/2624210/1460422 The idea came from here function worldeditadditions.parse.seed(str) if type(str) == "number" then return str end if tonumber(str) ~= nil then return tonumber(str) end local result = 0 for i = 1, #str do result = (result*91) + (string.byte(str:sub(i, i)) * 31) end return result end