001package fr.aumgn.dac2; 002 003import java.util.logging.Logger; 004 005import fr.aumgn.bukkitutils.localization.Localization; 006import fr.aumgn.bukkitutils.localization.PluginMessages; 007import fr.aumgn.dac2.arena.Arenas; 008import fr.aumgn.dac2.config.Colors; 009import fr.aumgn.dac2.config.DACConfig; 010import fr.aumgn.dac2.stage.Stages; 011 012/** 013 * Main class which offers acces to all components. 014 */ 015public class DAC { 016 017 private final DACPlugin plugin; 018 019 private DACConfig config; 020 private Colors colors; 021 private PluginMessages cmdMessages; 022 private PluginMessages messages; 023 024 private Arenas arenas; 025 private Stages stages; 026 027 public DAC(DACPlugin plugin) { 028 this.plugin = plugin; 029 reloadData(); 030 this.arenas = new Arenas(this); 031 this.stages = new Stages(this); 032 } 033 034 public Logger getLogger() { 035 return plugin.getLogger(); 036 } 037 038 public DACPlugin getPlugin() { 039 return plugin; 040 } 041 042 public DACConfig getConfig() { 043 return config; 044 } 045 046 public Colors getColors() { 047 return colors; 048 } 049 050 public PluginMessages getCmdMessages() { 051 return cmdMessages; 052 } 053 054 public PluginMessages getMessages() { 055 return messages; 056 } 057 058 /* 059 * Reloads all datas. 060 * 061 * <ul> 062 * <li>Config</li> 063 * <li>Colors</li> 064 * <li>Messages</li> 065 * </ul> 066 */ 067 public void reloadData() { 068 config = plugin.reloadDACConfig(); 069 colors = new Colors(this); 070 071 Localization localization = 072 new Localization(plugin, config.getLocale()); 073 cmdMessages = localization.get("commands"); 074 messages = localization.get("messages"); 075 } 076 077 public Arenas getArenas() { 078 return arenas; 079 } 080 081 public Stages getStages() { 082 return stages; 083 } 084}