9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2026-01-04 15:41:38 +00:00

添加exp函数

This commit is contained in:
jhqwqmc
2025-11-24 18:22:52 +08:00
parent 4c9058528f
commit ebcc6fa724
7 changed files with 110 additions and 5 deletions

View File

@@ -35,10 +35,7 @@ import net.momirealms.craftengine.core.plugin.locale.TranslationManager;
import net.momirealms.craftengine.core.plugin.network.ConnectionState;
import net.momirealms.craftengine.core.plugin.network.EntityPacketHandler;
import net.momirealms.craftengine.core.sound.SoundSource;
import net.momirealms.craftengine.core.util.Direction;
import net.momirealms.craftengine.core.util.IntIdentityList;
import net.momirealms.craftengine.core.util.Key;
import net.momirealms.craftengine.core.util.VersionHelper;
import net.momirealms.craftengine.core.util.*;
import net.momirealms.craftengine.core.world.*;
import net.momirealms.craftengine.core.world.World;
import net.momirealms.craftengine.core.world.chunk.ChunkStatus;
@@ -1253,4 +1250,32 @@ public class BukkitServerPlayer extends Player {
platformPlayer().getPersistentDataContainer().remove(KeyUtils.toNamespacedKey(SELECTED_LOCALE_KEY));
}
}
@Override
public void giveExperiencePoints(int xpPoints) {
platformPlayer().giveExp(xpPoints);
}
@Override
public void giveExperienceLevels(int levels) {
platformPlayer().giveExpLevels(levels);
}
@Override
public int getXpNeededForNextLevel() {
return platformPlayer().getExperiencePointsNeededForNextLevel();
}
@Override
public void setExperiencePoints(int experiencePoints) {
float xpNeededForNextLevel = this.getXpNeededForNextLevel();
float maxProgressThreshold = (xpNeededForNextLevel - 1.0F) / xpNeededForNextLevel;
float experienceProgress = MiscUtils.clamp(experiencePoints / xpNeededForNextLevel, 0.0F, maxProgressThreshold);
platformPlayer().setExp(experienceProgress);
}
@Override
public void setExperienceLevels(int level) {
platformPlayer().setLevel(level);
}
}