A Minecraft 1.7.10 Forge backport of Time in a Bottle behavior from the modern versions, rebuilt for legacy packs.
1.7.10 and Forge 10.13.4.1614.tiab:time_in_a_bottle, a max-stack-size 1 item that stores time while carried.storedTime, totalAccumulatedTime, timeRate, remainingTime, and position.20 ticks of stored time every second while the bottle is in a player inventory, capped by config.TileEntity.updateEntity() calls and random-tick blocks through extra random tick attempts./tiab addTime, /tiab removeTime, and a 1.7.10-compatible com.magorage.tiab.api package.This project prioritizes matching the behavior of the modern Forge branch while using APIs that actually exist in Minecraft 1.7.10.
The port keeps the same mod id and item id:
mod id: tiab
item id: tiab:time_in_a_bottle
It is intentionally a normal Forge mod, not a coremod. Registration uses 1.7.10-era GameRegistry.registerItem(...), EntityRegistry.registerModEntity(...), client/server proxies, .lang localization, and assets/tiab/textures/items/.
Using the bottle on an acceleratable block creates or upgrades a TimeAcceleratorEntity.
timeRate=1, displayed as x2.timeRate, so the overlay becomes x4, x8, x16, and so on.maxTimeRatePower.The default cost progression follows the modern branch:
x2 create: 30 seconds
x4 upgrade: 30 seconds
x8 upgrade: 60 seconds
x16 upgrade: 120 seconds
Creative players can create or upgrade accelerators without consuming stored time. Survival players must have enough time in the used bottle for the requested create or upgrade; insufficient requests are rejected.
The mod registers one root command:
/tiab addTime <seconds>
/tiab removeTime <seconds>
Both subcommands require permission level 2 and operate on the first Time in a Bottle item in the executing player's inventory. Values are clamped to the configured maximum and invalid or negative input is rejected.
The public addon API is available under:
com.magorage.tiab.api
The API keeps the modern structure but replaces modern Minecraft types with 1.7.10 equivalents, such as EntityPlayerMP, EntityPlayer, World, ItemStack, and integer block coordinates. Runtime access is provided through Forge FMLInterModComms, with config-based API mutation blacklisting preserved.
The generated Forge config includes:
maxTimeRatePower=8
eachUseDuration=30
averageUpdateRandomTick=1365
maxStoredTime=622080000
apiAccessBlacklist=[]
TileEntity.updateEntity() extra times; tile entities with unusual side effects may behave according to their own tick implementation.