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

QuarryMiner v0.1 [BETA - Need Testers]

Started by Noiro, 29 May 2014 - 01:23 PM
Noiro #1
Posted 29 May 2014 - 03:23 PM
QuarryMiner v0.1

Features:
  • Chunkloaded, walk away
  • Quarries a 32x32 area all the way down to bedrock. Consumes about 30k fuel doing so.
  • Dumps resources into an enderchest of your choice
  • Utilizes coal mined for fuel, dumps excess into storage system
  • Minimizes how much cobblestone goes into storage system, intelligent
  • Builds ceiling so people mining can be warned
  • Goes all the way to bedrock and strips most everything: Good for dark iron collection
  • Harvests dungeon chest-loot
Planned Features:
  • Return to surface if nearly out of fuel
  • Option to have turtle dump mining into a large chest at the surface instead of ender chest
  • Optimizations for speeding up invclear'ing function and increased efficiency to cover most area in least movements
  • Remote deployment to specified coordinates where he will mine and return when finished
  • Server/client restart persistence.
What I need from you:

Since this is a beta, that means not all features are up and running perfectly quite yet. I'm still tweaking and could use some feedback from testers. What are conditions I overlooked when testing, did something go wrong? What? Explain in detail what happened and circumstances by which it happened. If you happen to look through the code, feel free to give me advice on if I'm not following proper coding techniques or things I could work on/improve (ex. Use the d*** vector API!).

Changelogs:

SpoilerTinyFix no new version:
-Changed so moveAPI does not have to be in api folder, still has to be called 'move'

How to download:

This program requires my moveAPI. Downloads for it will be linked below. http enabled is suggested.

MoveAPI
http://pastebin.com/9QFxP4Ff

QuarryMinerBeta
http://pastebin.com/z7MkMz7M

Quick note: When I update, the pastebin url stays the same. A simple update program which deletes the programs and redownloads the new versions would work fine. I may incorporate this into its startup automatically and upon next boot, you'd be working with the latest version.

How to use

Give the turtle 20-30,000 fuel. Put the enderchest which connects to your sorting system in Slot 1 and a ChickenChunks chunkloader in slot 2. Run QuarryMiner, hit Enter, and give him a long while to do his thing. When finished, he should have returned to the surface with a piece of cobblestone beneath him and the chunkloader will have been mined up.
To check how he did, have flight available or lots of fall protection and mine 5 layers down. After the 5th layer, you will see a 32x32 hole going down to bedrock. Most bedrock should be visible with stone scattered a little bit and lava/water pools are expected.

BIG NOTE: If you get an error, redownload the miner. I initially had it require moveAPI be in the api folder (or go to one of the first lines in the code and change the import to: os.importAPI("move") instead of api/move).
Edited on 29 May 2014 - 04:48 PM
Noiro #2
Posted 08 June 2014 - 08:21 PM
Hey guys, here is a quick poll. In the next revision, I am considering: Do you guys want the turtle to consume about 40% less fuel at the cost of possibly missing a couple ores near the bedrock layer (for 2-3 y-layers, he'd miss all stone at the very bottom of bedrock about half the time)?

Or should I just make it configurable?
flaghacker #3
Posted 14 June 2014 - 09:14 PM
I think missing a couple ores would be fine, if it's more fuel efficient. I'll test this once I get my 3 diamonds for a turtle :D/>. I'm looking forward to reboot-persistence!
Noiro #4
Posted 16 June 2014 - 06:51 PM
I think missing a couple ores would be fine, if it's more fuel efficient. I'll test this once I get my 3 diamonds for a turtle :D/>. I'm looking forward to reboot-persistence!

The thing about reboot persistence is that for the time being, this specific program was designed to be used with a chunk loader. If the chunk loader does not move, that means that the turtle should not need to reboot.
I am in the process of integrating it with my swarm system and since the turtles will be using chunk loaders, I have no set reboot persistence as a high priority. The main issue I am running into is that the timing of when the server/client decides to reboot/chunk unloads is highly variable and even if I have the turtle save the position he is working his way to, move, then update that he successfully made it, if there is a reboot during that process, there is no verifiable way to ensure he is at certain coordinates on one of the axis. Generally x or z depending on where he is moving. Once I get my WorldEater script up and running, I will try to modularize this script to allow it to be used more on its own. I already do have the saving variables to a flat file and launching any program with those arguments in tact into an API. I just haven't integrated it into this program for it to work all the way.
flaghacker #5
Posted 23 June 2014 - 03:34 PM
I got chunkloaders, but if I restart my game, the computers also reboot.

I understand that it's not a toppriority, it would be a hassle to implement. I'll have to AFK then…