promotional bannermobile promotional banner

Ecotermico

EcoTermico is a realistic thermal simulation mod for Minecraft that adds dynamic temperature, weather, wind, water, shelter, environmental heat propagation, player thermal effects, and server administration tools.
Back to Files

EcoTermico-1.1.1.jar

File nameEcoTermico-1.1.1.jar
Uploader
LaercioAvilaLaercioAvila
Uploaded
Sep 7, 2026
Downloads
6
Size
845.7 KB
Mod Loaders
NeoForge
File ID
8830696
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:ecotermico-1685124:8830696"

Learn more about Curse Maven

What's new

1.1.1

EN-US — implementation complete

Starts EcoTermico — Guide Clarity, Climate Sleep and Unified HUD — V1.1.1.

Adds a unified instrument HUD enabled by default, combining Thermometer, Clock and Anemometer readings into one automatically stacked panel.

Keeps an optional legacy mode with independent HUDs and their individual positions.

Keeps thermal hearts separate from the instrument HUD because they represent health state and continue rendering directly over the health bar.

Sleep rules now consult EcoTermico local weather at the player instead of relying only on the world's global rain state.

When adverse-weather sleeping is blocked, local rain, snow, thunder and blizzards prevent bed use; locally dry biomes are not blocked merely because another region is raining.

Adds a dedicated Sleep & climate Guide page, improves Interface/Instruments/Administration wording and allows toggling the unified HUD directly from the Interface page.

Adds screen anchors for the unified HUD (all four corners), screen-bound clamping after resolution changes and Guide controls for anchor, X/Y, scale, section titles and reset.

Curios and other integrations remain optional, and the feature never force-loads chunks.

Centralizes unified/legacy HUD visibility rules and skips external-equipment scans when an instrument/HUD is disabled or the equipped rule is not in use.

Climate sleep never overwrites an existing Vanilla/other-mod rejection and skips weather lookup when the bed attempt is already blocked.

Closes the implementation checklist with Java 21 smoke coverage for weather, presence and layout; real clean test/clean build/runClient/runServer certification remains a separate release gate.

PT-BR — implementação concluída

Hotfix do Guia: corrige texto personalizado que podia ficar visualmente borrado/encoberto enquanto widgets permaneciam nítidos, renderizando os widgets antes das letras do Guia.

Corrige a página Desempenho para desenhar rótulos e valores nas mesmas linhas dos botões - / +, em vez de tentar desenhá-los dentro da área já reservada ao texto explicativo.

Inicia EcoTermico — Clareza do Guia, Sono Climático e HUD Unificada — V1.1.1.

Adiciona HUD unificada dos instrumentos, ativada por padrão, reunindo Termômetro, Relógio e Anemômetro em um painel com empilhamento automático.

Mantém modo legado opcional com HUDs independentes e suas posições individuais.

Mantém o coração térmico separado da HUD de instrumentos, pois ele representa estado de saúde e continua desenhado diretamente sobre a barra de vida.

A regra de sono passa a consultar o clima local do EcoTermico no jogador em vez de depender apenas do estado global de chuva do mundo.

Quando o sono em clima adverso está bloqueado, chuva, neve, trovões e nevasca locais impedem a cama; biomas localmente secos não são bloqueados apenas porque outra região está sob chuva.

Adiciona página Sono e clima ao Guia, melhora os textos de Interface/Instrumentos/Administração e permite alternar a HUD unificada diretamente na página de Interface.

Adiciona âncoras de tela para a HUD unificada (quatro cantos), limites de tela após mudança de resolução e controles no Guia para âncora, X/Y, escala, títulos e reset.

Mantém Curios e demais integrações opcionais sem dependência obrigatória e não força carregamento de chunks.

Centraliza a regra de visibilidade das HUDs unificada/legadas e evita varredura de equipamento externo quando instrumento/HUD está desativado ou quando a regra “equipado” não é usada.

A regra de sono não sobrescreve uma recusa Vanilla/outro mod e não consulta o clima quando a tentativa já está impedida.

Fecha a checklist de implementação com smoke tests Java 21 para clima, presença e layout; a certificação real clean test/clean build/runClient/runServer continua como gate separado de release.

1.1.0

EN-US — in development

V1.1 Stage 7 / API V1: stabilizes the public integration API; adds TemperatureAPI.API_VERSION=1, removes public core-service replacement, centralizes DTOs under api.model, and hardens providers against duplicates/null/exceptions.

V1.1 Stage 6: global audit of code, calls, caches, parameters, resources, and current documentation.

Adds effective hard caps to environment, room, room-temperature, and source-index caches so recent entries cannot grow beyond the safety limit.

Removes unused pre-release overloads/methods and strengthens non-finite (NaN/infinity) validation for external profiles and public thermal models.

