3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-18 20:40:08 +01:00

[Bleeding] Added option to completely disable all automatic help topic generation by adding "All" to the ignore-plugins list in help.yml. Addresses BUKKIT-1264

Dieser Commit ist enthalten in:
rmichela 2012-03-21 23:01:06 -04:00 committet von EvilSeph
Ursprung 31b1bc02ca
Commit eb3c092ef8
3 geänderte Dateien mit 22 neuen und 9 gelöschten Zeilen

Datei anzeigen

@ -17,21 +17,28 @@ import java.util.logging.Level;
*/ */
public class HelpYamlReader { public class HelpYamlReader {
private final YamlConfiguration helpYaml; private YamlConfiguration helpYaml;
private final char ALT_COLOR_CODE = '&'; private final char ALT_COLOR_CODE = '&';
public HelpYamlReader(Server server) { public HelpYamlReader(Server server) {
File helpYamlFile = new File("help.yml"); File helpYamlFile = new File("help.yml");
YamlConfiguration defaultConfig = YamlConfiguration.loadConfiguration(getClass().getClassLoader().getResourceAsStream("configurations/help.yml"));
helpYaml = YamlConfiguration.loadConfiguration(helpYamlFile);
helpYaml.options().copyDefaults(true);
helpYaml.setDefaults(YamlConfiguration.loadConfiguration(getClass().getClassLoader().getResourceAsStream("configurations/help.yml")));
try { try {
if (!helpYamlFile.exists()) { helpYaml = YamlConfiguration.loadConfiguration(helpYamlFile);
helpYaml.save(helpYamlFile); helpYaml.options().copyDefaults(true);
helpYaml.setDefaults(defaultConfig);
try {
if (!helpYamlFile.exists()) {
helpYaml.save(helpYamlFile);
}
} catch (IOException ex) {
server.getLogger().log(Level.SEVERE, "Could not save " + helpYamlFile, ex);
} }
} catch (IOException ex) { } catch (Exception ex) {
server.getLogger().log(Level.SEVERE, "Could not save " + helpYamlFile, ex); server.getLogger().severe("Failed to load help.yml. Verify the yaml indentation is correct. Reverting to default help.yml.");
helpYaml = defaultConfig;
} }
} }

Datei anzeigen

@ -90,6 +90,11 @@ public class SimpleHelpMap implements HelpMap {
public synchronized void initializeCommands() { public synchronized void initializeCommands() {
// ** Load topics from highest to lowest priority order ** // ** Load topics from highest to lowest priority order **
Set<String> ignoredPlugins = new HashSet<String>(yaml.getIgnoredPlugins()); Set<String> ignoredPlugins = new HashSet<String>(yaml.getIgnoredPlugins());
// Don't load any automatic help topics if All is ignored
if (ignoredPlugins.contains("All")) {
return;
}
// Initialize help topics from the server's command map // Initialize help topics from the server's command map
outer: for (Command command : server.getCommandMap().getCommands()) { outer: for (Command command : server.getCommandMap().getCommands()) {

Datei anzeigen

@ -33,7 +33,8 @@
# permission: you.dont.have # permission: you.dont.have
# #
# Any plugin in the ignored plugins list will be excluded from help. The name must match the name displayed by # Any plugin in the ignored plugins list will be excluded from help. The name must match the name displayed by
# the /plugins command. Ignore "Bukkit" to remove the standard bukkit commands from the index. # the /plugins command. Ignore "Bukkit" to remove the standard bukkit commands from the index. Ignore "All"
# to completely disable automatic help topic generation.
# ignore-plugins: # ignore-plugins:
# - PluginNameOne # - PluginNameOne
# - PluginNameTwo # - PluginNameTwo