A polyvalent and simple scripting language.

Get Started
#Restart after changing this value
options:
	mapsize: 35

on render overlay:
	set {p} to player's location vector
	set {px} to x coordinate of {p}
	set {pz} to z coordinate of {p}
	set {py} to y coordinate of {p}
	push canvas matrix

	scale canvas by [12/@mapsize,12/@mapsize,1]
	draw colored rect at [3,3] with size [@mapsize*10+4,@mapsize*10+4] with color 0 without alpha
	for {i} in numbers in range of @mapsize:
		for {j} in numbers in range of @mapsize:
			set {x} to {px}+{i} - @mapsize/2
			set {z} to {pz}+{j} - @mapsize/2
			set {y} to terrain height at [{x},0,{z}]
			set {b} to block at [{x},{y}-1,{z}]
			set {color} to {b} color
			draw colored rect at [5+{i}*10,5+{j}*10] with size [10,10] with color {color} without alpha

	pop canvas matrix

A dedicated environment.

Sqript is aimed to be an easy language to learn, and to contribute to. You can add huge features to it, directly in Java or by scripting in order to add powerful elements to interact with while scripting.

For all uses.

Sqript provides a set of tools designed for all types of use, from the simplest to the most elaborate. From basic events to package management or OpenGL calls, many functions can be combined to create the most complex scripts.

Modular.

In addition to adding new features to Sqript, you can revisit absolutely everything via the Java language by creating your addon, from how files are read to the language paradigm.

Fast.

The architecture and the way scripts are executed is optimized. Their execution is faster than other scripting languages ​​dedicated to Minecraft.

The Sqript model.

Sqript provides different features to control the script execution.

Events.

Events are the basis for a sequence of actions in a script. They allow you to interact transversally with the game.

Actions.

An action is a line of script that acts on the game or the execution context, and is parameterized by expressions.

Expressions.

Expression are parameters for actions. They can be everything, and can also be parameterized by other expressions or by primitives.

Variables.

Variables are used to store data or references to data, such as a player's life or name.

Functions.

Functions can be used to execute a set of actions in a reusable, parameterized way, and may return a value at the end of their execution.

Networking.

Sqript enables efficient data communication between connected clients and a server, via synchronized variables or packets.

Addons.

Extend features of Sqript by using addons.