|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
正在写一个死亡扣除血量上限的功能。
当我使用方法
setPlayerMaxHealth(player, -1)
时血量一直在增加...
代码如下:
- private void setPlayerMaxHealth(Player player, int change) {
- double currentValue = player.getMaxHealth();
- double newBaseHealth = Math.max(MIN_MAX_HEARTS, Math.min(currentValue + change, MAX_MAX_HEARTS));
- double health = Math.round(newBaseHealth*10) / 10.0;
- player.setMaxHealth(health);
- }
复制代码 第二种实现方法也是一样会增加血量:
- private void setPlayerMaxHealth(Player player, int change) {
- double currentValue = player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue();
- double newBaseHealth = Math.max(MIN_MAX_HEARTS, Math.min(currentValue + change, MAX_MAX_HEARTS));
- double health = Math.round(newBaseHealth*10) / 10.0;
- player.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(health);
- }
复制代码 求大佬解答
|
|