Search the Community
Showing results for tags 'stackmodifier'.
-
Version 2.1.4
9,462 downloads
Say goodbye to configuration and data files. This plugin lets yo edit the loot of (almost) every lootable object directly over a custom UI. It also includes a graphical stack size editor thus making it ideal for anyone who is not familiar with editing config files. Do not use in combination with any other stack size controller or loot plugin. Features: User friendly GUI - no need to edit config files Loot configuration for every prefab in the game Stack size controller supports individual stack sizes for every prefab Support for custom items Support for third party plugins Fully backwards compatible with version 1.x.x Default config included for every prefab Configuration for Smelting Speed, Recycler Speed and Efficiency Supply Drop configuration Supported prefabs: Crates, Barrels NPCs Trees, Ores, Animal corpses Excavator, Quarries Christmas Presents, Eggs, Loot Bags Collectables like Hemp, Corn, etc. Additional Configuration: Smelting Speed Supply Drop Recycler Speed / Efficiency Commands: loottable - Open the Loottable UI loottable reload - Manually refresh loot Permission: loottable.edit - Required to use the Loottable UI Required Dependencies (Oxide only): Image Library: https://umod.org/plugins/image-library Translations: This plugin fully supports translation. Out of the box only english is included. For item names to be translated, the plugin https://umod.org/plugins/rust-translation-api is required. English translations are located in /oxide/lang/en/Loottable.json For Developers: Loot Api: Developers can use the Loot Api to register loot profiles for custom NPCs or other plugin related loot. It is highly recommended to use one of the provided wrappers to access the api. Both wrappers offer the same functionality. Non-static (with documentation): https://gist.github.com/TheKiiiing/53a37e8bbb48d8a24c8e8b21b9da37ac Static (with documentation): https://gist.github.com/TheKiiiing/77ee60fa5d23934fd138fde58a2b147f Loot Api Example: // This example uses the non-static version of the Loot Api private LoottableApi loottableApi; void OnServerInitialized() { loottableApi = new LoottableApi(this); timer.In(5f, () => { loottableApi.ClearPresets(); loottableApi.CreatePresetCategory("Crates"); loottableApi.CreatePreset("c_locked", "Locked Crate", "crate_hackable"); loottableApi.CreatePreset("c_elite", "Elite Crate", "crate_elite"); loottableApi.CreatePreset("c_military", "Military Crate", "crate_military"); loottableApi.CreatePreset("c_normal", "Normal Crate", "crate_normal"); loottableApi.CreatePresetCategory("NPCs"); loottableApi.CreatePreset(true, "npc_cargo", "Cargo Ship NPC", "npc_militunnel"); loottableApi.CreatePreset(true, "npc_control", "Control Center NPC", "npc_militunnel"); }); } void SpawnNpc() { // Spawn NPC here ScientistNPC npc; // Assign a loot preset to the NPC loottableApi.AssignPreset(scientist, "npc_control"); } void SpawnCrate() { // Spawn crate here LootContainer crate; // Assign a preset to the crate if (loottableApi.AssignPreset(container, "c_locked")) { // The container has been filled with loot return; } else { // The container is not handled by Loottable // Default loot logic goes here } } The resulting configuration page would look like this: Custom Items API: Developers can use the Custom Items Api to add a custom item to the Loottable item list. If an item is marked as persistent it will remain in the custom item list until it is removed by ClearCustomItems. All non-persistent items will be removed after the plugin that registered them has been unloaded. (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId) (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId, bool persistent) //(v1.0.27 or higher) (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId, string customName) (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId, string customName, bool persistent) //(v1.0.27 or higher) (void) ClearCustomItems(Plugin plugin) //(v1.0.27 or higher) Hooks: (object) OnContainerPopulate(LootContainer container) This hook is called every time a loot container is about to be populated with loot. Returning a non-null value prevents the plugin from spawning loot into that crate. (object) OnCorpsePopulate(LootableCorpse corpse) This hook is called every time an npc corpse is about to be populated with loot. Returning a non-null value prevents the plugin from spawning loot into that corpse. (object) OnCustomAirdrop(SupplySignal signal) This hook is called every time a custom supply drop is about to be delivered. Returning a non-null value will cancel the custom supply drop. Outdated documentation for Version 1: New with version 1.0.27: Custom Items can now be created and edited directly in the GUI. They can be created from any existing item and modified in the Item Select menu You can now create and load backups of your configuration. Commands (F1 or Server Console): loottable.backup load <name> - Load backup with the given name from the backups folder (will wipe your current configuration) loottable.backup create <name> - Create backup of everything with the given name Backups will be created in the data/Loottable/backups folder. To load a backup, the backup file needs to be present in that folder. When creating backups in the in-game console, the permission loottable.debug is required. IMPORTANT: DO NOT LOAD BACKUPS FORM SOURCES YOU DO NOT TRUST, they might cause harm to your server New with version 1.0.16: Custom Items: Now you can add custom items used by other plugins directly to your loot table. Other plugins can can register these items using the api (documentation below). Screenshots: Overview of crates and their current loot table Stacksize Editor Commands: loottable - Open the editor loottable refresh - Manually refresh crate loot loottable flags - List available flags (explained below) loottable flags <name> <1|0> - Enable / disable a certain flag loottable reload_vanilla_profiles - Manually re-download vanilla loot profiles (only for debuging) Permission: loottable.edit - Required to use the editor Flags: There are flags to disable some limits in the editor. Only enable these flags if you really need to as they might cause unexpected behavior of the editor. There are currently 3 flags available: Debug If enabled, the Debug flag provides more detailed information about errors and other actions in the editor. Don't enable this flag unless you want your console full of spam. UnlockGatherMultiplier allows you to use gahter multipliers less than one and higher than 1000. Note that multipliers less than one might lead to unexpected results in some cases. DisableItemLimit Probably the safest flag to use is DisableItemLimit as it simply lets you set stack sizes and every other item amount in the editor as high as 2,147,483,647 which is the biggest possible value of a 32-bit integer. UnlockFurnaceMultiplier lets you use any value as the furnace speed multiplier. Don't enable this flag unless you know what you are doing, since the default value range from 0.1 to 100 should cover most use cases and larger values might impact server performance. UnlockItemMultiplier unlocks the multiplier when multiplying a loot table. DisableStackingHooks will disable all stacking related hooks. Enable if you encounter problems when stacking items. RefreshLootOnExit controls if all crates get refreshed after closing the editor or when reloading the plugin. Enable this only for testing, there might be an increase in entities. Refer to the Commands section for more information about enableing flags. Vanilla Configurations: Since version 1.0.7 there are vanilla loot profiles available for most crates and NPCs. These profiles can be loaded using the "Load default loot table" button at the top center of the editor. DISCLAIMER: The vanilla loot profiles in the editor might not exactly match the vanilla loot distribution of the game as it uses a completely different loot distribution system than Rust. These profiles rather serve as a reference point for custom loot profiles. Important for Carbon users: In order for this plugin to work with carbon, Harmony references need to be enabled. This can be done with the following command: c.harmonyreference 1 Required Dependencies (Oxide only): Image Library: https://umod.org/plugins/image-library Custom Items API: Add a custom item to the item list. If an item is marked as persistent it will remain in the custom item list until it is removed by ClearCustomItems. All non-persistent items will be removed after the plugin that registered them has been unloaded. (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId) (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId, bool persistent) //(v1.0.27 or higher) (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId, string customName) (void) AddCustomItem(Plugin plugin, int itemId, ulong skinId, string customName, bool persistent) //(v1.0.27 or higher) (void) ClearCustomItems(Plugin plugin) //(v1.0.27 or higher) Example: Its recommended to delay the call a little bit to make sure Loottable is loaded private void Init() { timer.In(1f, () => { Loottable?.Call("AddCustomItem", this, -946369541, 2664651800, "High Quality Fuel"); }); } Hooks: (object) OnContainerPopulate(LootContainer container) This hook is called every time a loot container is about to be populated with loot. Returning a non-null value prevents the plugin from spawning loot into that crate. (object) OnCorpsePopulate(LootableCorpse corpse) This hook is called every time an npc corpse is about to be populated with loot. Returning a non-null value prevents the plugin from spawning loot into that corpse. (object) OnCustomAirdrop(SupplySignal signal) This hook is called every time a custom supply drop is about to be delivered. Returning a non-null value will cancel the custom supply drop.$40.00- 929 comments
- 27 reviews
-
- 13
-
- #loot
- #customloot
- (and 13 more)
-
Version 2.6.7
8,704 downloads
This plugin will seamlessly handle all of the ugly side effects and glitches. Thanks to Stack-modifier's feature additions, it makes it feel just like Rusts default behavior, but better! Features Has a GUI Editor Patches Industrial Conveyor stack issues! Blocks Player movements while using GUI Editor Including Keybinds! This plugin has 2 commands and no Lang file Supports stacking of liquids Supports Stacking of Fuel Containers (hats, tools, etc.) Supports Stacking of Guns Supports Weapon Attachments Supports Stacking of Skins Works with SkinBox plugins Supports Stacking of Custom Items Supports Stacking of Custom Items with Custom Display Names Supports Stacking of Key Cards without losing the stack when swiping Supports Stacking Candy Cane Club without losing the stack while lick Support for modified presents for unwrapping The largest possible value in C# is 2,147,483,647 Which means anything over this stack-size will break the plugin Limits wearable clothing items to stack sizes of 1! ( on the player wear container only ) Limits weapon attachments to stack sizes of 1! ( On the weapon its self! so you can have bigger stacks! ) Known Conflicts RoadBradley & HeliSignals Are doing item creations wrong and setting the item.name field as vanilla item display names thus breaking stack support. ( don't set a vanilla display name only set them if its custom names as the fix ) Davids Shop UI ( recently changed how his default data files are createdfor items ) ( you need to generate a new Items.json file and re-do custom items / pricing inside it to fix stack bugs with old data files ) Magic Coin uses some of the same hooks set up config in it correctly to not conflict Custom Skin Stack Fix not needed this handles it properly Stack Size Controller cannot have 2 of the same plugins basically Extra Loot causes a stacking bug when a reboot occurs with skinned items preventing old skinned items from stacking with new skinned items IndustrialCustomSkinsFix not needed stack-modifier has the same patch in it. IQAlcoholFarm by BadMandarin/Mercury is not supported & will cause stack bugs / problems ( could be supported with an author update, but current version is not supported ) ItemPerks by imthenewguy Causes stack bugs/problems just by having this plugin on your server due to harmony patching done inside it + repair logic is bugged. Item creation is also not handled properly resulting in duplication issues with Conveyor movements nothing can be done about that. ( plugin requires a full rewrite for proper support & repairs. ) Plugins that do not handle Item Creation Correctly: ( Which break stacks ) Custom Item Drops by Machine ( Always sets the vanilla display name when its supposed to be null for vanilla items ) XP System by fastburst ( Always sets the vanilla display name when its supposed to be null for vanilla items ) Copy Paste ( Items created by copy paste its self will not stack since item creation is not handled properly ) This list will be constantly updated as devs fix their code accordingly & new ones are discovered to be flawed. Getting Started - Click Either Link to play video Video One Video Two Permissions stackmodifier.admin - Allows players access to the UI Editor. Chat Commands /stackmodifier -- Opens Editor UI, Must enable config option "Enable UI Editor": true /stackmodifier.reset ( is also console cmd ) -- Requires stackmodifier.admin perm ( resets stack-sizes ) /resetvenders -- Requires being an admin, only resets facepunches messed-up vendors, not all /stackmodifiercolor <inputpanel|inputtext|text|transparent> <color> <alpha|ex, 0.98> Example /stackmodifiercolor inputpanel #207086 0.25 UI Editor Commands set 8 -- Inside a categories Search Bar, type set and a value and it will apply it to the whole category, reset -- Inside a categories Search Bar type reset hit the enter key or click out of the field and it resets it. multiply -- Inside a categorie use the Search Bar & type multiply and a value and it will apply it to the whole category. if you reset or set, re-click the Category Tab to refresh it before making more changes! Otherwise you will have to do your first edit twice for it to start working again UI Editor Without Images? * At the top of the config you will see the following setting set to true save and reload. "Disable Images for UI Editor": false, < Disables images and allows full use Having Problems? * Warning this plugin is not compatible with custom-skins-stacks-fix plugin since this already handles everything. * If you already have a plugin that modifies the rust stack sizes you will first need to remove that plugin. * Then you simply load Stack Modifier onto your server open the config and start editing the Modified values to your new stack-size amounts! * When you are done simply save and reload the plugin! ( oxide. reload StackModifier ) * Alternatively you can utilize the built-in UI Editor and not ever need to touch the config! * Admins - Auth level 2 will always be ignored. * This plugin is not compatible with BetterVanish, I only support Vanish from umod. How to revert to vanilla? * Run the reset command while having the stackmodifier.admin perm or Unload Stack Modifier, delete the config, and restart your server. * It will reset the config back to vanilla settings allowing you to start over. API Hooks Interface.CallHook("OnStackSizeUpdated"); //called after the plugin updates the stack sizes on server reboots & when reloading the plugin. //It's also still called right after the UI editor is closed from modifying. //Inside the oxide hook I use called OnItemAddedToContainer theirs a hook of mine, if called mine will not touch it or fix the stacks. if (Interface.CallHook("OnIgnoreStackSize", player, item) != null) return; ## Configuration { "Disable Weapon Attachment stack fix (Unsubscribes from both OnWeaponModChange & CanMoveItem)": false, "Disable Wearable Clothes fix (Unsubscribes from OnItemAddedToContainer)": false, "Disable Ammo/Fuel duplication fix (Recommended false)": false, "Disable Candy Cane Club Lick fix & unwrap fix (Unsubscribes from OnItemAction)": false, "Disable OnCardSwipe fix (Unsubscribes from OnCardSwipe)": false, "Enable VendingMachine Ammo Fix (Recommended)": true, "Enable UI Editor": true, "Disable Images / Toggles off Images for UI Editor": false, "Sets editor command": "stackmodifier", "Sets reset command for both console & chat": "stackmodifier.reset", "Sets editor color command": "stackmodifiercolor", "Sets Default Category to open": "All", "Stack Modifier UI Title": "Stack Modifier Editor ◝(⁰▿⁰)◜", "UI - Stack Size Label": "Default Stacks", "UI - Set Stack Label": "Set Stacks", "UI - Search Bar Label": "Search", "UI - Back Button Text": "◀", "UI - Forward Button Text": "▶", "UI - Close Label": "✖", "Colors": { "InputPanel": { "Hex": "#0E0E10", "Rgb": "0.0549019607843137 0.0549019607843137 0.0627450980392157 0.98" }, "InputText": { "Hex": "#FFE24B", "Rgb": "1 0.886274509803922 0.294117647058824 0.15" }, "TextColor": { "Hex": "#FFFFFF", "Rgb": "1 1 1 1" }, "Transparency": { "Hex": "#", "Rgb": "0 0 0 0.95" } }, "Category Stack Multipliers": { "Attire": 1, "Misc": 1, "Items": 1, "Ammunition": 1, "Construction": 1, "Component": 1, "Traps": 1, "Electrical": 1, "Fun": 1, "Food": 1, "Resources": 1, "Tool": 1, "Weapon": 1, "Medical": 1 }, "Stack Categories": { "Attire": { "hat.wolf": { "DisplayName": "Wolf Headdress", "Modified": 10 }, "horse.shoes.basic": { "DisplayName": "Basic Horse Shoes", "Modified": 10 } }, "Misc": { "fogmachine": { "DisplayName": "Fogger-3000", "Modified": 10 }, "sickle": { "DisplayName": "Sickle", "Modified": 10 } }, "Items": { "kayak": { "DisplayName": "Kayak", "Modified": 10 }, "map": { "DisplayName": "Paper Map", "Modified": 10 } }, "Ammunition": { "ammo.grenadelauncher.buckshot": { "DisplayName": "40mm Shotgun Round", "Modified": 20 }, "ammo.rocket.sam": { "DisplayName": "SAM Ammo", "Modified": 10 } }, "Construction": { "door.double.hinged.metal": { "DisplayName": "Sheet Metal Double Door", "Modified": 10 }, "building.planner": { "DisplayName": "Building Plan", "Modified": 10 } }, "Component": { "bleach": { "DisplayName": "Bleach", "Modified": 2 }, "vehicle.module": { "DisplayName": "Generic vehicle module", "Modified": 10 } }, "Traps": { "trap.bear": { "DisplayName": "Snap Trap", "Modified": 30 }, "samsite": { "DisplayName": "SAM Site", "Modified": 10 } }, "Electrical": { "ceilinglight": { "DisplayName": "Ceiling Light", "Modified": 10 }, "wiretool": { "DisplayName": "Wire Tool", "Modified": 100 } }, "Fun": { "firework.boomer.blue": { "DisplayName": "Blue Boomer", "Modified": 200 }, "telephone": { "DisplayName": "Telephone", "Modified": 10 } }, "Food": { "apple": { "DisplayName": "Apple", "Modified": 100 }, "woodtea.pure": { "DisplayName": "Pure Wood Tea", "Modified": 100 } }, "Resources": { "skull.human": { "DisplayName": "Human Skull", "Modified": 10 }, "wood": { "DisplayName": "Wood", "Modified": 10 } }, "Tool": { "tool.instant_camera": { "DisplayName": "Instant Camera", "Modified": 10 }, "bucket.water": { "DisplayName": "Water Bucket", "Modified": 10 } }, "Weapon": { "gun.water": { "DisplayName": "Water Gun", "Modified": 10 }, "spear.wooden": { "DisplayName": "Wooden Spear", "Modified": 10 } }, "Medical": { "blood": { "DisplayName": "Blood", "Modified": 100 }, "bandage": { "DisplayName": "Bandage", "Modified": 30 } } } }$24.99- 162 comments
- 16 reviews
-
- 19
-
- #stacks
- #rust stacks
- (and 16 more)
-
Version 2024.5.2.1658
118 downloads
SAVE 10% WHEN BUYING THE BUNDLE SAVE 10% WHEN BUYING THE BUNDLE This high performance patch will allow to set custom item stacks based on: Item name Item category Blacklist items (useful when using the categories) This is a standalone Harmony patch, Oxide installation is optional. Copy the Oxidation.StackManager.dll file into your HarmonyMods folder and restart your server. At the first server start after installing the patch a new configuration file Oxidation.StackManager.X.json will be created at the HarmonyMods folder. What is Harmony ? Harmony is a library for patching .NET code during runtime, it directly manipulates game code (CIL) without any additional abstraction layer such as Oxide. The direct patching of the game's byte code allows more performant modding as developers no longer need to rely on third party code, events or hooks to build custom functionality.$4.99- 4 comments
- 2 reviews
-
- #harmony
- #oxidation
- (and 8 more)