我試圖下一個加血條到我的實體的名稱,如:
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
http://i.stack.imgur.com/RYdcI.png
固定碼:
@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(" ", " "));
}
}
}
謝謝你解決這個問題。 – Paul 2013-05-03 06:07:49
沒問題,很高興它全部修好了 – greedybuddha 2013-05-03 06:12:30
是的。我在 'entity.setCustomName(entity.getCustomName()+「」+ new String(bars))中遇到了問題;' 在實體名稱和條形圖之間添加了一個空格,之後我添加了: ' entity.setCustomName(entity.getCustomName()。replaceAll(「」,「」));' – Paul 2013-05-03 06:19:05