Update Experience Sources

Ka0rX 2022-08-17 14:46:30 +00:00
parent 09e57243c2
commit 07221975e1

@ -1,9 +1,11 @@
An experience source gives you experience for certain professions when certain events occur. Each experience source has its own specific parameters that you can specify in the config with `exp_source_name{param1=P1;param2=p2..}`. You must specify the parameter `amount=min-max` corresponding to the bounds between which the amount of experience will be randomly chosen each time.
An experience source gives you experience for certain professions when certain events occur. Each experience source has its own specific parameters that you can specify in the config with `exp_source_name{param1=P1;param2=p2..}`. You must specify the parameter `amount=min-max` corresponding to the bounds between which the amount of experience will be randomly chosen each time.
You can also use experience sources for your main classes.
## Examples
Let's have a look at an example. These are the default experience sources for the *Woodcutting* profession. It basically gives the player anywhere from 1 to 3 experience points whenever he cuts a log.
Let's have a look at an example. These are the default experience sources for the _Woodcutting_ profession. It basically gives the player anywhere from 1 to 3 experience points whenever he cuts a log.
```
exp-sources:
- 'mineblock{type=OAK_LOG;amount=1-3}'
@ -15,36 +17,51 @@ exp-sources:
- 'mineblock{type=DARK_OAK_LOG;amount=1-3}'
```
These are the default experience sources for the farming profession,
which grants some experience points whenever the player harvest any type
of crops.
These are the default experience sources for the farming profession, which grants some experience points whenever the player harvest any type of crops.
```
exp-sources:
- 'mineblock{type=CARROTS;amount=1-3;crop=true;player-placed=true}'
- 'mineblock{type=POTATOES;amount=1-3;crop=true;player-placed=true}'
- 'mineblock{type=WHEAT;amount=1-3;crop=true;player-placed=true}'
```
`crop=true` means that it'll only grant EXP once it's at it's full growth stage.
`player-placed=true` means that it'll grant EXP even if the player placed the block
`crop=true` means that it'll only grant EXP once it's at it's full growth stage. `player-placed=true` means that it'll grant EXP even if the player placed the block
### exp-sources.yml
You can create experiences-sources tables in `exp-sources.yml`. It links an id to a list of experiences sources that you will all be to reference at once.
```
#Example
test-exp-source:
- 'damagedealt{type=physical;amount=250}'
- 'move{type=WALK;amount=300}'
- 'from{source=test2}'
test2:
- 'eat{type=CARROT;amount="50"}'
```
## Every experience source
| Source | Usage | Description |
|-----------------|---------------------------------------|------------------------------------|
| Mine Block | `mineblock{type=BLOCK_MATERIAL}` | More info on [Mining](Mining and Block Regen). |
| Kill Mob | `killmob{type=MOB_ENTITY_TYPE}` | Killing a mob grants exp |
| Kill Mythic Mob | `killmythicmob{type=MobInternalName}` | Killing a MythicMob grants exp |
| Fish Item | `fishitem{type=ITEM_MATERIAL}` | Fishing an item of the specified type grants exp. |
| Smelt Item | `smeltitem{type=ITEM_MATERIAL}` | When an item is smelted (furnaces) |
| Brew potion | `brewpotion{effect=SPEED,REGEN,...}` | [More info on Alchemy](Alchemy) |
| Place Block | `placeblock{type=BLOCK_MATERIAL}` | Placing a block of the specified type grants xp.
| Repair Item | `repairitem{type=ITEM_MATERIAL}` | You can define on sithing.yml the amount of xp for each material. Check [here](Smithing) the info about smithing..
| Enchant Item | `enchantitem{type=...}` | [More info on Enchanting](Enchanting) |
| Climb | `climb{type=CLIMB_TYPE}` | When you climb one block. The type can be ladder, vines, weeping-vines, twisting-vines. If you don't specify any type it will trigger for all types. |
| Eat | `eat{type=ITEM_MATERIAL}` | Give experienc when some specific food is eaten. If you don't specify a material for the type it will give exp disregarding what you eat. |
| Move | `move{type=MOVING_TYPE}` | Give experience for each block travelled the type can be sneak, fly, swim, sprint or walk.If it is not specified will trigger all the time. |
| Resource | `resource{type=RESOURCE_TYPE}` | Gives exp for each resource of type "RESOURCE_TYPE" consumed. Resource type can be mana, stamina or stellium. |
| Ride | `ride{type=ENTITY_TYPE}` | When you move riding a certain entity. Check the [EntityType](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html) enum to specify the type. |
| Tame | `tame{}` | Exp given for each damage your wolves make. |
| Damage Taken | `damagetaken{type=DAMAGE_CAUSE}` | Exp given for each damage a player takes damage from a certain cause. You can do for instance DROWNING, FALL, FIRE or BLOCK_EXPLOSION, Check [here ](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/EntityDamageEvent.DamageCause.html) the documentation of DamageCause.
| Damage Dealt | `damagedealt{type=DAMAGE_TYPE}` | Exp given per damage dealt of a certain mmo damage type.The damage type can be magic, physical, weapon, skill, projectile,unarmed, on-hit, minion or dot.
| Source | Usage | Description |
|--------|-------|-------------|
| Mine Block | `mineblock{type=BLOCK_MATERIAL}` | More info on [Mining](Mining%20and%20Block%20Regen). |
| Kill Mob | `killmob{type=MOB_ENTITY_TYPE}` | Killing a mob grants exp |
| Kill Mythic Mob | `killmythicmob{type=MobInternalName}` | Killing a MythicMob grants exp |
| Fish Item | `fishitem{type=ITEM_MATERIAL}` | Fishing an item of the specified type grants exp. |
| Smelt Item | `smeltitem{type=ITEM_MATERIAL}` | When an item is smelted (furnaces) |
| Brew potion | `brewpotion{effect=SPEED,REGEN,...}` | [More info on Alchemy](Alchemy) |
| Place Block | `placeblock{type=BLOCK_MATERIAL}` | Placing a block of the specified type grants xp. |
| Repair Item | `repairitem{type=ITEM_MATERIAL}` | You can define on sithing.yml the amount of xp for each material. Check [here](Smithing) the info about smithing.. |
| Enchant Item | `enchantitem{type=...}` | [More info on Enchanting](Enchanting) |
| Climb | `climb{type=CLIMB_TYPE}` | When you climb one block. The type can be ladder, vines, weeping-vines, twisting-vines. If you don't specify any type it will trigger for all types. |
| Eat | `eat{type=ITEM_MATERIAL}` | Give experienc when some specific food is eaten. If you don't specify a material for the type it will give exp disregarding what you eat. |
| Move | `move{type=MOVING_TYPE}` | Give experience for each block travelled the type can be sneak, fly, swim, sprint or walk.If it is not specified will trigger all the time. |
| Resource | `resource{type=RESOURCE_TYPE}` | Gives exp for each resource of type "RESOURCE_TYPE" consumed. Resource type can be mana, stamina or stellium. |
| Ride | `ride{type=ENTITY_TYPE}` | When you move riding a certain entity. Check the [EntityType](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html) enum to specify the type. |
| Tame | `tame{}` | Exp given for each damage your wolves make. |
| Damage Taken | `damagetaken{type=DAMAGE_CAUSE}` | Exp given for each damage a player takes damage from a certain cause. You can do for instance DROWNING, FALL, FIRE or BLOCK_EXPLOSION, Check [here ](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/EntityDamageEvent.DamageCause.html)the documentation of DamageCause. |
| Damage Dealt | `damagedealt{type=DAMAGE_TYPE}` | Exp given per damage dealt of a certain mmo damage type.The damage type can be magic, physical, weapon, skill, projectile,unarmed, on-hit, minion or dot. |