| Last updated | 10 hours ago |
| Total downloads | 18 |
| Total rating | 1 |
| Categories | Client Mods Oakveil Update |
| Dependency string | Zanakinz-ZUI-1.0.2 |
| Dependants | 1 other package depends on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_V_Rising
BepInEx pack for V Rising. Preconfigured and includes Unity Base DLLs.
Preferred version: 1.733.2README
ZUI - Modern UI Framework for V Rising
A powerful, modular UI framework for V Rising that provides an intuitive API for creating custom interfaces and integrating with game systems. This mod was created using BloodCraftUI - OnlyFams as a template base. So this mod has built in interactions between most of BloodCraft systems, also it has built-in features for KinPonds & ScarletSigns.
✨ Features
- Customizable Themes - Dynamic theming system with opacity controls and visual customization
- Resizable Panels - Drag-and-drop panel system with persistent positioning and sizing
- Plugin Registry - Easy registration system for external mods to add custom buttons and commands
- Event-Driven Architecture - Reactive UI updates with built-in event handling
- Sprite Loading - Simple API for loading custom sprites and icons from your plugin directory
- State Management - Built-in services for managing game state and dependencies
- Accessibility - Clean, intuitive interfaces designed for ease of use
- Performance Optimized - Efficient rendering and update systems for smooth gameplay
How to Install
Place ZUI.dll and the Sprites folder (the folder itself along with its contents) into your plugins folder.
📚 API Hooks & How to Use
Basic Setup
Initialize ZUI in your plugin and start registering UI elements:
using ZUI.API;
// Set your plugin context
ZUI.SetPlugin("MyAwesomeMod");
// Add a category for organization
ZUI.AddCategory("Player Commands");
// Register buttons that execute commands
ZUI.AddButton("Heal", ".heal", "Heals the player to full health");
ZUI.AddButton("Teleport Home", ".tp home", "Teleports you to your spawn point");
Creating Panels
using ZUI.UI.CustomLib.Panel;
using ZUI.UI.UniverseLib.UI;
public class MyCustomPanel : ResizablePanelBase
{
public MyCustomPanel(UIBase owner) : base(owner) { }
public override string Name => "My Custom Panel";
public override int MinWidth => 300;
public override int MinHeight => 200;
protected override void ConstructPanelContent()
{
base.ConstructPanelContent();
// Add your custom UI elements here
}
}
Loading Custom Sprites
using ZUI;
// Load a sprite from your plugin's Sprites directory
// Place images in: BepInEx/plugins/{YourPlugin}/Sprites/{filename}
var myIcon = Plugin.LoadSprite("icon.png", 100f);
Example API Hooks
| Hook | Description | Usage |
|---|---|---|
ZUI.SetPlugin(string) |
Sets the plugin context for registrations | ZUI.SetPlugin("MyMod"); |
ZUI.AddCategory(string) |
Creates a category under the current plugin | ZUI.AddCategory("Admin"); |
ZUI.AddButton(string, string, string) |
Registers a button with command | ZUI.AddButton("Text", ".cmd", "tooltip"); |
ZUI.RemoveButton(string) |
Removes a registered button | ZUI.RemoveButton("Text"); |
ZUI.RemovePlugin(string) |
Removes entire plugin registration | ZUI.RemovePlugin("MyMod"); |
Plugin.LoadSprite(string, float) |
Loads a sprite from plugin directory | Plugin.LoadSprite("icon.png", 100f); |
Advanced Registration Example
// Setup plugin with multiple categories
ZUI.SetPlugin("AdvancedMod");
// Player category
ZUI.AddCategory("Player");
ZUI.AddButton("Full Heal", ".heal max");
ZUI.AddButton("Speed Boost", ".buff speed");
// Admin category
ZUI.AddCategory("Admin");
ZUI.AddButton("God Mode", ".god");
ZUI.AddButton("Spawn Items", ".spawn all");
// Listen for changes
ZUI.OnButtonsChanged += () => {
Console.WriteLine("UI buttons updated!");
};
🙏 Credits
- Panthernet - BloodCraftUI - OnlyFams was used as a base template & I am using his ModernUI.
- Flaticon.com - Resize image icon
📄 License
This product is licensed under LGPLv3, but the base plugin 'BloodCraftUI - OnlyFams' is registered under MIT, so therefor this is a dual-license between MIT and my works which is LGPLv3.
See LICENSE.LGPLv3 for LGPLv3 details and LICENSE.mit for MIT details.