SnuviUtils.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package me.hammerle.snuviscript.code;
  2. import me.hammerle.snuviscript.inputprovider.InputProvider;
  3. import java.util.Random;
  4. public class SnuviUtils {
  5. private static final Random RANDOM = new Random();
  6. public static int randomInt(int min, int max) {
  7. return RANDOM.nextInt((max - min) + 1) + min;
  8. }
  9. public static String toString(double d) {
  10. if(d == (int) d) {
  11. return String.valueOf((int) d);
  12. }
  13. return String.valueOf(d);
  14. }
  15. // -------------------------------------------------------------------------
  16. // connectors
  17. // -------------------------------------------------------------------------
  18. public static String connect(Script sc, InputProvider[] c, int skip) throws Exception {
  19. StringBuilder sb = new StringBuilder();
  20. for(int i = skip; i < c.length; i++) {
  21. sb.append(c[i].getString(sc));
  22. }
  23. return sb.toString();
  24. }
  25. public static String connect(Script sc, InputProvider[] c, String s, int skip)
  26. throws Exception {
  27. StringBuilder sb = new StringBuilder();
  28. if(skip < c.length) {
  29. sb.append(c[skip].getString(sc));
  30. }
  31. for(int i = skip + 1; i < c.length; i++) {
  32. sb.append(s);
  33. sb.append(c[i].getString(sc));
  34. }
  35. return sb.toString();
  36. }
  37. public static Object convert(String input) {
  38. if(input == null) {
  39. return null;
  40. }
  41. input = input.trim();
  42. if(input.equals("true")) {
  43. return true;
  44. } else if(input.equals("false")) {
  45. return false;
  46. } else if(input.equals("null")) {
  47. return null;
  48. } else if(input.startsWith("\"") && input.endsWith("\"")) {
  49. if(input.length() == 1) {
  50. return "\"";
  51. }
  52. return input.substring(1, input.length() - 1).replaceAll("\\n", "\n");
  53. }
  54. try {
  55. return Double.parseDouble(input);
  56. } catch(NumberFormatException ex) {
  57. return input;
  58. }
  59. }
  60. }