
Canopy - Carpet Mod for Bedrock

Canopy is a powerful addon for Minecraft Bedrock Edition that gives you greater insight and control over the gameโs technical aspects.
Whether you're optimizing farms, gathering more in-depth game data, or just looking for tools to make survival more intuitiveโwithout losing the vanilla feelโCanopy provides the solutions you need.
With Canopy, you gain access to new commands and gamerules designed to help you understand, refine, and optimize your world.
Key Features
- Live InfoDisplay โ Get real-time stats on TPS, light levels, biome info, block/entity details, and more.
- Farm & Spawn Tracking โ Optimize efficiency with hopper counters and precise spawn monitoring.
- Tick Speed Control โ Slow down ticks for in-depth technical analysis.
- Modular & Expandable โ Add functionality with extensions and community add-ons.
- Built for Power and Performance โ Designed to run effectively and efficiently.
- And much, much more!
Consider watching these two videos to get a peek! These videos show each of Canopy's features in detail and how to use them.
Part 1:
Part 2:
Fan-Favorite Additions
InfoDisplay
The Canopy InfoDisplay is a HUD item that sits at the top right of your screen, giving you all kinds of useful information about your world in real time!
- coords - Shows the coordinates of the player truncated at 2 decimal places.
- cardinalFacing - Shows which direction the player is facing using N, S, E, W & the coordinate direction (ex. N (-z)).
- facing - Shows your facing yaw and pitch.
- chunkCoords - Shows the coordinates of the chunk you are in.
- slimeChunk - Shows whether the chunk you are standing in is a slime chunk.
- tps - Shows the server's current ticks per second (TPS).
- entities - Shows the number of entities in front of your player.
- light - Shows the light level of the block where your foot is.
- biome - Shows the biome you are currently in.
- worldDay - Shows the count of Minecraft days since the world began.
- timeOfDay - Shows the Minecraft day-cycle time as a 12-hour digital clock time.
- sessionTime - Shows the time since you joined.
- moonPhase - Shows the current phase of the moon.
- eventTrackers - Shows the counts of currently tracked events. (Tracking is controlled with ./trackevent.)
- hopperCounterCounts - Shows all active hopper counters in their respective colors.
- simulationMap - Shows a configurable map of simulated chunks -- nearby or far away.
- lookingAt - Shows the name of the block or entity you're currently looking at.
- signalStrength - Shows the signal strength of any block which has redstone power.
- peekInventory - Shows the inventory of the block or entity you're looking at. Can be particularly useful for debugging containers in spectator mode.
Featured Commands
Tick Command
Allows you to slow down the world's tick speed!
Usage: ./tick [mspt]
Sets the world's tick speed to the desired milliseconds per tick.
Usage: ./tick step [steps]
Makes the world at normal speed for the specified number of ticks. Leave the [steps] argument blank to step only one tick.
Usage: ./tick reset
Resets the world's tick speed to normal.
Usage: ./tick sleep [ms]
Makes the world wait for the desired milliseconds.
Camera Command
Allows you to switch to a survival-friendly spectator mode, or set up a tripod to view your work on-demand.
Usage: ./camera spectate
Toggles a survival-friendly freecam. It switches you to spectator mode with night vision and conduit power. When you are finished, just run the command again to return to your original position. Alias: ./cs
Usage: ./camera place
Places down a camera for you to view later on. Alias: ./cp
Usage: ./camera view
Toggles viewing your placed camera. Your player can still move around and interact as normal while viewing your placed camera. Alias: ./cv
Hopper Counters
Hopper Counters are a great way to count items and test farm rates. There are 16 channels, each named after a Minecraft wool color (red, cyan, light_blue, etc.). To get set up with a hopper counter, just place a hopper that faces into a wool block. When you place down your first hopper counter, a timer which is used to calculate item rates starts. Note: A hopper counter will only be created when you place it down, not when the two blocks are connected in other ways (pistons, structure blocks, cloning, etc.). This can easily be accounted for by just breaking and replacing the wool or hopper after cloning or, as in the case with a piston, moving a hopper above the hopper connected to the wool block.
Usage: ./counter
Displays information about the item counts in each channel. This includes metrics like the total items and items per hour, and the same divided up into individual item types. Alias: ./ct
Usage: ./counter [color]
Does the same as ./counter, but displays info for only one channel. Using the all keyword has exactly the same behavior as ./counter. Alias: ./ct <color> This command can also be triggered with the vanilla command /scriptevent canopy:counter [color] (ie. in a command block).
Usage: ./counter realtime
Displays information about the item counts using real-world time instead of Minecraft tick-based time to do rate calculations. You can also use ./counter <color> realtime to get the item counts for only one channel using the real-time calculation. Alias: ./ct realtime, ./ct <color> realtime
Usage: ./counter reset
Resets the count of all channels to zero and restarts the timer. Alias: ./ct <reset> This command can also be triggered with the vanilla command /scriptevent canopy:counter reset (ie. in a command block).
Usage: ./counter <color> reset
Resets the count of the specified channel to zero and restarts the timer for that channel. Alias: ./ct <color> reset This command can also be triggered with the vanilla command /scriptevent canopy:counter <color> reset (ie. in a command block).
In the InfoDisplay
Hopper Counters can be viewed in the InfoDisplay in real-time. By enabling the hopperCounters rule in the InfoDisplay, all active hopper counter channels will show up in your InfoDisplay. Additionally, you can change whether each channel is set to display how many items it's receiving per hour, minute, or second instead of the normal count using the command below.
Usage: ./counter <color|all> <mode>
Changes the mode of a channel while tracking hopper counters in the InfoDisplay. countMode displays a count of every item that passes through. perhourMode, perminuteMode, and persecondMode display the number of items per hour, minute, and second, respectively. Alias: ./ct <color> <mode>
Featured Rules
Universal Chunk Loading
Minecarts load a 5x5 chunk area around them for ten seconds after they are spawned.
Flippin Arrows
Using an arrow on a block will flip, rotate, or open it. Additionally, keeping the arrow in your offhand while placing blocks will place them down in the opposite direction they would normally face.
TNT Duping
This rule enables TNT duping! To dupe a block of TNT, it must be moved by a piston, adjacent to a note block, then ignited. The TNT will drop with the normal priming momentum (unless changed by another rule) in the block below where it was ignited. To get a sense for it, try a setup similar to the image below.
Auto Item Pickup
This rule will automatically place any blocks you mine straight into your inventory. The Careful Break rule will do the same, but only when you're sneaking.
Low Durability Swap
When your tool hits 0 durability left, it will be swapped elsewhere in your inventory.
Refill Hand
Replenishes your hand with items from your inventory when you run out.
Player Sit
Allows players to sit down anywhere they like. Three quick sneaks will make you sit down on the floor.
Insta-mineable Deepslate & Endstone
Makes deepslate and endstone and their variants insta-mineable when using an efficiency 5 netherite pickaxe with haste 2.
And much more!
There are many more features, and you can learn about each of them using the ./help command, or on the Canopy Wiki: https://github.com/ForestOfLight/Canopy/wiki
Looking for Bots?
Check out Understudy, a Canopy extension addon that gives you full control over simulated players in your world.
Need Help?
Come join our Discord server! We'd love to help you out!
Updated on March 29
What's New:
- Minecraft 1.21.70 support!
- ./canopy menu command: Opens a menu to toggle all global rules.
- ./info menu command: Opens a menu to toggle all InfoDisplay rules.
- carefulBreak rule: Automatically picks up items when breaking blocks while sneaking.
- ./peek command: Displays a UI representation of the target inventory.
- allowPeekInventory rule: Controls access to peekInventory, ./peek, and spyglass inventory peeking.
- peekInventory InfoDisplay rule: Now requires allowPeekInventory to be enabled.
- Extension functionality improvements:
- Rules now support onEnableCallback and onDisableCallback for event subscriptions.
- Descriptions now require RawText objects, enabling translatable strings.
Improvements:
- CanopyAdmin tag: No longer case-sensitive.
- tps InfoDisplay rule: Can now display values above 20 TPS.
- ./camera spectate fix: No longer prevents exiting spectator mode in certain cases.
- flippinArrows fix: Properly flips blocks when an arrow is in the offhand. Arrows are now placeable in item frames.
- TNT fix: Fuse length now behaves correctly in chain reactions.
- playerSit fix: Properly removes Canopyโs rideable entities to allow block placement.
- beeNoDrown rule removed: Bees donโt often drown in Bedrock like they do in Java.
- And more behind the scenes!