21

Being a programmer doing tedious tasks always make me want to script it.

Is there a way to intelligently script Minecraft, reacting to the surroundings. Something like do this sequence of digging until something interesting happens?

  • 6
    It's possible to write a script to interact with Minecraft, sure. Are you asking if Minecraft directly supports scripting? – Matthew Read May 30 '11 at 19:19
  • Whatever works best, one important criterion is that its really interacting i.e. possible to react at what's around the miner. Only fixed sequences of commands have limited use and fun value. – Peer Stritzinger May 30 '11 at 19:22
  • Hard to choose an answer ... – Peer Stritzinger May 31 '11 at 10:49
  • You may want to talk to Earthcomputer, he might have something similar to this that you could use EDIT: found a repo on GitHub you should check out github.com/Earthcomputer/AutoScript – Grant Garrison Jul 24 at 16:59
9

In terms of automation, I've found quite a few interesting articles concerning using Autohotkey with Minecraft. Here's a nice forum thread for example. Obviously this isn't enough to react to what's happening in the game, the only way to do that is via a mod (I can't find any scripting mods), but it'll still allow for longer Minecraft sessions before the RSI kicks in.

6

The only possibility I know of would by Scripting via the mod WorldEdit (available both SSP and SMP via bukkit). It's using JavaScript for Scripts.

You can of course also figure out modding itself, using Java, which allows you to do anything. But be aware that Notch apparently re-obfuscates the code from version to version...

5

There is no scripting interface for Minecraft, however Notch mentioned he plans to add support for official mods which then you can make Minecraft do whatever you want, even to the point of writing your own scripting engine.

  • Why "of course"? – user7220 May 30 '11 at 21:34
  • 1
    Because the vast majority of games, as a matter "of course", do not have a scripting interface? – SevenSidedDie May 31 '11 at 0:56
  • or just poor wording – Resorath May 31 '11 at 6:17
4

Not really. You could try making a mod that adds a scripting interface, but I'm pretty sure it would require enough code that it would make more sense to just do the stuff yourself. You might want to check out the MineColony mod if you just want resources gathered.

3

Without an official and stable modding api, much effort for similar goals is wasted on reverse engineering and clearing up the messy architecture. Golem was an attempt at creating such automation but it is broken because Notch changes stuff. Things will be much better if Notch releases his modding api.

2

You can run a local server, install Bukkit, and code in Java against that.

Bukkit's a fairly flexible platform, but anything written against it will be a server-side plugin not client-side. The distinction's a bit blurry when you're playing alone, so this might not give you everything you want to be able to do.

2

Absolutely!

Look into ComputerCraft or OpenComputers. They are mods available for Minecraft. Both require the Forge Modloader. All three are free.

ComputerCraft allows you to automate almost anything imaginable using Lua-scripted robots that you make and program in-game. OpenComputers is pretty much the same but is thought to be more balanced and uses Scala instead of Lua.

ComputerCraft offers ways to connect stationary computers, to copy files on disks that act as in-game items, even ways to create wired and wireless in-game networks.

They are absolutely great tools for teaching kids programming. The Lua API for ComputerCraft is simple and robust. Buckets, shears, you name it, ComputerCraft can handle it.

Enjoy!

1

The (somewhat unimaginatively named) "Macro / Keybind Mod" is a client side mod that makes it possible to write relatively complex scripts which you can execute on any server (eg. vanilla).

It's currently awaiting an update to Minecraft 1.7 though (however it is normally only a few weeks behind when new versions come out).

I have used it to write tree-farming and wheat-farming scripts. Some people have written automatic miners too.

My most complex script got bones from a skeleton drop farm, crafted them into bonemeal, used the bonemeal to make wheat, and then traded the wheat with a villager for emerald.

1

This is not a direct answer to your question, but it's an example of scripting in Minecraft.

If you haven't heard about the Baritone Project I'll leave a link here: https://github.com/cabaletta/baritone

This is more or less like a program that can control your character inside the game to do various tasks. I haven't really used it but I've seen various videos of people using it on Youtube, for example, here I leave a link about a youtube that plays in the 2B2T server and talks about the Baritone Project as a way to use it in the server:

There are more related videos over the platform, and the first link I put has the code of the program, maybe there you could see what the people did in order to use scripts in Minecraft.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.