Extends audit-v1.ps1 with V1.1 guards for Guide/Recipe Book, hard caps, clean API, chunk safety, finite numeric values, config parity, and current docs.

Consolidates README, API, architecture, configuration, performance, Curios, insulation, thermal-system, limitations, and release checklist for the actual V1.1 state.

Moves synchronized server display-default state into a common package and hardens the dedicated-server audit against client.* references outside the client tree.

Revalidates the CUSTOM-only cache TTL rule on the server so handcrafted payloads cannot bypass the GUI restriction.

V1.1 Stage 5: final network, administration, GUI, chunk-safety, optional-compatibility and documentation hardening.

Bounds administrator payload strings and rejects unknown configuration keys on the server.

Fixes administrator persistence so a failed configuration write is never followed by a false “saved” confirmation.

The performance page now shows the effective TTLs of the active preset and only allows environment/room/source TTL editing under CUSTOM.

Makes the EcoTermico Guide responsive on smaller screens and switches administrator controls to a compact layout when needed.

The one-time Guide delivery flag is only persisted after the player actually owns or receives the item.

Hardens public Level + BlockPos thermal queries: block, source and environment reads require an already-loaded central chunk and never force terrain generation/loading.

Removes the obsolete internal TemperatureMath shim; no binary-compatibility promise exists because the mod has not been published.

V1.1 Stage 4 adds a craftable EcoTermico Guide with table of contents, search, navigation, personal display settings and a permission-protected administrator area.

Adds a performance page explaining CPU/cache/TTL trade-offs, one-time Guide delivery, and recipe-unlock advancements for every EcoTermico recipe.

Keeps JEI optional with no JEI API dependency in the core mod.

V1.1 Stage 3 adds canopy/shade microclimates, direct sun, humidity/evaporation with wind, underground thermal stability and contribution-based debug output.

V1.1 Stage 2 adds a bounded persistent water thermal field, iterative propagation only through already-known cells, and biome-edge smoothing without loading chunks.

Adds public thermal tags for metal, insulation, permeability and hot/cold sources, plus /ecotermico blockprofile <x y z> profile-origin diagnostics.

Adds LIGHT, MEDIUM, HEAVY and CUSTOM simulation presets; LIGHT preserves the 1.0.20 cost/behavior reference.

Adds independent external profiles under config/ecotermico/thermal, with safe fallback when optional mods are absent or a profile fails.

Adds per-player display preference for server default, Celsius or Fahrenheit without changing internal Celsius calculations.

Consolidates the final technical identity to ecotermico / br.com.laercio.ecotermico; no previous namespace compatibility layer is kept.

Full NeoForge runtime certification still requires an environment able to obtain/use the Gradle 9.2.1 distribution and NeoForge dependencies.

PT-BR — em desenvolvimento

Documentação da API V1 ampliada em docs/API_FOR_MODS.md e docs/API_RETURN_REFERENCE.md, com lado SERVER/CLIENT, exemplo de uso e retorno de todos os métodos públicos.

V1.1 Stage 7 / API V1: estabiliza a API pública para integrações externas; TemperatureAPI.API_VERSION=1, remove substituição pública do serviço central, centraliza DTOs em api.model e endurece providers contra duplicidade/null/exceções.

V1.1 Stage 6: varredura global de código, chamadas, caches, parâmetros, resources e documentação vigente.

Adiciona hard caps efetivos aos caches de ambiente, recintos, temperatura de recintos e índice de fontes, evitando crescimento acima do limite quando todas as entradas ainda são recentes.

Remove overloads/métodos pré-release sem uso e reforça validação de valores não finitos (NaN/infinito) em perfis externos e modelos públicos.

Atualiza audit-v1.ps1 com guardas V1.1 para Guide/Recipe Book, hard caps, API limpa, chunks, finitude numérica, configuração e documentação atual.

Consolida README, API, arquitetura, configuração, desempenho, Curios, isolamento, sistema térmico, limitações e checklist de release para o estado real da V1.1.

Move o estado sincronizado de unidade padrão para um pacote comum e endurece a auditoria de dedicated server contra referências client.* fora da árvore cliente.

Revalida no servidor a regra CUSTOM para os TTLs de cache, impedindo que payloads manuais contornem o bloqueio da GUI.

V1.1 Stage 5: auditoria/hardening final de rede, administração, GUI, chunks, compatibilidade opcional e documentação.

Limita os campos do payload administrativo e rejeita chaves não reconhecidas no servidor.

Corrige o fluxo de persistência administrativa para nunca informar “salvo” depois de uma falha de escrita.

A página de desempenho passa a mostrar os TTLs efetivos do preset ativo e só permite editar os TTLs de ambiente/recinto/fontes no preset CUSTOM.

Torna o Guia responsivo em telas menores e reorganiza controles administrativos em layout compacto quando necessário.

A entrega única do Guia só é marcada como concluída depois que o jogador realmente possui ou recebe o item.

