Mods / Item Rarity

Tags: #Crafting #Tweak #Utility
Author: Unreal
Side: Both
Created: Dec 22nd 2024 at 11:21 PM
Last modified: May 22nd at 6:20 PM
Downloads: 9138
Follow Unfollow 148

Latest release (for Vintage Story 1.20.5 - 1.20.7 and 1.20.8 - 1.20.10, potentially outdated):
itemrarity_1.1.5.zip  1-click install


 

Add excitement and variety to your Vintage Story experience with the Item Rarity Mod! This mod introduces a rarity system for tools, affecting their stats and adding special effects. Every time you craft or find a tool, it has a chance to receive a rarity making each item feel unique and powerful!

 

 

๐ŸŒŸ Features

 

๐Ÿ”ง Stat Modifiers

Each rarity level modifies core tool stats, making tools stronger or more efficient based on their rarity.

Affected stats:

  • Durability - Modifies the lifespan of tools.
  • Mining Speed - Affects how fast you mine with the tool.
  • Attack Power - Modifies damage dealt in combat.
  • Piercing Power - Modifies damage dealt by piercing attacks, such as thrown spears, arrows, and other.

 

โšก Magical Effects

 

Rarities can also grant magical effects. These effects can add dramatic new abilities to your tools.

Available effects:

  • Thor – When hitting a target with a piercing weapon, strikes lightning and sets the target on fire. 

 

 

๐Ÿ’ฌ Commands

 

โš ๏ธ All commands require operator (admin) permissions.

 

Command Description
/rarity set <rarity> Assigns the specified rarity to the item currently held.
/rarity reload Reloads the configuration without restarting the game/server.
/rarity test <times> Simulates multiple rarity rolls and displays results with probabilities.
 

๐Ÿ› ๏ธ Configuration

 

Customize rarities to match your server's balance or your personal gameplay style. Each rarity level supports detailed customization.

 

๐Ÿ“„ Example Configuration

"unique": {
  "Name": "Unique",
  "Color": "#EC290E",
  "Rarity": 2.0,
  "DurabilityMultiplier": 2.0,
  "MiningSpeedMultiplier": 1.9,
  "AttackPowerMultiplier": 1.9,
  "PiercingPowerMultiplier": 1.9,
  "Effects": ["Thor"],
  "SupportedItems": ["*"]
}
 

๐Ÿงพ Explanation of Fields

 

Field Description
Name Display name of the rarity (can be localized).
Color Hex color code shown in item display.
Rarity Weight used for selection. Higher = more common. (See "How Rarity Works" below)
DurabilityMultiplier Affects how long tools last.
MiningSpeedMultiplier Affects block-breaking speed.
AttackPowerMultiplier Affects melee damage.
PiercingPowerMultiplier Affects piercing (armor-bypassing) damage.
Effects List of special abilities. Example: ["Thor"].

 

๐ŸŽฏ How Rarity Works

The Rarity value in the config is used as a weight, not a percentage. You do not need to make them add up to 100.

 

โœ… Key Points:

  • Higher values = more likely to be selected.

  • The actual chance is based on the relative weight compared to others.

  • Example:

    "Common":   { "Rarity": 80.0 },
    "Uncommon": { "Rarity": 15.0 },
    "Rare":     { "Rarity": 4.0 },
    "Legendary":{ "Rarity": 1.0 }
     

    Here, Common has an 80% chance because 80 / (80 + 15 + 4 + 1) = 0.80

 

 

โž• Adding New Rarities

Just add a new entry in the config following the same format:

"epic": {
  "Name": "Epic",
  "Color": "#A020F0",
  "Rarity": 0.5,
  "DurabilityMultiplier": 2.5,
  "MiningSpeedMultiplier": 2.0,
  "AttackPowerMultiplier": 2.2,
  "PiercingPowerMultiplier": 2.0,
  "Effects": ["Thor"],
  "SupportedItems": ["*"]
}
 

Create as many rarities as you want and adjust their stats to balance gameplay your way.

 

๐Ÿšง Planned Features

  • More special effects to diversify tool behavior.
  • Advanced item filtering via SupportedItems.
  • Rarity support for armor, weapons, and non-tool items.

 

๐ŸŽจ Inspiration

Inspired by the RPG Item Rarity Mod.

Mod Version For Game version Downloads Release date Changelog Download 1-click mod install*
1.1.5
1.20.5 - 1.20.7 1.20.8 - 1.20.10
1604 May 22nd at 6:20 PM itemrarity_1.1.5.zip 1-click install

Fixed

  • This update should fix the crash when items are missing attribute tree.


