MineStax

From Esolang
Jump to navigation Jump to search

MineStax is a joke interpreted programming language by User:ProfNinja and his daughter designed to run in Minecraft using the mc86 architecture.

The output of a program will be a wall of columns made of two colors. In practice the language acts on an infinite array of stacks with an active stack and a current color.

When a program begins all stacks are empty, one stack is the active stack and the current color is white.

Instructions

There are 6 instructions:

icdslr

i pushes one block of the current color onto the active stack
c toggles the active color between white and black
d duplicates the active stack into the position just to the left of the active stack and activates that stack
s stacks the active stack onto its righthand neighbor and activates that stack
l activates the stack to the left of the active stack
r activates the stack to the right of the active stack

For example the program iiiiiiiiiiiiiiii creates a column of 16 white blocks as does the program iidsdsds.

The language was designed to run inside of a Minecraft world using concrete powder which honors falling gravity.

Disregard all other characters including whitespace.

Examples

The Hello, World! program:

liidsdsdsslliiiscliscliiscliidsiiiscliiislliidsdsdsslliidsdsdssl
liidsdsdsslliidsdsdsslliidsdsdsslliiiscliidsdsiiiscliislliiiscli
iscliidsscliiscliidsislliiiscliscliidsiscliiscliidsislliiisclisc
liidsiscliiscliidsislliiiscliiiscliscliiiscliidsiislliidsscliids
iscliidsiiislliidsdsdsslliidsdsdsslliiiscliscliidsdsiiiislliiisc
liscliidsdsiiiislliiiscliidsdsiiiscliislliiiscliidsdsiiiscliisll
iiiscliscliidsdsiscliscliislliiiscliscliidsdsiscliscliislliidsds
dsslliidsdsdsslliidsdsiscliscliidsiislliidsdsiscliiscliidsisllii
dsdsiscliiscliidsislliidsdsiscliscliidsiislliidsiiiscliiiscliids
iislliiiscliidsdsscliidsislliidsdsdsslliidsdsdsslliidsiiscliscli
idsdsislliidsscliidsiiscliidsiislliiiscliiscliiiscliiscliidsiisl
liiiscliscliidsiscliiscliidsislliiiscliscliidsiscliiscliidsislli
iiscliiscliiiscliiscliidsiislliidsscliidsiiscliidsiislliidsiiscl
iscliidsdsislliidsdsiiscliiiscliiislliiiscliidsdsiiscliiislliiis
cliidsscliidsdsislliidsiscliidsscliidsiiislliidsiiscliidsscliids
iislliidsscliidsscliidsdsslliiiscliidsiiscliidsiiislliiiscliidsd
siiscliiislliidsdsiiiiscliscliiislliidsdsdsslliidsdsdsslliidsdsd
sslliidsdsdsslliidsdsdsslliidsdsdsslliidsdsdsslliidsdsdsslliidsd
sdsslliidsscliidsiscliidsiiislliiiscliiiscliiscliiscliidsiisllii
iscliscliidsiscliiscliidsislliiiscliscliidsiscliiscliidsislliiis
cliiscliidsscliscliidsiislliidsscliidsiiscliidsiislliidsiscliiis
cliidsdsslliidsdsdsslliiiscliscliidsdsiiiislliiiscliscliidsdsiii
islliiiscliscliidsdsiiiislliiiscliidsdsiiiscliislliiiscliscliids
dsscliiscliislliiiscliscliidsdsiscliscliislliiiscliscliidsdsiiii
slliidsdsdsslliidsdsdsslliiiscliscliidsdsiiiislliiiscliscliidsds
iiiislliiiscliidsdsiiiscliislliiiscliidsdsiiiscliislliiiscliscli
idsdsiscliscliislliiiscliscliidsdsiscliscliislliidsdsdsslliidsds
dsslliiiscliscliiscliiiscliidsiiislliiiscliscliiscliidsscliidsii
slliiiscliscliiscliiscliscliiscliidsislliiiscliscliiscliiscliscl
iiscliidsislliiiscliiscliscliiscliscliiscliidsislliidsscliidsiis
cliidsiislliidsiscliidsscliidsiiislliidsdsdsslliiiscliidsdsiiscl
iiislliiiscliidsdsiiscliiislliidsiiiscliiscliidsiiislliidsiiiscl
iiscliidsiiislliidsiiiscliiscliidsiiislliidsiiiscliiscliidsiiisl
liiiscliidsdsiiscliiislliidsdsdss

History

This language debuted as part of a Capture The Flag competition and has an implementation written using Minecraft commands to demonstrate making interpreters inside of Minecraft using the mc86.

Implementation

A Python interpreter and BW PNG translator

Minecraft Implementation

A program generator which converts PNG to an mc86 book

An mc86 implementation of the Hello World program

Classification

This language is not Turing complete and is output only. Certain programs in MineStax can act as a black and white image encoding.