Endurece consultas públicas por Level + BlockPos: blocos, fontes e ambiente exigem chunk central já carregado e nunca forçam geração/carregamento de terreno.

Remove o shim interno obsoleto TemperatureMath, sem compromisso binário porque o mod ainda não foi publicado.

V1.1 Stage 4: adiciona Guia EcoTermico craftável com sumário, busca, navegação, configuração pessoal e área administrativa protegida por permissão.

Adiciona página de desempenho com explicações de CPU/cache/TTL, entrega única do Guia e advancements de desbloqueio para todas as receitas.

Mantém JEI como compatibilidade opcional, sem dependência de API no núcleo.

V1.1 Stage 3: microclima por copa/sombra, sol direto, umidade/evaporação com vento, estabilidade subterrânea e debug por contribuição.

Inicia EcoTermico — Realismo Térmico Ambiental, Propagação e Administração — V1.1.

Adiciona presets de simulação LIGHT, MEDIUM, HEAVY e CUSTOM; o preset LIGHT preserva a referência de custo/comportamento da 1.0.20.

Centraliza valores efetivos de raio térmico, caches, fontes indexadas, resposta de recintos e stacking por preset.

Adiciona propagação térmica limitada por materiais para MEDIUM/HEAVY e viés convectivo de calor para cima.

Evita o degrau artificial de resfriamento fixo ao entrar na água; a troca passa a considerar o ambiente local e a inércia configurada.

Remove o perfil genérico aplicado a todas as portas/alçapões e cadastra perfis explícitos Vanilla 1.21.1, incluindo resistência zero nos modelos vazados solicitados.

Adiciona perfis externos independentes por mod em config/ecotermico/thermal, com fallback seguro quando um mod estiver ausente ou um arquivo opcional falhar.

Adiciona aba criativa própria do EcoTermico.

Adiciona preferência pessoal de exibição: padrão do servidor, Celsius ou Fahrenheit, sem alterar cálculos internos.

Sincroniza a unidade padrão administrativa para o cliente no login.

Adiciona opção administrativa para bloquear uso de cama durante chuva/tempestades.

Consolida toda a identidade técnica do mod em EcoTermico: mod_id=ecotermico, pacote/API Java br.com.laercio.ecotermico e namespace ecotermico.

Remove a camada de compatibilidade de nome anterior, pois o mod ainda não foi publicado.

Build NeoForge completo continua dependendo do download da distribuição Gradle 9.2.1 no ambiente de validação.

Stage 2 adiciona campo térmico persistente de água com limite por preset e propagação somente entre células já conhecidas.

Stage 2 suaviza bordas térmicas de bioma sem carregar chunks e preserva o comportamento legado no preset LIGHT.

Adiciona tags térmicas públicas para metal, isolante, permeável e fontes quente/fria.

Adiciona /ecotermico blockprofile <x y z> para diagnosticar a origem do perfil térmico efetivamente aplicado.

1.0.20

EN-US

Implements the Advanced Thermal Survival, Emergency Equipment, Wind and Storms checklist.

Removes the ten-heart assumption from thermal health locking and uses the player's live MAX_HEALTH.

Keeps the default four blocked hearts exactly at the existing extreme threshold and allows additional progression under severe exposure.

Distributes severe progression across all remaining health points up to the configured physiological limit without changing damage thresholds.

Health is always locked from the last logical point toward the first, including multi-row heart HUDs.

Allows 100% of current capacity to become locked; losing the final usable point resolves death with the matching thermal damage source.

Existing periodic severe thermal damage remains active in parallel.

Adds pure-math validation for 20- and 40-point MAX_HEALTH cases.

Adds consumable Heat Pack and Freeze Pack items with a default five-minute, admin-configurable duration.

Heat Pack pauses only new frozen-heart locking; Freeze Pack pauses only new overheated-heart locking.

Packs do not heal, normalize body temperature, or suppress severe thermal damage.

Reuse restarts the emergency-marker duration without infinite stacking.

Adds deterministic smooth wind with sustained speed, gusts, meteorological direction, intensity and shelter exposure.

Integrates wind into perceived temperature without changing real ambient temperature.

Adds the Anemometer with complete readings, server-synchronized HUD and dedicated configuration.

Expands the Curios instrument slot to 3 spaces for Thermometer + Clock + Anemometer simultaneously.

Adds TemperatureAPI.getWind(...), WindSnapshot and pure-math wind validation.

Adds a regional atmospheric-instability index with stable, unstable, electrical-storm and severe-electrical-storm levels.

The score considers heat, humidity, precipitation, thermal trend, gusts, altitude and climate permission without using local heat sources as storm triggers.

Adds convective lightning with variable intervals, regional target distribution, per-update budgets and unloaded-chunk rejection.

