gpt4 book ai didi

java - 给玩家体验

转载 作者:行者123 更新时间:2023-11-29 08:27:07 25 4
gpt4 key购买 nike

我正在尝试在玩家附魔时在 Spigot 中编写代码,他们会得到一半的经验。因此,无论他们处于什么级别,他们都将获得 xp,使他们升到下一个级别的一半。

我尝试使用 player.setExp(50); 但这不起作用,有时它会在旁边创建第二个 xp 条并且看起来有故障。

最佳答案

从 API,强调我的:

void setExp​(float exp)

Sets the players current experience points towards the next level

This is a percentage value. 0 is "no progress" and 1 is "next level".

Parameters: exp - New experience points

因此,如果您想将玩家设置为半级体验,请使用:player.setExp(0.5f);


编辑以解决 Kerooker 的评论:

你的问题不是很清楚,但如果你想恢复一半的附魔经验,那么就这样做:

//On the enchantment event use this to find the total cost of the enchant:
int originalCost = event.getExpLevelCost();

//Now update the cost to be half of that and you are all done:
event.setExpLevelCost​(int originalCost / 2);

有很多不同的方法可以做到这一点,例如,您可以在附魔之前使用 int totalEXP = player.getTotalExperience();,然后使用 player.giveExp (( totalEXP - player.getTotalExperience())/2); 之后返回一半使用的经验。请参阅下面的两个 API 链接。


来源:

https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/Player.html

https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/enchantment/EnchantItemEvent.html

关于java - 给玩家体验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51717587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com