ScoreboardRefresher.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package me.km.scoreboard;
  2. import me.km.KajetansMod;
  3. import me.km.dimensions.WorldPreferences;
  4. import me.km.environment.EnvironmentAPI;
  5. import net.minecraft.util.math.BlockPos;
  6. public class ScoreboardRefresher implements Runnable
  7. {
  8. private final ScoreboardAPI scoreboard;
  9. public ScoreboardRefresher(ScoreboardAPI scoreboard)
  10. {
  11. this.scoreboard = scoreboard;
  12. }
  13. @Override
  14. public void run()
  15. {
  16. KajetansMod.server.getPlayerList().getPlayers().stream().forEach(p ->
  17. {
  18. PlayerScoreboard data = scoreboard.getScoreboard(p);
  19. BlockPos l = p.getPosition();
  20. data.addText(99, "§7LO §r" + l.getX() + "§7:§r" + l.getY() + "§7:§r" + l.getZ());
  21. data.addText(98, "§7HP §r" + (p.getHealth() * 100 / p.getMaxHealth()) + "§7%");
  22. WorldPreferences pref = KajetansMod.worldManager.getWorldPreferences(p.world);
  23. if(pref.statusEffects)
  24. {
  25. data.addText(78, new StringBuilder("§7EN §6||||||||||||||||||||").insert(EnvironmentAPI.getEnergy(p) / 500 + 7, "§c").toString());
  26. data.addText(77, new StringBuilder("§7TH §9||||||||||||||||||||").insert(EnvironmentAPI.getThirst(p) / 500 + 7, "§7").toString());
  27. data.addText(76, new StringBuilder("§7CO §3||||||||||||||||||||").insert(EnvironmentAPI.getCold(p) / 5 + 7, "§7").toString());
  28. }
  29. else
  30. {
  31. data.removeText(78);
  32. data.removeText(77);
  33. data.removeText(76);
  34. }
  35. if(pref.manabar)
  36. {
  37. data.addText(75, new StringBuilder("§7MP §9||||||||||||||||||||").insert(EnvironmentAPI.getMana(p) / 5 + 7, "§7").toString());
  38. }
  39. else
  40. {
  41. data.removeText(75);
  42. }
  43. data.update();
  44. });
  45. }
  46. }