Preserves lightning-rod attraction through the Vanilla LIGHTNING_ROD POI and leaves Vanilla thunderstorms untouched.

Integrates storm cells into wind through a smooth cached multiplier.

Replaces instant rain/snow cooling with configurable ramp-in/ramp-out thermal inertia.

Adds TemperatureAPI.getAtmosphere(...) and AtmosphericSnapshot.

Final Stage 5 assets add original 32x32 textures for Heat Pack, Freeze Pack and Anemometer.

Adds dedicated 18x18 icons for Emergency Warming and Emergency Cooling.

Heat/Freeze Pack no longer use fire_charge/snowball visual placeholders.

Refines the Anemometer HUD with a title, translucent panel and content-based sizing while preserving server-synchronized data.

Mirrors the new assets under /docs/assets and extends audit guards for presence, dimensions and SHA-256 integrity.

Completes all five stages of the 1.0.20 checklist; only clean test, clean build, runClient, and runServer certification remains on an environment that can access the Gradle/NeoForge dependencies. The Gradle 9.2.1 Wrapper is restored and SHA-256 verified.

PT-BR

Implementa o checklist Sobrevivência Térmica Avançada, Equipamentos de Emergência, Vento e Tempestades.

Remove o limite lógico de 10 corações do bloqueio térmico e passa a usar o MAX_HEALTH real do jogador.

Mantém 4 corações bloqueados por padrão exatamente no threshold extremo existente e permite progressão adicional durante condição severa.

Distribui a progressão severa pelos pontos de vida restantes até o limite fisiológico configurado, sem alterar thresholds de dano.

O bloqueio continua sempre do último ponto de vida para o primeiro, inclusive com múltiplas linhas de corações.

Permite bloquear 100% da capacidade atual; comprometer o último ponto resolve morte pela fonte térmica correspondente.

Mantém o dano severo periódico existente funcionando em paralelo.

Adiciona testes/harness para 20 e 40 pontos de MAX_HEALTH.

Adiciona Heat Pack e Freeze Pack consumíveis, com 5 minutos por padrão e duração administrável.

Heat Pack pausa somente novos corações congelados; Freeze Pack pausa somente novos corações superaquecidos.

Packs não curam, não normalizam temperatura corporal e não bloqueiam dano térmico severo.

Uso repetido reinicia a duração do marcador de emergência sem empilhamento infinito.

Adiciona vento determinístico e gradual com velocidade sustentada, rajadas, direção meteorológica, intensidade e exposição por abrigo.

Integra o vento à temperatura percebida sem alterar a temperatura ambiente real.

Adiciona Anemômetro com leitura completa, HUD sincronizado pelo servidor e configuração própria.

Amplia o slot Curios instrument para 3 espaços, permitindo Termômetro + Relógio + Anemômetro simultaneamente.

Adiciona TemperatureAPI.getWind(...), WindSnapshot e validação matemática do modelo.

Adiciona índice regional de instabilidade com níveis estável, instável, tempestade elétrica e tempestade elétrica severa.

O score considera calor, umidade, precipitação, tendência térmica, rajadas, altitude e permissão climática, sem usar fontes locais como gatilho.

Adiciona raios convectivos com intervalo variável, distribuição regional, orçamento por ciclo e rejeição de chunks descarregados.

Mantém atração por para-raios através do POI Vanilla LIGHTNING_ROD e não altera a tempestade Vanilla existente.

Integra células de tempestade ao vento por multiplicador cacheado e gradual.

Substitui o resfriamento instantâneo de chuva/neve por inércia configurável de entrada e recuperação.

Adiciona TemperatureAPI.getAtmosphere(...) e AtmosphericSnapshot.

Finaliza a Etapa 5 com texturas originais 32x32 para Heat Pack, Freeze Pack e Anemômetro.

Adiciona ícones próprios 18x18 para Aquecimento de Emergência e Resfriamento de Emergência.

Heat/Freeze Pack deixam de usar fire_charge/snowball como placeholder visual.

Refina o HUD do Anemômetro com título, painel semitransparente e dimensionamento pelo conteúdo, preservando dados sincronizados pelo servidor.

Espelha os novos assets em /docs/assets e amplia a auditoria para validar presença, dimensões e integridade SHA-256.

Conclui as cinco etapas do checklist 1.0.20; resta somente certificar clean test, clean build, runClient e runServer em ambiente com acesso às dependências Gradle/NeoForge. O Gradle Wrapper 9.2.1 foi restaurado e validado por SHA-256.

1.0.19

EN-US

Implements the EcoTermico — Hypothermia, Hyperthermia and Environmental Thermal Sources checklist.

Preserves the existing body thresholds (35.5 C, 33.5 C, 38.5 C, and 40.5 C) without moving the thermal-damage onset.

Adds synchronized half-heart progression, 8 steps (4 hearts) by default, driven by the same effective body temperature used by thermal consequences.

