Space Engineers

Space Engineers

874 ratings
Automatic Mining Platform by Kezeslabas
10
13
4
9
14
12
2
6
5
2
2
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
730.337 KB
27 Mar, 2019 @ 5:32am
5 Feb, 2022 @ 2:54am
35 Change Notes ( view )

Subscribe to download
Automatic Mining Platform by Kezeslabas

In 1 collection by Kezeslabas
InGame Scripts By Kezeslabas
3 items
Description
New version: v3.721 (Fixed cargo modules recognized incorrectly)
(Change Log in the Change Notes Tab.)

If you have any Questions or Issues with the script, you can write a reply to the Discussions.

This is a script that I made for my personal use.
I decided to polish and upload it, because I thought that someone else could find it useful as well.

The script uses Pistons, Drills and a Rotor to reach and mine out as many Stone/Ore as possible with that setup.

Components:
  • Basic Components (2+2):
    • Advanced Rotor (Exactly 1)
    • Drill(s) (1 or more)

    • (Optional) Horizontal Pistons(s) (0 or more)
    • (Optional) Vertical Pistons(s) (0 or more)
    (The script works with any combination of Pistons, even with 0 Pistons)

  • Advanced Components (6)
    • (Optional) LCD/Text Panel(s) (0 or more)
      • Displays the Progression and other informations.
    • (Optional) Antenna (0 or Exactly 1)
      • Required for the Broadcast Progression feature, where you can broadcast the LCD/Text Panel's data to another grid.
    • (Optional) Timer Block (0 or Exactly 1)
      • Starts when the mining is finished, so you can connect this script to other blocks/systems.
    • (Optional) Cargo Module (0 or more)
      • Can be any number of blocks with inventory.
      • Their filling % is gonna be displayed.
      • The Auto Pause/Start function is gonna use them as reference.
    • (Optional) Advanced Timer (0 or Exactly 1)
      • A Timer Block, but use the "/Adv/" tag in addition to the Main Tag.
      • Starts each time the Auto Pause/Start feature applies.
    • (Optional) Other LCD Block(s) (0 or more) (NEW)
      • Any block that has a built in LCD, like a Cockpit.
      • Needs additional configuration, by writing to it's Custom Data. (Details are inside the script.)
      • It differentiates the LCDs in the same way as MMaster's Auto LCDs 2 script does.
      • It works alongside MMaster's Auto LCDs 2 script, in the same Cockpit.


    Quick Setup
    • Rename the Components of the system, so they'll contain the main tag. (Which is "/Mine 01/" in default, but you can change it.)
    • In addition, add the "/Hor/" tag to the name of the Horizontal Pistons
    • Also, add the "/Ver/" tag to the names of the Vertical Pistons.
    • If you want to use a Vertical Piston Inverted, then add the "/Inv/" tag to it's name as well.

    Configuration:
    • You can configure the script in the Programmable Block's Custom Data.
    • There is a detailed information inside the script about what's what.

    How to Use:
    • If you've renamed everything and configured the script, then run it with the "Set" argument.

    • If you are seeing the "System: Ready to Start!" message in the detailed info, then run the script with the "Start" argument.

    • If you want to pause the mining, then run the script with the "Pause" as argument.
    • You can continue the mining with the "Start" command.

    • If you want to add an Advanced Component then rename it, then use the "Refresh" command.


    Notes
    Inside the script, you can find more detailed information about how to set up and use the script.
    It's recommended to read the description inside the script at least once, before you use it.

    Features
    • Mining Sequence:
      • The "Set" command is gonna set the Rotor and the Pistons to a Starting Position. If you Start the system, then the Mining Sequence begins, after the Starting Position is reached.

      • The Mining Sequence's algorithm:
        • Rotates the Rotor.
        • Repeat until Max Limit is reached for the Vertical Piston(s)
          • Repeat until Max Limit is reached for the Horizontal Piston(s)
            • Extends the Horizontal Piston
            • Rotates the Rotor
          • Extend Vertical Piston
          • Rotates the Rotor
          • Repeat until Min Limit is reached for the Horizontal Piston(s)
            • Retracts the Horizontal Piston
            • Rotates the Rotor

    • Adaptive Extension and Speed
      • Based on how many Horizontal Pistons and Drills are you using, the script adapts and finds the best configuration for the different values that it uses, like how much the Horizontal Pistons should extend or how fast the Rotor should turn.
        Most of this happens, when you run the "Set" command.
        (You can overwrite this by setting unique values in the 2.) Basic Configuration section.)

    • Inverted Vertical Pistons
      • You can use Vertical Pistons Inverted. They do the opposite of what a normal Vertical Piston would do. To mark an Inverted Vertical Piston, add the "/Inv/" tag to it's name.

    • Show Advanced Data
      • The script displays the progression in the detailed info of the programmable block, but you can use an LCDs as well if you want. If you enable this feature, then there's gonna be more information shown. Not recommended for servers.
        (You can enable this feature in the 2.) Basic Configuration section inside the script.)

    • Color Coded Screens (NEW)
      • The font color of the LCDs are changing based on the state of the Mining Platform and the script.
        (You can disable this feature in the 2.) Basic Configuration section inside the script.)

    • Broadcast Progression
      • You can broadcast the data that is shown in the Detailed Info and on the LCD/Text Panel(s) to another grid. You need an Antenna renamed properly in order to use the feature.
        (To set it up, follow the instructions inside the script in the 2.) Basic Configuration section.)
      • Use my Antenna Message Receiver script on the grid that you want to broadcast to.

    • Auto Pause/Start
      • If the Cargo Module blocks that you use have reached the High Limit then the script Pauses. The script Restarts itself if the Low Limit is reached in the Cargo Module blocks again. This way there is no stone/ore loss because of the lack of inventory. You can Start the Mining early, before the Low Cargo Limit is reached if you use the "Start" command.
        If there is no Cargo Module block detected, then the Drill is gonna be used as reference instead.
        (You can turn this feature off if you want in the 2.) Basic Configuration section inside the script. The High and Low Limit can also be configured there.)

    • End of Mining
      • When the mining is finished, the Piston(s) are gonna retracted, and the Drill(s) are gonna stop. Also, you can add a Timer Block to the script, that will be Started when the mining is finished.
