Advertisement
Guest User

Untitled

a guest
Jul 21st, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.87 KB | None | 0 0
  1. package constitution;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import java.util.logging.FileHandler;
  8. import java.util.logging.Level;
  9. import java.util.logging.Logger;
  10.  
  11. import com.google.gson.ExclusionStrategy;
  12. import com.google.gson.FieldAttributes;
  13.  
  14. import constitution.commands.engine.CommandManager;
  15. import constitution.commands.servercommands.administrative.channel;
  16. import constitution.commands.servercommands.permissions.PermissionCommands;
  17. import constitution.configuration.Config;
  18. import constitution.configuration.json.JSONConfig;
  19. import constitution.events.ChatEvent;
  20. import constitution.events.LoginEvent;
  21. import constitution.events.LogoutEvent;
  22. import constitution.localization.Localization;
  23. import constitution.localization.LocalizationManager;
  24. import constitution.permissions.PermissionManager;
  25. import constitution.utilities.ClassUtilities;
  26. import constitution.utilities.LogFormatter;
  27. import constitution.utilities.PlayerUtilities;
  28. import net.minecraftforge.common.MinecraftForge;
  29. import net.minecraftforge.fml.common.Mod;
  30. import net.minecraftforge.fml.common.Mod.EventHandler;
  31. import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
  32. import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
  33. import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
  34. import net.minecraftforge.fml.common.event.FMLServerStoppingEvent;
  35.  
  36. @Mod(modid = ConstitutionMain.MODID, name = "Constitution", version = ConstitutionMain.VERSION, dependencies = "after:worldedit", updateJSON = ConstitutionMain.UPDATEURL, acceptableRemoteVersions = "*", acceptedMinecraftVersions = ConstitutionMain.MCVERSIONS)
  37. public class ConstitutionMain
  38. {
  39. @Mod.Instance(ConstitutionMain.MODID)
  40. public static ConstitutionMain instance;
  41. public Localization LOCAL;
  42. public static final String MODID = "constitution";
  43. public static final String VERSION = "1.12.2";
  44. public static final String UPDATEURL = "";
  45. public final static String MCVERSIONS = "[1.9.4, 1.13]";
  46. public static File configFile = null;
  47. public static File jsonFile = null;
  48. public static String CONFIG_FOLDER = "";
  49. public static String DATABASE_FOLDER = "";
  50. public static String COMMAND_FOLDER = "constitution.commands.executable";
  51. public static Logger logger = Logger.getLogger(MODID);
  52. public static boolean debug = false;
  53. private final List<JSONConfig> jsonConfigs = new ArrayList<JSONConfig>();
  54. public static final PermissionManager permissionManager = new PermissionManager();
  55. public ConstitutionMain() {
  56. initLogger();
  57. }
  58.  
  59. private void initLogger() {
  60. FileHandler logHandler = null;
  61. logger.setLevel(Level.ALL);
  62. try
  63. {
  64. File logs = new File("." + File.separator + "logs");
  65. logs.mkdirs();
  66. File logfile = new File(logs, MODID + ".log");
  67. if ((logfile.exists() || logfile.createNewFile()) && logfile.canWrite() && logHandler == null)
  68. {
  69. logHandler = new FileHandler(logfile.getPath());
  70. logHandler.setFormatter(new LogFormatter());
  71. logger.addHandler(logHandler);
  72. }
  73. }
  74. catch (SecurityException | IOException e)
  75. {
  76. e.printStackTrace();
  77. }
  78. }
  79.  
  80. @EventHandler
  81. public void preInitializationEvent(FMLPreInitializationEvent event) {
  82. //CONFIGURATION:
  83. CONFIG_FOLDER = event.getModConfigurationDirectory().getPath() + "/Constitution/";
  84. DATABASE_FOLDER = event.getModConfigurationDirectory().getParent() + "/databases/";
  85. Config.instance.init(CONFIG_FOLDER + "/Constitution.cfg", "Constitution");
  86. LOCAL = new Localization(CONFIG_FOLDER + "/Localization/", Config.instance.localization.get(),
  87. "/Constitution/Localization/", ConstitutionMain.class);
  88. LocalizationManager.register(LOCAL, "constitution");
  89. MinecraftForge.EVENT_BUS.register(ChatEvent.instance);
  90. MinecraftForge.EVENT_BUS.register(LoginEvent.instance);
  91. MinecraftForge.EVENT_BUS.register(LogoutEvent.instance);
  92. permissionManager.preInitialization();
  93.  
  94. }
  95.  
  96. @EventHandler
  97. public void postInitializationEvent(FMLPostInitializationEvent event) {
  98.  
  99. }
  100.  
  101. @EventHandler
  102. public void serverLoadEvent(FMLServerStartingEvent event) {
  103. loadConfig();
  104. permissionManager.serverLoad();
  105. logger.info("Constitution Started");
  106. CommandManager.registerCommands(PermissionCommands.class, "constitution.cmd.perm", ConstitutionMain.instance.LOCAL, permissionManager);
  107. CommandManager.registerCommands(channel.class, "constitution.cmd.channel", ConstitutionMain.instance.LOCAL, permissionManager);
  108. //registerCommands();
  109. }
  110.  
  111. @EventHandler
  112. public void serverStoppingEvent(FMLServerStoppingEvent event) {
  113.  
  114. }
  115.  
  116. public static void loadPerms() {
  117.  
  118. }
  119.  
  120. public static void savePerms() {
  121.  
  122. }
  123.  
  124. public static void registerCommands() {
  125. //Needs Work (CommandManager is persistent on each Command Class Having A Root Command);
  126. List<Class<?>> commandClazzes = (ClassUtilities.getClassesInPackage(COMMAND_FOLDER));
  127. for (Class<?> clazz : commandClazzes) {
  128. //String rootPerm =
  129. //logger.info("Class: " + clazz.getSimpleName());
  130. //CommandManager.registerCommands(clazz, rootPerm, ConstitutionMain.instance.LOCAL, null);
  131. }
  132. }
  133. public void loadConfig() {
  134. Config.instance.reload();
  135. LOCAL.load();
  136. for (JSONConfig jsonConfig : jsonConfigs) {
  137. jsonConfig.init();
  138. }
  139. }
  140.  
  141. public static PermissionManager getPermissionManager() {
  142. return permissionManager;
  143. }
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement