Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- s=peripheral.wrap("right")
- function scan(s,mode)
- entity={}
- entity.item={}
- entity.mob={}
- entity.player={}
- entity.minecart={}
- entity.itemFrame={}
- if mode==nil then
- mode="all"
- end
- if mode=="mob" or mode=="all" then
- mobs=s.getEntityIds("mob")
- for i=1, #mobs do
- data=nil
- data=s.getEntityData(mobs[i],"mob")
- if data~=nil then
- entity.mob[#entity.mob+1]=data.all()
- else
- entity.mob[#entity.mob+1]="lost"
- end
- end
- end
- if mode=="item" or mode=="all" then
- items=s.getEntityIds("item")
- for i=1, #items do
- data=nil
- data=s.getEntityData(items[i],"item")
- if data~=nil then
- entity.item[#entity.item+1]=data.all()
- else
- entity.item[#entity.item+1]="lost"
- end
- end
- end
- if mode=="player" or mode=="all" then
- players=s.getPlayers()
- for i=1, #players do
- data=nil
- data=s.getPlayerByName(players[i].name)
- if data~=nil then
- entity.player[#entity.player+1]=data.all()
- inv=entity.player[#entity.player].player.inventory
- for i2=1, 40 do
- if inv[i2]~=nil then
- fp=fs.open("temp","w")
- itemp=#entity.player
- i2temp=i2
- error=true
- fp.write("entity.player[itemp].player.inventory[i2temp]=inv[i2temp].all() error=false")
- fp.close()
- shell.run("temp")
- shell.run("rm temp")
- if error then
- entity.player[itemp].player.inventory[i2temp]=nil
- end
- end
- end
- else
- entity.player[#entity.player+1]="lost"
- end
- end
- end
- if mode=="minecart" or mode=="all" then
- minecarts=s.getEntityIds("minecart")
- for i=1, #minecarts do
- data=nil
- data=s.getEntityData(minecarts[i],"minecart")
- if data~=nil then
- entity.minecart[#entity.minecart+1]=data.all()
- else
- entity.minecart[#entity.minecart+1]="lost"
- end
- end
- end
- if mode=="frame" or mode=="all" then
- itemFrames=s.getEntityIds("item_frame")
- for i=1, #itemFrames do
- data=nil
- data=s.getEntityData(itemFrames[i],"item_frame")
- if data~=nil then
- entity.itemFrame[#entity.itemFrame+1]=data.all()
- else
- entity.itemFrame[#entity.itemFrame+1]="lost"
- end
- end
- end
- return entity
- end
- function getPos()
- scan(s,"player")
- if entity.player[1]~=nil then
- pos=entity.player[1].position
- else
- pos={x=0,y=0,z=0}
- end
- return vector.new(pos.x,pos.y,pos.z)
- end
- function follow()
- posN=vector.new(0,0,0)
- posN.length(getPos())
- d=posN.length(getPos())
- x = 0
- while x == 0 do
- d=posN.length(getPos())
- d2 = d
- turtle.forward()
- d=posN.length(getPos())
- if d2 < d then
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- else
- while x == 0 do
- if d2 >= d then
- print("d2 ist groesser")
- d=posN.length(getPos())
- d2 = d
- turtle.forward()
- d=posN.length(getPos())
- print("d2:",d2)
- print("d :",d)
- if d2 <= d then
- print("d2 ist kleiner")
- x=1
- end
- end
- end
- end
- end
- turtle.turnLeft()
- d=posN.length(getPos())
- x = 0
- while x == 0 do
- d=posN.length(getPos())
- d2 = d
- turtle.forward()
- d=posN.length(getPos())
- if d2 < d then
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- else
- while x == 0 do
- if d2 >= d then
- print("d2 ist groesser")
- d=posN.length(getPos())
- d2 = d
- turtle.forward()
- d=posN.length(getPos())
- print("d2:",d2)
- print("d :",d)
- if d2 <= d then
- print("d2 ist kleiner")
- x=1
- end
- end
- end
- end
- end
- d=posN.length(getPos())
- x = 0
- while x == 0 do
- d=posN.length(getPos())
- d2 = d
- turtle.down()
- d=posN.length(getPos())
- if d2 < d then
- print("Fehler")
- else
- while x == 0 do
- if d2 >= d then
- print("d2 ist groesser")
- d=posN.length(getPos())
- d2 = d
- turtle.down()
- d=posN.length(getPos())
- print("d2:",d2)
- print("d :",d)
- if d2 <= d then
- print("d2 ist kleiner")
- x=1
- end
- end
- end
- end
- end
- end
- while true do
- follow()
- end
Add Comment
Please, Sign In to add comment