SimpleConfig.java 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package me.km.api;
  2. import java.io.File;
  3. import me.hammerle.code.ISnuviLogger;
  4. import me.hammerle.code.Script;
  5. import me.hammerle.config.SnuviConfig;
  6. import me.hammerle.exceptions.SnuviException;
  7. import me.km.dimensions.ModDimensions;
  8. import me.km.exception.IllegalItemStackStringException;
  9. import me.km.utils.ItemStackUtils;
  10. import net.minecraft.item.ItemStack;
  11. import net.minecraft.util.math.Vec3d;
  12. public class SimpleConfig extends SnuviConfig
  13. {
  14. public SimpleConfig(Module m, String path, String name, boolean load)
  15. {
  16. super(new ISnuviLogger()
  17. {
  18. @Override
  19. public void printException(SnuviException ex)
  20. {
  21. // should not happen
  22. }
  23. @Override
  24. public void printException(SnuviException ex, Script s)
  25. {
  26. // should not happen
  27. }
  28. @Override
  29. public void printWarning(String s)
  30. {
  31. m.sendWarningToConsole(s);
  32. }
  33. @Override
  34. public void printInfo(String s)
  35. {
  36. m.sendToConsole(s);
  37. }
  38. }, path, name, "snuvi");
  39. if(load && exists())
  40. {
  41. load();
  42. }
  43. }
  44. public static File[] getFiles(String path)
  45. {
  46. return new File("./" + path).listFiles();
  47. }
  48. // -----------------------------------------------------------------------------------
  49. // get
  50. // -----------------------------------------------------------------------------------
  51. public Location getLocation(String key)
  52. {
  53. return new Location(ModDimensions.getWorldFromName(getString(key + ".world")),
  54. new Vec3d(getDouble(key + ".x", 0), getDouble(key + ".y", 0), getDouble(key + ".z", 0)),
  55. getFloat(key + ".yaw", 0), getFloat(key + ".pitch", 0));
  56. }
  57. public ItemStack getItemStack(String key)
  58. {
  59. Object s = conf.get(key);
  60. if(s == null)
  61. {
  62. return ItemStack.EMPTY;
  63. }
  64. try
  65. {
  66. return ItemStackUtils.getStackFromNbtString(s.toString());
  67. }
  68. catch(IllegalItemStackStringException ex)
  69. {
  70. return ItemStack.EMPTY;
  71. }
  72. }
  73. // -----------------------------------------------------------------------------------
  74. // Add Data
  75. // -----------------------------------------------------------------------------------
  76. public void setLocation(String key, Location l)
  77. {
  78. set(key + ".world", l.getWorld().getWorldInfo().getWorldName());
  79. set(key + ".x", l.getX());
  80. set(key + ".y", l.getY());
  81. set(key + ".z", l.getZ());
  82. set(key + ".yaw", l.getYaw());
  83. set(key + ".pitch", l.getPitch());
  84. }
  85. public void setItemStack(String key, ItemStack stack)
  86. {
  87. set(key, ItemStackUtils.getNbtString(stack));
  88. }
  89. }