Bounties
Your own Bounties!
Adding your own bounties is quite simple. I will briefly explain how to do it here.
First, you need a target predicate
, which looks like this:
{
"condition": "minecraft:damage_source_properties",
"predicate": {
"direct_entity": {
"type": "wildernature:bullet"
},
"source_entity": {
"type": "minecraft:player"
}
}
}
Components
- condition:
The type of condition being defined. In this case, it is damage_source_properties, indicating that the condition relates to the properties of a damage source. We will just keep this as it is.
- predicate:
The criteria that must be met for the condition to be true. The predicate contains sub-conditions to specify these criteria.
- direct_entity:
This sub-condition specifies the type of the direct entity involved in causing the damage. Here, type is set to wildernature:bullet, meaning the direct entity must be a bullet from WilderNature.
- source_entity:
This sub-condition specifies the type of the source entity involved in causing the damage. Here, type is set to player, meaning the source entity must be a player.
Save your own Predicates under data/wildernature/predicates
Alright! That was already the most complex step. Well done!
Now let's create the corresponding contract.
The Contract json should look like this here:
"type": "wildernature:tier1",
"contractStack": {
"Count": 1,
"id": "wildernature:uncommon_contract"
},
"count": 6,
"damagePredicate": "wildernature:bullet",
"description": "contract.wildernature.tier1_boar.desc",
"name": "contract.wildernature.tier1_boar",
"reward": {
"blockExpReward": 2,
"loot": "wildernature:bountyboard/tier1_contract_boar",
"playerExpReward": 12
},
"targetPredicate": "wildernature:boar"
}
Components
- type:
For which Tier Level will the contract be available
- contractStack, ID:
The ID of the Item Icon that will be used. You can use any available Item ID.
- count:
The Amount of Entities that have to be killed.
- damagePredicate:
The damagePredicate we made before.
- description:
The description being shown in the tooltip. Also needs a lang file entry.
- name:
The Name of the Contract. Also needs a lang file entry.
- reward, blockExpReward:
How much Experience the BountyBoard will get
- reward, loot:
The Loot you will get after completing this contract
- reward, playerExpReward:
How much Experience the Player will get
- targetPredicate:
The Entity you have to kill in order to finish the contract
Save your own Contract under data/wildernature/contracts