PaintedUtils 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package PaintedUtils --version 1.0.0
                    
NuGet\Install-Package PaintedUtils -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PaintedUtils" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PaintedUtils" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="PaintedUtils" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PaintedUtils --version 1.0.0
                    
#r "nuget: PaintedUtils, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PaintedUtils@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PaintedUtils&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=PaintedUtils&version=1.0.0
                    
Install as a Cake Tool

PaintedUtils

A utility mod for REPO that provides useful functionality for game objects and items.

Features

ColorChanger

The ColorChanger component allows you to:

  • Apply color presets to game objects
  • Modify emission intensity for glowing effects
  • Easily apply colors to objects at runtime
  • Revert objects to their original materials
Usage Examples
// Get a reference to a game object
GameObject myObject = GameObject.Find("SomeObject");

// Method 1: Use the static helper to apply a color directly
ColorChanger.ColorObject(myObject, Color.red, 1.5f);  // Apply red with emission intensity 1.5

// Method 2: Add a ColorChanger component with presets
ColorChanger changer = ColorChanger.SetupOnObject(myObject);
changer.ApplyColorPreset("Blue");  // Apply a preset

// Method 3: Create your own presets
changer.AddColorPreset("MyCustomColor", new Color(0.5f, 0.2f, 0.8f), 2.0f);
changer.ApplyColorPreset("MyCustomColor");

// Reset to original appearance
changer.ResetToOriginalMaterials();

ItemDropper

The ItemDropper component provides a way to make objects drop items when destroyed or interacted with:

  • Define drop tables with guaranteed and random weighted drops
  • Set drop quantity ranges for each item
  • Apply physics forces to dropped items
  • Support for item rarity effects (particles, sounds, etc.)
Usage Examples
// Method 1: Add an ItemDropper component to a GameObject
GameObject enemy = GameObject.Find("Enemy");
ItemDropper dropper = ItemDropper.SetupDropperOnObject(enemy, "DropTables/CustomDropTable");

// Method 2: Trigger drops manually
dropper.DropItems();

// Method 3: Use static methods to drop items at a position
Vector3 position = new Vector3(10, 0, 10);
ItemDropper.DropItemsAtPosition("DropTables/CustomDropTable", position);

// Method 4: Drop items for an object being destroyed
ItemDropper.DropItemsForGameObject(gameObject, "DropTables/CustomDropTable");

ItemLibrary

The ItemLibrary component provides a standard way to implement interactive items:

  • Player look-at detection with customizable prompts
  • Key-based interaction system
  • Battery power system for electronic items
  • Unity events for interaction callbacks
Usage Examples
// Basic setup on a GameObject
GameObject item = GameObject.Find("InteractiveItem");
ItemLibrary library = item.AddComponent<ItemLibrary>();
library.promptText = "Press E to Use Flashlight";

// Add battery functionality
ItemBattery battery = item.AddComponent<ItemBattery>();
battery.maxBatteryLife = 60f; // 60 seconds
battery.drainRate = 1f;       // 1 unit per second
library.useBattery = true;
library.battery = battery;

// Add interaction events
library.onInteract.AddListener(() => {
    // Toggle flashlight on/off
    Light light = item.GetComponent<Light>();
    light.enabled = !light.enabled;
    battery.isDraining = light.enabled;
});

// Add battery empty event
library.onBatteryEmpty.AddListener(() => {
    // Turn off light when battery is empty
    Light light = item.GetComponent<Light>();
    light.enabled = false;
});

Installation

  1. Ensure you have BepInEx installed
  2. Place the PaintedUtils.dll in your BepInEx/plugins folder
  3. Start the game

Dependencies

  • REPOLib 2.0.1 or higher
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 167 4/7/2025
1.0.0 171 4/7/2025