Back to mods
The Block Keeps Ticking project artwork

CurseForge · Minecraft mod

The Block Keeps Ticking

Simulates block ticking and entity growth in unloaded chunks, so your farms, furnaces, and passive mobs keep growing and working even when you're far away.

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which The Block Keeps Ticking release should I use?

Updated 14 days ago
Latest stable file the_block_keeps_ticking-fabric-26.3-1.3.0.jar
Game version 26.3
Loader Fabric

The Block Keeps Ticking the_block_keeps_ticking-fabric-26.3-1.3.0.jar targets 26.3 with Fabric. The project page does not say whether this file belongs on the client, dedicated server, or both. All 1 required mods have matching files.

Where it goes

Is The Block Keeps Ticking required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release Fabric
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does The Block Keeps Ticking the_block_keeps_ticking-fabric-26.3-1.3.0.jar need?

the_block_keeps_ticking-fabric-26.3-1.3.0.jar. Change the file and its required mods may change too.

All 1 required mods have matching files

Install Fabric API first. We found matching files for this game-version and loader setup. 2 come through another mod in the chain.

5 listed on this file 2 pulled in by those mods
Mod Menu Optional for The Block Keeps Ticking the_block_keeps_ticking-fabric-26.3-1.3.0.jar
optional
Matching file found Matched file: v21.0.0 for 26.3
Fabric API Needed by The Block Keeps Ticking the_block_keeps_ticking-fabric-26.3-1.3.0.jar
required
Matching file found Matched file: [26.3] Fabric API 0.166.0+26.3
YetAnotherConfigLib Optional for The Block Keeps Ticking the_block_keeps_ticking-fabric-26.3-1.3.0.jar
optional
Matching file found Matched file: 3.9.7 for fabric 26.3
Mod Menu Optional for The Block Keeps Ticking the_block_keeps_ticking-fabric-26.3-1.3.0.jar
optional
Matching file found Matched file: 21.0.0
YetAnotherConfigLib (YACL) Optional for The Block Keeps Ticking the_block_keeps_ticking-fabric-26.3-1.3.0.jar
optional
Matching file found Matched file: 3.9.7+26.3-fabric

2 extra mods were pulled in by other dependencies. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add The Block Keeps Ticking without breaking your instance.

Built for The Block Keeps Ticking the_block_keeps_ticking-fabric-26.3-1.3.0.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use the_block_keeps_ticking-fabric-26.3-1.3.0.jar. It targets 26.3 with Fabric; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    Install Fabric API first. We found matching files for this game-version and loader setup. 2 come through another mod in the chain.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside the_block_keeps_ticking-fabric-26.3-1.3.0.jar. It opens that exact file at the source.

About this project

What does The Block Keeps Ticking add?

The Block Keeps Ticking

icon

^This wonderful mod icon was created by Sulmino_ on Twitter/X.^

Simulate block ticking and entities in unloaded chunks

The Block Keeps Ticking is a complete rewrite of Alive World, (which is a fork of Presence Not Required) that allows blocks and entities to continue progressing in unloaded chunks, so your farms, furnaces, and passive mobs keep growing and working even when you're far away.

Features

  • Simulate When Away: Simulate blocks and entities in unloaded chunks when you are away from those chunks.

  • Block Support:

    • Block Entities: Furnaces, Campfires, Brewing Stands
    • Crops & Stems: Wheat, Carrots, Potatoes, Beetroots, Torchflowers, Pumpkins and Melons
    • Nether Wart: Growth progression
    • Cocoa Beans: Growth progression
    • Trees: Sapling growth
    • Leaves: Decay progression
    • Growing Plants: Kelp, Bamboo, Sugar Cane, Cactus
    • Dried Ghast & Sniffer Eggs: Hydration and hatching progression
    • Budding Amethyst: Growth progression
    • Cauldrons: Water and lava dripping
    • Mud & Farmland: Mud above dripstone converting to clay, farmland hydration
    • Sweet Berry Bushes: Growth progression
  • Entity Support: Ageable mobs (growth toward adulthood), including chicken egg laying in unloaded chunks

^*Note: Due to the way Sniffer Eggs and Dried Ghasts are processed, some precision is lost during simulation.^

  • Time Modes: Choose between world time (only progresses when playing) or real time (progresses even when offline).

  • Simulate After Sleeping: Time skips (e.g. from sleeping) will simulate loaded chunks for the duration of the time skip.

  • Lazy Tax setting: Configure a percentage reduction of simulated ticks to slow down simulation for your prefered balance level.

  • Per-Object Configuration: Enable or disable simulation for specific blocks and entities individually.

  • Commands: Owner/op commands to inspect or change config and manually simulate chunks or blocks (see below).

  • Serverside: When installed on a server, players do not need to install the mod. Can also be installed in singleplayer worlds.

Configuration

