package org.anjocaido.groupmanager.events; import org.anjocaido.groupmanager.GroupManager; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.world.WorldInitEvent; /** * @author ElgarL * * Handle new world creation from other plugins * */ public class GMWorldListener implements Listener { private final GroupManager plugin; public GMWorldListener(final GroupManager instance) { plugin = instance; registerEvents(); } @EventHandler(priority = EventPriority.LOWEST) public void onWorldInit(final WorldInitEvent event) { final String worldName = event.getWorld().getName(); if (GroupManager.isLoaded() && !plugin.getWorldsHolder().isInList(worldName)) { GroupManager.logger.info("发现一个新的世界..."); GroupManager.logger.info("创建新的数据: " + worldName); if (plugin.getWorldsHolder().isWorldKnown("all_unnamed_worlds")) { final String usersMirror = plugin.getWorldsHolder().getMirrorsUser().get("all_unnamed_worlds"); final String groupsMirror = plugin.getWorldsHolder().getMirrorsGroup().get("all_unnamed_worlds"); if (usersMirror != null) plugin.getWorldsHolder().getMirrorsUser().put(worldName.toLowerCase(), usersMirror); if (groupsMirror != null) plugin.getWorldsHolder().getMirrorsGroup().put(worldName.toLowerCase(), groupsMirror); } plugin.getWorldsHolder().setupWorldFolder(worldName); plugin.getWorldsHolder().loadWorld(worldName); if (plugin.getWorldsHolder().isInList(worldName)) { GroupManager.logger.info("请不要忘记配置或者镜像这个世界在 config.yml."); } else GroupManager.logger.severe("自动配置失败 请联系开发者."); } } private void registerEvents() { plugin.getServer().getPluginManager().registerEvents(this, plugin); } }