Turns thermal hearts into temporarily healing-locked health: each blocked half-heart locks 1 health point without modifying MAX_HEALTH.

Caps regeneration, food, potions, and other heal calls at the currently usable thermal health ceiling; returning to safe temperature progressively unlocks that ceiling without free healing.

Silently clamps current health when a newly increased lock falls below current health, without an extra damage event or knockback.

Adds the HUD renderer and dedicated frozen/overheated heart sprites, including left/right half variants.

Adds dedicated status effects/icons for Hypothermia, Freezing, Hyperthermia, and Heat Exhaustion, while preserving the real Vanilla debuffs.

Adds configurable Nausea during dangerous heat (heatNausea=true by default).

Tags thermal DamageTypes with minecraft:no_knockback to prevent physical knockback from damage pulses.

Changes Soul Campfire to cooling (-8 C) and adds Soul Lantern as a mild cooling source (-2 C).

Adds thermalHealthLock=true and thermalHeartOverlay=true, with backup copies of the new assets under /docs/assets.

PT-BR

Implementa o checklist EcoTermico — Hipotermia, Hipertermia e Fontes Térmicas Ambientais.

Mantém os limites corporais existentes (35.5 C, 33.5 C, 38.5 C e 40.5 C) e não antecipa nem atrasa o dano térmico.

Adiciona progressão sincronizada em meios-corações, por padrão 8 passos (4 corações), usando a mesma temperatura efetiva das consequências térmicas.

Transforma os corações térmicos em vida temporariamente bloqueada para cura: cada meio-coração bloqueia 1 ponto de vida sem alterar MAX_HEALTH.

Limita regeneração, comida, poções e demais chamadas de heal ao teto térmico disponível; ao normalizar a temperatura, o teto é liberado progressivamente sem cura automática.

Ajusta silenciosamente a vida quando um novo bloqueio passa abaixo da vida atual, sem gerar dano ou knockback adicional.

Adiciona renderer do HUD e sprites próprios de coração congelado/superaquecido, incluindo metades esquerda/direita.

Adiciona efeitos/ícones próprios: Hipotermia, Congelamento, Hipertermia e Exaustão térmica, preservando os debuffs Vanilla reais.

Adiciona Náusea configurável durante Hipertermia/Exaustão térmica (heatNausea=true por padrão).

Marca os DamageTypes térmicos com minecraft:no_knockback, evitando empurrão físico nos pulsos de dano.

Inverte a Soul Campfire para resfriamento (-8 C) e adiciona Soul Lantern como fonte de resfriamento leve (-2 C).

Adiciona thermalHealthLock=true e thermalHeartOverlay=true e mantém backups dos novos assets em /docs/assets.

1.0.18

EN-US

Fixes the JUnit runtime for tests integrated with Minecraft/NeoForge.

Enables neoForge.unitTest in ModDevGradle and points testedMod to the technical ecotermico mod (EcoTermico branding).

Fixes the NoClassDefFoundError / ClassNotFoundException failures seen in 4 out of 35 tests after the JUnit Platform Launcher fix in 1.0.17.

Keeps every test enabled; no test was skipped or removed just to make the build pass.

Adds audit guards so the unitTest configuration cannot be accidentally removed.

Updates the project to 1.0.18 and adds docs/VALIDATION_1.0.18.md.

PT-BR

Corrige o runtime dos testes JUnit integrados ao Minecraft/NeoForge.

Habilita neoForge.unitTest no ModDevGradle e aponta testedMod para o mod técnico ecotermico (branding EcoTermico).

Corrige os NoClassDefFoundError / ClassNotFoundException observados em 4 dos 35 testes após a correção do JUnit Platform Launcher da 1.0.17.

Mantém todos os testes ativos; nenhum teste foi ignorado ou removido para fazer o build passar.

Adiciona guards na auditoria para impedir a remoção acidental da configuração unitTest.

Atualiza a versão para 1.0.18 e adiciona docs/VALIDATION_1.0.18.md.

1.0.17

EN-US

Fixes the gradlew clean test failure on Gradle 9.x caused by the JUnit Platform Launcher being absent from the test runtime classpath.

Adds testRuntimeOnly 'org.junit.platform:junit-platform-launcher' while keeping JUnit Jupiter and the 5.11.4 BOM.

Removes the deprecated bus = EventBusSubscriber.Bus.MOD parameter from the client bootstrap; FMLClientSetupEvent remains registered through the client-side @EventBusSubscriber.

Replaces deprecated Level#hasChunkAt(BlockPos) checks with level.getChunkSource().hasChunk(chunkX, chunkZ).

The new checks still inspect only already-loaded chunks and do not force chunk loading.

Updates EcoTermico to version 1.0.17 and adds validation notes in docs/VALIDATION_1.0.17.md.