Thanks to Kylocard and Mathic for the help to fix this bug.

1.1.4
1.20.1 - 1.20.3 1.20.5 - 1.20.7 1.20.8 - 1.20.10
4509 Feb 4th at 8:01 PM itemrarity_1.1.4.zip 1-click install

Fixed

  • Game crash when an item is missing attribute tree
1.1.3
1.20.1 - 1.20.3
132 Feb 4th at 2:18 PM itemrarity_1.1.3.zip 1-click install

This update should fix the crash when using modded tools. During testing, I didn’t experience any crashes with modded tools, but I can’t be certain it's fully resolved. If the issue persists, please report it and provide details if possible.

Fixed

  • Missing Attack Power modifier when an item has rarity applied.
1.1.2
1.20.0-rc.7 - 1.20.0-rc.9
1672 Jan 15th at 6:49 PM itemrarity_1.1.2.zip 1-click install

Fixed

  • Client crash when equipping armor with the CombatOverhaul mod installed.
1.1.1
1.20.0-rc.7 - 1.20.0-rc.9
184 Jan 14th at 12:47 PM itemrarity_1.1.1.zip 1-click install

Fixed

  • Client crash when harvesting a creature with a knife.
1.1.0
1.20.0-rc.7 - 1.20.0-rc.8
101 Jan 13th at 6:39 PM itemrarity_1.1.0.zip 1-click install

Important Notice

This update includes significant changes to the game code to improve functionality. However, due to the scope of these changes, it may cause unexpected bugs or crashes. Please report any issues you encounter.


Added

  • Support for armors and shields.
  • A way to ignore rarity translation if users change the rarity name.

Fixed

  • Bug where using a knife for harvesting animals ignored rarity, resulting in unchanged speed.
  • Bug where many tools were ignored; now almost all tools are supported.
  • Bug preventing players from giving a tin bronze pickaxe to the treasure hunter.
  • The reload command now also reloads the configuration for all clients.
1.0.2 735 Dec 25th 2024 at 1:47 PM itemrarity_1.0.2.zip 1-click install
Fix players unable to break certains blocks.

Fix item name when a rarity is not present in lang files.

1.0.1 85 Dec 25th 2024 at 2:17 AM itemrarity_1.0.1.zip 1-click install
Added Server->Client configuration sync.

Fixed client-side crash when connecting to a dedicated server.

1.0.0 116 Dec 24th 2024 at 6:19 PM itemrarity_1.0.0.zip 1-click install

Initial Release


73 Comments (oldest first | newest first)

💬 Bosscardinal685, Jul 3rd at 1:16 AM

Unreal I've also tried adding a rarity based on your example, but it doesn't seem to even register version 1.20.11 btw

