Programmable Robot Entities for Minecraft.
Warning right now the python environment is not sandboxed and unsecure so please use at your own risk. As of 10.3 it will filter any import outside the api based on a configurable regular expression.
The robots are programmed using Python which should be installed on the system. If using Windows, an embedded version can be used and the mod will download and unpack the embeddable version if it is enabled in the config. It also unpacks an API which is based off of the Mojang Python API from the Raspberry Pi version though heavily modified to prevent game breaking abilities. The API was inspired by the Raspberry Jam Mod though made to be more extensible for creating addons.
The mod requires the Rabbit GUI mod client side
Items and Crafting
The robot has a lot of functionality but it needs the proper expansion chips otherwise it doesn't know the commands.
Allows the robot to attack entities assuming it has a sword equipped. An entity ID must be passed as an argument and really the best way to find those is using the detection chip
Enables the robot to build using material from its inventory, will use it in order of slot unless specified which block to use.
Enables the robot to climb ladders and vines. Will also climb steps 1 block high although the new walk processor also allows the robot to do that without explicitly telling it to.
Enables the robot to detect nearby entities and returns a list of all that were found. Can be enchanded with the power enchantment to increase the range by 10 per level. Works really well with the attacking chip or as a sentry that can chat with the player.
Enables the robot to inspect the surrounding blocks returning the type found at that location. Really useful for pathing and mining.
Enables the robot to interact with simple redstone components, buttons, levers, doors, trapdoors.
Enables the robot to jump over a 1 block gap. Careful the robot will blindly jump whatever way it is facing so if the gap is too large it could plummet to its death.
What kind of robot in Minecraft would not have the ability to mine blocks? As long as it has inventory space blocks will go into the inventory, after that it will just drop them on the ground.
The remote is the most important part of interacting with the robots, it is needed to activate them and get to the programming screen.
Equipping this will enable the robot to be activated using a redstone signal. It will execute whatever code is currently saved to the SD card that is equipped.
The robot only has a basic memory, you can expand the number of lines that can be processed by adding more RAM.
Currently the robot doesn't spawn in the world it must be crafted and activated.
You can save your program to these SD cards, it will write the code to your computer and is also an exchangable item. Want to share your program with someone else? Save it to a card and give it to another player and the program will transfer over to them too.
Using your remote you can connect to robots within a 64 block area. Need to communicate with robots in different dimensions or over great distances? Use a SIM card.
Robots are weak but they are mostly immune to players attacks. Need to remove a robot you own? You will need a wrench.
Robot API Manual
Need some help remembering how the API works, make a manual for reference.
Warp over nearby robots to this block facing the set direction. Useful for setting inital starting direction and position.
- Robot Jammer
Since the robots are mostly immune to player attacks, the best defense from them to to jam their signal. The jammers affect everything in a 10 block area of them, preventing any code execution. If a robot walks into their path they will instantly stop executing code.
The robot itself is quite fragile and not able to enter some hazardous areas, but give him the correct suit and hes borderline invincible. The armor blocks all mob, explosive, and magic damage. The lava suit prevents any fire damage of any kind from hurting the robot and the scuba suit, well it allows them to dive underwater and not be affected by water currents.
- Robot Armor
- Lava Suit
- Scuba Suit
The GUIs are mostly built off of the Rabbit GUI Library so again this mod will not work without it.
Once you first create your robot and need to activate it you can give it a name. Otherwise a random one is generated.
The robot has an inventory, it has slots for various tools as well as the expansion chips. Note the information on the right will let you know what functions it has and other information.
The big component of the mod is programming so the mod includes a text editor with code highlighting and some simple suggestions. You can drag the screen around to get a better view and if you mouse off the interface it goes semi transparent.
There is also a terminal interface which puts you into the robots perspective and allows you to program the robots as if you were using the python IDLE from a command line.
Once you have multiple robots activated remember their names as you can use the remote to connect them.