QueuedTooltip.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package me.shedaniel.clothconfig2.api;
  2. import me.shedaniel.math.Point;
  3. import net.minecraft.class_5481;
  4. import net.minecraft.text.StringRenderable;
  5. import net.minecraft.text.Text;
  6. import net.minecraft.util.Language;
  7. import org.jetbrains.annotations.ApiStatus;
  8. import java.util.Arrays;
  9. import java.util.Collections;
  10. import java.util.List;
  11. public class QueuedTooltip implements Tooltip {
  12. private Point location;
  13. private List<class_5481> text;
  14. private QueuedTooltip(Point location, List<class_5481> text) {
  15. this.location = location;
  16. this.text = Collections.unmodifiableList(text);
  17. }
  18. public static QueuedTooltip create(Point location, List<Text> text) {
  19. return new QueuedTooltip(location, Language.getInstance().method_30933((List) text));
  20. }
  21. public static QueuedTooltip create(Point location, Text... text) {
  22. return QueuedTooltip.create(location, Arrays.asList(text));
  23. }
  24. public static QueuedTooltip create(Point location, class_5481... text) {
  25. return new QueuedTooltip(location, Arrays.asList(text));
  26. }
  27. public static QueuedTooltip create(Point location, StringRenderable... text) {
  28. return new QueuedTooltip(location, Language.getInstance().method_30933(Arrays.asList(text)));
  29. }
  30. @Override
  31. public Point getPoint() {
  32. return location;
  33. }
  34. @ApiStatus.Internal
  35. @Override
  36. public List<class_5481> getText() {
  37. return text;
  38. }
  39. }