Artisan
A general-purpose quality of life mod, highlights include inventory extension support, the addition of a health bar and damage indicators that work in multiplayer, and added damage to the Aero and Teleblast spells.
| Date uploaded | a month ago |
| Version | 1.1.0 |
| Download link | TeamSorcerers-Artisan-1.1.0.zip |
| Downloads | 922 |
| Dependency string | TeamSorcerers-Artisan-1.1.0 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
Artisan
Artisan is a quality-of-life and gameplay enhancement mod for YAPYAP focused on multiplayer compatibility, stability, performance, and customization.
The mod expands existing gameplay systems while remaining fully configurable, lightweight, and multiplayer-friendly.
Why Artisan Exists
Artisan was created after experimenting with several community mods that introduced useful features but also presented limitations related to multiplayer compatibility, performance, maintainability, or configurability.
While contributing fixes directly to those projects would normally be preferable, some of them did not provide public repositories or issue trackers where improvements could be proposed.
Because of that, Artisan was developed as an independent project that reimplements, improves, and expands those ideas while focusing on:
- Multiplayer compatibility
- Stability
- Performance
- Configurability
- Long-term maintainability
Artisan exists as a complement to community creations and not as criticism of the original authors whose work inspired some of its features.
Features
Monster Health Bars
Displays health bars above monsters when they receive damage.
Features:
- Visible to all players with Artisan installed
- Automatic fade-out when monsters leave combat
- Configurable height offset
- Multiplayer-safe implementation
Floating Damage Indicators
Displays floating damage numbers whenever monsters are hit.
Features:
- Multiplayer synchronized
- Damage-based visual scaling
- Automatic fade and cleanup
- Lightweight implementation
Aero & Teleblast Damage
Adds configurable damage support for:
- Aero
- Teleblast
Features:
- Independent damage values
- Independent enable/disable options
- Optional player damage support
- Multiplayer-safe damage handling
Extended Inventory Slots
Expands the player's inventory capacity beyond the vanilla limit.
Features:
- Configurable maximum slot count
- Additional slot hotkeys
- Improved inventory performance
- Persistent save support
- Multiplayer compatibility
Dynamic Inventory Layout
Fully customizable inventory layout system.
Features:
- Configurable inventory columns
- Configurable slot spacing
- Configurable inventory position
- Adaptive inventory positioning
- Optional inventory background hiding
- Improved offhand slot positioning
Inventory Slot Upgrade System
Adds progression-based inventory expansion.
Players start with the default inventory size and can purchase additional slots during the lobby phase.
Features:
- Individual progression per player
- Shared room gold economy
- Configurable upgrade prices
- Configurable price scaling
- Dedicated upgrade station
- Multiplayer-safe synchronization
- Persistent progression
Locked Inventory Slots
Protects unavailable inventory slots until they are unlocked.
Features:
- Visual lock overlay
- Tele-lock themed lock icon
- Scroll wheel protection
- Hotkey protection
- Drag-and-drop protection
- Item pickup validation
Inventory Data Recovery
Artisan includes several safeguards to prevent accidental item loss.
Features:
- Automatic recovery of items stored in locked slots
- Automatic recovery of items stored in overflow slots
- Safe inventory restoration process
- Protection against inventory save corruption
Configuration
All Artisan features can be configured through:
BepInEx/config/gamedroit.artisan.cfg
Settings are organized into dedicated configuration groups for improved readability.
Available configuration categories include:
Combat UI
- Monster health bars
- Damage indicators
- Health bar height offset
Spells
- Aero damage
- Aero player damage
- Teleblast damage
- Teleblast player damage
Inventory
- Extended inventory slots
- Maximum slot count
- Grid columns
- Grid position
- Slot spacing
- Background visibility
- Extra slot key bindings
Inventory Upgrades
- Upgrade system enable/disable
- Base upgrade price
- Price multiplier
Installation
- Install BepInEx.
- Install Artisan.
- Launch the game once.
- Configure the mod if desired.
Configuration file:
BepInEx/config/gamedroit.artisan.cfg
Roadmap
Planned features include:
- Host configuration synchronization
- Automatic client configuration updates
Credits
Inspiration
Health Bar: https://thunderstore.io/c/yapyap/p/XiaohaiMod/HealthBar/
Aero With Damage: https://thunderstore.io/c/yapyap/p/ControllerAndHisFriends/AeroWithDamage/
More Inventory Slots: https://thunderstore.io/c/yapyap/p/H4Mods/MoreInventorySlots/
Author
Created by Gamedroit (Hadaward)
If you have suggestions, bug reports, or feedback, feel free to open an issue on GitHub or reach out through the YAPYAP modding community.
CHANGELOG
Changelog
1.1.0
Added
- Added support for adaptive inventory grid positioning.
- Added support for configurable inventory grid columns.
- Added support for configurable slot spacing.
- Added support for optional inventory background hiding.
- Added support for configurable inventory position offsets.
- Added support for extra slot key bindings.
Changed
- Refactored inventory UI layout system to support dynamic grid configurations.
- Reworked slot positioning to use relative offsets based on configurable grid settings.
- Improved offhand slot alignment and scaling to maintain consistency with dynamic grid layouts.
- Reorganized mod configuration into dedicated configuration groups.
:warning: Its recommended to reset your mod configuration after updating to this version to ensure all new settings are properly initialized.
Fixed
- Fixed issue where items could become permanently inaccessible when inventory slot upgrades were enabled after a save already contained items in higher slots. Such items are now automatically removed from invalid slots and dropped into the world as recoverable items.
- Fixed issue where reducing
MaxSlotscould permanently delete items stored in higher inventory slots. Items from overflow slots are now automatically dropped into the world during inventory restoration instead of being lost. - Fixed race condition between:
ServerTryRestoreFromKvpandServerSerializeToKvp, which could cause inventory data to be overwritten during restoration. Now added restore state tracking through:RestoringInventoriesand prevented slot serialization while a restore operation is in progress.
What comes next on the roadmap?
- Implementing support for synchronizing host configurations to clients in multiplayer sessions, so that settings are consistent across all players without requiring manual configuration.
If you have any suggestions or feedback on the mod, please feel free to reach out to me on the mod's GitHub repository or through the modding community discord. Your input is invaluable in helping me improve and expand the mod's features!
1.0.2
Added
- Added configurable backpack inventory slot upgrades.
- Added per-player inventory progression system.
- Added lobby upgrade chest for purchasing additional inventory slots.
- Added support for shared gold economy when purchasing inventory upgrades.
- Added locked slot visual overlays with tele-lock mesh rendering.
- Added automatic slot locking/unlocking synchronization.
- Added multiplayer-safe inventory upgrade networking.
- Added localized upgrade text support.
- Added English and Brazilian Portuguese localization support.
- Added shopkeeper purchase feedback integration.
- Added purchase sound effects and NPC reactions after successful upgrades.
- Added configurable upgrade pricing:
- Base slot upgrade price
- Upgrade price multiplier
- Added support for disabling the upgrade system entirely while keeping all slots unlocked.
- Added inventory full handling for potion ingredients and custom interactables.
- Added runtime UI refresh for slot overlays and upgrade states.
Changed
- Completely refactored extended inventory UI layout system.
- Reworked slot positioning to use deterministic absolute positioning.
- Improved inventory frame alignment and spacing.
- Improved offhand slot alignment and scaling.
- Improved locked slot visuals and overlay rendering.
- Improved inventory interaction validation.
- Improved multiplayer synchronization for inventory upgrades.
- Improved tooltip behavior for locked/full inventory states.
Fixed
- Fixed players being able to store items in locked inventory slots.
- Fixed mouse scroll selecting locked slots.
- Fixed locked slots accepting drag/drop interactions.
- Fixed inventory pickup validation when extra slots are locked.
- Fixed inventory full tooltip inconsistencies.
- Fixed potion ingredient tooltip not displaying "Inventory Full".
- Fixed upgrade chest not respawning after returning to the title screen.
- Fixed locked slot overlays not refreshing immediately after upgrades.
- Fixed several inventory UI alignment issues.
- Fixed frame positioning inconsistencies between regular slots and offhand slot.
- Fixed purchase SFX playing when upgrades failed.
- Fixed multiplayer purchase confirmation behavior.
- Fixed several UI layering and overlay positioning issues.
Technical
- Added runtime mesh-to-sprite rendering for tele-lock slot icons.
- Added server-authoritative inventory upgrade purchases.
- Added custom Mirror networking handlers for upgrade synchronization.
- Added helper utilities for locked slot validation and inventory state checks.
- Added automatic UI rebuild and refresh logic for inventory overlays.