Tags
Creators
Details
ALPHA-2.0
Compatibility
Changes
The realism update. EZvac 2.0 adds weather, humidity and a "feels like" temperature to every room, plus dehumidifiers, humidifiers, remote sensors and configurable sounds. Upgrading from 1.9, or any 1.x release, is a jar swap: nothing needs converting.
2.0 was tried out in five prereleases on a live server first (ALPHA-2.0-P1 to P5). If you ran one of those, this is a drop-in upgrade.
Thanks to Cole (@colebolebole), who ran every pilot on his server, for his huge help hunting bugs and for the ideas that shaped 2.0.
Upgrading from 1.9
- Back up
plugins/EZvac/(EZvac keeps backups too, but a copy of your own costs nothing). - Stop the server and replace the EZvac jar with
EzVac-ALPHA-2.0.jar. - Start it again. On the first start:
hvac.yml: moves to format 6. Your 1.9 file is kept ashvac.yml.format5.bak.config.yml: gains every new setting with its comments. Your own settings are not changed, and the old file is kept asconfig.yml.before-ALPHA-2.0.bak.- Rooms: systems, targets and room temperatures carry on as they were. Each room's humidity starts at the outdoor level and settles from there.
Going back: 1.9 refuses a format 6 file and leaves it untouched. To downgrade, stop the server, restore hvac.yml.format5.bak as hvac.yml, and put the 1.9 jar back. Anything built in 2.0 is lost.
Weather, humidity and feels-like
- Weather: rain and thunder cool the outdoor air (6 °F and 9 °F by default) and narrow the day/night swing; snow cools a little.
- The change eases in over about two in-game hours instead of switching at once.
- Deserts, savannas, badlands, the Nether and the End never get weather.
- The HUD, idle drift, ETAs, thermometers and pools all follow.
- Humidity: every air room has it, shown as RH and simulated as moisture.
- Outdoors it comes from the biome: deserts are dry, jungles and swamps humid. It rises at night and climbs toward 100% in rain.
- Indoors, cooling dries the air, heating lowers the RH, and a heated pool hall gets muggy.
- Feels like combines temperature, humidity and wind. The HUD's comfort word, bar and colour now follow it in air, so a humid 84 °F room reads Hot.
- Spot-to-spot variance: readings differ a little from place to place, about ±0.5 °F in a room, ±1.5 °F outdoors, and less in pools. It changes gradually as you walk and drifts over a few in-game hours. Thermostats keep the room's own value, so systems never chase it.
New devices
| Device | Build | Register |
|---|---|---|
| Dehumidifier | Iron block on a waxed copper grate, sign on the iron block | /hvac create dehumidifier [label] |
| Humidifier | Waxed cut copper slab (bottom half) on an iron block, sign on the iron block's side | /hvac create humidifier [label] |
| Hygrometer / thermo-hygrometer | A sign | /hvac create hygrometer / thermohygrometer [label] |
| Sensor | A stone (temperature), polished blackstone (humidity), mangrove (both) or birch (weather) button | /hvac create sensor [label] |
| Sensor hub | A sign; link sensors with /hvac sensor-tool |
/hvac create sensor-hub [label] |
Dehumidifiers and humidifiers
- No system needed: they work on the room of the system around them, or on their own space anywhere else (a shed, a basement).
- Sign controls: click the sign to step the setpoint, sneak-click to switch the unit on or off.
- Dehumidifier tank: it fills with the water removed; a full tank waterlogs the grate while it empties.
- Humidifier water: it is plumbed, so it never runs dry, and its slab bubbles while it runs.
- Several units in one space share one humidity.
- "Air too cold": a dehumidifier in air too dry for its coil shows this, as in snowy biomes.
Sensor hubs
- Capacity: a hub shows up to nine sensors, three to a page.
- Paging: click to turn the page; sneak-click to switch auto-flip on or off.
- Weather sensors need open sky, like a rain gauge.
- Pressing a sensor shows its reading in chat and never sends redstone.
Also new
- Thermostat power switch: sneak-right-click a thermostat sign to switch its system off or on.
- Configurable sounds: every sound is a
"sound volume pitch"line underaudio.sounds. Resource-pack sounds work, and[]silences an event.- Vent airflow: air vents of running systems now softly hum near players.
- Hum settings: if you tuned
audio.hum-volume/audio.hum-pitch, your hum carries over into the new lines.
- Placeholders:
%ezvac_feels_like%(_f,_c),%ezvac_humidity%and%ezvac_weather%, and HUD tokens{feels},{humidity}and{weather}. - The duct tool is now
/hvac duct-tool./hvac tooland your existing tools still work.
Changed
- Faster on big servers: signs are only rewritten near players. At 1,000 running rooms EZvac's tick cost dropped from about 5.5 ms to about 2 ms.
- Sign lines always fit: lines are measured the way the game draws them, so long labels are shortened instead of wrapping and vanishing. Hanging signs work too.
- A typo in a new config section no longer stops EZvac: that section falls back to its defaults, and the log names the setting to fix.
Verified
- Tests: 217 automated tests, including real save files written by 13 releases from 1.0 to 2.0 Pilot 5.
- Upgrade, on Purpur 1.21.1: a 1.9 world upgraded from both a clean save and a crash save, with every device back and the original kept. 1.9 refused the 2.0 save and left it untouched.
- Load: 1,000 running rooms, timed against 1.9.
- Robustness:
- hard kills mid-run;
- an unreadable save record, which was set aside;
- units, sensors and hubs destroyed by explosions or without a break event.
- In-game: each pilot ran on a live server before this release.
The jar below was built by GitHub Actions from acf6d7c. Full details are in CHANGELOG.md.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:dCv4gYwb:zyuSlRBS"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:dCv4gYwb:zyuSlRBS"
}

