Added FTB Teams support for entity filtering (e.g. in Sentry Turrets, Drones etc.)
@player(ftbteam=<uuid>) and @player(ftbteam=short-name) match players in the FTB Teams team of the given UUID or short name
Other modifiers are ftbteam_officer, ftbteam_owner, ftbteam_ally which match players of at least that rank, and ftbteam_enemy which matches players marked as enemies of that team
Changed
Rearranged Sentry Turret GUI a little to provide more horizontal space for the entity filter
Fixed
Fixed a race condition when using Computercraft to control Air Cannons
Drones no longer drop items with Vanishing Curse when they die
Exception: such items will still be dropped if the drone is wrenched by the owning player (and only the owning player)
Show a Programmer error when condition progwidgets have branches on both right and left (true & false), and also a widget connected below
The below path will never be followed in this case, so this indicates a mistake in the program
Fixed a capability caching bug when rotating the Liquid Hopper's input or output
Fixed Security Upgrades in machines not being taken account of on world reload
Fixed Entity Tracker upgrades not working in Ominidirectional Hopper to interface with entity inventories
Fixed Drone crafting widgets causing crashes for some recipes sizes
Fixed a timing issue with machine upgrade checking on world reload leading to security upgrades getting ignored
Added support for limiting offline chunkloading for Drones and Programmable Controllers
chunkload_offline_time in common config controls the number of seconds after which a player has logged out that Chunkloader upgrades in their drones stop working
Default of 0 means offline chunkloading works indefinitely, as before
Caveat: drones which are no-longer chunk loading won't magically forceload their chunks again on player login; the player needs to visit the drone's chunk to restart chunkloading
Added tooltip to Pressure Chamber Glass block reminding players that CTM (ConnectedTextureMod) is useful (if it's not already installed)
Changed
Configuration is now available again in-game (Mods -> PneumaticCraft: Repressurized -> Configuration)
Config has been overhauled somewhat to support this, and modified values may have been reset to defaults
Check your configs (client and server) if you've changed anything previously
Fixed
Fixed Fluid Mixer sometimes caching an invalid recipe
Insufficient quantities of the right fluid could lead to a valid recipe being negatively cached
Fixed Thermopneumatic Processing Plant sometimes caching an invalid recipe
Basically the same issue as the Fluid Mixer
Fixed Pressure Chamber and Memory Essence recipes not viewable when EMI is installed in addition to JEI
Moved back to using older (deprecated) JEI API for these categories for now, since newer JEI API doesn't yet work with EMI integration
Pressure Tube model and shape calculation have been heavily reworked and refactored internally
Tube models are now fully dynamic baked models, and pressure tube blocks no longer use blockstates for sided connections
This reduces the number of blockstates needed for all three tube types from 4374 to 6, a big performance win especially on big instances with many mods
Shape recalculation has also been further optimised, improving performance and reducing the memory needed to cache states
No player-visible changes (hopefully!)
Pneumatic Armor model rendering has been refactored, no longer requiring a custom model renderer (NeoForge 21.1.18+ required)
Sentry Turrets now note the deploying player ID, and won't attack that player if their filter is empty (no more tragic accidents)
Existing Turrets in your world need to be picked up and deployed again for this to function
Miniguns (hand-held/turret/drone) now have a reduced i-frame count; 10 ticks instead of 20
This increases their damage output (and effectively reduces ammo usage)
Can be configured in config; invulnerability_ticks in the Minigun section
Added
Pneumatic Armor now supports vanilla armor trims
Added pneumaticcraft:upgrades item tag containing all PNC upgrade items
Added vanilla Lightning Rods to the pneumaticcraft:electrostatic_grid block tag, meaning they can be used as well as Iron Bars with the Electrostatic Compressor
Fixed
Fixed Armor Upgrades not having any effect in Pneumatic Armor items
Fixed Sentry Turrets not doing the "sweep" animation when ammo is loaded (cosmetic fix; turrets still worked)
Fixed a couple of client-side memory leaks where world & player objects were not released on client logout
Fixed RF Import/Export progwidgets in programmer GUI not having a right-click setup screen
Fixed sided progwidgets (e.g. item import/export) not accepting side configuration changes via right-click setup screen
Pneumatic Armor Radiation Shielding Upgrade recipe has been re-enabled (Mekanism radiation protection)
Forward-ported from 1.20.1 internal changes to Empty PCB items to make it possible for addon mods to add custom empty PCB's
UV Lightbox and Etching Tank now accept any item which extends EmptyPCBItem
Added EmptyPCBItem#getSuccessItem() and EmptyPCBItem#getFailedItem() which are used by the Etching Tank to determine the successful/failed etching outcomes
Fixed
Fixed some villager house worldgen issues
Fixed the Aphorism Tile being blank and the Display Table lacking a Pneumatic Wrench
Fixed (non-fatal) server error regarding an invalid resource location when the Reinforced Chest in a villager house is reloaded
Fixed Refinery crash under some circumstances (could not reproduce this myself; added some defensive code changes to hopefully make this impossible)
Some internal changes to Empty PCB items to make it possible for addon mods to add custom empty PCB's
UV Lightbox and Etching Tank now accept any item which extends EmptyPCBItem
Added EmptyPCBItem#getSuccessItem() and EmptyPCBItem#getFailedItem() which are used by the Etching Tank to determine the successful/failed etching outcomes
Added some new item tags related to Compressed/Pneumatic armors
pneumaticcraft:armors/compressed_iron and pneumaticcraft:armors/pneumatic
Added all PneumaticCraft armor items to forge:armors/boots, forge:armors/leggings, etc.
Fixed
Fixed Shulker Boxes, Reinforced & Smart Chests from being able to be placed inside one another
Fixed Reinforced & Smart Chests not dropping their contents if broken with an unsuitable tool
Programmer GUI size is now dynamic, based on screen resolution
75% of the screen width (allowing space for JEI etc.) and 95% of the screen height
Exported drone programs and remote layout JSONs are now formatted much more cleanly
This reflects a significant internal overhaul of how these objects are handled; specifically, using codecs to facilitate storage as data components
Old programs/layouts are still supported via a legacy conversion system, but programs/layouts written from 1.21+ will not load into older version of the mod
Added
Air Canister improvements
Doubled capacity of Reinforced Air Canisters
Added basic and reinforced Air Canister Arrays, with 4 times the storage of the item (crafted with 4 of the item)
Air Canisters (and arrays) can now charge other items in your inventory via switchable charging modes (none/held only/all inventory)
Note: Air Canisters don't charge pneumatic armor; use the chestplate with charging upgrades for that
Minigun improvements
Doubled the ammo capacity in config of all ammo types
Increased base damage in config from 4 to 6 (half-hearts per hit)
Added a Muffler Upgrade
One or more of these in noisy items and blocks (Miniguns, Sentry Turrents, Jackhammers, Jet Boots) quietens down the racket
Note that adjusting the volume of these items/blocks is still possible via client config
GPS Tool and Area GPS Tool now have quick coordinate adjusting without needing to open the GUI
Sneak and scroll the mouse-wheel while holding a tool to adjust the coordinate along the player's facing axis
For GPS Area Tool, sneak and right- or left-click in the air to set the coordinate which will be adjusted
Programmer GUI size is now dynamic, based on screen resolution
75% of the screen width (allowing space for JEI etc.) and 95% of the screen height
Exported drone programs and remote layout JSONs are now formatted much more cleanly
This reflects a significant internal overhaul of how these objects are handled; specifically, using codecs to facilitate storage as data components
Old programs/layouts are still supported via a legacy conversion system, but programs/layouts written from 1.21+ will not load into older version of the mod
Added
Air Canister improvements
Doubled capacity of Reinforced Air Canisters
Added basic and reinforced Air Canister Arrays, with 4 times the storage of the item (crafted with 4 of the item)
Air Canisters (and arrays) can now charge other items in your inventory via switchable charging modes (none/held only/all inventory)
Note: Air Canisters don't charge pneumatic armor; use the chestplate with charging upgrades for that
Minigun improvements
Doubled the ammo capacity in config of all ammo types
Increased base damage in config from 4 to 6 (half-hearts per hit)
Added a Muffler Upgrade
One or more of these in noisy items and blocks (Miniguns, Sentry Turrents, Jackhammers, Jet Boots) quietens down the racket
Note that adjusting the volume of these items/blocks is still possible via client config
GPS Tool and Area GPS Tool now have quick coordinate adjusting without needing to open the GUI
Sneak and scroll the mouse-wheel while holding a tool to adjust the coordinate along the player's facing axis
For GPS Area Tool, sneak and right- or left-click in the air to set the coordinate which will be adjusted