Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function string.splitLast(str,char)
- local function findLast(str,char)
- for i=#str,1,-1 do
- if str:sub(i,i)==char then
- return i
- end
- end
- end
- local findChar=findLast(str,char)
- if findChar then
- return {str:sub(1,findChar-1),str:sub(findChar+1)}
- end
- return {str}
- end
- function string.split(str,char)
- tbl={}
- if char=="%" then --Curse you Lua patterns!
- char="%%"
- elseif char=="(" then
- char="%("
- end
- local findChar,findCharEnd=str:find(char)
- if findChar then
- table.insert(tbl,str:sub(1,findChar-1))
- repeat
- findChar2,findChar2End=str:find(char, findChar+1)
- if findChar2~=nil then
- table.insert(tbl,str:sub(findChar+1,findChar2-1))
- findChar=findChar2
- end
- until findChar2==nil
- table.insert(tbl,str:sub(findChar+1))
- else
- return {str}
- end
- return tbl
- end
- args={...}
- local whiteSpace=args[1]=="true" --Set this to true if you want the whitespace textutils.serialize normally has.
- local BlockNames={}
- local f=fs.open("blockNames","r")
- local rawTable=f.readAll():split("\n")
- f.close()
- for i=1,#rawTable do
- local line=rawTable[i]
- local tmp=line:split("#")[1]:split(":")
- local id=tonumber((tmp[1]:gsub(" ","")))
- local meta=tonumber(((tmp[2] or "0"):gsub(" ","")))
- local unlocalizedName=(line:splitLast("(")[2]):gsub("%)","")
- BlockNames[id]=unlocalizedName
- end
- f=fs.open("finalTable","w")
- f.write((whiteSpace and textutils.serialize(BlockNames)) or textutils.serialize(BlockNames):gsub(" ",""):gsub("\n",""))
- f.close()
Advertisement
Add Comment
Please, Sign In to add comment