Spoiler
{
"Rarities": {
"cursed": {
"Name": "Cursed",
"Color": "#606060",
"Rarity": 8.0,
"DurabilityMultiplier": 0.5,
"MiningSpeedMultiplier": 0.5,
"AttackPowerMultiplier": 0.5,
"PiercingPowerMultiplier": 0.5,
"ArmorFlatDamageReductionMultiplier": 0.5,
"ArmorPerTierFlatDamageProtectionLossMultiplier": 0.5,
"ArmorPerTierRelativeProtectionLossMultiplier": 0.5,
"ShieldProtectionMultiplier": 0.5,
"Effects": [],
"IgnoreTranslation": false
},
"common": {
"Name": "Common",
"Color": "#FFFFFF",
"Rarity": 10.0,
"DurabilityMultiplier": 1.0,
"MiningSpeedMultiplier": 1.0,
"AttackPowerMultiplier": 1.0,
"PiercingPowerMultiplier": 1.0,
"ArmorFlatDamageReductionMultiplier": 1.0,
"ArmorPerTierFlatDamageProtectionLossMultiplier": 1.0,
"ArmorPerTierRelativeProtectionLossMultiplier": 1.0,
"ShieldProtectionMultiplier": 1.0,
"Effects": [],
"IgnoreTranslation": false
},
"uncommon": {
"Name": "Uncommon",
"Color": "#36FF00",
"Rarity": 20.0,
"DurabilityMultiplier": 1.1,
"MiningSpeedMultiplier": 1.1,
"AttackPowerMultiplier": 1.1,
"PiercingPowerMultiplier": 1.1,
"ArmorFlatDamageReductionMultiplier": 1.1,
"ArmorPerTierFlatDamageProtectionLossMultiplier": 1.1,
"ArmorPerTierRelativeProtectionLossMultiplier": 1.1,
"ShieldProtectionMultiplier": 1.1,
"Effects": [],
"IgnoreTranslation": false
},
"rare": {
"Name": "Rare",
"Color": "#13DBE8",
"Rarity": 30.0,
"DurabilityMultiplier": 1.2,
"MiningSpeedMultiplier": 1.2,
"AttackPowerMultiplier": 1.2,
"PiercingPowerMultiplier": 1.2,
"ArmorFlatDamageReductionMultiplier": 1.2,
"ArmorPerTierFlatDamageProtectionLossMultiplier": 1.2,
"ArmorPerTierRelativeProtectionLossMultiplier": 1.2,
"ShieldProtectionMultiplier": 1.2,
"Effects": [],
"IgnoreTranslation": false
},
"epic": {
"Name": "Epic",
"Color": "#8413E8",
"Rarity": 23.0,
"DurabilityMultiplier": 1.4,
"MiningSpeedMultiplier": 1.3,
"AttackPowerMultiplier": 1.3,
"PiercingPowerMultiplier": 1.3,
"ArmorFlatDamageReductionMultiplier": 1.3,
"ArmorPerTierFlatDamageProtectionLossMultiplier": 1.3,
"ArmorPerTierRelativeProtectionLossMultiplier": 1.3,
"ShieldProtectionMultiplier": 1.3,
"Effects": [],
"IgnoreTranslation": false
},
"legendary": {
"Name": "Legendary",
"Color": "#E08614",
"Rarity": 12.0,
"DurabilityMultiplier": 1.6,
"MiningSpeedMultiplier": 1.5,
"AttackPowerMultiplier": 1.5,
"PiercingPowerMultiplier": 1.5,
"ArmorFlatDamageReductionMultiplier": 1.5,
"ArmorPerTierFlatDamageProtectionLossMultiplier": 1.5,
"ArmorPerTierRelativeProtectionLossMultiplier": 1.5,
"ShieldProtectionMultiplier": 1.6,
"Effects": [],
"IgnoreTranslation": false
},
"unique": {
"Name": "Unique",
"Color": "#EC290E",
"Rarity": 3.0,
"DurabilityMultiplier": 3.0,
"MiningSpeedMultiplier": 3.0,
"AttackPowerMultiplier": 3.0,
"PiercingPowerMultiplier": 3.0,
"ArmorFlatDamageReductionMultiplier": 3.0,
"ArmorPerTierFlatDamageProtectionLossMultiplier": 3.0,
"ArmorPerTierRelativeProtectionLossMultiplier": 3.0,
"ShieldProtectionMultiplier": 3.o,
"Effects": [
"Thor"
],
"IgnoreTranslation": false
},
💬 Unreal , Jul 2nd at 7:42 PM

Bosscardinal685 Hi, can you show me your config file ? 

💬 Bosscardinal685, Jul 2nd at 3:35 AM

Unreal I seem to be having trouble editing the values in the config, modifying the values doesn't seem to affect anything at all, neither does adding a new rarity following your example, Could this be an issue on my end?

💬 Unreal , Jun 30th at 8:47 AM

Gleipnyr Yep i think you guys have a conflict with another mod. For the armor getting a damage modifier i found the issue and it will be fixed in the next version. Thanks for reporting !

💬 Gleipnyr, Jun 21st at 11:57 PM

Unreal Hello ! Pretty sure it's on our end, a conflict with another durability mod, i'll manage !

 

Besides that, the issue i'm having at the moment is whenever I get rarity on an ARMOR, it gets a DAMAGE modifier ?

For exemple I spawn a leather chest armor with the LEGENDARY modifier, it gets " ATTACK POWER : - 0.8 " " ATTACK TIER : 0 " 

 

Is getting damages on a armor that has a modifier intended ?

💬 Alhef, Jun 20th at 9:08 PM

Unreal im usin last update. i just craft items normaly on crafting grid and when i take item to put in my bar crafted item have just vanila durability... like normal item without rarity hope my feedback help.

 

 

my mods:

https://imgur.com/a/YDBShPC

💬 Unreal , Jun 19th at 7:06 PM

Hi, Alhef, Gleipnyr thanks for your feedback, I’ve looked into this issue, but I haven’t been able to reproduce it so far, all items in my testing have the correct durability when crafted. Could you let me know which version of mod you’re using? Also, are you doing anything specific when crafting the tools, or using other mods that might affect item stats or durability? It’s possible there could be a conflict causing this behavior. Any extra details would really help me track this down.

💬 Alhef, Jun 19th at 4:29 PM

Hi, I started a new world and decided to use your mod, but when I create tools like hammers, picks, axes, knives, etc., they are created with half their durability when crafted. I hope you can help me with that. Thanks in advance. Excellent mod.

💬 Gleipnyr, Jun 17th at 12:46 AM

Hello Unreal whenever I make a weapon above common, the additionnal durability related to the rarity is already spent, not sure how to fix this .. ?

💬 Unreal , Jun 3rd at 10:32 AM

Hi Dythanos,

  1. Great suggestion, I'll add support for custom modifiers in a future update.

  2. Whoops my bad. Thanks for catching that!

  3. I’m currently working on the next major update, which will introduce tiers and support for rarity upgrades.

 

Thanks a lot for the feedback I really appreciate the support and suggestions!

💬 Dythanos, Jun 1st at 11:09 PM

Hey, a few things.

  1. Could you add the ability to add custom modifiers? You could just have it store the custom modifier in the itemStack's Attributes and make it the responsibility of the modder to make compatibility for that value. For instance, I am making a compat with Maltiez's Combat Overhaul and wanted to be able to have the rarity affect the weapon speed. Maltiez already gets a float from the ItemStack's Attributes to add to his calculation, which by default is 0. If your config allowed for the addition of custom modifiers than other mods could easily make compat's for this mod. I had to make a Harmony Patch with ItemRarity to achieve this goal.

 

2. The description in this mod for PiercingPower is innacurate. The Piercing power affects the damage of the weapon if it is thrown. I.E. Spears when thrown.

 

3. And could we have the option to have the rarities additive and/or multiplicative. Expecially for things like improving the tier of a weapon or tool, this would be nice to have the ability to mess with.

 

Thank you for updating this mod and continuing the work!

💬 Mathic, May 26th at 2:15 AM

Thanks for the update! I appreciate the shoutout :3

💬 KromaVeli, May 25th at 12:38 PM

I have a problem with Forlorn Additons and Blackguard Additions, the item's rarity changes during repairs, but everything is fine with vanilla armor. update your mod with support or tell me how to solve the problem.

 

💬 Sernik, May 25th at 7:00 AM

Will it work well with enchantement mod and xskills? I'm little affraid because krpgenchantment also can add effects such as thor and xskills can make item legendary

💬 Kylocard, May 24th at 2:26 AM

Awesome I look forward to it Unreal

GL!

💬 Unreal , May 23rd at 10:18 PM

Kylocard Yes, that's actually the approach I went with. Tiers have access to multiple rarities, but the chances of getting a higher one are very low at lower tiers. For example, Tier I can roll Cursed, Common, Uncommon, and Rare, but Rare only has about a 5% chance. As the tier increases, the odds of getting better rarities improve, and new rarity levels get unlocked as well.

💬 Kylocard, May 23rd at 9:14 PM

Unreal
I thought of a slight alternative.

The key issue with the previous idea I proposed would be that you cant really get legendaries early on. A better design might be that you can roll any rarity except unique on all of the tiers. The weightings just change depending on the tier of the toolkit.

And then you could have iron tier and up allow uniques to roll as well; or something like that.

💬 Unreal , May 23rd at 6:41 PM

Kylocard Yup this is a very good idea, i think this will be the next major update. I will try to keep it configurable so we still can use the current system if players want to.

💬 Kylocard, May 23rd at 6:25 PM

Unreal I was thinking about this exact issue.

What if you change how rarity is assigned, instead of on craft you basically craft toolkits that you use to apply rarity to an item.

This could also allow you to make a system that is less RNG based and more based on a progressively gated crafting set of recipes.


To compensate for the less RNG the recipes for the toolkits could be more expenisve and have a smaller roll range, say when crafting tier 1 kits they can apply anything from common to uncommonwith a specific weighting.
Tier I - common to uncommon: Stone age kits (flint & stone based recipes) 
Tier II - uncommon to rare: Copper age kits (copper & resin based recipe)
Tier III -  uncommon to legendary: Bronze age kits (bronze & rusted gears based recipes)
Tier IV - rare to legendary: Iron age kits (iron & rusted gears based recipes)
Tier V - rare to unique: Steel age kits (steel & tenporal based recipes)

💬 Unreal , May 23rd at 5:02 PM

Hi Lordbanana89 yes it totally break the rarity system, i'll look into it. 

💬 Lordbanana89, May 23rd at 8:17 AM

Hi Unreal,

 

First of all, thank you for your amazing work on Item Rarity – we really love the mod and would love to include it in our server setup.

 

We’ve recently noticed a bug when using Item Rarity in combination with the Toolsmith mod: when dismantling and reassembling an item, its rarity is recalculated every time. This essentially allows players to repeatedly disassemble and craft the same item until they get the best possible rarity, creating an unintended exploit.

 

We believe this undermines the intended balance and progression of your mod. If possible, it would be great to have a safeguard that “locks” the rarity once assigned or at least prevents rerolling in specific crafting flows like Toolsmith’s.

 

We’d really appreciate a fix or even a workaround suggestion, as we’d love to keep using your mod in our community server without disabling Toolsmith.

 

Thanks again for all your work, and happy modding!

💬 Unreal , May 22nd at 6:27 PM

Mathic yes this is a good idea too, i'll add that later. For now we should have fixed the issue with modded items that are missing attributes. Thanks to Kylocard.

💬 Unreal , May 22nd at 6:22 PM

Oathbearer The Rarity value is just a weight, not a percentage, it doesn't need to add up to 100. Higher values just make that rarity more likely compared to others.

💬 Kylocard, May 21st at 8:00 PM
https://github.com/KyleMHB/ItemRarity/releases/tag/vintagestory


I fixed the issue below. Use at your own risk. I created a pull request for the author if they want to update the main mod.
💬 Kylocard, May 14th at 2:31 PM

Hey Unreal

I have the same issue as AcidNight 

 

Any chance we can get a fix? I see the last changes to the repo were 4 months ago, so I don't know if you are still maintaining it.

https://github.com/raevendev/ItemRarity/issues/7

Here is the issue logged on your repo.

💬 Mathic, May 3rd at 1:39 PM

I have an idea to fix Rarity breaking things instead of

"SupportedItems": ["*"]

I would rather have

"ExcludedItems": ["*"]

So that I can remove rarity for items from specific mods. I can help write the code for this as I believe it's a pretty easy fix in the ModRarity.cs file for the IsValidForRarity(ItemStack? itemStack, bool invalidIfRarityExists = true) function.

Instead of having "SupportedItems" in every rarity, have "ExcludedItems" as a separate option. Then on top of reading ModCore.Config.Rarities you could use ModCore.Config.ExcludedItems to determine whether or not to run the rest of the SetRarity function.

Edit: There are also issues with trying to buy the Resonance Archives maps from the trader due to rarity

💬 AcidNight, Apr 1st at 3:01 PM

Hello, I apparently have a problem (and other people) with a new mod released "RepairMe" which offers stones to craft and when you want to recover it the client closes, I don't have the log but another person shared their log

 

Amarillo

I take the liberty of copying and pasting your log.

 

 

Running on 64 bit Windows 10.0.26100.0 with 32679 MB RAM
Game Version: v1.20.7 (Stable)
31/03/2025 13:44:11: Critical error occurred in the following mod: itemrarity@1.1.4
Loaded Mods: Allclasses@1.3.1anticheesedist@1.1.1autowalk@1.0.4TA_fieldsandplateaus@1.0.6indappledgroves@2.1.2-rc.1primitivesurvival@3.7.6storylesselk@1.0.0usefultraders@2.2.0game@1.20.7bastion@1.1.0bulwarkContinued@0.0.8canmarket@0.4.12carryon@1.8.0-pre.1cartwrightscaravan@1.2.0commonlib@2.6.1cratelockfix@1.0.0fairplayguardian@1.1.8fromgoldencombs@1.8.12hardcorewater@1.3.5nbcartographer@2.0.11noticeboard@1.1.0plumbandcube@1.1.0repairme@1.1.0rpvoicechat@2.3.15somethinginthewater@1.2.5tabletopgames@2.10.1unconscious@1.10.3creative@1.20.7vsinstrumentsbase@2.0.1survival@1.20.7woodenfortifications@2.0.5xlib@0.8.16em@3.2.0itemrarity@1.1.4playercorpse@1.11.0stonequarry@3.4.3thebasics@5.0.2-rc.1vsinstruments_quackpack@1.0.2xskills@0.8.17bricklayers@3.0.0-pre.3
Involved Harmony IDs: itemrarity.patches
System.NullReferenceException: Object reference not set to an instance of an object.
at ItemRarity.Rarity.SetRarity(ItemStack itemStack, String rarity) in C:\Users\doria\Documents\Code\ItemRarity\ItemRarity\ItemRarity\Rarity.cs:line 120
at ItemRarity.Rarity.SetRandomRarity(ItemStack itemStack) in C:\Users\doria\Documents\Code\ItemRarity\ItemRarity\ItemRarity\Rarity.cs:line 90
at ItemRarity.Patches.CollectibleObjectPatch.ConsumeCraftingIngredientsPatch(CollectibleObject __instance, ItemSlot[] slots, ItemSlot outputSlot, GridRecipe matchingRecipe) in C:\Users\doria\Documents\Code\ItemRarity\ItemRarity\ItemRarity\Patches\CollectibleObjectPatch.cs:line 84
at Vintagestory.API.Common.CollectibleObject.ConsumeCraftingIngredients_Patch1(CollectibleObject this, ItemSlot[] slots, ItemSlot outputSlot, GridRecipe matchingRecipe)
at Vintagestory.Common.InventoryCraftingGrid.ConsumeIngredients(ItemSlot outputSlot) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 197
at Vintagestory.Common.ItemSlotCraftingOutput.CraftSingle(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\ItemSlotCraftingOutput.cs:line 176
at Vintagestory.Common.ItemSlotCraftingOutput.TryPutInto(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\ItemSlotCraftingOutput.cs:line 60
at Vintagestory.API.Common.ItemSlotOutput.ActivateSlot(ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\ItemSlotOutput.cs:line 37
at Vintagestory.API.Common.InventoryBase.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\InventoryBase.cs:line 459
at Vintagestory.Common.InventoryCraftingGrid.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 111
at Vintagestory.API.Client.GuiElementItemSlotGridBase.SlotClick(ICoreClientAPI api, Int32 slotId, EnumMouseButton mouseButton, Boolean shiftPressed, Boolean ctrlPressed, Boolean altPressed) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 991
at Vintagestory.API.Client.GuiElementItemSlotGridBase.OnMouseDownOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 789
at Vintagestory.API.Client.GuiElementItemSlotGridBase.OnMouseDown(ICoreClientAPI api, MouseEvent mouse) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 757
at Vintagestory.API.Client.GuiComposer.OnMouseDown(MouseEvent mouseArgs) in VintagestoryApi\Client\UI\GuiComposer.cs:line 459
at Vintagestory.Client.NoObf.GuiDialogInventory.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\Dialogs\GuiDialogInventory.cs:line 549
at Vintagestory.Client.NoObf.GuiManager.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 393
at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 1952
at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean isGlobal, Boolean fallBack, Boolean keyup) in VintagestoryLib\Client\HotkeyManager.cs:line 431
at Vintagestory.Client.HotkeyManager.OnMouseButton(ClientMain game, EnumMouseButton button, Int32 modifiers, Boolean buttonDown) in VintagestoryLib\Client\HotkeyManager.cs:line 574
at Vintagestory.Client.NoObf.ClientMain.OnMouseDownRaw(MouseEvent args) in VintagestoryLib\Client\ClientMain.cs:line 1906
at Vintagestory.Client.GuiScreenRunningGame.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 337
at Vintagestory.Client.ScreenManager.OnMouseDown(MouseEvent e) in VintagestoryLib\Client\ScreenManager.cs:line 906
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonDown(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 201
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.NativeWindow.ProcessWindowEvents(Boolean waitForEvents)
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

Event Log entries for Vintagestory.exe, the latest 1
==================================
{ TimeGenerated = 28/03/2025 2:00:29, Site = , Source = Application Error, Message = Nombre de aplicación con errores: Vintagestory.exe, versión: 1.20.7.0, marca de tiempo: 0x66470000
Nombre del módulo con errores: openal32.dll, versión: 1.23.0.0, marca de tiempo: 0x63dd31ad
Código de excepción: 0x40000015
Desplazamiento con errores: 0x00000000000df046
Id. de proceso con errores: 0x5650
Tiempo de inicio de aplicación con errores: 0x1db9efcc08fdef7
Ruta de aplicación con errores: C:\Users\PC GAMING\AppData\Roaming\Vintagestory\Vintagestory.exe
Ruta de módulo con errores: C:\Users\PC GAMING\AppData\Roaming\Vintagestory\Lib\openal32.dll
Id. de informe: 8d982428-6863-4911-ba1d-4856c7dc00cd
Nombre completo del paquete con errores:
Id. de aplicación relacionado con el paquete con errores: }

💬 Oathbearer, Apr 1st at 2:02 PM

In consideration to configuring the mod, what is the scaling on the rarity? Does 2.0 weight mean 2% - and when configuring different rarities do they all need to add up to 100% ?

💬 Thalius, Feb 8th at 10:41 PM

Greetings, Unreal
Things look to be working well with the Conquest Stone Age mod now. No issues there. We are now having issues with the Grindstone mod though. It worked before the Item Rarity update, but now it crashes the game. Just wanted to let you know so you could be aware and look into it when you had some time.

💬 Nyarc, Feb 7th at 10:04 PM

Also would love this to be Compatible with XSkills, good job on the mod tho.

💬 AcidNight, Feb 7th at 9:05 PM

Unreal

Hello, ok, I haven't changed anything so I'm going to test that I thought it was in numbers as I saw in the bit of code at the top of 5.0 and other xD

💬 Unreal , Feb 5th at 5:44 PM

AcidNight

If you always get a Cursed one it is because you enter a wrong value and it defaults to the first rarity. You have to use the rarity key, e.g cursed, common, uncommon, rare, epic, legendary, unique. Thoses are the defaults ones, if you added new ones or changed default one, you have to use the key you set in the configuration. 

💬 AcidNight, Feb 5th at 4:15 PM

Unreal

hello, is it normal that the /rarity set command doesn't work? I tested several values ​​and I only got full cursed

 

💬 Gourgandin, Feb 4th at 10:16 PM

Nice, thank you !

💬 Unreal , Feb 4th at 8:06 PM

Gourgandin I fixed it. Yes i will make a discord post tomorrow.

Dirty_Wizard ZetZero I didn't test so i don't know. I plan to have my mod have better compatibility but for now i'm focusing on having better statiblity. 

💬 ZetZero, Feb 4th at 7:24 PM

awesome mod. any chance for compatabilty with rustbound magic? 

💬 Gourgandin, Feb 4th at 4:14 PM
With the update, we can no longer cut corpses with the knife


(Can you in the same time create a Discord account to show your mod in the server Vintage Story pls ?)

💬 Dirty_Wizard, Feb 4th at 3:43 PM

Is this mod compatible with the Enchanting mod?

💬 Gourgandin, Feb 4th at 2:20 PM

Can you colaborate with Combat Overhaul pls ?

💬 Thalius, Feb 4th at 1:13 AM

Unreal That sounds great. This is one of the last mods we are waiting on before a new server launch.

💬 Unreal , Feb 3rd at 8:23 PM

Ronnie21093 Yep, for now, they wil be ignored

Thalius Same problem mentioned above, i'll fix it in a few hours.

💬 Ronnie21093, Feb 3rd at 8:15 PM

Game crashes when I craft a javelin from Weapon Pack Alpha. Will the next update just have the mod ignore items if they aren't supported?

💬 Thalius, Feb 2nd at 9:27 PM

Compat issue with Conquest Stone Age. Game crashes when crafting a tool handle. Not sure on which end compatibility for this should be done, so I'm messaging both mod authors to report the issue.

💬 Unreal , Feb 2nd at 8:34 PM

DanceOfBlood Anemone The crash will be fixed in the next update. Keep in mind that these items may not be supported if they don’t meet certain conditions, such as missing durability, not being a collectible, etc.

💬 DanceOfBlood, Feb 1st at 7:38 AM

Game crashes when i make a Bone needle

💬 Kylocard, Jan 30th at 8:01 AM

I feel like this would pair really well with some kind of repair process.

Issue right now is that you basically have to craft multiple tools to get a high tier one, which eventually breaks and you have to go through the process all over again.

Could be linked to mechanical power to gate it.

Unreal

💬 Anemone, Jan 22nd at 5:17 PM

Game crashes when constructing a Metoric Iron Spear

Involved Harmony IDs: itemrarity.patches
System.Exception: Invalid item. Rarity is not supported for this item
at ItemRarity.ModRarity.SetRarity(ItemStack itemStack, String rarity) in C:\Users\doria\Documents\Code\ItemRarity\ItemRarity\ItemRarity\ModRarity.cs:line 73
at ItemRarity.Patches.CollectibleObjectPatch.ConsumeCraftingIngredientsPatch(CollectibleObject __instance, ItemSlot[] slots, ItemSlot outputSlot, GridRecipe matchingRecipe) in C:\Users\doria\Documents\Code\ItemRarity\ItemRarity\ItemRarity\Patches\CollectibleObjectPatch.cs:line 107

I tried some light in-game debugging by taking a creative-mode-made meteoric iron spear and using the command /rarity set Rare unsuccessfullly with output "An Exception was thrown while executing Command: Invalid item. Rarity is not supported for this item. Check error log for more detail."

I'm trying to poke around in the code, but so far I haven't found anything to pursue (I am not the most skilled, just like to tinker).

💬 Ruyeex, Jan 15th at 10:34 PM

Is it through a item or a place where you can refresh rarities.

💬 Juniormint, Jan 15th at 7:21 PM

Is this compatible with Xskills?
Xskills adds a type of rarity as well but Xskills rarity only affects durability, however when combined with the RPG item rarity mod it would bug out. The rarity would exist but have no effect on the item, instead it was over-written by the Xskills mod causing only a change in the items durability.

💬 Unreal , Jan 15th at 6:50 PM

GlooMeGlo It should be fixed in the latest update.

💬 GlooMeGlo, Jan 14th at 11:45 PM

When using this alongside the combatoverhaul mod, the game crashes if you try putting any armor on from combatoverhaul. Except for vanilla full plate armor. 1.20.0-rc.9

💬 Unreal , Jan 14th at 1:24 PM

TRexTheHunter You're welcome !

💬 TRexTheHunter, Jan 14th at 4:43 AM

Thanks a lot for the pickaxe fix ! Unreal

💬 Unreal , Jan 7th at 8:01 PM

PerkCuss Hi, this bug will be fixed in the next update, for now if you can, give you the pickaxe in creative (this doesn't apply rarity)

IchigoKursaki Items all have a rarity value and the rarity is randomly picked. There is no increase if you craft items.

💬 PerkCuss, Jan 7th at 12:13 PM

Unable to use tin bronze pickaxe at the treasure hunter any more. Is there a way around this? Previously items didn't gain their rarity on crafting, rather than later on use or throw, now since it's on craft no longer able to use the pickaxe for the treasure hunter quest

 

💬 IchigoKursaki, Jan 5th at 9:07 PM

How would this work? This craftable thing? The more you craft of the tools/weapon the better your % in the get the better gear/tools

Unreal

💬 Chimney, Jan 5th at 3:23 PM

Unreal Okay, I figured it must be something like that, but I was kind of hoping it wasn't since it would mean I had to fix several items. Oh well, thank you for your response! I am willing to wait for that feature if it means getting armor support, that would be awesome.

💬 Unreal , Jan 5th at 11:28 AM

Chimney Yes, this happens because you are still using the default rarity keys (e.g., "common": { Name: "Your rarity name" }). The default rarities are translated, and the mod looks for those keys in the language files. If you want your rarities to have custom names, you'll need to change the rarity keys themselves. However, keep in mind that changing these keys will cause some items to have invalid rarity settings. I’m working on adding a feature to make it easier to modify rarity names and keys. This update is taking a bit of time because I’m also adding support for armor.

💬 Chimney, Jan 5th at 12:33 AM

I changed the names for all the rarities under the "Name" section, but they still appear as their default names on items (common, uncommon, etc.). The rarity value and the multipliers are all correct. However, strangely, it prints the altered names correctly whenever I'm using config commands like testing the rarity generation.

💬 Unreal , Dec 29th 2024 at 1:12 PM

Chimney The config file is located at <your vintage story data directory>/ModConfig/itemrarity.json. (By Default it is %appdata%/VintageStoryData)

💬 Chimney, Dec 29th 2024 at 11:27 AM

I see your explanation on how to format custom rarities, but I don't see any config files to edit in order to implement them. Is there something I'm missing?

💬 Unreal , Dec 26th 2024 at 7:21 PM

Ruyeex You already can set your desired rarity with the /rarity set . You can also generate a test of rarities with /rarity test . I will update the mod description to include commands.
Being able to refresh a rarity could be done but i will make it disabled by default. 

💬 Ruyeex, Dec 26th 2024 at 3:39 PM

Will you include a way to get the rarities you want through commands and a way to refresh your rarity?

💬 Bobosaw, Dec 25th 2024 at 5:09 PM

Unreal

Thanks man!

💬 Unreal , Dec 25th 2024 at 1:50 PM

Blazha Bobosaw This issue has been resolved in version v1.0.2. Thanks for reporting !

💬 Blazha, Dec 25th 2024 at 10:19 AM

Bobosaw same here. Can't break flint bits, branches and leafs with knife or shovel

💬 Blazha, Dec 25th 2024 at 10:18 AM
💬 Bobosaw, Dec 25th 2024 at 4:32 AM

For some reason when I try to use a tool, like a shovel, to break things like grass, it does not break at all and I must switch to another tool

💬 BraniyaKz, Dec 25th 2024 at 2:40 AM

Guys, for 1.19.8 just use RPG Item Rarity - Reborn with its prerequisite Attributer - Reborn.

💬 warpStory, Dec 25th 2024 at 2:20 AM

Amazing! Totally wanted something like this. Is it compatible with 1.19.8?

💬 UA_Shaman, Dec 24th 2024 at 7:36 PM

Super, cool, divine...a gift for the holidays?
Thanks to the author! Respect! 🤩

💬 BraniyaKz, Dec 24th 2024 at 6:51 PM

Wonderful! 😊

💬 SteAStro88, Dec 24th 2024 at 6:26 PM

Is it compatible with version 1.19.8?

 (edit comment delete)