PT-BR

Corrige a falha de gradlew clean test no Gradle 9.x causada pela ausência do JUnit Platform Launcher no runtime de testes.

Adiciona testRuntimeOnly 'org.junit.platform:junit-platform-launcher' mantendo JUnit Jupiter e o BOM 5.11.4.

Remove o uso do parâmetro depreciado bus = EventBusSubscriber.Bus.MOD no bootstrap cliente; o FMLClientSetupEvent continua sendo registrado pelo @EventBusSubscriber no lado cliente.

Substitui verificações depreciadas Level#hasChunkAt(BlockPos) por level.getChunkSource().hasChunk(chunkX, chunkZ).

As novas verificações continuam consultando apenas chunks já carregados e não forçam carregamento de chunks.

Atualiza a versão do EcoTermico para 1.0.17 e adiciona a validação em docs/VALIDATION_1.0.17.md.

1.0.16

EN-US

Removes the former development suffix from all public project versions.

The official version format is now 1.0.x; the current version is 1.0.16.

Renames implementation, audit, and validation reports to use clean versions, such as docs/AUDIT_1.0.15.md and docs/IMPLEMENTATION_1.0.15.md.

Removes set-version.bat, scripts/set-version.bat, and scripts/set-version.ps1.

build.bat and scripts/build.ps1 now only build the version already defined in gradle.properties; they no longer change the version automatically.

Updates build documentation to state that version changes must be made together with source-code changes.

Reorganizes the changelog so PT-BR and EN-US are provided in the same file.

Keeps the EcoTermico branding, new logo, and command aliases introduced in 1.0.15.

Uses the definitive technical identity: mod_id=ecotermico, resource/datapack namespace ecotermico, and Java package br.com.laercio.ecotermico.

PT-BR

Remove o antigo sufixo de desenvolvimento de todas as versões públicas do projeto.

A versão oficial passa a seguir o formato 1.0.x; a versão atual é 1.0.16.

Renomeia relatórios de implementação, auditoria e validação para usar versões limpas, como docs/AUDIT_1.0.15.md e docs/IMPLEMENTATION_1.0.15.md.

Remove set-version.bat, scripts/set-version.bat e scripts/set-version.ps1.

O build.bat e scripts/build.ps1 agora apenas compilam a versão registrada em gradle.properties; eles não alteram a versão automaticamente.

Atualiza a documentação de build para deixar explícito que a versão é alterada junto com as mudanças do código.

Reorganiza o changelog para oferecer PT-BR e EN-US no mesmo arquivo.

Mantém o branding EcoTermico, o novo logo e os aliases de comando introduzidos na 1.0.15.

Mantém mod_id=ecotermico, namespace de resources/datapacks e pacote Java antigos para compatibilidade com mundos, configurações e addons existentes.

1.0.15

EN-US

Renames the mod's public identity to EcoTermico, including metadata, Gradle project name, messages, documentation, logo, and JAR name.

Adds /ecotermico with /eco as its short alias.

Fixes the optional Curios integration so items in disabled/inactive slots are ignored.

Thermal protection, insulation, active heating/cooling, and immunity from a Curio only apply when ICuriosItemHandler#isSlotActive(identifier, slot) returns true.

Keeps Curios fully optional; behavior is unchanged when Curios is not installed.

Reduces duplicated thermal resolution work in the player cycle and snapshots.

Preserves older public signatures as @Deprecated(forRemoval=false) where applicable to avoid breaking addons.

Completes the call-site and Java 21 compatibility audit. See docs/AUDIT_1.0.15.md.

PT-BR

Renomeia a identidade pública do mod para EcoTermico, incluindo metadata, projeto Gradle, mensagens, documentação, logo e nome do JAR.

Adiciona /ecotermico e /eco.

Corrige a integração opcional com Curios para ignorar itens em slots desativados/inativos.

Proteção térmica, isolamento, aquecimento/resfriamento ativo e imunidade de um Curio só contam quando ICuriosItemHandler#isSlotActive(identifier, slot) retorna true.

Mantém Curios totalmente opcional; sem Curios instalado, o comportamento do mod não muda.

Reduz resoluções térmicas duplicadas no ciclo do player e nos snapshots.

Preserva assinaturas públicas antigas como @Deprecated(forRemoval=false) quando aplicável, evitando quebra de addons.

Fecha a auditoria de chamadas e compatibilidade com Java 21. Veja docs/AUDIT_1.0.15.md.

1.0.14

EN-US

Pre-release audit with robustness and gameplay fixes.

Vanilla Resistance now provides meaningful tolerance against thermal consequences.

Defensively normalizes body-temperature thresholds.

Reduces repeated equipment resolution.

Prevents repeated failing external providers from spamming errors.

Keeps Curios as compileOnly API with optional local runtime for development.

Aligns the NeoForge base to 21.1.248.

