Passcode hashing, Keycard Holder, experimental reinforced blocks, changes, fixes
- New: Reinforced Blocks:*
- [1.19.3+] Block of Bamboo
- [1.19.3+] Block of Stripped Bamboo
- [1.19.3+] Bamboo Planks
- [1.19.3+] Bamboo Mosaic
- [1.19.3+] Bamboo Stairs
- [1.19.3+] Bamboo Mosaic Stairs
- [1.19.3+] Bamboo Slab
- [1.19.3+] Bamboo Mosaic Slab
- [1.19.3+] Bamboo Pressure Plate
- [1.19.3+] Bamboo Button
- [1.19.3+] Chiseled Bookshelf
- [1.19.4+] Cherry Log
- [1.19.4+] Cherry Wood
- [1.19.4+] Stripped Cherry Log
- [1.19.4+] Stripped Cherry Wood
- [1.19.4+] Cherry Planks
- [1.19.4+] Cherry Stairs
- [1.19.4+] Cherry Slab
- [1.19.4+] Cherry Pressure Plate
- [1.19.4+] Cherry Button
- New: Randomize signature button for the Keycard Reader
- New: The pitch of the sound an alarm plays can now be changed
- New: The SecurityCraft Manual now shows default values and the range (if applicable) of a block's options
- New: Maximum Distance option for Retinal Scanner and Scanner Door, to define the maximum amount of blocks from which the block can be activated
- New: Passcodes entered in the text box of check passcode screens can now be shown using a checkbox
- New: Keycard Holder
- New: Keypad Trapdoor
- New: [1.16.5+] The Alarm, Motion Activated Light, and Portable Radar can now be waterlogged
- New: [1.16.5+] Laser and inventory scanner fields can now be waterlogged, which means the Laser and Inventory Scanner now properly work underwater without air pockets
- New: [1.19.3+] Secret Bamboo Sign*
- New: [1.19.3+] Secret Hanging Signs*
- New: [1.19.3+] Sonic Security Systems and Portable Tune Players now support mob head and custom note block sounds*
- New: [1.19.4+] Secret Cherry Sign*
- New: [1.19.4+] Suspicious Sand Mine (can be defused to get the item without it exploding)*
- New: [1.20.1] Suspicious Gravel Mine
- New: [1.20.1] Secret signs have been updated to match vanilla functionality (editing, double sidedness, waxing, ...)
- New: [1.20.1] Secret signs now have separate options for making the front and back side secret
- Change: Several technical blocks' sounds have been adjusted to better match how they look
- Change: Improved visuals when holding a taser
- Change: Some alarm options have been moved to a separate screen
- Change: The minimum radius of the Portable Radar is now one block
- Change: The maximum allowed signature for a Keycard Reader is now 99999
- Change: Passcodes of passcode-protected blocks and briefcases are no longer directly accessible by clients, and are thus no longer displayable using mods like Jade/TOP or the admin tool
- Change: Passcodes are now stored and compared using secure hashing functions like PBKDF2, using a randomly generated salt that is stored on the server
- Change: All occurrences of "Password" in block or item names have been switched out with "Passcode" (for example, Password-protected Chest -> Passcode-protected Chest)
- Change: The storage location of passcodes in the NBT data of Display Cases has been changed from "Passcode" to "passcode"
- Change: The Universal Key Changer can now be used by players in creative mode on any passcode-protected block or briefcase, regardless of its owner
- Change: Passcodes no longer have a maximum length restriction
- Change: Initially setting the passcode of a Briefcase now uses the same UI as inserting the passcode when opening a Briefcase
- Change: The "Reset cooldown" option for alarms is now set to "true" by default (does not apply to already existing alarms)
- Change: [1.12.2] SecurityCraft's recipes now work with the ore dictionary wherever possible
- Change: [1.16.5+] Where applicable, recipes now use the securitycraft:reinforced_stone_crafting_materials tag (similar to minecraft:stone_crafting_materials, but with the reinforced variants)
- Change: [1.20.1] Reinforced wool and carpets can now be dyed using any color wool or carpet
- API: Renamed Option#readFromNBT to Option#load and Option#writeToNBT to Option#save
- API: All occurrences of "password" in API class and method names have been switched out with "passcode" (for example, IPasswordProtected#getPassword -> IPasscodeProtected#getPasscode)
- API: IPasscodeProtected#setPasscode now returns a byte array, IPasscodeProtected#getPasscode now takes a byte array as its only parameter
- API: New methods IPasscodeProtected#getSaltKey, IPasscodeProtected#setSaltKey, IPasscodeProtected#loadSaltKey to get and set the block entity's salt key or read it from a block entity tag
- API: New methods IPasscodeProtected#getSalt to access the block entity's salt using the stored salt key
- API: New methods IPasscodeProtected#hashAndSetPasscode and IPasscodeProtected#loadPasscode for easier passcode management
- API: [1.12.2] Renamed Owner#writeToNBT to Owner#save
- API: [1.12.2] Renamed Owner#readFromNBT to Owner#load
- API: [1.16.5] Renamed Owner#write to Owner#save
- API: [1.16.5] Renamed Owner#read to Owner#load
- API: [1.19.3+] IModuleInventory#getModuleDescriptionId to make it possible to have shared descriptions
- Fix: Shields do not take damage when blocking a taser that deals high enough damage
- Fix: The death message of a player killed by a taser does not contain the player firing the taser
- Fix: The Sentry-/Mine Remote Access Tool screens do not show the item's custom name
- Fix: Reinforced Doors can be closed by giving them a block update
- Fix: Reinforced Doors that are next to, but don't face, each other can act as double doors
- Fix: Certain blocks don't update their indirect neighbors properly when getting destroyed while in a powered state
- Fix: Some reinforced blocks and mines can be destroyed by pistons or flowing fluids
- Fix: Several items like the Admin Tool or Universal Block Remover (and more) cannot be placed into a Display Case
- Fix: The Keycard Reader can accept signatures that are not within the allowed range
- Fix: Briefcase inventory access exploit
- Fix: The text box within the check passcode screen always places inserted characters at the end of the string rather than the cursor position
- Fix: Some SecurityCraft blocks are displayed with the wrong color on a map
- Fix: Reinforced hoppers can automatically validate their owner in certain cases
- Fix: [1.12.2] Entities around a player sometimes get invisible when the player dismounts a camera
- Fix: [1.12.2] Directional power sources like Reinforced Levers and Reinforced Buttons cannot toggle adjacent blocks
- Fix: [1.12.2] Inserting a module into a Laser Block or Keypad/Scanner Door via the GUI will disable the module in all other connected blocks
- Fix: [1.12.2] EMC values do not load when ProjectE Integration is installed
- Fix: [1.12.2] The Ignore Owner option is inaccessible in the Rift Stabilizer
- Fix: [1.12.2] Keypad Doors always have the custom name "Air" when placed as the last item of the stack
- Fix: [1.12.2] The Alarm's name does not show up in its GUI
- Fix: [1.12.2] Duplicate status message when placing a Sentry
- Fix: [1.12.2] Disguising a Sentry makes it inaccessible
- Fix: [1.12.2] Some sliders don't get colored when hovering over them
- Fix: [1.12.2] Items carried by the cursor disappear when closing the Universal Block Reinforcer or Passcode-protected Furnace screen until the screen is opened again
- Fix: [1.16.5] The Keypad Barrel does not drop itself when removed and can be destroyed by the wither and ender dragon
- Fix: [1.16.5] Teleporting near a Rift Stabilizer leads to a crash on a dedicated server
- Fix: [1.16.5-1.18.2] The new crystal quartz blocks from v1.9.5 don't have an EMC value associated with them
- Fix: [1.16.5-1.18.2] Crash when using the Disguise Module
- Fix: [1.16.5+] Crashes when rendering some modded block entities in a Projector, or using them as a disguise
- Fix: [1.16.5+] Blocks cannot be placed on the side of any of SecurityCraft's doors
- Fix: [1.16.5+] Reinforced Lever duplication exploit
- Fix: [1.16.5+] Crash when placing any type of named passcode-protected furnace
- Fix: [1.16.5+] Iron fences don't connect to fences they should connect to
- Fix: [1.16.5+] Items carried by the cursor get deleted when closing the Universal Block Reinforcer screen
- Fix: [1.16.5+] Using tab to navigate through the SC Manual has an unintuitive order
- Fix: [1.16.5+] Crash when trying to create a superflat world with a layer of a reinforced block
- Fix: [1.16.5+] It's impossible to close a Keypad Door that had its "Signal length" option set to 0
- Fix: [1.18.2+] Reinforced cauldrons don't get updated properly when their contents change, leading to unexpected behavior
- Fix: [1.18.2+] Using pick block on reinforced cauldrons containing something doesn't work
- Fix: [1.19.3+] Jade does not properly hide blocks
- Fix: [1.19.3+] The Reinforced Mangrove Button and Pressure Plate can't open reinforced doors
- Fix: [1.19.3+] Reinforced pistons can push vanilla's reinforced deepslate
- Fix: [1.19.4+] A player shooting a guardian with a taser gets damaged by the guardian's thorns
- Removed: Ability to use name tags on the Sentry and other certain blocks. To give them a name, rename them in an anvil before placing
- Misc.: [1.16.5+] More texture updates
- Misc.: [1.19.4] The minimum required Forge version is 45.0.58
[*] in Minecraft 1.19.3 and 1.19.4, these are only available if the update_1_20 datapack is enabled