Popular Discussions View All (20)
211
10 Jun @ 5:23pm
Questions and Help
Kezeslabas
1
19 Jul @ 9:05pm
Script runs, but does nothing
Daimonicon
80
13 Jun @ 1:42pm
Bugs and Issues
Kezeslabas
511 Comments
al_mondo 22 hours ago 
can this work without rotor?
HippieJesus 28 Jul @ 5:38pm 
when i try to compile script, i get "main method not found. Please add Main Method into script"
deathwallker3 22 Jul @ 8:04am 
Thank you for such a quick response :)
Kezeslabas  [author] 21 Jul @ 7:17am 
Hey! If you are experiencing issues with Clang, then the cause could be that the "Share Inertia Tensor" feature of the game got it's own world setting recently, and it is disabled by default.

This feature is crucial for keeping clang in bay, and the mining script manages this setting dynamically to reduce the chances of things blowing up.

However, if the feature is turned off in your world settings, then the script can't do anything to please Clang.

You can enable this feature if you go to "Load Game" in the main menu, select your world then click "Edit Settings", click "Advanced", scroll down and find "Enable Share Inertia Tensor" and click on the box so it is filled.

I hope this helps. @deathwallker3 @6666qq
6666qq 20 Jul @ 7:15am 
On behalf of Clang itself, I urge you, the creator of the script, to update it and make it work on behalf of Clang itself!!!!
deathwallker3 19 Jul @ 12:04pm 
Hello i know the like hood of me getting a response is zero but i might as well try. due to game updates im having tons of problems using this script due to clang. I would love to see a update come out for it here soon...
Villain.Zod 26 Jun @ 8:55am 
Resolved! I figured it out. A drill became damaged when it clipped the concrete skirt around my base. Once repaired, it all worked great. Great Stuff!!
Villain.Zod 25 Jun @ 9:07pm 
Help Please - Ore not moving from drills to any containers. Driller is on same grid as my base. Drills show they are on another grid (due to advanced rotor I am guessing). Any idea how to fix this? Do I need a merge block in this?
Meya 28 May @ 6:21pm 
This only works with old Drill seems to not recognize prototech drill if you are lucky enough to find one. Can do it old fashion way though with timers ^.^
Roflnomish 29 Apr @ 4:35pm 
idk if it's some weird mod conflict or maybe something to do with the new prototech drills being added now, but the script refuses to detect my drill even though it has the correct /Mine 01/ tag in the name :/