Block Thermo API

Block Thermo API

A simple API provide developers with method of get temperature of any position.

by
48 Downloads
neoforgelibrary
Rent Server with this Mod

About this Mod

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

🔗 Links


💬 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.


Available Versions

0.2.1-build2 for Neoforge 26.1release
MC 26.1neoforge
April 16, 2026
0.2.1-build1 for Neoforge 1.21.1release
MC 1.21.1neoforge
April 3, 2026
0.1.1-build2 for Neoforge 26.1release
MC 26.1neoforge
April 2, 2026
0.1.1-build2 for Neoforge 1.21.1release
MC 1.21.1neoforge
April 2, 2026

How to Install Block Thermo API on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set neoforge Loader

In the panel under "Egg", select the neoforge loader and matching Minecraft version (26.1).

3

Install Mod

Open the mod browser in the dashboard and search for "Block Thermo API". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

neoforge

Minecraft Versions

26.1, 1.21.1

Server-side

Required

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

Block Thermo API server crashes on startup – what to do?

Most common cause: wrong neoforge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (26.1). You can switch loaders with one click in the panel.

Is Block Thermo API compatible with neoforge?

Block Thermo API officially supports neoforge for Minecraft 26.1, 1.21.1. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with Block Thermo API – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Block Thermo API consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install Block Thermo API with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
LicenseRef-All-Rights-Reserved
Server-side
Required

Supported Versions

26.11.21.1