SnuviUtils.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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) throws Exception {
  26. StringBuilder sb = new StringBuilder();
  27. if(skip < c.length) {
  28. sb.append(c[skip].getString(sc));
  29. }
  30. for(int i = skip + 1; i < c.length; i++) {
  31. sb.append(s);
  32. sb.append(c[i].getString(sc));
  33. }
  34. return sb.toString();
  35. }
  36. public static Object convert(String input) {
  37. if(input == null) {
  38. return null;
  39. }
  40. input = input.trim();
  41. if(input.equals("true")) {
  42. return true;
  43. } else if(input.equals("false")) {
  44. return false;
  45. } else if(input.equals("null")) {
  46. return null;
  47. } else if(input.startsWith("\"") && input.endsWith("\"")) {
  48. if(input.length() == 1) {
  49. return "\"";
  50. }
  51. return input.substring(1, input.length() - 1);
  52. }
  53. try {
  54. return Double.parseDouble(input);
  55. } catch(NumberFormatException ex) {
  56. return input;
  57. }
  58. }
  59. }