← Назад к ресурсам

No Villager Price Increase

A datapack/mod that prevents villager prices from ever going up

Modrinth game-mechanics utility

Описание

# Datapack ## What it does In MC 26.1, the old `Offers.Recipes` NBT structure was removed as part of the new data-driven trading system. Price changes now come entirely from the **Gossip system** (reputation). This datapack removes only the gossip entries that raise prices, every 3 seconds, on all loaded villagers — using the `Gossips[{Type:"..."}]` NBT path to target and delete matching entries directly, with no loop or index guessing required. | Gossip type | Cause | Effect on price | Action | |---|---|---|---| | `minor_negative` | Hitting the villager | Increase | Removed | | `major_negative` | Killing a villager nearby | Increase | Removed | | `minor_positive` | Curing a zombie villager | Decrease | Kept | | `major_positive` | Curing, permanent bonus | Decrease | Kept | | `trading` | Frequent trading | Decrease | Kept | > Only price **increases** are blocked. Discounts you've earned are never touched. --- ## Installation 1. Drop the `no-villager-price-increase` folder (or the `.zip`) into: `saves//datapacks/` 2. In-game: `/reload` 3. You will see a green confirmation message in chat. --- ## Commands | Command | Effect | |---|---| | `/function no_vp:reset_all` | Immediate manual reset of all villagers | | `/function no_vp:uninstall` | Clean uninstallation (run before removing files) | --- ## Uninstalling 1. Run `/function no_vp:uninstall` in-game 2. The cycle stops automatically within 3 seconds 3. Remove the datapack folder and run `/reload` --- ## Technical notes - Runs every **60 ticks (3 seconds)** via a self-scheduling function - Uses an `#active` scoreboard flag: when `uninstall` removes the scoreboard, the cycle stops on its own - In 26.1, `Offers.Recipes` NBT no longer exists on villager entities — the gossip system is the only accessible data that drives price changes # Mod Prevents villager prices from increasing due to bad reputation. Preserves discounts from curing zombie villagers and Hero of the Village. --- ## How it works Every 3 seconds, the mod scans all loaded villagers and removes negative gossips (the data that drives reputation-based price increases) while keeping positive ones (curing bonuses, trading discounts). | Removed | Kept | |---|---| | `minor_negative` | `minor_positive` | | `major_negative` | `major_positive` (zombie curing) | | `villager_killed` | `trading` | | `golem_killed` | |