Skip to content

I Taught A Monkey to Play Minecraft

Latest
Compare
Choose a tag to compare
@isXander isXander released this 29 Aug 12:39
· 11 commits to 1.19.x/dev since this release

I Taught A Monkey to Play Minecraft

Video

CLICK THE IMAGE TO PLAY VIDEO

ChrisDaCow youtube video - I taught a monkey to play minecraft

Features

Touchscreen Input

Kanzi, the Bonobo who used this mod, is not new to playing video game simulations. He's played on purpose built a small simulation to catch rabbits in a field. This input scheme was replicated in Minecraft:

  • looking around - tap the side of the screen to turn in that direction, after a few moments of non-input the pitch is reset, the pitch is also clamped
  • walking forward - tap in the center of the screen to walk forwards for a few moments.
  • interacting with the world - tap lexigrams found at the top of the screen
    It was also important to design this input to only use single taps, Kanzi is currently unable to understand holding down his finger or the screen or dragging across the screen, so holding down any of these buttons do not do anything.

The display that Kanzi used in the research center is a regular windows touchscreen display, meaning the touch just emulates the Windows cursor, so you can use this mod on your regular computer, operating it with the mouse.

Interacting with the world

The only way to interact with the world is to use the buttons provided at the top of the screen. The buttons available to Kanzi are:

  • Jump - not useful, autojump was used
  • Break - holds break until the currently hovered block is broken
  • Fight - punches (left clicks)
  • Use - toggles the use bind, pressing once will hold down, pressing again will release
  • Swim - toggles auto-swim, pressing once in water will make you sink, pressing again will hold down jump whilst in the water, making you float
    Upon pressing these, visual feedback is given and the Minecraft narrator speaks the lexigram.

I designed this system to be customizable on the fly, with a completely data-driven UI customization using a small UI framework I made for the project. You can see the one used in the video found attached as a file on this release, bonobo_interaction_area.json5. Place the file in .minecraft/config or use the auto-generated one on first launch for all the buttons visible by default. A guide of how to use this is present in the file, but some key features are:

  • rows and columns
  • abstract button render predicates
  • abstract button renderers
  • abstract button actions
  • element window anchoring

Other QOL

Some other small things added to make it a little easier for Kanzi, the researchers and Chris are:

  • more obvious block highlight
  • chat is hidden when mod is enabled
  • advancement toasts are disabled
  • auto-jump is defaulted to true in the options
  • mouse/keyboard tutorial toast disabled
  • YACL-gui configuration, found at the top left of title screen and pause screen. not in mod menu

How to use

Compatible with Sodium or Optifabric/Optifine