Kaynağa Gözat

added a config checker for stupid kids who always give one star on
spigot

mastercake10 6 yıl önce
ebeveyn
işleme
f03299321c
2 değiştirilmiş dosya ile 26 ekleme ve 2 silme
  1. 25 1
      src/de/Linus122/customoregen/Main.java
  2. 1 1
      src/plugin.yml

+ 25 - 1
src/de/Linus122/customoregen/Main.java

@@ -12,6 +12,7 @@ import java.util.Set;
 import java.util.UUID;
 import org.bukkit.Bukkit;
 import org.bukkit.Location;
+import org.bukkit.Material;
 import org.bukkit.OfflinePlayer;
 import org.bukkit.World;
 import org.bukkit.command.ConsoleCommandSender;
@@ -121,7 +122,10 @@ public class Main extends JavaPlugin {
 		reloadConfig();
 		loadConfig();
 	}
-
+	
+	/**
+	* Just a method that sorts out stupid configuration mistakes made by kids who always give 1-star-reviews on Spigot.
+	*/
 	public void loadConfig() throws IOException {
 		// Writing default config to data directory
 		File cfg = new File("plugins/CustomOreGen/config.yml");
@@ -142,25 +146,45 @@ public class Main extends JavaPlugin {
 		this.reloadConfig();
 		generatorConfigs = new ArrayList<GeneratorConfig>();
 		for(String key : this.getConfig().getConfigurationSection("generators").getKeys(false)){
+			double totalChance = 0d;
 			GeneratorConfig gc = new GeneratorConfig();
 			gc.permission = this.getConfig().getString("generators." + key + ".permission");
 			gc.unlock_islandLevel = this.getConfig().getInt("generators." + key + ".unlock_islandLevel");
+			if(gc.permission == null){
+				System.out.println("[CustomOreGen] Config error: generator " + key + " does not have a valid permission entry");
+			}
+			if(gc.unlock_islandLevel > 0 && gc.permission.length() > 1){
+				System.out.println("[CustomOreGen] Config error: generator " + key + " has both a permission and level setup! Be sure to choose one of them!");
+			}
+			
 			for(String raw : this.getConfig().getStringList("generators." + key + ".blocks")){
 				try{
 					if(!raw.contains("!")){
 						String material = raw.split(":")[0];
+						if(Material.getMaterial(material.toUpperCase()) == null){
+							System.out.println("[CustomOreGen] Config error: generator " + key + " has an unrecognized material: " + material);
+						}
 						double percent = Double.parseDouble(raw.split(":")[1]);
+						totalChance += percent;
 						gc.itemList.add(new GeneratorItem(material, (byte) 0, percent));
 					}else{
 						String material = raw.split("!")[0];
+						if(Material.getMaterial(material.toUpperCase()) == null){
+							System.out.println("[CustomOreGen] Config error: generator " + key + " has an unrecognized material: " + material);
+						}
 						double percent = Double.parseDouble(raw.split(":")[1]);
+						totalChance += percent;
 						int damage = Integer.parseInt(raw.split("!")[1].split(":")[0]);
 						gc.itemList.add(new GeneratorItem(material, (byte) damage, percent));
 					}
 				}catch(Exception e){
+					System.out.println("[CustomOreGen] Config error: general configuration error. Please check you config.yml");
 					e.printStackTrace();
 				}
 			}
+			if(totalChance != 100.0){
+				System.out.println("[CustomOreGen] Config error: generator " + key + " does not have a total chance of 100%! Chance: " + totalChance);
+			}
 			generatorConfigs.add(gc);
 
 			

+ 1 - 1
src/plugin.yml

@@ -1,5 +1,5 @@
 name: CustomOreGen
-version: 1.2.37
+version: 1.2.38
 description: Controls the Ore-Generator
 author: Linus122
 softdepend: [ASkyBlock, AcidIsland, uSkyBlock]