Documents local/visual weather as a remaining requirement for fully replacing Serene Seasons weather behavior.

PT-BR

Auditoria pré-release com correções de robustez e gameplay.

Resistance Vanilla passa a aumentar a tolerância real às consequências térmicas.

Normaliza defensivamente thresholds corporais.

Reduz resoluções repetidas de equipamento.

Evita spam de falhas repetidas de providers externos.

Mantém Curios como API compileOnly e runtime local opcional no ambiente de desenvolvimento.

Alinha a base NeoForge para 21.1.248.

Documenta como pendência real a camada de weather local/visual necessária para substituir completamente a meteorologia do Serene Seasons.

1.0.13

EN-US

Completely removes Serene Seasons integration, dependency, and configuration.

Adds EcoTermico's internal seasonal calendar, enabled by default.

Adds daysPerSeason, startingSeason, and calendarOffsetDays.

Implements smooth seasonal temperature transitions.

Adds the SeasonCycle API.

Keeps Curios fully optional.

Existing precipitation can be classified as rain/snow according to seasonal temperature and biome profile rules.

PT-BR

Remove completamente a integração, dependência e configuração do Serene Seasons.

Adiciona calendário sazonal interno do EcoTermico, ativado por padrão.

Adiciona daysPerSeason, startingSeason e calendarOffsetDays.

Implementa transição térmica sazonal suave.

Adiciona a API SeasonCycle.

Mantém Curios totalmente opcional.

Classifica precipitação existente como chuva/neve com base na temperatura sazonal e nas regras do perfil do bioma.

1.0.12

EN-US

Fixes snow/rain classification using Biome#getPrecipitationAt.

Removes dependency on isRainingAt for snow classification.

Makes Digital Thermometer actions server-authoritative through an S2C payload.

Thermometer and clock HUDs share external-instrument presence cache per player/tick.

Strengthens audits for all 64 Vanilla biomes, backup integrity, and pre-release guards.

Adds scripts/pre-release.ps1.

PT-BR

Corrige a classificação de neve/chuva usando Biome#getPrecipitationAt.

Remove a dependência de isRainingAt para decidir neve.

O Termômetro Digital passa a depender de autorização server-side e payload S2C.

HUDs de termômetro e relógio compartilham cache de presença de instrumentos externos por player/tick.

Reforça auditorias dos 64 biomas, integridade de backups e guards de pré-release.

Adiciona scripts/pre-release.ps1.

1.0.11

EN-US

Adds the detailed Digital Thermometer screen.

Adds per-client °C/°F units for HUD and thermometer screen.

Adds translatable thermal-state and weather formatting.

Fixes Fahrenheit delta conversion.

Adds a dedicated Curios toggle and compatibility/configuration improvements.

PT-BR

Implementa a tela detalhada do Termômetro Digital.

Adiciona unidade °C/°F configurável por cliente para HUD e tela.

Adiciona formatação traduzível de estado e clima.

Corrige conversão de deltas Fahrenheit.

Adiciona toggle dedicado para Curios e melhorias de compatibilidade/configuração.

1.0.10

EN-US

Improves multiplayer and dedicated-server robustness.

Staggers player body-temperature updates.

Adds post-tick thermal invalidation, coalescing, per-tick budget, and dimension fallback clearing.

Adds public invalidation/statistics APIs.

Adds static dedicated-server auditing.

PT-BR

Melhora robustez multiplayer e servidor dedicado.

Escalona atualizações corporais por player.

Adiciona invalidação térmica pós-tick, coalescência, orçamento por tick e fallback por dimensão.

Adiciona API pública de invalidação e estatísticas.

Adiciona auditoria estática de dedicated server.

1.0.9

EN-US

Adds the complete Biome Climate Data Map.

Includes profiles for all 64 Vanilla 1.21.1 biomes.

Datapack reload invalidates derived caches.

Adds administrative commands and ThermalDebugSnapshot.

PT-BR

Adiciona Biome Climate Data Map completo.

Inclui perfis para os 64 biomas Vanilla 1.21.1.

Reload de datapacks invalida caches derivados.

Adiciona comandos administrativos e ThermalDebugSnapshot.

1.0.8

EN-US

Adds the Digital Clock with time, day, season, and configurable HUD.

Adds GameDateTime and public calendar APIs.

Implements real optional Curios integration.

Adds an instrument slot with 2 spaces for players.

Thermometer and Clock can be equipped at the same time.

External Curios equipment is processed through the same data-driven ThermalEquipmentResolver.

PT-BR

Adiciona Relógio Digital com hora, dia, estação e HUD configurável.

Adiciona GameDateTime e APIs públicas de calendário.

Implementa integração real e opcional com Curios.

Adiciona slot instrument com 2 espaços para jogadores.

Termômetro e Relógio podem ser equipados simultaneamente.

