CurseForge · Minecraft mod
Control Blocks
Control Blocks are command blocks, but even better. Do more with less by coding with ControlScript, the mod exclusive Text-Based Coding Language
Quick answer
Which Control Blocks release should I use?
Control Blocks controlblocks-1.1.1.jar targets 1.20.2, 1.20.5, 1.20.1 with Forge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.
Where it goes
Is Control Blocks required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does Control Blocks controlblocks-1.1.1.jar need?
controlblocks-1.1.1.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add Control Blocks without breaking your instance.
Built for Control Blocks controlblocks-1.1.1.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use controlblocks-1.1.1.jar. It targets 1.20.2, 1.20.5, 1.20.1 with Forge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside controlblocks-1.1.1.jar. It opens that exact file at the source.
About this project
What does Control Blocks add?
Control Blocks Command Blocks You Script
Command blocks are great, and they unlock so many options and allow you to make incredible creations, but sometimes, for big projects it either gets much more complicated or too long! That is where this mod comes in; it allows you to code scripts in-game that can be triggered in multiple ways, such as
- Power with redstone;
- Powers each said tick;
- Power each said tick on powered with redstone;
You can make minigames, tools, and way more with only one block! With an easy language made just for this mod, with full documentation called Control Script.
Check out our GitBook documentation to learn more in detail about ControlScript at this link.
What version is the mod compatible with?
I am working hard to bring it to way more versions in the future and keep updating it.
**Modloader:** Forge **Minecraft Version:** 1.20.1 to 1.20.6 **Platforms:** Curseforge & Modrinth
How to get one?
Control Blocks are like Command Blocks, you can only get them via commands.
/give @p controlblocks:control_block
Check the documentation for full info!
How to support this mod?
I do not yet accept donations, tho, you can share this mod and help it get known if you want! Also, you can support it by creating a BisectHosting server with my affiliate link or even join my Discord server here.
DOCUMENTATION
This is not the full documentation; check the GitBook for the complete docs at this link.
Execution Modes
| Mode | Description |
|---|---|
| Pulse | Runs once when it gets a redstone pulse |
| Repeat | Runs every X ticks on its own |
| Redstone | Runs every X ticks, but only while powered |
ControlScript
ControlScript is a small scripting language written from scratch for this mod — no external libraries, no Lua runtime. Just a clean language that talks directly to Minecraft.
What the language supports
- Variables (
var x = 10) - Math (
+,-,*,/) - String concatenation (
..) - Conditionals (
if / elseif / else / end) - Comments (
--and--[[ ]])
Built-in Functions
| Function | Description |
|---|---|
log(message) |
Sends a message to all players in chat |
run(command) |
Runs a Minecraft command (op level 4) |
randint(min, max) |
Random integer between min and max |
round(number) |
Rounds to nearest integer |
abs(number) |
Absolute value |
outpower(level) |
Sets redstone output of the block (0–15) |
outpower(level, ticks) |
Pulses redstone output for X ticks then drops to 0 |
inpower() |
Reads the incoming redstone signal level (0–15) |
Quick Example
var player = "@p"
var roll = randint(1, 6)
log("You rolled a " .. roll)
run(give player minecraft:diamond roll)
run() works with any mod's items and commands — not just vanilla.
See more like Custom Function, get() and more in our documentation at this link.
Made by Web Demon
Project description from CurseForge.
Pick your setup
Control Blocks by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.20.5
1 loader build1.20.4
1 loader build1.20.3
1 loader build1.20.2
1 loader build1.20.1
1 loader buildCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
Control Blocks versions and loaders
controlblocks-1.1.1.jar
8 May 2026
controlblocks-1.1.0.jar
3 May 2026
controlblocks-1.0.0.jar
2 May 2026
controlblocks-0.9.0.jar
5 Mar 2026
controlblocks-0.1.0.jar
1 Mar 2026
Looking for an older file? The official CurseForge project page is in Resources.