This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
kamikazekiwi3's profile picture

[Question] Can leapfrogging world anchors work?

Started by kamikazekiwi3, 05 February 2013 - 04:58 AM
kamikazekiwi3 #1
Posted 05 February 2013 - 05:58 AM
Title: [Question] Can leapfrogging world anchors work?

Various users have posted that turtles could work without users being present by setting up their own chunk loaders and leapfrogging them (e.g. shifting the loaded area by moving one world anchor, then a second one, then the first one, etc.). Although I've read that several times, I'm not sure it's ever been demonstrated. I tried using world anchors and set up several tests where turtles would leapfrog them. The results imply that this doesn't work. Specifically, only the chunks loaded when a player was present in the area will remain loaded, while those chunks at the edge that should be loaded by setting down a new anchor are not. The turtles simply fail to move into the unloaded chunk but still consume fuel for each attempted move and eventually run out of fuel or rampage inside their loaded chunks.

Is it actually possible for turtles to roam about without users being present?

I've tested this on a Tekkit (Classic) 3.1.3 server. I'd prefer to use world anchors from RailCraft to achieve this, instead of the other chunk loaders available.

Finally, I'd like to describe one of the tests that shows this strange behavior. Place a world anchor roughly in the middle of a chunk. Place a turtle on top of that anchor and provide the turtle with at least 32 fuel (small amounts are best). Make sure that there are no obstacles for 32 blocks ahead of the turtle, as well as 1 block of space above that path. Place a world anchor in slot 1 of the turtle's inventory, a random noticeable block (cobble?) in slot 2, and run the following program:

sleep(60)   --Give the player a chance to log off
shell.run("go", "forward", "16")   --Move into next chunk
turtle.select(1)   --Select world anchor in inventory
turtle.placeUp()   --Place world anchor above turtle
sleep(10)   --Wait 10 seconds in case world anchor needs time to load chunks
shell.run("go", "forward", "16")   --Move into the next chunk
turtle.select(2)   --Select marker block
turtle.placeUp()   --Place marker above

Run the program, log off from the server, then wait a few minutes before returning to let the turtle waste all its fuel. You should see that the turtle doesn't actually reach its goal. Instead, it'll report "Out of fuel" and place the block within the bounds of the first world anchor.

I'd appreciate any help in getting this to work, if it's even possible.
Omlettwender #2
Posted 08 February 2013 - 05:15 AM
is the area where the turtle is when you log off chunk loaded? if not then of course the area automatically unloads and the program won't work.
if that is the case you would have to wait with logging of until the turtle placed the first chunk loader.

how many chunks does a world anchor load? 3x3? of course you will have to place the second anchor within the area that the first anchor has loaded because otherwise either the turtle will move in unloaded chunks and be unloaded itself or it will not be able to move any further and stay where it is…

imagine the following grid:

[x] ... loaded chunk
[ ] ... unloaded chunk
[*] ... turtle location

first anchor is placed
[ ][ ][ ][ ][ ]
[ ][X][X][X][ ]
[ ][X][*][X][ ]
[ ][X][X][X][ ]
[ ][ ][ ][ ][ ]

turtle moves one block to the right of the center and places a second anchor
[ ][ ][ ][ ][ ]
[ ][X][X][X][X]
[ ][X][X][*][X]
[ ][X][X][X][X]
[ ][ ][ ][ ][ ]

turtle moves back to the middle and removes the first anchor
[ ][ ][ ][ ][ ]
[ ][ ][X][X][X]
[ ][ ][*][X][X]
[ ][ ][X][X][X]
[ ][ ][ ][ ][ ]

As you can see the turtle should always stay in a loaded area and it should work without any problems. But with the 16 blocks that you move you should never be able to move in an unloaded are so i don't really understand why it's not working.

