
Homebrewery
v2.6.47 - CUSTOM MESH SUPPORT IS REAL!!! Mod that enables creating new character parts and vanity gear items! Don't leave mod items in your storage boxes!
By Catman232
CHANGELOG
2.6.47 - 2025-05-04
Fixed
- Being sleep deprived means not having enough braincells to account for both methods of installing the mod, I fixed one method and accidentally broke the other. Now hopefully Homebrewery's own HomebreweryFiles should work again for the r2Modman way.
2.6.46 - 2025-05-04
Fixed
- Previous version changed how I was getting the mod folder names, which accidentally meant the check for Homebrewery's own folder stopped working as intended.
- Update message was always being opened because the check on the number had lost its equals sign after the greater than.
2.6.45 - 2025-05-03
Added
- CUSTOM MESH SUPPORT IS REAL!!!
- Added a few items to show off custom Mesh/ArmorRender parts, such as the coveted Bunhost Ears! More will come in the future.
- Rainbow Fur dye equivalent to Rainbow Hair dye. It works on both the body and hair at the same time.
- Icons for Nitro Coffee, Dance fever and Moon Chews.
- Labels have been added to a couple places in the character creation UI to say what the name of the custom part you are seeing is. It's a bit janky right now, it'll be improved next update.
- The shop code now checks if the ScriptableDialogData name ends with "#Homebrewery" as well as checking if the name was "dialogData_Skrit" (Skrit's one). This should allow a custom NPC's ScriptableDialogData to be picked up on for the Homebrewery Shop option.
Fixed
- Rainbow Hair dye effect was unintentionally setting brightness to the saturation value when it ended.
- The blink percent config setting from the file was being ignored, whoops.
- HB will now ignore content packs which have a "manifest.json.old" file in them, which corresponds with what r2Modman adds to every file when a mod is deactivated. Homebrewery would still look in the folders and then spam tonnes of errors since no files would be valid to import.
- Self-damage effects should work for all players rather than just the host now.
Changed
- A lot of code has been altered to properly run asynchronously, which might be a performance boost, I don't really know. But I needed to sort that out in order to properly use the glTF methods. Hopefully the import order of parts hasn't changed.
- A lot of code has been better organised too.
- Jaytwoster's Discord server keeps losing its custom invite link so I've replaced the one in the page with a regular infinite duration invite link.
- HB item shop has been overhauled and improved dramatically. I can't even explain the full extent of the changes in a mere patch note! Polish will come in the next update.
- Custom part save/load restore now saves the character name into the config as well so that it can skip altering the character if the slot has a different character in it on loading. This is for people who like to hotswap their characters in and out of the limited 7 slots there are.
- Improved warning and error log messages to actually say where the part/item is from, and be less needlessly wordy about it.
- HB Phone code has been overhauled, and now you can also customise the texts for The Based Department easter egg in a file within Internal!
- The CanDieInSanctuary patch has been altered to force any zone that is Safe to Field, rather than just Sanctum.
Removed
- Definitely a lot of jank this time.
2.4.33 - 2025-04-06
Added
- HB will now remember your custom parts in the config file so it can automatically restore them if the indexes have changed when you load the character! Note that this does not edit the save file, but does edit the active appearance so it will apply when you do save the character.
- More condition effects for consumables, particularly some secret ones.
- The low gravity and float upwards effects actually do something now since I implemented scripted effects for them.
- Some debatably out-of-scope patches so that stacked status conditions tick properly. I don't think any condition in vanilla even can stack anyway, but the code for it would tick only the first one but again for each stack, so a ten minute timer while you had ten stacks would run out in about a minute.
Fixed
- The item name secret string (the weird blank space in the nametags) has now been suppressed everywhere I could think of them being.
- The link to the older Discord thread was accidentally the same link as the other one.
- Source location log messages for the parts being imported were being posted in the console output regardless of the config setting because I forgot to label it with a 2, whoops.
- Using HB Phone no longer makes you look towards the origin of the map.
- Reloading item parameters might be a bit less prone to exploding now since I think I missed adding something after the json is read and overwritten onto the object. It might also be a little more stable if the name has changed too.
Changed
- The gear tab in the shop is now sorted by item name, so sets should now appear together rather than spread out across several pages.
- Tweaked how the part syncing operates to hopefully make it quicker to happen and less server intense due to the self-refreshing part marker status conditions.
Removed
- Jank?
2.3.24 - 2025-03-26
Added
- THE BIG ONE!!! Using custom status conditions as markers, your character now self-applies conditions that represent the custom parts you are using, so that other players' games will detect them and try to look up what index that part actually is in their game, to then alter your appearance to match up with what you see in your own game! Currently it is implemented for Eyes, Mouths and Skins.
- The Thunderstore page now includes collage images of the mod's contents that were already in the mod for a while. I hope content pack creators will follow suit and add images to their mod pages! (I've added a section about how to do it in the User Manual)
- Some more consumables, with new custom condition effects. I still need icons for them though.
- Two quality of life gear items - Invisible Weight (Cape), Hairpin (Helm); and four custom Beak textures contributed by Kiruex, and an all race Eyes and Mouth contributed by Descen. This stuff is being moved from Clandestine ContentPack for not suiting the theme of the pack and making more sense being just part of Homebrewery itself.
Fixed
- Not exactly a fix, but I've patched Apply_ArmorDisplay() to cap the dye index variables to the count of the dyes array which should prevent you from having the console flooded with the IndexOutOfRangeException when someone you're playing with is using a custom dye at an index outside of your game's array. Doesn't help vanilla players at all though, Kiseff needs to make this code change themselves.
- The placeholder mouth that Byrdles have in vanilla was accidentally not being cleared when you have the SpreadVanillaParts setting as false, meaning the first beak texture would be invisible.
Changed
- The Shop UI will now not reset the tab when you change pages in the HB Shop, but will retain the vanilla behaviour everywhere else. There aren't pages anywhere else anyway.
- Chestpieces and Leggings part fields will no longer be checked if the corresponding texture wasn't marked done, which is always the case if there isn't a texture anyway. This will reduce some useless/confusing logging, now messages will point out you've forgotten to set a part in the params while you have a texture for it.
- Likewise, it won't bother logging a texture it doesn't find if the corresponding mesh field is blank.
Removed
- A pinch of jank.
- Two sound effects in Internal > SFX which were from ages ago when I had experimented with adding hitsounds and killsounds, the code has been commented out for months, I think you can do it with Marioalexsan's ModAudio 2.0.0 now.
2.2.19 - 2025-03-16
Fixed
- Fixed a bug introduced in the previous version, a nullref exception when trying to sell an item while playing as a client in a server that has Homebrewery. The exception was happening client-side, but the server was reacting to it by kicking clients stating "possible exploit prevention". Ironically the cause was in the tiny piece of code checking that the shopkeep was the mod shop and not any other shop, it affected all shops as a result. Not very easy to test client-side stuff like this.
2.2.18 - 2025-03-14
Added
- More consumable items, because we can't have enough of them. Including one that effectively reduces your food capacity stat from cap to 0. A lot of these will be moved to their own pack eventually.
- A Beak texture option by Cowpy (Beak textures are in the Mouth setting for Byrdle, it's activated for this)
- Added a function that reprints all collected warning and error log messages. You can make it print the current list using F5, which will also clear the list afterwards.
- A whole bunch of dialogue option icons have been added, not least of all: next and previous icons for the mod item shop.
Fixed
- You'd probably never have noticed but Beaks without an 'open.png' were actually copying 'beak.png' back into their own 'beak/closed' texture rather than the 'open' texture, so the open beak was invisible, woops.
- The order of items in the shop was pretty jank with the custom dyes showing up after the consumables, now the custom dyes will be at the front of the list with the vanilla dyes.
Changed
- All LCtrl hotkeys can now also be input using RCtrl instead.
- Capes and Shields with invalid Mesh names will now default to using 'cape01' and '_shield_01' respectively, rather than setting the field blank.
- The vanilla dyes cost money again, so you can actually sell them.
- Thanks to Marioalexsan for writing me some complicated looking transpiler patches that make it so nothing costs money from the mod shop even if it says it does, AND allows you to sell items with 0 value, so now you can get rid of them without littering!
- You can now take damage and die in Sanctum, this is so some consumable item effects can actually do anything. There is a config setting you can use to revert this if you would prefer to be invincible in the Sanctum. I don't think it works in multiplayer yet.
Removed
- A smidge of jank.
2.1.11 - 2025-03-06
Added
- Skrit's Homebrewery Shop now has pages, and was so brain-rotten after getting that working.
- Customs for Consumables and Trade Items, pretty frivolous but why not?
- Yes, we absolutely needed over an entire page of ice cream cones.
- A new "Cape" by SaucyGoblin, I think a fair few people will really like this one.
Fixed
- Previous version's patch notes had the wrong date on it due to copypasta.
- A NullReferenceException error was occurring at the character select screen from the Update() method due to assuming there's a PlayerRaceModel to apply the eye state controls to, but when you don't have any characters, there actually is no such PlayerRaceModel there yet. Hopefully I fixed it properly, it's a bit hard to test.
- Thanks to stone_slab442 for pointing out to me a remaining oversight with reloading changes to armor.png not updating chestpieces properly due to jank with the boobOverride texture when you're not even using it.
Changed
- Param reloading previously created hashes of the txt file to compare and determine if the file had changed, this probably wasn't any faster than just comparing the strings, and it was actually failing to notice changes that had been made anyway. So now params should reload as long as any text has changed in the txt file.
- Texture2D format is now ARGB32 rather than DXT5, the game natively uses DXT1 and 5 but I guess it does a lot better when textures are made in Unity Editor, using LoadImage must be double compressing or something. Appearance+ uses ARGB32 anyway, and that's also the default format for PNGs loaded in by LoadImage if the texture is anything other than a DXT format.
Removed
- Item list scrolling in the shop is gone, the code still exists but I would have to update how it detects the correct shop name, not much point now we have pages.
- Some jank.
2.0.6 - 2025-02-25
Added
- The source of an item is now appended to the item's description to help with determining where an item even came from. This also will serve the purpose of pointing out that you've forgotten to remove the version number from a content pack mod's folder if you've manually installed it.
- Nine new Eyes parts by Remedy, some silly, some infamous. I hope you'll enjoy them, and sorry if you have to change your eyes back to what they were before this update. (Remember the Vanity Mirror was made free!)
Fixed
- A log message that states what params fields a piece of gear doesn't use was logging even when there was nothing to say, and it was logging for dyes too accidentally.
- PNGs removed from an item folder were not being removed as textures on items, so now the code will make them blank textures in this context. This affected boobOverride.png and legOverlay.png on Chestpieces mostly. Additionally, boobOverride.png will now be handled correctly during reload hotkey usage, and will copy armor.png when it should.
- Attempted to improve the item list scrolling code so it would properly update the list's position if the window resolution is changed, probably still not great.
Changed
- The Skin "Catman_WhatOnEarth" (Looked like Source Engine game missing texture) was confusing way too many people into thinking something is broken with the mod/game, so it has been changed to a translucent flat colour texture to sort of look like a slime creature.
Removed
- More jank.
2.0.0 - 2025-02-16
Added
- Customs for Capes, Shields, Byrdle Beak textures.
- Config setting to customise when the eyes try to close during the blink animation.
- Bumpscosity.
- Ability to scroll the item list in Skrit's Homebrewery Shop, as a compromise while I eventually figure out a good pagination method.
Fixed
- Item display names now include the folder name, item type and source folder (content pack folder name) to prevent them from ever colliding when inserted to the game's ScriptableItems Dictionary. It's hidden as best as it can be using text formatting magic.
Changed
- Improved the reloading code drastically through a major refactor of how the mod handles the files, and structures the data it needs to create part and item objects.
Removed
- Plenty of jank.
0.7.4 - 2024-12-24
(Not released on Thunderstore)
Added
- The entire mod at this point before rewriting a lot.
- Customs for: Dyes, Mouths, Eyes, Skins, Helms, Chestpieces and Leggings.
- Hotkeys for previewing the eye and mouth states in the character customisation UIs.
- A patch to make the eyes use the closed state when they blink.
- The Vanity Mirror patched to be free.
- HB Phone, a custom NPC dialogue, with shortcuts to the Storage UI and the Vanity Mirror UI.
- Skrit's Homebrewery Item Shop.
- All race's parts are spread to all other races in character customisation. Can be turned off via a config setting.
- Reload textures and items using LCtrl+R.