So Ye. I am trying to give a fine each time someone uses a bad word. Code: @EventHandler public void onPlayerChat(AsyncPlayerChatEvent e) { for (String words : e.getMessage().split(" ")) { if (f.getConfig().getStringList("badwords").contains(words)) { e.setCancelled(true); f.setFine(4, e.getPlayer()); e.getPlayer().sendMessage(ChatColor.DARK_RED + "You just got a fine of 4$ for using a bad word in chat!"); } } } This is how I put in the list in config Code: badwords: - hello - jolly But it gives me a nullpointer error at this line Code: if (f.getConfig().getStringList("badwords").contains(words)) { And this is how it looks in the config that the server creates. Code: badwords: - hello - jolly This is the error https://gyazo.com/85caa2ddf154ec86ea94536d0ffe9719
@timtower Code: package me.albkad.life; import org.bukkit.ChatColor; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.event.player.PlayerJoinEvent; public class EventListener implements Listener { Fines f = Fines.getInstance(); @EventHandler public void onPlayerChat(AsyncPlayerChatEvent e) { for (String words : e.getMessage().split(" ")) { if (f.getConfig().getStringList("badwords").contains(words)) { e.setCancelled(true); f.setFine(4, e.getPlayer()); e.getPlayer().sendMessage(ChatColor.DARK_RED + "You just got a fine of 4$ for using a bad word in chat!"); } } } } This is the only code in main class that is relevant Code: package me.albkad.life; import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.java.JavaPlugin; import com.google.common.primitives.Ints; import net.milkbowl.vault.economy.Economy; public class Main extends JavaPlugin { public static Economy econ = null; Fines m = Fines.getInstance(); public void onEnable() { m.setup(this); Bukkit.getServer().getPluginManager().registerEvents(new EventListener(), this); if (!setupEconomy() ) { getLogger().severe(String.format("[%s] - Disabled due to no Vault dependency found!", getDescription().getName())); getServer().getPluginManager().disablePlugin(this); return; } // for (int i = 0; i < m.getConfig().getStringList(m.getConfig().getString("Fines.")).size(); i++) { // Bukkit.getServer().broadcastMessage("This is working"); // m.fine.put(Bukkit.getServer().getPlayer(m.getConfig().getStringList(m.getConfig().getString("Fines.")).get(i)).getUniqueId(), m.getConfig().getInt(Bukkit.getServer().getPlayer(m.getConfig().getStringList(m.getConfig().getString("Fines.")).get(i)).getUniqueId().toString())); // } if (!(getConfig().getConfigurationSection("Fines") == null)) { for(String key: getConfig().getConfigurationSection("Fines").getKeys(false)) { int value = getConfig().getInt("Fines." + key); m.fine.put(UUID.fromString(key), value); } } } And this is the only relevant part in the Fines/SettingsManager class Code: package me.albkad.life; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginDescriptionFile; import net.milkbowl.vault.economy.EconomyResponse; public class Fines { private Fines() {} Main plugin; Plugin p; FileConfiguration config; File cfile; public void setup(Plugin p) { config = p.getConfig(); config.options().copyDefaults(true); cfile = new File(p.getDataFolder(), "config.yml"); saveConfig(); } public FileConfiguration getConfig() { return config; } public void saveConfig() { try { config.save(cfile); } catch (IOException e) { Bukkit.getServer().getLogger().severe(ChatColor.RED + "Could not save config.yml!"); } } public void reloadConfig() { config = YamlConfiguration.loadConfiguration(cfile); } public PluginDescriptionFile getDesc() { return p.getDescription(); } HashMap<UUID, Integer> fine = new HashMap<UUID, Integer>(); public Fines(Main instance) { plugin = instance; } public static Fines getInstance() { return new Fines(); }