/* * This file is part of PlaceholderAPI * * PlaceholderAPI * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlaceholderAPI is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package me.clip.placeholderapi.listeners; import me.clip.placeholderapi.PlaceholderAPIPlugin; import org.bukkit.Bukkit; import org.bukkit.event.EventHandler; import org.bukkit.event.HandlerList; import org.bukkit.event.Listener; import org.bukkit.event.server.ServerLoadEvent; import org.jetbrains.annotations.NotNull; public final class ServerLoadEventListener implements Listener { @NotNull private final PlaceholderAPIPlugin plugin; public ServerLoadEventListener(@NotNull final PlaceholderAPIPlugin plugin) { this.plugin = plugin; Bukkit.getPluginManager().registerEvents(this, plugin); } /** * This method will be called when the server is first loaded *

* The goal of the method is to register all the expansions as soon as possible especially before * players can join *

* This will ensure no issues with expansions and hooks. * * @param event the server load event */ @EventHandler public void onServerLoad(@NotNull final ServerLoadEvent event) { HandlerList.unregisterAll(this); plugin.getLocalExpansionManager().load(Bukkit.getConsoleSender()); } }