One possibility that i could imagine:
Do your configurations require world anchors to be powered with ender pearls? Because if they do it might be that your world is not really loaded while you're gone.
ComputerCrafter #3
Posted 08 February 2013 - 06:34 AM
Or, if you play another mod pack (Not sure if tekkit classic has it) you could use a ChunkLoader, Looks like an enchanting table it is just gold. Just place it down and select the amount of chunks you want to load :P/> So maybe make it big enough that the turtle is just using the chunk loader?
theoriginalbit #4
Posted 08 February 2013 - 06:37 AM
Or, if you play another mod pack (Not sure if tekkit classic has it) you could use a ChunkLoader, Looks like an enchanting table it is just gold. Just place it down and select the amount of chunks you want to load :P/> So maybe make it big enough that the turtle is just using the chunk loader?
There are heaps of types, Dimension Anchor, World Anchor, ChickenChunks, MiscPeripherals Chunk Loading Turtle (which needs the Chunk loader from another mod), etc…
ComputerCrafter #5
Posted 08 February 2013 - 06:40 AM
Yea, this loader is literally called "Chunk Loader" I use it because then I can cover a huge distance without having to make multiple of them.
theoriginalbit #6
Posted 08 February 2013 - 06:41 AM
Yea, this loader is literally called "Chunk Loader" I use it because then I can cover a huge distance without having to make multiple of them.
I'm pretty sure ChickenChunks is still the best to date. It has the largest customisable area to load.
ComputerCrafter #7
Posted 08 February 2013 - 06:45 AM
Never heard of it before, will look into it sometime. I usually load about 310 chunks with my chunk loader only because I play on a server, that way all my friends can recieve the chunk loading goodness. And I use a minecart from steves carts that mines for me. This way it can run while I am away adventuring.
KaoS #8
Posted 09 February 2013 - 04:45 AM
Yea, this loader is literally called "Chunk Loader" I use it because then I can cover a huge distance without having to make multiple of them.
I'm pretty sure ChickenChunks is still the best to date. It has the largest customisable area to load.

don't you have to open their interface to activate them? I don't think turtles can activate them
theoriginalbit #9
Posted 09 February 2013 - 05:06 AM
don't you have to open their interface to activate them? I don't think turtles can activate them
Last i used them you didn't, but that was v1.0 so…….. could have changed
KaoS #10
Posted 09 February 2013 - 05:30 AM
yeah you right click it after placing and it assigns the loader to you so they can limit how much you load, you then configure what you want it to load

"Simply place the chunkloader down and open up the Gui. It now belongs to the person who placed it and chunks that it loads will count towards their limit. You can only open the Gui if you own the chunkloader."
kamikazekiwi3 #11
Posted 11 February 2013 - 05:43 AM
is the area where the turtle is when you log off chunk loaded? if not then of course the area automatically unloads and the program won't work.
if that is the case you would have to wait with logging of until the turtle placed the first chunk loader.

how many chunks does a world anchor load? 3x3? of course you will have to place the second anchor within the area that the first anchor has loaded because otherwise either the turtle will move in unloaded chunks and be unloaded itself or it will not be able to move any further and stay where it is…

imagine the following grid:

[x] ... loaded chunk
[ ] ... unloaded chunk
[*] ... turtle location

first anchor is placed
[ ][ ][ ][ ][ ]
[ ][X][X][X][ ]
[ ][X][*][X][ ]
[ ][X][X][X][ ]
[ ][ ][ ][ ][ ]

turtle moves one block to the right of the center and places a second anchor
[ ][ ][ ][ ][ ]
[ ][X][X][X][X]
[ ][X][X][*][X]
[ ][X][X][X][X]
[ ][ ][ ][ ][ ]

turtle moves back to the middle and removes the first anchor
[ ][ ][ ][ ][ ]
[ ][ ][X][X][X]
[ ][ ][*][X][X]
[ ][ ][X][X][X]
[ ][ ][ ][ ][ ]

As you can see the turtle should always stay in a loaded area and it should work without any problems. But with the 16 blocks that you move you should never be able to move in an unloaded are so i don't really understand why it's not working.

One possibility that i could imagine:
Do your configurations require world anchors to be powered with ender pearls? Because if they do it might be that your world is not really loaded while you're gone.

Yes, the initial area is chunk loaded. The demonstration described in my first post notes that the user must place the first chunk loader, while the turtle places a second one later as you described. I shared the code and all the details so that other people could reproduce this. Tekkit Classic 3.1.3 doesn't fuel world anchors with ender pearls - the block is simply placed and then you walk away. What I'm seeing suggests that when world anchors are placed, they don't load any unloaded chunks around them, they only keep chunks loaded.

The other chunk loaders available wouldn't work - Teleport Tethers only load a single chunk and Dimensional Anchors have a UI, which the turtles can't interact with.
KaoS #12
Posted 11 February 2013 - 09:45 AM
what about spot loaders? no GUI, load chunks when placed, not buggy…. just no documentation I can find
kamikazekiwi3 #13
Posted 12 February 2013 - 11:09 AM
what about spot loaders? no GUI, load chunks when placed, not buggy…. just no documentation I can find

My server only has World Anchors, Teleport Tethers, and Dimensional Anchors. Otherwise, using MiscPeripherals would be an easy solution. I tried this because I saw a few posts on this forum about how self-replicating turtles could work in combination with World Anchors.