EcoTermico-1.2.9.jar
Curse Maven Snippet
What's new
1.2.9 - ServerPlayer Climate Sync Compile Hotfix / Hotfix de Compilação da Sincronização Climática ServerPlayer
EN-US
- Fixes the NeoForge 1.21.1 Java compilation error in
PlayerThermalHandler:PlayerClimateStateSync.syncTo(...)requiresServerPlayer, while the tick handler previously kept the entity statically typed asPlayer. - Preserves the original generic
Playerthermal flow and adds a separateinstanceof ServerPlayernarrowing only for the climate-sync calls, keeping existing overload resolution/behavior and thesyncTo(ServerPlayer)contract intact. - Preserves the 1.2.8 Administration → Performance labels, descriptions, red disabled-state reasons, draft + Apply workflow, season/phenology order guards, precipitation, hydrology, API V1 and network protocol unchanged.
- Adds a dedicated static regression gate that rejects reintroduction of a generic
Playerat the climate-sync call sites and confirms the 1.2.8 UI implementation remains present.
PT-BR
- Corrige o erro de compilação Java/NeoForge 1.21.1 em
PlayerThermalHandler:PlayerClimateStateSync.syncTo(...)exigeServerPlayer, enquanto o tick handler mantinha a entidade tipada estaticamente comoPlayer. - O handler de pós-tick preserva o fluxo térmico original tipado como
Playere adiciona um narrowing separado cominstanceof ServerPlayerapenas para as chamadas de sincronização climática, mantendo a resolução de overloads/comportamento existente e o contratosyncTo(ServerPlayer). - Preserva sem alteração funcional as labels, descrições e motivos em vermelho da Administração → Desempenho da 1.2.8, o fluxo rascunho + Aplicar, as guardas de ordem fenológica, precipitação, hidrologia, API V1 e protocolo de rede.
- Adiciona gate estático dedicado que impede a reintrodução de
Playergenérico nos pontos de sincronização climática e confirma que a implementação visual da 1.2.8 continua presente.
1.2.8 - Performance Control Clarity and Disabled-State Explanations / Clareza dos Controles de Desempenho e Motivos de Desabilitação
EN-US
- Reworks Administration → Performance labels so every row explicitly identifies whether it controls cache lifetime or an update interval.
- Adds a short practical description for Environment, Rooms, Thermal Sources, Body and Atmosphere whenever the available vertical space can display it without overlapping controls.
- Keeps compact layouts safe by prioritizing buttons/values and omitting the secondary description when there is not enough space.
- Shows the preset lock reason in red when Environment/Rooms/Sources are disabled outside CUSTOM.
- Shows a red explanation above the footer whenever Apply settings is disabled because there are no pending changes or an apply operation is already in progress.
- Preserves server-authoritative validation, the existing draft + Apply workflow, API V1 and the current network protocol.
PT-BR
- Reformula os rótulos de Administração → Desempenho para deixar explícito em cada linha se o ajuste controla cache/TTL ou intervalo de atualização.
- Adiciona uma descrição prática curta para Ambiente, Recintos, Fontes térmicas, Corpo e Atmosfera quando houver altura suficiente sem sobrepor controles.
- Mantém layouts compactos seguros, priorizando botões/valores e omitindo a descrição secundária quando não houver espaço.
- Mostra em vermelho o motivo do bloqueio de Ambiente/Recintos/Fontes quando o preset não é CUSTOM.
- Mostra em vermelho, acima do rodapé, por que Aplicar configurações está desabilitado quando não existem alterações pendentes ou quando uma aplicação já está em andamento.
- Preserva validação autoritativa do servidor, fluxo rascunho + Aplicar, API V1 e protocolo de rede atuais.
1.2.7 - Foliage Order Guard and Night Transitions / Guarda de Ordem Fenológica e Transições Noturnas
EN-US
- Adds a client-side per-chunk structural phenology guard so cold acceleration cannot visibly jump directly from green to orange/brown or from dry autumn to frosted winter in one observed visual day.
- Preserves the ordered structural sequence
GREEN -> AUTUMN_YELLOW -> AUTUMN_ORANGE -> AUTUMN_DRY -> WINTER_DORMANT -> WINTER_FROSTED. - Newly loaded chunks still reconstruct the deterministic current target immediately instead of replaying historical stages.
- Spring remains the explicit biological renewal boundary where green may return; summer/autumn/winter cannot regress an already-started senescence sequence.
- Treats
SNOW_COVEREDas a transient overlay rather than persisted structural progression, allowing snow to appear/disappear without causing a false green flash. - Uses the shared night-resolved visual-day serial, cleans state on world/dimension changes, prunes tracked chunks during nearby rebuild scheduling and keeps a defensive bounded cache.
- Applies the same progression guard to foliage and ground vegetation and adds dedicated regression tests/static validation.
PT-BR
- Adiciona guarda estrutural client-side por chunk para que a antecipação pelo frio não salte visualmente de verde direto para laranja/marrom nem de marrom seco direto para geada em um único dia visual observado.
- Preserva a sequência estrutural
GREEN -> AUTUMN_YELLOW -> AUTUMN_ORANGE -> AUTUMN_DRY -> WINTER_DORMANT -> WINTER_FROSTED. - Chunks carregados tardiamente continuam reconstruindo diretamente o target determinístico atual, sem reproduzir estágios históricos que o jogador não viu.
- A primavera continua sendo o boundary biológico explícito em que o verde pode retornar; verão/outono/inverno não podem regredir uma senescência já iniciada.
- Trata
SNOW_COVEREDcomo overlay temporário, e não como progressão estrutural persistida, permitindo a neve aparecer/desaparecer sem produzir um flash verde falso. - Usa o mesmo serial de dia visual resolvido à noite, limpa o estado na troca de mundo/dimensão, poda chunks rastreados durante o rebuild próximo e mantém cache defensivamente limitado.
- Aplica a mesma guarda a folhas e vegetação do solo e adiciona testes/gate estático dedicados.
1.2.6 - Auditoria Final de Runtime, Paridade Climática e Robustez de Release — V1
EN-US
- Makes seasonal foliage/ground-vegetation visual progression advance at night. The following sunrise keeps the same effective visual calendar position, so color transitions are not introduced in daylight; unloaded chunks deterministically reconstruct the correct stage from the global calendar.
- Adds a server-authoritative season clock summary (
Season • Day current/total • Beginning/Middle/End). Stage thirds come from one sharedSeasonCalendarMath.stageForDay(...)rule and cover non-divisible season lengths without gaps or overlaps. - Adds a synchronized read-only client climate policy and reuses the server biome-blend, altitude, seasonal and soft-limit math for client rain/snow rendering. Client and server share the exact snow-threshold predicate through
PrecipitationTemperatureMath. - Refreshes season/client climate policy immediately on login, periodic thermal sync and successful administrator Apply, while keeping the server authoritative and player settings visual-only.
- Hardens the Guide thermal-source catalog: at most 4096 entries are serialized, the real total and truncation state are transmitted, and the Guide shows a localized partial-list notice instead of allowing an oversized catalog to fail construction.
- Bumps the internal network protocol from 5 to 6 because
GuideOpenPayloadwire format changed. - Preserves the Minecraft 1.21.1
Biome#getPrecipitationAt(BlockPos)hotfix; the invalid 1.21.2+WeatherEffectRenderermixin remains removed. - Adds regression tests and a dedicated 1.2.6 static release gate covering night transitions, season-stage math, client/server precipitation parity, runtime event registrations, bounded thermal payloads, translations and documentation/version parity.
- Full Gradle/NeoForge runtime certification remains a separate release gate. In the packaging environment used for this release, the Gradle wrapper cannot resolve
services.gradle.org, soclean test,clean build,runClientandrunServerare not falsely marked as passed.
PT-BR
- Faz a progressão visual sazonal da folhagem e vegetação do chão avançar durante a noite. O amanhecer seguinte mantém exatamente a mesma posição visual efetiva, evitando introduzir troca de cor durante o dia; chunks descarregados reconstroem deterministicamente o estágio correto a partir do calendário global.
- Adiciona ao relógio o resumo server-authoritative
Estação • Dia atual/total • Início/Meio/Fim. Os terços vêm de uma única regraSeasonCalendarMath.stageForDay(...)e cobrem também durações não divisíveis por 3 sem lacunas ou sobreposição. - Adiciona política climática read-only sincronizada para o cliente e reutiliza no renderer de chuva/neve a mesma mistura de biomas, altitude, modificadores sazonais e soft limits do servidor. Cliente e servidor compartilham o mesmo predicado térmico de neve em
PrecipitationTemperatureMath. - Sincroniza imediatamente estação/política visual no login, no refresh térmico periódico e depois de um Aplicar configurações administrativo bem-sucedido, mantendo o servidor autoritativo e preferências do jogador apenas visuais.
- Endurece o catálogo de fontes térmicas do Guia: no máximo 4096 entradas são serializadas, total real e estado de truncamento são transmitidos e a interface informa lista parcial em vez de deixar um catálogo enorme falhar na construção do payload.
- Eleva o protocolo interno de rede de 5 para 6 porque o wire format de
GuideOpenPayloadmudou. - Preserva o hotfix Minecraft 1.21.1 baseado em
Biome#getPrecipitationAt(BlockPos); o mixin inválido deWeatherEffectRenderer(1.21.2+) continua removido. - Adiciona testes de regressão e gate estático próprio da 1.2.6 para transições noturnas, matemática de estágios, paridade cliente/servidor da precipitação, registradores de runtime, payload térmico limitado, traduções e paridade documentação/versão.
- A certificação completa Gradle/NeoForge continua sendo gate separado. No ambiente de empacotamento desta execução, o wrapper não consegue resolver
services.gradle.org; por issoclean test,clean build,runClienterunServernão são marcados falsamente como aprovados.
1.2.5 - Exposição Térmica de Blocos e Itens Emissores — V1
EN-US
- Compile hotfix: replaces the invalid 1.21.2+
WeatherEffectRenderertarget with a Minecraft 1.21.1-nativeBiome#getPrecipitationAt(BlockPos)client hook, covering vanilla rain/snow form queries without fragile renderer-internal redirects. - Adds a server-authoritative Thermal sources Guide page listing only configured non-zero ambient heat/cold emitters, including placeable item forms, signed maximum ΔT, radius, falloff and activation condition.
- Uses the effective source-profile precedence (
config/ecotermico/thermal> Data Map > public tags) and keeps unlit configured sources visible without activating them physically. - Keeps insulation, resistances and personal equipment heating/cooling outside the ambient-emitter catalog.
- Adds
ThermalSourceDefinition,getConfiguredBlockThermalSourcePropertiesandgetConfiguredThermalSourceDefinitionsas additive API V1 surfaces. - Synchronizes a bounded read-only source catalog in the Guide payload, bumps the internal network protocol to 5, adds localized search/scrolling and uses correct Celsius/Fahrenheit delta conversion.
- Does not change existing source values, runtime
requiresLit, source falloff, diminishing returns, caps, spatial indexing, precipitation, hydrology or phenology.
PT-BR
- Hotfix de compilação: substitui o alvo inválido
WeatherEffectRenderer(1.21.2+) por um hook client nativo da 1.21.1 emBiome#getPrecipitationAt(BlockPos), cobrindo consultas Vanilla de chuva/neve sem redirects frágeis em métodos internos do renderer. - Adiciona a página Fontes térmicas no Guia, alimentada pelo servidor e contendo somente emissores ambientais configurados com calor/frio diferente de zero, incluindo a forma de item colocável, ΔT máximo com sinal, alcance, queda e condição de ativação.
- Usa a precedência efetiva do perfil (
config/ecotermico/thermal> Data Map > tags públicas) e consegue mostrar uma fonte configurada apagada sem ativá-la fisicamente. - Isolamento, resistências e aquecimento/resfriamento pessoal de equipamentos ficam fora do catálogo de emissão ambiental.
- Adiciona
ThermalSourceDefinition,getConfiguredBlockThermalSourcePropertiesegetConfiguredThermalSourceDefinitionsde forma aditiva à API V1. - Sincroniza um catálogo read-only limitado pelo payload do Guia, eleva o protocolo interno de rede para 5, adiciona busca/rolagem e respeita a conversão correta de delta Celsius/Fahrenheit.
- Não altera valores existentes das fontes,
requiresLitdo runtime, falloff, diminishing returns, caps, índice espacial, precipitação, hidrologia ou fenologia.
1.2.4 - Precipitação Sazonal, Neve Física e Transição Primavera–Verão — V1
EN-US
- Adds a server-authoritative seasonal precipitation opportunity scheduler over already-loaded chunks. It never uses the player list as the climate clock and never force-loads terrain.
- Season changes precipitation probability/duration, not precipitation type. Local temperature, altitude and biome
rainAllowed/snowAllowedstill decide rain versus snow through the existing physical resolver. - Spring becomes progressively wetter in compatible climates and gains a late-season drought breaker for sufficiently wet regions; dry/desert profiles remain protected.
- Humid summer climates keep plausible rainfall and warm/unstable conditions may increase convective thunder probability instead of making summer globally dry.
- Adds physical vanilla snow-layer accumulation for EcoTermico
SNOW/BLIZZARDwith persistent ownership. Only EcoTermico-created snow is thawed by this module; natural/generated/player snow is left untouched. - Adds a client weather-renderer mixin so visual
RAIN/SNOW/NONEfollows local EcoTermico temperature/altitude/biome rules during a physical precipitation window. - Spring plant regrowth keeps its cheap physical-rain pre-gate, but that window can now originate from EcoTermico seasonal scheduling rather than only Vanilla RNG; local
WeatherTypestill rejects snow/blizzard. - Adds nine server configuration keys, pure policy/snow math tests and
validate-seasonal-precipitation-v1.py.
PT-BR
- Adiciona um scheduler server-authoritative de oportunidades de precipitação sazonal baseado somente em chunks já carregados. Não usa lista de jogadores como relógio climático e nunca força carregamento de terreno.
- A estação muda chance/duração da precipitação, não o tipo. Temperatura local, altitude e
rainAllowed/snowAlloweddo bioma continuam decidindo chuva versus neve no resolvedor físico existente. - A primavera fica progressivamente mais úmida nos climas compatíveis e recebe um drought-breaker no fim da estação somente para regiões suficientemente úmidas; perfis secos/desérticos continuam protegidos.
- Verões úmidos continuam podendo chover e calor + instabilidade podem elevar a chance de trovões convectivos, sem transformar o verão inteiro em estação seca.
- Adiciona acúmulo físico de camadas Vanilla de neve para
SNOW/BLIZZARD, com ownership persistente. Apenas neve criada pelo EcoTermico pode ser derretida por esse módulo; neve natural/gerada/do jogador permanece intocada. - Adiciona mixin no renderer meteorológico cliente para que
RAIN/SNOW/NONEvisual acompanhe temperatura, altitude e permissões locais do EcoTermico durante a janela física de precipitação. - O regrowth de plantas na primavera mantém o pré-gate físico barato de chuva, mas essa janela agora também pode ser criada pelo scheduler sazonal do EcoTermico em vez de depender apenas do RNG Vanilla; o
WeatherTypelocal continua rejeitando neve/nevasca. - Adiciona nove chaves SERVER, testes de matemática pura e
validate-seasonal-precipitation-v1.py.
1.2.3 - Dormência Física Sazonal e Regrowth por Chuva — V1 / Etapa 2
EN-US
- Adds a separate server-side
phenologyworld-mutation module; it does not depend on hydrology or client foliage rendering. - Adds public data-driven block tags for autumn dormancy flowers, plants and vegetables. Conservative defaults mutate only simple vanilla flowers; plant/vegetable tags remain empty for modpack opt-in.
- Persists chunk provenance so only newly generated/known-safe chunks are mutated by default. Legacy/unknown chunks remain protected unless the advanced override is explicitly enabled.
- Tracks player-placed seasonal positions as protected and stores the exact removed
BlockStatefor natural dormant plants. - Dormant plants return only during locally resolved spring rain/thunder. Snow/blizzard does not trigger regrowth. Occupied or no-longer-survivable sites are discarded instead of overwriting the world.
- Adds a dedicated cold-biome exemption tag and ignores double-height plants, fluid/waterlogged states and block entities in V1.
- Adds a bounded round-robin column budget with no player-list clock and no chunk force-loading. Disabling dormancy/seasons restores outstanding records safely in loaded chunks.
PT-BR
- Adiciona o módulo server-side
phenologypara mutação física sazonal, separado dehydrologye do renderer de cores do cliente. - Cria tags públicas data-driven para flores, plantas e vegetais que entram em dormência no outono. O default mutável contém apenas flores vanilla simples; plantas/vegetais ficam vazios para opt-in seguro de modpacks.
- Persiste provenance de chunks: por padrão apenas chunks novos/seguros podem sofrer mutação; chunks antigos/ambíguos permanecem protegidos.
- Posições sazonais colocadas por jogador ficam protegidas e o
BlockStateexato da planta natural removida é persistido. - O retorno ocorre somente durante chuva ou trovão local na primavera. Neve/nevasca não contam. Se a posição foi ocupada ou a planta não pode mais sobreviver, o registro é descartado sem sobrescrever o mundo.
- Biomas frios recebem tag de exceção própria; plantas de duas alturas, waterlogged/fluidas e blocos com block entity ficam fora da V1.
- Scheduler independente com orçamento round-robin por dimensão, sem lista de jogadores e sem force-load. Desligar dormência/estações restaura registros pendentes de forma segura em chunks carregados.
1.2.2 - Auditoria Fenológica e Congelamento Dinâmico — V1 / Etapa 1
EN-US
- Starts Phenology Audit, Dynamic Water Freezing and Module Decoupling V1 on top of 1.2.1.
- Replaces enum-ordinal phenology progression with explicit ranks and adds regression tests proving autumn brown cannot jump back to green before winter dormant/frosted states.
- Adds a server-authoritative
hydrologymodule that only scans already-loaded chunks with a bounded round-robin column budget and never uses the player list as the climate clock. - Freshwater freezes at
0.0 °Cby default; ocean water uses-1.8 °C, modeling delayed seawater freezing without adding a separate salt-water fluid. Separate thaw thresholds provide hysteresis. - Persists ownership only for ice created by EcoTermico, so natural/generated/player ice is never thawed by this system. Naturally frozen biomes are excluded through the extensible
#ecotermico:dynamic_water_freeze_exemptbiome tag. - Plant/vegetable seasonal groups plus autumn flower removal / first-spring-rain regrowth remain the next checklist stage; no placeholder world mutation was coupled into the water scheduler.
PT-BR
- Inicia EcoTermico — Checklist de Auditoria Fenológica, Congelamento Dinâmico da Água e Desacoplamento de Módulos — V1 sobre a base 1.2.1.
- A progressão fenológica deixa de depender da ordem do
enum: cada estado possui rank explícito. Novos testes varrem a fronteira outono→inverno e impedem regressãomarrom/seco -> verde -> cinzento. - Adiciona o módulo server-authoritative
hydrology, com matemática pura, classificação de bioma, ownership persistente do gelo e scheduler separado. Ele só processa chunks já carregados, em round-robin com orçamento limitado, sem usar presença de jogador como relógio climático e sem force-load. - Água doce congela em
0,0 °Cpor padrão. Oceanos congelam apenas em-1,8 °Cou menos, simulando o efeito do sal sem criar uma água nova. Limites separados de descongelamento evitam oscilação água↔gelo perto do ponto crítico. - O EcoTermico grava somente o gelo que ele próprio criou; gelo natural, gerado ou colocado pelo jogador não é descongelado pelo módulo. Biomas já naturalmente congelados ficam fora do fenômeno por
#ecotermico:dynamic_water_freeze_exempt, extensível por datapack/mod. - Os grupos sazonais de plantas/vegetais e a remoção de flores no outono com retorno na primeira chuva da primavera ficam explicitamente para a próxima etapa, sem criar acoplamento provisório com hidrologia.
This mod has no additional files