Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou must get permission from me before you are allowed to modify my files to improve it
Conversion permissionYou can convert this file to work with other games as long as you credit me as the creator of the file
Asset use permissionYou must get permission from me before you are allowed to use any of the assets in this file
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are not allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Added a new `me.collect` command to tell the bot to start picking up debris around it. Use `me.collect false` to turn collection back off.
Version 1.4.0
Now compatible with Stardew Valley v1.6.
Updated MiniScript language to version 1.6.2 (https://miniscript.org/files/MiniScript-Release-Notes.txt).
Bots can now use a battery pack (using `me.useTool`). This consumes the battery, and fully recharges the bot.
Version 1.3.3
Fixed a new bug in v1.3.2 which caused errors using the Home Computer in multiplayer. (Oops.)
Version 1.3.2
Bots can now rearrange their inventory using a new `me.swapItem(index1, index2)` API.
A new `me.owner` API returns the name of the player that owns the bot (or home computer).
Home Computer now saves changes to `me.name` across sleeps or restarts.
Fixed a bug causing bots to fail to break weeds or small rocks/stumps that happened to be next to a large (unbreakable) boulder/stump.
Fixed some functions in /sys/lib/mathUtil that did not work, and added a few more (polygon and line-intersection functions) just to make it better match the version in Mini Micro.
Fixed handling of `dir` command (and related commands, like `file.children`) on the /net disk, or at `/` (the root containing all three disks).
Added missing ellipsis character to the font; updated /sys/lib/chars.
Fixed cosmetic glitches in /sys/demo/invaders and /sys/demo/textAdventure.
Version 1.3.1
Fixed rare bug in which `me.forward` would cause the bot to turn and move in some other direction.
Fixed crop harvesting.
Fixed an error that would occur when using `me.select` with the index of an empty slot.
Version 1.3.0
MULTIPLAYER SUPPORT! That's right, you can now enjoy Farmtronics technology in your co-op games! (Note that bot consoles are only accessible to the bot owner; but giving a bot to another player transfers ownership.)
A new /net disk is available; in a multiplayer game, this is shared among all players. (Contrast with /usr, which is unique to each player, and /sys, which is read-only.)
Renamed the `bot` module to `me` (short for "machine environment"), and made it accessible to the Home Computer as well, though actual bot-related properties and methods (like `energy` and `forward`) only do useful things on an actual robot; use `me.isBot` to tell if the code is running on a bot vs. the Home Computer.
Moved `screenColor` into the `me` module (still available as a global, for now, but this is deprecated -- please update your scripts).
`me.name` is now used by both the Home Computer and bots to identify themselves when posting messages to `world.chat`.
The Home Computer now has an [x] button near the top-left corner of the screen, which can be used to exit the computer UI even while a program is running.
Home Computer now (re)boots automatically at the start of each day, re-running any code you may have in startup.ms.
Tile info maps now include a `passable` entry, which is true (1) if the bot can travel through that tile, or false (0) otherwise.
Version 1.2.0
bots can now plant crops and place items into containers, machines, or signs via `bot.placeItem` (this, and most others this release, is thanks to HXPMods)
bots can now harvest crops or take completed items out of machines via `bot.harvest`
bots can now take items out of containers (e.g. chests or other bots) via `bot.takeItem n`, where `n` is the 0-based slot number of the item to take
tile info now includes the `inventory` (list of items) for a tile that contains a chest or other container
bots can now wear hats (just by having one in the last slot of their inventory)
currently selected item is now indicated by a dark red outline around the selected slot in the bot inventory UI
Version 1.1.1
added `mkdir` as an alias of `file.makedir`
added `world.chat` and `world.chatMessages` to allow bots and the home computer to interact with the in-game chat
fixed an error that prevented `bot.select` from working with a tool index (thanks to GitHub user Zelec)
the /usr disk and computer context are now properly reset when exiting to title
you can no longer exit the bot UI while moving an inventory item (preventing accidental loss of the item)
Version 1.1.0
`version.hostInfo` now shows the correct string for bots vs. the Home Computer
fixed the `tip` function (defined in /sys/startup.ms)
the "save a file" `toDo` task will now be satisfied even if you file is only 1 line
changed `world` to return a map of data, rather than a map of functions
added `world.weather` and `world.luck`
added "world" as a help topic
added help and (by-line) cut/paste to the editor
Version 1.0.9
Adds a new `world` instrinsic function for accessing date and time information (thanks to @renezaal).
Home computer and bots now start up automatically at the start of each day, auto-running their `startup.ms` script (also thanks to @renezaal!).
Reduced the debug logging sent to the SMAPI console.
Version 1.0.8
Bots once again regain full energy when you sleep.
Pressing the Page Up button no longer spawns a bot next to you.
Version 1.0.7
bots can now be assigned a name (via bot.name)
bots no longer lose their inventory when picked up
tile information (e.g. from bot.ahead or Location.tile) now includes information about characters (including the player)
bots are no longer stackable
Version 1.0.6
Fixed bug allowing bots to move through rocks, tree stumps, etc.
Bot UI can now be dragged: just click anywhere outside the screen or inventory, and drag. If your game view is big enough, this can let you position the UI so you can actually see your bot while giving it commands.
Added a new "invaders" demo in /sys/demo.
Bots now retain their energy value when you pick them up and put them back down. (NOTE: They still lose any inventory other than the starting tools! That will be fixed soonish.)
Version 1.0.5
Trying to update/replace a value in the `bot` module now works.
When you pick up a bot, and then select it in your inventory to put it down somewhere nearby, a "ghost" image of it no longer appears at its old location.
In the text/code editor, typing on the very last row of the screen no longer causes visual errors until you hit return or scroll the text.
Fixed bot duplication glitch that often occurred when placing a bot from inventory to the ground.
The command line cursor no longer gets misplaced when you type a multi-line input at the bottom of the screen.
Version 1.0.4
added bot.harvest command (harvests a crop if it's ready)
in tile info, crop details now include maxPhase and harvestable to help you know when a a crop is ready, plus name to tell you what the harvested product will be
item inventory info, for a watering can, now includes waterLeft and waterMax so the bot can tell how full its can is
key.pressed method now correctly reports state for most/all keys on the keyboard
editor has gotten some important work in preparation for clipboard support; for now, main difference is that you exit the editor with Control+Q rather than Control+X. (The Esc key also works.)
Version 1.0.3
Fixed bot duplication issues that could occur when breaking/picking up a bot while it was working.
Fixed related issues that could occur if you left the farm while a bot was working.
Fixed some save/load errors that could cause bots to be lost under some circumstances.
Version 1.0.2
Fixed crash that would occur when opening mail containing your first bot.
Fixed cosmetic error in editor when pressing Return after the last line of text.
Version 1.0.1
Now properly creates storage for the /usr disk, avoiding "invalid directory" errors.
`toDo` command no longer gets wiped out by the `reset` command.
`version.host` and `version.buildDate` are now properly filled in.
Added SMAPI update keys, so SMAPI can notify you when this mod is updated.
Farmtronics adds the Farmtronics Home Computer to the TV in your farmhouse. Simply select it from the list of channels, and the computer will appear, ready for your commands! Use the built-in help command to learn more about how to use it, and the toDo command to see a suggested series of tasks. The computer includes a number of built-in demo programs, and has full access to information about your farm, allowing you to immediately put it to good use.
When you have completed all the toDo tasks, you will receive your first Farmtronics Bot in the mail! These handy cybernetic farmhands can do almost anything you can do: use tools, water crops, plant seeds, etc. They can also sense their surroundings, and indicate their status by changing the color of their status light or screen.
The home computer and the bots are both programmed in the same language: MiniScript, a new-ish language designed to be especially clear and easy to learn. MiniScript has an active and friendly user community, so dive in and give it a try!
For more documentation and examples for using your new Farmtronics hardware, please see the Farmtronics Wiki.