Mineuniverse
Log in Register
Mods

Block Thermo API

A simple api provide developers with ability of get temperature of any position! [ColdSweat Supported!]
by DrownedCloud
Download Claim this project
58 downloads
0 likes
Updated Jul 6, 2026
0 hypes
API and Library

Block Thermo

A thermodynamic system for blocks


📖 About

Block Thermo is a thermodynamic system API mod for Minecraft 1.21.1 built on NeoForge. It provides a comprehensive temperature calculation system considering biomes, altitude, time, weather, and radiation sources, offering a powerful temperature API for other mods to use.

This mod features a modular design with extension points that allow other mods to customize various aspects of temperature calculation, including biome temperature, altitude modifiers, time modifiers, weather modifiers, and radiation modifiers.


✨ Features

Core Features

  • Precise Temperature Calculation - Multi-factor temperature calculation based on biomes, altitude, time, weather, and radiation sources
  • Modular Design - Extension points support, allowing other mods to customize temperature calculation logic
  • Complete API - Provides a full API for other mods to integrate and extend
  • Game Commands - Built-in temperature query and config reload commands
  • Config System - Supports custom dimension configurations, biome temperatures, and radiation source configurations
  • Multi-language Support - Supports English and Simplified Chinese

Temperature Calculation Factors

  • Biome Temperature - Base temperature based on biome, with custom configuration support
  • Altitude Modifier - Automatically adjusts temperature based on height
  • Time Modifier - Daily temperature changes (highest at noon, lowest at midnight)
  • Weather Modifier - Temperature offsets for clear, rain, and thunderstorm
  • Radiation Modifier - Detects nearby radiation sources (such as fire, lava, torches, etc.) and calculates their influence

🚀 Usage

Game Commands

Query current location temperature

/blockthermo temperature query

Displays detailed temperature information at your current location, including:

  • Base temperature
  • Altitude modifier
  • Time modifier
  • Weather modifier
  • Radiation modifier
  • Final temperature

Query temperature at specified location

/blockthermo temperature query <x> <y> <z>

Displays temperature information at the specified coordinates.


⚙️ Configuration

Mod configuration files are located in the config/block_thermo/ folder in your Minecraft directory.

Main Config (temperature_main.json)

Contains dimension settings, daily temperature ranges, weather temperature offsets, and radiation settings.

Biome Config (temperature_biomes.json)

Used to customize base temperatures and altitude change rates for specific biomes.

Radiation Sources Config (temperature_radiation.json)

Used to define radiation intensity for blocks.


🔧 For Developers

API Usage

Get Temperature

import com.drownedcloud.blockthermo.temperature.TemperatureCalculator;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level;

// Get temperature at current location
float temperature = TemperatureCalculator.getTemperature(level, blockPos);

Extend Temperature Calculation

Block Thermo provides multiple extension points for other mods to customize temperature calculation:

Biome Temperature Provider

ExtensionManager.setBiomeTemperatureProvider(new BiomeTemperatureProvider() {
    @Override
    public float getBaseTemperature(Biome biome) {
        // Custom biome base temperature calculation
        return biome.getBaseTemperature() * 30.0f;
    }
});

Altitude Temperature Provider

ExtensionManager.setAltitudeTemperatureProvider(new AltitudeTemperatureProvider() {
    @Override
    public float getAltitudeModifier(float altitudeRate, int y, int seaLevel) {
        // Custom altitude modifier calculation
        return altitudeRate * (y - seaLevel);
    }
});

Time Temperature Provider

ExtensionManager.setTimeTemperatureProvider(new TimeTemperatureProvider() {
    @Override
    public float getTimeModifier(Level level, float minTemp, float maxTemp) {
        // Custom time modifier calculation
        long dayTime = level.getDayTime() % 24000;
        return minTemp + (maxTemp - minTemp) * (1 - Math.abs(dayTime - 12000) / 12000.0f);
    }
});

Weather Temperature Provider

ExtensionManager.setWeatherTemperatureProvider(new WeatherTemperatureProvider() {
    @Override
    public float getWeatherModifier(Level level, float clear, float rain, float thunder) {
        // Custom weather modifier calculation
        if (level.isThundering()) return thunder;
        if (level.isRaining()) return rain;
        return clear;
    }
});

Radiation Temperature Provider

ExtensionManager.setRadiationTemperatureProvider(new RadiationTemperatureProvider() {
    @Override
    public float getRadiationModifier(Level level, BlockPos pos, int maxDistance, String decayType, Map<Block, Float> sources) {
        // Custom radiation modifier calculation
        return 0.0f;
    }
});

📋 Requirements

  • Minecraft: 1.21.1 or 26.1
  • NeoForge: 21.1.186 or higher
  • Java: 21 or 25

💬 Support

If you encounter any issues or have any suggestions while using this mod, please contact us through the following channels:

  • Submit an Issue on GitHub
  • Leave a comment in the CurseForge or Modrinth comments section

🤝 Contributing

Code contributions are welcome! Please submit a Pull Request or create an Issue to help improve this mod.


0.2.1-build2 for Neoforge 26.1
MC Client, NeoForge, Server, 26.1
Release 2026-04-16 Get

More from DrownedCloud

Diet - AppleSeed Edition
1,091

You Might Also Like

Vivecraft
A Minecraft VR mod on a loader of your choice!
9,988,339
Athena
A crossplatform (Forge/Fabric) solution to connected block textures for 1.19.4+
99,799,527
Lodestone
A collection of code used throughout projects under the Lodestar team.
9,914,417
TheDragonLib
A library for most of sokratis12GR's Mods
9,910,232
Multi Mob Library
A library mod containing essential files for Daveyx0's mob mods
9,892,767
FTB Library (Forge) (Legacy)
FTB Library is a library mod that is used for some of our mods.
98,265,314