coding_giants

l10 agent starter

Jul 4th, 2023
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. #after launching the program, the agent is teleported to the player
  2. agent.teleport_to_player()
  3.  
  4. '''
  5. Project specifications:
  6.  
  7. slot 1 - rails
  8. slot 2 - powered rails
  9. slot 3 - stone
  10. slot 4 - redstone
  11. '''
  12.  
  13. def refillBlocks():
  14. #adding 64 rails in slot 1 to the agent
  15. agent.set_item(RAIL, 64, 1)
  16. agent.set_item(POWERED_RAIL, 64, 2)
  17. agent.set_item(STONE, 64, 3)
  18. agent.set_item(REDSTONE_BLOCK, 64, 4)
  19.  
  20.  
  21. def rollerCoasterBuilding(railAmount):
  22. #the varialbe storing the current number of built rails, when calling the function we can decide how many rails we want to build
  23. currentRailAmount = 0
  24. #function refilling agent's slots with proper blocks so he can keep building
  25. refillBlocks()
  26. #teleporting the agent, we care about his direction which we will modify later
  27. agent.teleport(agent.get_position(),SOUTH)
  28. #when moving, agent will place blocks from the selected spot
  29. agent.set_assist(PLACE_ON_MOVE, True)
  30. #when moving, agent destroys blocks in his way
  31. agent.set_assist(DESTROY_OBSTACLES, True)
  32.  
  33. #the loop works until the correct amount of rails is built
  34. while currentRailAmount < railAmount:
  35. #clearing path over the track
  36. if agent.detect(AgentDetection.BLOCK, UP):
  37. agent.destroy(UP)
  38.  
  39. #if the agent detects that he is in the air or water and there is nothing to build on, he will place stone block
  40. elif agent.inspect(AgentInspection.BLOCK, DOWN) == 0 or agent.inspect(AgentInspection.BLOCK, DOWN) == 9:
  41. agent.set_slot(3)
  42. agent.place(DOWN)
  43. else:
  44. #if there are no obstacles, setting the slot to rails and moving forward.
  45. agent.set_slot(1)
  46. agent.move(FORWARD, 1)
  47.  
  48. currentRailAmount += 1
  49.  
  50. player.say("building finished!")
  51. player.on_chat("b",rollerCoasterBuilding)
Add Comment
Please, Sign In to add comment