Описание
# 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` | |