You can configure the following values with ModMenu and YetAnotherConfigLib, by editing config\the-block-keeps-ticking.json, or with /tbkt config (see Commands).

  • Time Source: Choose between "World Time" (only progresses when playing) or "Real Time" (progresses even when offline). Real Time works well with lazy tax. (Default: World Time)

  • Simulate After Sleeping: When enabled, time skips (e.g. from sleeping) will simulate loaded chunks for the duration of the time skip. (Default: true)

  • Min Inhabited Time (ticks): Chunks with less inhabited time than this are not simulated. Keeps exploration lag down. 6000 is 5 minutes. 0 always simulates. Range: 0–24000. (Default: 6000)

  • Lazy Tax (%): Simulated ticks are reduced by this percentage. Increasing this value slows down simulation in unloaded chunks. Range: 0-99. (Default: 0)

  • Debug Logging: Enables detailed logging when simulation occurs, including scan vs simulate timings, inhabited-time skips, and staggered catch-up slices. (Default: false)

  • Ticking Objects: Individual toggles to enable or disable simulation for each supported block type and entity. All are enabled by default.

Commands

All commands require permission level 4. Also available as /theblockkeepsticking ....

  • /tbkt config: Lists current config values and set usage
  • /tbkt config reload: Reloads the config from disk and writes any missing defaults
  • /tbkt config set <option> <value>: Sets a general option (timeMode, lazyTaxPercent, simulateChunksWhenSleeping, minInhabitedTicks, debugLogging)
  • /tbkt config set tickingObject <true|false> <name>: Enables or disables a ticking object
  • /tbkt simulate chunk <ticks> [<chunkX> <chunkZ>]: Simulates all ticking objects in a loaded chunk. Omit coordinates to use the executing player's chunk
  • /tbkt simulate block <ticks> [<x> <y> <z>]: Simulates a single supported block or block entity. Omit coordinates to use the executing player's position

The chunk must be loaded for simulate chunk.

⚠️ Warning: This mod stores Fabric chunk attachments. Removing it may cause harmless log spam about unknown attachment types. This is a Fabric limitation, not a bug in the mod.


API usage

The Block Keeps Ticking exposes a small API so other mods can register their own ticking objects to be simulated in unloaded chunks.

Registering custom ticking objects

To register custom ticking objects for your mod:

  1. Create a TickingObject implementation for each block, block entity, or entity you want to simulate.
    Extend TickingObject and implement at least:

    • getType() – returns the class you want to handle (e.g. a Block, BlockEntity, or Entity subclass)
    • getName() – a unique name, only used for configuration and logging
    • Simulate(...) – contains the simulation logic

    Important: You are responsible for fully implementing your own Simulate(...) method. The Block Keeps Ticking only tells you how many ticks should be simulated and when. It does not provide default behavior or automatically advance your blocks or entities for you. To make this easier, there are helper methods available in the provided API and utility classes that you can call from inside your Simulate(...) implementation.

    Optionally override getModId() to return your mod's ID, so logs and config clearly show which mod registered the object.

  2. Expose a TickingAccessor (recommended)
    For vanilla or third‑party content, add the TickingAccessor interface to a mixin targeting the relevant class, and forward the simulation to your existing tick logic. For custom blocks/entities you can either:

    • implement TickingAccessor and delegate, or
    • implement the simulation logic directly inside your TickingObject (not recommended, but possible for simple blocks).
  3. Implement the InitializeTickingBlocks entrypoint
    Create a class in your mod that implements InitializeTickingBlocks and registers your ticking objects:

   public class YourTickingBlocksInitializer implements InitializeTickingBlocks {
       @Override
       public void registerTickingBlocks(TickingBlockRegistry registry) {
           registry.register(new YourTickingBlock());
           // register more ticking objects here if needed
       }
   }
  1. Register the entrypoint in fabric.mod.json
    In your mod's fabric.mod.json, add the theblockkeepsticking entrypoint pointing to your initializer:
   "entrypoints": {
     "theblockkeepsticking": [
       "[[YOUR-MODID]].YourTickingBlocksInitializer"
     ]
   }

When The Block Keeps Ticking initializes, it will discover all theblockkeepsticking entrypoints and call registerTickingBlocks, wiring your TickingObjects into the simulation system.

API example project

This repository includes an API example mod under the api-example folder. It demonstrates:

  • How to implement a custom TickingObject (TickingChestBlockEntity) for a vanilla ChestBlockEntity
  • How to use a mixin plus the TickingAccessor interface to bridge into existing tick logic
  • How to hook into the theblockkeepsticking entrypoint (APIExampleTickingBlocks) and register your ticking objects

You can use this example as a starting point for integrating your own mod with The Block Keeps Ticking.

Project description from CurseForge.

Pick your setup

The Block Keeps Ticking by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

12 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

The Block Keeps Ticking versions and loaders

11 of 11 releases match

Looking for an older file? The official CurseForge project page is in Resources.