Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. package net.yiatzz.trollcore.json;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Iterator;
  5. import java.util.List;
  6. import net.md_5.bungee.api.chat.BaseComponent;
  7. import net.md_5.bungee.api.chat.ClickEvent;
  8. import net.md_5.bungee.api.chat.HoverEvent;
  9. import net.md_5.bungee.api.chat.TextComponent;
  10. import net.md_5.bungee.api.chat.HoverEvent.Action;
  11. import org.bukkit.Bukkit;
  12. import org.bukkit.command.CommandSender;
  13. import org.bukkit.entity.Player;
  14.  
  15. public class JSONText {
  16. private TextComponent component;
  17. private TextComponent textComponent;
  18. private List<BaseComponent> baseComponent = new ArrayList();
  19.  
  20. public JSONText() {
  21. this.component = new TextComponent("");
  22. }
  23.  
  24. public JSONText(String prefix) {
  25. this.component = new TextComponent(prefix);
  26. }
  27.  
  28. public JSONText prefix(String prefix) {
  29. this.text(prefix);
  30. return this;
  31. }
  32.  
  33. public JSONText text(String text) {
  34. this.textComponent = new TextComponent(TextComponent.fromLegacyText(text));
  35. return this;
  36. }
  37.  
  38. public JSONText hoverText(String text) {
  39. BaseComponent[] hover = new BaseComponent[]{new TextComponent(text)};
  40. this.textComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, hover));
  41. return this;
  42. }
  43.  
  44. public JSONText clickOpenURL(String url) {
  45. this.textComponent.setClickEvent(new ClickEvent(net.md_5.bungee.api.chat.ClickEvent.Action.OPEN_URL, (!url.startsWith("http") ? "https://" : "") + url));
  46. return this;
  47. }
  48.  
  49. public JSONText clickRunCommand(String command) {
  50. this.textComponent.setClickEvent(new ClickEvent(net.md_5.bungee.api.chat.ClickEvent.Action.RUN_COMMAND, command));
  51. return this;
  52. }
  53.  
  54. public JSONText clickSuggest(String suggest) {
  55. this.textComponent.setClickEvent(new ClickEvent(net.md_5.bungee.api.chat.ClickEvent.Action.SUGGEST_COMMAND, suggest));
  56. return this;
  57. }
  58.  
  59. public JSONText next() {
  60. if (this.textComponent == null) {
  61. return this;
  62. } else {
  63. this.baseComponent.add(this.textComponent);
  64. return this;
  65. }
  66. }
  67.  
  68. public void send(Player player) {
  69. this.component.setExtra(this.baseComponent);
  70. player.spigot().sendMessage(this.component);
  71. }
  72.  
  73. public void send(CommandSender sender) {
  74. this.component.setExtra(this.baseComponent);
  75. sender.sendMessage(this.component.getText());
  76. }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement