About Loot Table & Stacksize GUI
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.
Migration from v1:
All configurations from v1 will be imported automatically when the plugin is loaded for the first time. You might have to reload the plugin multiple times for all changes to take effect.
FAQ:
My loot profiles from v1 are not showing up: All loot profiles from v1 are disabled after they have been imported. You have to click on the prefab and manually enable them.
Crate, Tree or Ore Node does not contain the correct items: Loot profiles have to be manually reloaded after they have been updated. This can be done with the command 'loottable reload'
I can not enable the loot profile: In order to enable a loot profile there has to be at least 1 item in the default item category.
Will furnace speed, recycling speed and airdrop configuration be added back? No, at the moment there are no plans to add these back as they caused a lot of trouble in the past.
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
Supported prefabs:
- Crates, Barrels
- NPCs
- Trees, Ores, Animal corpses
- Excavator, Quarries
- Christmas Presents, Eggs, Loot Bags
- Collectables like Hemp, Corn, etc.
New with version 2:
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. Documentation is also included. Both wrappers offer the same functionality.
Non-static: https://gist.github.com/TheKiiiing/53a37e8bbb48d8a24c8e8b21b9da37ac
Static: https://gist.github.com/TheKiiiing/77ee60fa5d23934fd138fde58a2b147f
The Custom Items Api is identical to v1.
Loot profiles have to be manually reloaded after they have been changed. This can be done with the following command:
loottable reload
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.
FAQ:
Q: WTF do item categories do
A: When an item is assigned to a category, it will inherit the drop chance of this category. By the time the loot of a crate is generated, every category has a configurable chance to get selected. If it gets selected a specified amount of items in this category will be added to the loot of the crate. Items using the default category or items withot a category have an individual chance of getting selected.
Q: I created a custom loot profile but the crate has vanilla loot
A: Check if the profile or the blacklist is enabled
Q: A quarry is outputing items from its custom loot profile althogh the profile is disabled
A: Normally the Quarry should reset to its default state afte it is turned off. Sometimes this reset doesn't occur and a server restart is required to reset the quarry.