The Programmer is a block used to program Drones. This is done in a rather natural way: With puzzle pieces.
On the right you can see a list of all available puzzle pieces. There are multiple pages of these. To begin, drag a Start puzzle piece to somewhere on the screen. This is where every program starts. As you can see in the image, you can connect puzzle pieces. Let’s explain what happens here:
-The program starts at the Start piece.
-The program will perform the Inventory Import program. It has an Area puzzle piece connected to it, which specifies where it should import items from.
-The program will perform the Place program. The connected Area piece specifies where to place.
So vertically placed pieces are executed sequentially. Whether the Drone should execute the current program or move on to the next is dependent upon one condition: When the current running program is done. For every puzzle piece this is different, this will be explained.
Horizontally placed pieces act as parameters for the ‘main’ pieces (pieces that have a vertical input/output). These can be things like area’s, item filters or texts. When each of these are placed on the right, this means it’ll be added, whitelisted, to the piece. When placed on the left it will be blacklisted. for instance, if you have a Drone that you want to have attack every player but yourself, you could place a Text piece on the right with ‘@player’ (meaning every player). Then you place a Text piece on the left with your player name. So every player will be added (on the right), and you will be substracted (from the left).
There is a trick to speed up programming in certain situations: Middle-click a puzzle piece to copy the piece along with its properties (so a copied ‘area’ piece will contain the area of the copied piece).
The following is a list of all the different Programming Puzzles:
The Item Filter is a piece solely used as parameter for other pieces. You can do things like specifying which blocks/items are allowed to be picked up/placed/mined/… Start by right clicking the piece. Then you can either search for an item in the game by clicking ‘Search Item…’ or you can select an item from your inventory by clicking ‘Search Inventory…’.
Then you can apply some extra filter options. How these options work is displayed in the tooltip of the checkboxes.
The Area piece is a piece solely used as parameter for other pieces. To start, you need at least one (but preferably two) GPS-Tools. Select a coordinate with the GPS-Tool. Then, right click the ‘Area’ piece, and enter the GPS-Tool’s coordinate by clicking ‘Select GPS 1…’. Select the GPS tool from your inventory. Repeat this for the second coordinate.
Now you’ve selected two points and you can create different shaped areas with these. The following is a visual representation of all of them. The Gold Blocks represent the two selected coordinates with the GPS Tool.
Takes the two coordinates, creates a cuboid from them and fills it in.
Takes the two coordinates and creates a cuboid from them. It takes the blocks on the edges.
Takes the two coordinates and creates a cuboid from them. It fills in the sides of the cuboid.
The first coordinate is the center of the sphere. The second coordinate is one of the points laying on the outside of the sphere (thus specifying the diameter).
A line is drawn between the first and second coordinate.
X- and Z-Wall
A stair-shaped wall is drawn between the first and second coordinate.
A vertical wall is drawn between the first and second coordinate.
This piece can only be used as parameter for other pieces. For now its only purpose is supplying the Entity Attack piece to specify an Entity Filter.
@player –> allows all players only
@mob –> allows all aggressive creatures only
@animal –> allows all passive creatures only
@minecart –> allows minecarts only
@living –> allows all living entities only
@item –> allows item entities only
Creeper –> allows Creepers only
MineMaarten –> allows MineMaarten only
The start piece is the first piece in a program, the piece that starts the process. When the Drone gets to the bottom of the program, it’ll start again at this piece.
This will make the Drone move to the nearest inventory within the specified area. It will then take items from that inventory and it will put them in the Drone’s inventory.
You can specify from which side the Drone should extract the items from. This could be used for example to extract items from the Furnace’s output slot only. Right click the puzzle piece for this.
You can also apply an item filter by connecting up the Item Filter piece. With a filter, only items that are allowed by the filter will be retrieved from the inventories.
This program is done when the Drone’s inventory is full or when no more (allowed) items can be found in the inventories.
The Drone will move to the nearest inventory within the specified area to drop off items from the Drone’s inventory.
You can specify to which sides of the inventory the Drone should output its items by right clicking the piece.
You can also apply an item filter. With a filter, only items that are allowed by the filter will be exported by the Drone.
This program is done when the Drone’s inventory is empty (of the by the item filter allowed items), or when there’s no inventory within the area to output the items to.
This will make the Drone pick up items that are within the specified area. The Drone will put these items in it’s inventory. Keep in mind that the Area pieces connected to an Item Pick piece always will be interpreted with cuboid mode, regardless of the Area piece’s area mode. It’s possible to create strange shapes though by using whitelisting/blacklisting of areas.
You can apply an item filter. With a filter, only items that are allowed by the filter will be picked up.
The program is done when none of the (by the item filter allowed) items laying on the ground can fit in the Drone’s inventory or when there are no items left to pick up.
The Drone will place blocks from its inventory in the world. It will place blocks in the area specified and it will place blocks in locations that are the closest first.
You can control the order in which blocks are placed in some way. Right click the puzzle piece for this. You can specify if the Drone should place blocks layer by layer, and if so from top to bottom or vice versa.
Lastly you can specify which blocks from the Drone’s inventory the Drone is allowed to place by adding an Item Filter.
This program is done when the area is completely filled with blocks, or when the Drone’s inventory is empty of (allowed) blocks.
The Drone will dig/mine the blocks within the specified area. Items that are dropped from the blocks will not be picked up by the Drone. The order in which the blocks will be digged is similar to the Place piece’s. Also like with the Place piece, you can control whether the area should be digged layer by layer (top to bottom or bottom to top) or closest first.
You can specify which blocks are allowed to be mined by using an item filter. When used with things like crops, use the item that you get when you middle-click a crop (so Seeds for a Wheat crop).
Lastly you can increase the speed at which the Drone is digging by making the drone before digging first pick up some kind of digging tool (pickaxe) from an inventory, using the Inventory Import piece. Then the Drone will use that tool to dig the area. It’ll also use the enchantments on there like fortune and silk touch.
This program is done when every (valid and reachable) block within the area is mined.
Goto is pretty straightforward: The Drone will go to the nearest reachable location within the area.
This program is done when the Drone has reached the area, or when this area isn’t reachable. You can also set it up to make the Drone consider the Goto to be done when departing. This way you could make the target location of this Goto a ‘home’ location for when the Drone has nothing to do.
The Drone will attack every living creature within the area. Keep in mind that the Area pieces connected to an Entity Attack piece always will be interpreted with cuboid mode, regardless of the Area piece’s area mode. It’s possible to create strange shapes though by using whitelisting/blacklisting of areas.
You can specify which creatures are allowed to be attacked by using ‘Text’ pieces as Entity Filter. So if you want the Drone to attack all players, connect a ‘Text’ piece to the right of the ‘attk’ piece containing ‘@player’. If you don’t want to be attacked, connect up a ‘Text’ piece on the left containing your player name.