Equipamentos Curios externos passam pelo mesmo ThermalEquipmentResolver data-driven.

1.0.7

EN-US

Adds the Digital Thermometer with recipe, texture, and translations.

Adds basic/detailed readings and a configurable HUD.

Synchronizes PlayerThermalData to the owning client.

Adds authoritative ambient temperature to synchronized thermal state.

PT-BR

Adiciona Termômetro Digital com receita, textura e traduções.

Adiciona leitura básica, leitura detalhada e HUD configurável.

Sincroniza PlayerThermalData para o próprio cliente.

Adiciona temperatura ambiente autoritativa ao estado sincronizado.

1.0.6

EN-US

Adds a thermal-source Data Map for blocks.

Implements local heat/cold sources with a spatial index and cache limited to loaded chunks.

Adds diminishing returns and separate heating/cooling caps.

Integrates thermal sources with Thermal Rooms.

Adds ThermalSourceAggregate, ThermalSourceSnapshot, and an API for external source providers.

PT-BR

Adiciona Data Map de fontes térmicas para blocos.

Implementa fontes locais de calor/frio com índice espacial e cache limitado a chunks carregados.

Adiciona diminishing returns e limites separados de aquecimento/resfriamento.

Integra fontes térmicas com Thermal Rooms.

Adiciona ThermalSourceAggregate, ThermalSourceSnapshot e API para providers externos.

1.0.5

EN-US

Adds data-driven thermal properties for blocks.

Implements ThermalRoomAnalyzer, ThermalRoomState, room caching, and thermal inertia.

Open doors, trapdoors, and fence gates can act as airflow passages.

Indoor insulation buffers outside temperature spikes without creating thermal energy.

PT-BR

Adiciona propriedades térmicas data-driven para blocos.

Implementa ThermalRoomAnalyzer, ThermalRoomState, cache de recinto e inércia térmica.

Portas, alçapões e portões abertos podem funcionar como passagem de ar.

Isolamento interno passa a amortecer picos externos sem criar energia térmica.

1.0.4

EN-US

Adds data-driven thermal properties for items and armor.

Supports cold/heat resistance, insulation, consequence resistance, and thermal immunity.

Supports active heating/cooling without changing the real ambient temperature.

Adds ThermalEquipmentProvider for Curios and other accessory systems.

PT-BR

Adiciona propriedades térmicas data-driven para itens e armaduras.

Suporta resistência ao frio/calor, isolamento, resistência a consequências e imunidade térmica.

Suporta aquecimento e resfriamento ativo sem alterar a temperatura ambiente real.

Adiciona ThermalEquipmentProvider para Curios e outros sistemas de acessórios.

1.0.3

EN-US

Adds persistent player thermal state and gradual body-temperature simulation.

Adds EXTREME_COLD, COLD, COMFORTABLE, HOT, and EXTREME_HEAT states.

Adds thermal consequences only for players.

Integrates Cold/Heat Resistance, Fire Resistance, Resistance, and Vanilla enchantments.

Adds ThermalProtectionProvider and extensible thermal immunity.

PT-BR

Adiciona estado térmico persistente do jogador e simulação gradual de temperatura corporal.

Adiciona estados EXTREME_COLD, COLD, COMFORTABLE, HOT e EXTREME_HEAT.

Adiciona consequências térmicas apenas para jogadores.

Integra Cold/Heat Resistance, Fire Resistance, Resistance e encantamentos Vanilla.

Adiciona ThermalProtectionProvider e imunidade térmica extensível.

1.0.2

EN-US

Adds BiomeClimateProfile and BiomeClimateRegistry.

Adds safe climate fallback for unknown/modded biomes.

Adds separate permissions for rain, snow, thunder, and blizzard.

Adds smooth climate limits and biome-specific temperature amplitude.

Preserves the rule that mobs do not receive automatic thermal consequences.

PT-BR

Adiciona BiomeClimateProfile e BiomeClimateRegistry.

Adiciona fallback climático seguro para biomas desconhecidos/modded.

Adiciona permissões separadas para chuva, neve, thunder e blizzard.

Adiciona limites climáticos suaves e amplitude específica por bioma.

Mantém a regra de não aplicar consequências térmicas em mobs.

1.0.1

EN-US

Initial NeoForge 1.21.1 / Java 21 project structure.

Initial thermal API.

Celsius/Fahrenheit support.

Basic environmental calculation and environmental cache.

Foundation of the internal season system.

/docs structure and asset backups.

512×512 logo.

PT-BR

  • Estrutura inicial NeoForge 1.21.1 / Java 21.
  • API térmica inicial.
  • Celsius/Fahrenheit.
  • Cálculo ambiental básico e cache ambiental.
  • Fundação do sistema sazonal.
  • Estrutura /docs e backup de assets.
  • Logo 512×512.

This mod has no additional files