Advertisement
Uschie3000

InfusionAltarRezeptSpeicher

Jul 21st, 2018
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.76 KB | None | 0 0
  1. is=peripheral.wrap("top")
  2.  
  3. function termClear()
  4.     term.clear()
  5.     term.setCursorPos(1,1)
  6. end
  7.  
  8. function createFingerprint(item)
  9.     local tempFingerprint={}
  10.     tempFingerprint['id']=item["id"]
  11.     tempFingerprint['dmg']=item["dmg"]
  12.     if item['nbt_hash']~=nil then
  13.         tempFingerprint['nbt_hash']=item["nbt_hash"]
  14.     end
  15.     return tempFingerprint
  16. end
  17.  
  18. function readItemSelector()
  19.     local tempItems={}
  20.     tempItems=is.getSlots()
  21.     return tempItems
  22. end
  23.  
  24. function readRezepte(datei)
  25.     local data=fs.open(datei,"r")
  26.     local dataInhalt={}
  27.    
  28.     local line=data.readLine()
  29.     repeat
  30.     table.insert(dataInhalt,line)
  31.     line=data.readLine()
  32.     until line==nil
  33.  
  34.     data.close()
  35.     return dataInhalt
  36. end
  37.  
  38. function writeRezepte(rezepte)
  39.     local inhalt=readRezepte("altarRezepte")
  40.     table.remove(inhalt)
  41.     table.insert(inhalt,rezepte)
  42.     table.inser(inhalt,"}")
  43.     fs.delete("altarRezepte")
  44.     local data2=fs.open("altarRezepte","a")
  45.     for dataCount=1,#inhalt do
  46.         data2.write(inhalt[dataCount].."\n")
  47.     end
  48.     data2.close()
  49. end
  50.  
  51. function generateString(rezName,rezMitte,rezAussen1,rezAussen2)
  52.     local rezString="['"..rezName.."']={['mitte']="
  53.     rezString=rezString.."{['id']='"..rezMitte[1]["id"].."',['dmg']="..rezMitte[1]['dmg']
  54.     if rezMitte[1]["nbt_hash"]~=nil then
  55.         rezString=rezString..",['nbt_hash']='"..rezMitte[1]['nbt_hash'].."'"
  56.     end
  57.     rezString=rezString.."},['aussen']={"
  58.    
  59.     for countRezAussen1=1,#rezAussen1 do
  60.         rezString=rezString.."{['id']='"..rezAussen1[countRezAussen1]["id"].."',['dmg']="..rezAussen1[countRezAussen1]["dmg"]
  61.         if rezAussen1[countRezAussen1]["nbt_hash"]~=nil then
  62.             rezString=rezString..",['nbt_hash']='"..rezAussen1[countRezAussen1]['nbt_hash'].."'"
  63.         end
  64.         rezString=rezString.."},"
  65.     end
  66.     for countRezAussen2=1,#rezAussen2 do
  67.         rezString=rezString.."{['id']='"..rezAussen2[countRezAussen2]["id"].."',['dmg']="..rezAussen2[countRezAussen2]["dmg"]
  68.         if rezAussen2[countRezAussen2]["nbt_hash"]~=nil then
  69.             rezString=rezString..",['nbt_hash']='"..rezAussen2[countRezAussen2]['nbt_hash'].."'"
  70.         end
  71.         rezString=rezString.."},"
  72.     end
  73.    
  74.     rezString=rezString.."}},"
  75.  
  76.     return rezString
  77. end
  78.  
  79. function newRezept(name)
  80.     print("Bitte lege die Items fuer aussen in den Selector")
  81.     os.pullEvent("key_up")
  82.     sleep(1)
  83.     local aussen1=readItemSelector()
  84.     termClear()
  85.     print("Bitte lege weitere Items fuer aussen in den Selector")
  86.     os.pullEvent("key_up")
  87.     sleep(1)
  88.     local aussen2=readItemSelector()
  89.     termClear()
  90.     print("Bitte lege das Item fuer die Mitte in den Selector")
  91.     os.pullEvent("key_up")
  92.     sleep(1)
  93.     local mitte=readItemSelector()
  94.     ---------------------------------------------------------------- auslesen
  95.    
  96.     local rezeptString=generateString(name,mitte,aussen1,aussen2)
  97.     writeRezepte(rezeptString)
  98. end
  99.  
  100. term.clear()
  101. tempRezName=io.read()
  102. sleep(1)
  103. newRezept(tempRezName)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement