跳到正文

Overnight

作者:TomerGamerTV

Make your nights count. A Minecraft datapack and Fabric mod that accelerates crop, tree, and animal growth while players sleep.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Overnight Logo

☽ Overnight

Make your nights count.

A Minecraft Fabric mod and Datapack that accelerates crop, tree, and animal growth while players sleep.

Minecraft 26.1.2
Pack Format 101
Server + Singleplayer
License


📖 Description

Overnight makes sleeping in Minecraft actually meaningful. Instead of just skipping the night, your crops, saplings, and baby animals continue growing while you rest — as if time truly passed.

How It Works

  • Plants & Trees: When a player sleeps, the randomTickSpeed is temporarily multiplied by your configured rate (default 100x), causing all crops, saplings, sugar cane, cactus, bamboo, nether wart, and other vegetation to grow rapidly during the brief sleep window.
  • Animals: Baby animals have their Age tag accelerated each tick during sleep, making them grow toward adulthood faster (default 100x, but disabled by default).
  • Fire Safety: doFireTick is automatically disabled during sleep acceleration and restored when players wake up, preventing unwanted fire spread.
  • Clean Recovery: If the server reloads mid-sleep (/reload), original gamerules are automatically restored.

What’s Affected by Plant Growth?

All vegetation that uses random ticks, including:

| Category | Examples |
|—|—|
| Crops | Wheat, Carrots, Potatoes, Beetroots, Melon/Pumpkin Stems |
| Trees | All Sapling types (Oak, Birch, Spruce, Jungle, Acacia, Dark Oak, Cherry, Mangrove, Pale Oak) |
| Tall Plants | Sugar Cane, Cactus, Bamboo, Kelp, Vines, Dripleaf |
| Other | Nether Wart, Cocoa Beans, Sweet Berries, Chorus Plants, Mushrooms |

What’s Affected by Animal Growth?

All breedable baby animals in the #overnight:growable_animals tag:

Cow, Mooshroom, Sheep, Pig, Chicken, Horse, Donkey, Mule, Llama, Rabbit, Fox, Turtle, Panda, Polar Bear, Wolf, Cat, Ocelot, Goat, Axolotl, Camel, Sniffer, Bee, Hoglin, Strider, Villager

You can customize this list by creating your own data/overnight/tags/entity_types/growable_animals.json override.


📦 Installation

Fabric Mod

  1. Ensure you have the Fabric Loader and Fabric API installed for Minecraft 1.21.4 (snapshot 26.1.2 equivalent).
  2. Download the .jar file from Modrinth.
  3. Place the file into your .minecraft/mods/ directory (for singleplayer) or <server directory>/mods/ (for servers).
  4. Launch the game.

Datapack

  1. Download the datapack .zip file.
  2. Singleplayer: Place the .zip file into:
   .minecraft/saves/<Your World>/datapacks/
  1. Server: Place the .zip file into:
   <server directory>/world/datapacks/
  1. Run /reload in the console or in-game (or restart the world/server).

⚙️ Configuration

Fabric Mod Commands

The Fabric mod provides a dedicated /overnight command (requires OP/moderator level 2 permission):

| Command | Description |
|—|—|
| /overnight status | View the current configuration status and rates |
| /overnight toggle plants | Toggle plant & tree growth acceleration |
| /overnight toggle mobs | Toggle animal growth acceleration |
| /overnight rate plants <value> | Set plant growth rate multiplier (e.g. /overnight rate plants 200) |
| /overnight rate mobs <value> | Set animal growth rate multiplier (e.g. /overnight rate mobs 50) |

Datapack Commands

The Datapack version uses /function commands and features an interactive chat menu:

| Command | Description |
|—|—|
| /function overnight:config/menu | Open the interactive config menu |
| /function overnight:config/toggle_plants | Toggle plant & tree growth acceleration |
| /function overnight:config/toggle_mobs | Toggle animal growth acceleration |
| /function overnight:config/set_plant_rate {rate:N} | Set plant growth multiplier (e.g. {rate:200}) |
| /function overnight:config/set_mob_rate {rate:N} | Set animal growth multiplier (e.g. {rate:50}) |

Default Settings

| Setting | Default | Description |
|—|—|—|
| Plants & Trees | ON | Accelerate crop/sapling growth during sleep |
| Animal Growth | OFF | Accelerate baby animal growth during sleep |
| Plant Rate | 100x | Multiplier applied to plant growth / randomTickSpeed |
| Animal Rate | 100x | Multiplier applied to baby animal age progression |

Rate Guide

| Rate | Effect | Recommended For |
|—|—|—|
| 50x | Moderate growth boost | Survival purists who want a subtle benefit |
| 100x | ~80% of a full night’s growth per sleep | Default — balanced for most players |
| 200x | Significant acceleration | Players who want noticeable overnight progress |
| 500x | Extreme acceleration | Creative/testing (may cause brief lag) |


🔧 Technical Details

Architecture

  • Sleep detection: Polls SleepTimer NBT every tick using a single efficient selector
  • State machine: Tracks sleeping transitions (start → tick → stop) with scoreboard flags
  • Plant acceleration: Multiplies randomTickSpeed during the ~100-tick sleep window
  • Animal acceleration: Reads/modifies baby Age NBT via scoreboard operations each tick during sleep
  • Safety: Saves and restores randomTickSpeed and doFireTick gamerules, with fallback defaults

Performance

  • Tick function is a single execute store + 3 conditional checks (negligible overhead)
  • Mob growth only processes entities matching #overnight:growable_animals tag AND is_baby predicate
  • All acceleration only runs during the brief sleep window (~5 seconds in singleplayer)

Multiplayer

  • Acceleration activates as soon as any player sleeps (regardless of playersSleepingPercentage)
  • Deactivates when the last sleeping player wakes up
  • Works with vanilla sleep percentage rules and one-player-sleep datapacks

📁 Project Structure

Overnight-Datapack/
├── pack.mcmeta                          # Pack metadata (format 101)
├── pack.png                             # Datapack icon
├── LICENSE                              # CC BY-NC-ND 4.0
├── README.md
└── data/
    ├── minecraft/tags/function/
    │   ├── load.json                    # Hook: runs on load/reload
    │   └── tick.json                    # Hook: runs every game tick
    └── overnight/
        ├── tags/entity_type/
        │   └── growable_animals.json    # Baby animal types to accelerate
        ├── predicate/
        │   └── is_baby.json             # Efficient baby entity check
        └── function/
            ├── load.mcfunction          # Initialize scoreboards & defaults
            ├── tick.mcfunction          # Sleep state detection loop
            ├── sleep_start.mcfunction   # Save gamerules, apply acceleration
            ├── sleep_tick.mcfunction    # Per-tick mob growth dispatch
            ├── sleep_mob_tick.mcfunction # Baby animal age manipulation
            ├── sleep_stop.mcfunction    # Restore original gamerules
            ├── apply_plant_speed.mcfunction  # Calculate & set tick speed
            ├── set_tick_speed.mcfunction     # Macro: gamerule setter
            └── config/
                ├── menu.mcfunction          # Interactive chat config UI
                ├── toggle_plants.mcfunction # Toggle plant growth
                ├── toggle_mobs.mcfunction   # Toggle animal growth
                ├── set_plant_rate.mcfunction # Macro: set plant multiplier
                └── set_mob_rate.mcfunction   # Macro: set animal multiplier

📋 Credits

Created by @TomerGamerTV


📄 License

This project is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY-NC-ND 4.0).

You are free to share this datapack with proper attribution, but you may not use it commercially or distribute modified versions.

常见问题

Overnight 支持哪些 Minecraft 版本?

Overnight 支持 Minecraft Java 版 1.21.4–26.1.2,共 2 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

Overnight 怎么安装?

新建世界时在「数据包」里把下载的 .zip 拖进去;已有的存档,把文件放进存档目录下的 datapacks 文件夹,进游戏输入 /reload 即可生效。服务器同样放在世界目录的 datapacks 里。

评论

登录后评论和评分

TomerGamerTV 的其他作品

查看全部 →