作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
已修复
我正在尝试在我的实体名称旁边添加一个健康栏,例如:
3级骷髅||||
其中的栏表示生命值,满分 5。我似乎已经尝试了一切,但我无法弄清楚!我认为这很简单,但我就是无法理解......
@EventHandler
public void entityDamageEntity(EntityDamageEvent event) {
LivingEntity entity = (LivingEntity) event.getEntity();
if (entity.getCustomName() != null) {
entity.setCustomName(entity.getCustomName().replaceAll("|", ""));
int health = (int) Math.ceil(entity.getHealth() / entity.getMaxHealth() * 5);
int i = 1;
String healthbar = " |";
while(i < health){
i++;
healthbar = healthbar + "|";
}
entity.setCustomName(entity.getCustomName() + healthbar);
}
}
我似乎无法让它发挥作用!它做了奇怪的事情,尝试将它与命名实体一起使用。如果有人能指出错误,那就太好了=D
固定代码:
@EventHandler
public void entityDamageEntity(EntityDamageEvent event) {
LivingEntity entity = (LivingEntity) event.getEntity();
if (entity.getCustomName() != null) {
entity.setCustomName(entity.getCustomName().replaceAll("\\|", ""));
int health = (int) ((float) entity.getHealth() / entity.getMaxHealth() *5);
if (health > 0){
char[] bars = new char[health + 1];
Arrays.fill(bars, '|');
entity.setCustomName(entity.getCustomName() + " " + new String(bars));
entity.setCustomName(entity.getCustomName().replaceAll(" ", " "));
} else {
entity.setCustomName(entity.getCustomName());
entity.setCustomName(entity.getCustomName().replaceAll(" ", " "));
}
}
}
最佳答案
因此,在不进入游戏的情况下,您的代码会遇到 1 个主要问题(您将两个整数相除,结果为 0),然后是附加字符串的效率问题。修复第一个
int health = (int) ((float) entity.getHealth() / entity.getMaxHealth() *5);
您现在要做的是附加 0 到 5 个生命条。下面将创建一个包含 1 到 5 个“|”的数组。它比 while 循环更有效,因为它只是直接创建所需的数组大小,而不是使用附加。
if (health > 0){
char[] bars = new char[health];
Arrays.fill(bars, '|');
entity.setCustomName(entity.getCustomName()+" " + new String(bars));
} else {
entity.setCustomName(entity.getCustomName()); // no bars to add
}
关于java - Bukkit - 名义上的健康,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16352206/
我正在尝试比较一系列元素的两种不同分类。假设我想获得这样的图形: 通过以下 iPython session 获得: In [1]: df Out[1]: Index: 446 entries, el
我想在 Google Charts 的轴标签上使用文本标签而不是数字标签。如何存档?结果应如下所示(气泡图示例): 我在 stackoverflow 的某个地方找到了这个例子,但现在我找不到了。不管怎
我是一名优秀的程序员,十分优秀!