Skip to content

Award experience for completing trades #44

@riddle

Description

@riddle

Trading award experience in vanilla game. We need to add it.

Baseline

There should be one master config node allowing to specify range of experience points awarded for completing a trade.

Experience:
  Basic: 3,6
  Willing: 8,11

The second one is used when the villagers are willing to breed (Willing NBT being 1). I think we should have this for free in TC because this also influences if villager want to breed. Wiki explains it as

Willing: 1 or 0 (true/false) - true if the villager is willing to mate. Becomes true after certain trades (those which would cause offers to be refreshed), and false after mating.

Type

There should be an option to restrict experience only for selling, buying or both. Selling happens when result is defined as currency. Everything else is defined as buying.

Experience:
  
  AwardForBuying: true
  AwardForSelling: true

Per-trade tweaks

And finally we can change experience on per-trade basis. Those nodes always overwrite aforementioned config values.

So if global experience for trades is 0 and a trade defines it as 3,4 points, it takes precedence. Same if it’s globally defined as 3,6 and trade defines it as 0.

Same, if experience for selling items is disabled globally, it can be enabled in a specific selling trade by adding a node.

Tiers: yaml
  Farmer:
    '0':
    - trade:
        comment: buying wheat
        itemA:
          item: wheat
          amount: 18,22
        result:
          currency: 1
        experience:
          basic: 1
          willing: 2

Please support single values (0 included) and ranges. Negative values are invalid.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions