> For the complete documentation index, see [llms.txt](https://aspiro.gitbook.io/bfscript/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aspiro.gitbook.io/bfscript/project-info.md).

# Project Info

BFScript is a scripting language that makes implementing complex MCBE command systems easy & accessible!

Convenience & useability is my top priority when it comes to this project. If you have any ideas or suggestions for the project then join our Discord server & share your thoughts with us!

{% hint style="info" %}
<https://dsc.gg/bfscript>
{% endhint %}

<details>

<summary>👤Contributors</summary>

### 👑PhosphorusXD:

**Socials:**\
**-** Discord: "@phosphorusxd"\
\- Replit: "@phosxd"

Lead developer & original creator of the project.

</details>

<details>

<summary>🗄️Version History</summary>

## 1.2.1

**Released:** ?\
A quick fix, sticky lines generated from Statement type or Keyword Handler funtions would overwrite non-sticky lines in the same output file. I don’t know how I let this get passed me.

* Bug fix.
* Renamed BFSC\_statements is now BFSC\_kwHandlers & all references of "Statement type"(s) have been replaced with "kwHandler"(s).
* <mark style="color:green;">Added</mark> ability to define sort order & command names for Terminal Commands

## 1.2.0

**Released:** May 12th 2024\
Now much easier to modify & read source code. Also the parser/tokenizer is much better & has more capability if I ever need it.

The ZIP file containing the project now contains a README.md file & an EXE of the compiler.

* <mark style="color:green;">Added</mark> command terminal & "autoRun" config setting (default is "no").
* <mark style="color:green;">Added</mark> "when"/"event" statement.
* <mark style="color:green;">Added</mark> "clear", "clearspawnpoint", "difficulty" & "kill" commands to "cmd" statement.
* <mark style="color:green;">Added</mark> ability to chain multiple conditions together with "and" or "&" parameter in "if" & "loop while" statements.
* Statement types can now be referenced by multiple keywords instead of a single keyword. Every statement type now has multiple keywords.
* De-Centralized source code, each statement type is added as a seperate file. This makes modifying the code much easier.
* <mark style="color:green;">Added</mark> ability to nest lists.
* <mark style="color:green;">Added</mark> "defaultVarDomain" config setting (default is "bfsGlobals").
* Many minor changes..

## 1.1.1

**Released:** May 1st 2024\
More convenience 😃\
Also the default statement seperator in config files is now "\n" or a new line instead of a semicolon (";”). I wasn’t able to do this before due to the terrible parsing, but now it’s not as terrible ;D

* <mark style="color:green;">Revamped</mark> "cmd" statement. "cmd" is now actually useful & doesnt just do the same thing as "line".\
  Currently there are only 5 commands (Tellraw, titleraw, time, weather & event).
* <mark style="color:green;">Added</mark> variable domains.
* <mark style="color:green;">Added</mark> ability to define functions with parameters & call functions while passing parameters to them with call statements.
* <mark style="color:green;">Added</mark> ability to delete all variables in a group using "del".
* Other changes..

## 1.1.0

**Released:** April 25th 2024\
A huge update for BFSC!

* <mark style="color:green;">Added</mark> "group" statement.
* <mark style="color:green;">Added</mark> "line" statement.
* <mark style="color:green;">Added</mark> "call" statement.
* <mark style="color:green;">Overhauled</mark> loop statements, replaced old loop statement with for & while loops.
* <mark style="color:red;">Removed</mark> "reloop" statement.\
  Reloop re-used/called the given loop.
* <mark style="color:red;">Removed</mark> "break" statement. Break was used to end loops.
* <mark style="color:red;">Removed</mark> "is" & "isnt" conditional operators.
* <mark style="color:green;">Added</mark> "statementSeperator" setting to config. Default is ";".
* <mark style="color:green;">Added</mark> "ignoreAllErrors" setting to config. Default is "no".
* <mark style="color:yellow;">Fixed</mark> "!=" conditional operator throwing error: "Operator does not exist".
* <mark style="color:green;">Added</mark> support for comparing integers using "<" & ">" operators.
* <mark style="color:green;">Added</mark> support for "Int to Var" comparisons. Before, the Var always had to be first ("Var to Int").
* <mark style="color:red;">Removed</mark> variable definition checking.
* Many other changes & fixes..

## 1.0.0

**Released:** April 23rd 2024\
Github Repo: <https://github.com/phosxd/BFScript/tree/1.0.0>\
Replit Page: <https://replit.com/@phosxd/BFScript-Compiler>

</details>
