50 lines
2.1 KiB
Java
50 lines
2.1 KiB
Java
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);
|
|
}
|
|
} |