-
Notifications
You must be signed in to change notification settings - Fork 4
Integration & Compatibility
In this section there will be explanations of the classes, events and examples available for you to integrate your mod with LevelUP
LevelUP works mostly on server side, and all events should be running on the EnumAppSide.Server, for security porpuses
Functions will generally have a reference number, so you can easily change and modify the numbers as you wish
- OnExperienceIncrease
-
Player receive experience,
amountis a reference you can modify it to increase or decrease the quantity received - OnExperienceSubIncrease
-
Player receive sub experience,
amountis a reference you can modify it to increase or decrease the quantity received - OnExperienceReduced
-
Player losed experience,
amountis a reference you can modify it to increase or decrease the quantity received - OnLevelUp
-
Player leveled up
- OnPlayerMeleeDoDamageStart
-
Player do damage with meele weapon (before levelup calculations)
- OnPlayerMeleeDoDamageFinish
-
Player do damage with meele weapon (after levelup calculations)
- OnPlayerRangedDoDamageStart
-
Player do damage with ranged weapon (before levelup calculations)
- OnPlayerRangedDoDamageFinish
-
Player do damage with ranged weapon (after levelup calculations)
- OnPlayerReceiveDamageStart
-
Player receive damage (before levelup calculation, does not include equipped armors)
- OnPlayerReceiveDamageFinish
-
Player receive damage (after levelup calculations, includes equipped armors, but can be null if the damage does not belong to a entity)
- OnBowDropChanceRefresh
-
Player arrow drop chance refreshed
- OnBowAimingRefresh
-
Player bow aiming refreshed
- OnSpearAimingRefresh
-
Player spear aiming refreshed
- OnPlayerShieldReceiveDamageStart
-
Player receive damage using shield (before levelup calculation)
- OnPlayerShieldReceiveDamageFinish
-
Player receive damage using shield (after levelup calculation)
To do
To do
- GetExperience
-
Returns the player experience from a level type
- GetSubExperience
-
Returns the player sub experience from a level type and sub level type
- IncreaseExperience
-
Increase a player experience from a level type and action or amount
- IncreaseSubExperience
-
Increase a player experience from a level type, sub level type and amount
You can access all levelup calculation by using the class LevelUP.Shared.Configuration
Force reduce all experience
public override void StartServerSide(ICoreServerAPI api)
{
LevelUP.Server.ExperienceEvents.OnExperienceIncrease += LevelUPOnExperienceIncreased;
}
private void LevelUPOnExperienceIncreased(IPlayer player, string type, ref ulong amount)
{
amount = (ulong)Math.Round(amount * 0.5);
}Notification when player level up
public override void StartServerSide(ICoreServerAPI api)
{
LevelUP.Server.ExperienceEvents.OnLevelUp += LevelUPOnLevelUp;
}
private void LevelUPOnLevelUp(IPlayer player, string type, ulong exp, int level)
{
if (player is IServerPlayer serverPlayer)
{
serverPlayer.SendMessage(0, "Congratulations another levelup notification", EnumChatType.Notification);
}
}Shenanigans cannot do melee damage
public override void StartServerSide(ICoreServerAPI api)
{
LevelUP.Server.ExperienceEvents.OnLevelUp += LevelUPOnLevelUp;
}
private void LevelUPOnPlayerMeleeDoDamageFinish(IPlayer player, DamageSource damageSource, ref float damage)
{
if (player.PlayerName == "Shenanigans")
{
damage = 0;
}
}