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 | 2 months ago |
| Version | 1.0.1 |
| Download link | TeamSorcerers-Artisan-1.0.1.zip |
| Downloads | 41 |
| Dependency string | TeamSorcerers-Artisan-1.0.1 |
README
Artisan
A quality-of-life and gameplay enhancement mod for YAPYAP focused on improving multiplayer compatibility, performance, and customization.
Artisan brings together multiple improvements inspired by existing community mods while addressing limitations, bugs, and performance issues found in previous implementations.
Why Artisan Exists
Artisan was created after discovering several useful community mods that introduced interesting features but also presented limitations, bugs, or multiplayer/performance issues.
Normally, contributing fixes directly to the original projects would be the preferred approach. However, the mod pages for the referenced projects did not provide public repositories or issue trackers (such as GitHub pages) where bugs or improvements could be reported or contributed.
Because of this, Artisan was developed as an independent project focused on improving, reimplementing, and expanding those ideas while maintaining compatibility, configurability, and performance.
This project is intended as a complement to community work and not as criticism of the original authors, whose mods served as inspiration.
Features
Monster Health Bars + Multiplayer Damage Indicators
Artisan adds health bars and floating damage indicators to monsters.
Unlike similar implementations, these indicators are synchronized properly for multiplayer and work for every player with Artisan installed.
Inspired by XiaohaiMod's HealthBar mod:
https://thunderstore.io/c/yapyap/p/XiaohaiMod/HealthBar/
Improvements made by Artisan:
- Fully functional in multiplayer
- Works for all players with Artisan installed
Aero & Teleblast Damage
Adds damage to:
- Aero
- Teleblast
Inspired by ControllerAndHisFriends' AeroWithDamage:
https://thunderstore.io/c/yapyap/p/ControllerAndHisFriends/AeroWithDamage/
Artisan improvements:
- Fixes issues that could cause Aero to behave incorrectly
- Cleaner implementation
- Fully configurable
- Individual spell damage values can be adjusted or disabled
Extra Inventory Slots
Adds additional inventory slots to increase carrying capacity.
Inspired by H4Mods' MoreInventorySlots:
https://thunderstore.io/c/yapyap/p/H4Mods/MoreInventorySlots/
Artisan improvements:
- Eliminates performance bottlenecks found in previous implementations
- Avoids lag spikes when:
- switching selected inventory slots
- changing held items
- moving items between slots
- Improved inventory UI behavior:
- Focuses on adding extra slots without breaking the UI, but it does hide the background decoration of the inventory when extra slots are enabled. This is a trade-off to maintain a cohesive UI while adding functionality.
- Added shortcut keys for extra slots (4-8) to quickly switch between them
- Can be disabled entirely
Configuration
Every Artisan feature is configurable.
You can:
- Enable or disable health bars
- Enable or disable damage indicators
- Enable or disable extra inventory slots
- Enable or disable Aero damage
- Enable or disable Teleblast damage
- Adjust feature-specific values
Configuration file:
BepInEx/config/gamedroit.artisan.cfg
Changes can be made without modifying the mod itself.
Goals
Artisan aims to provide:
- Better multiplayer support
- Higher stability
- Better performance
- Modular features
- Full configurability
- Compatibility-focused implementations
Installation
- Install BepInEx
- Install Artisan
- Launch the game once
- Configure features if desired:
BepInEx/config/gamedroit.artisan.cfg
Credits
Inspiration
Health Bar implementation inspired by:
- XiaohaiMod — HealthBar
Aero damage implementation inspired by:
- ControllerAndHisFriends — AeroWithDamage
Inventory slot implementation inspired by:
- H4Mods — MoreInventorySlots
Author
Created by Gamedroit also known as Hadaward.
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.