Hi, i'm not so god at multiplie classes but i have another class tha's calld PlayerJoinevent and i want to make a message with config but i can't get it working! Main: Code:java package me.SweDevTeam.CustomMessage; import org.bukkit.event.Listener;import org.bukkit.plugin.PluginManager;import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin implements Listener{ private final PluginManager pm = getServer().getPluginManager(); private static final PlayerJoinevent pje = new PlayerJoinevent(); private static final PlayerQuitEvent pqe = new PlayerQuitEvent(); public void onEnable() { pm.registerEvents(pje, this); pm.registerEvents(pqe, this); getConfig().options().copyDefaults(true); saveConfig(); }} PlayerJoinevent: Code:java package me.SweDevTeam.CustomMessage; import org.bukkit.entity.Player;import org.bukkit.event.EventHandler;import org.bukkit.event.Listener;import org.bukkit.event.player.PlayerJoinEvent; public class PlayerJoinevent implements Listener { @EventHandler public void Playerjoin(PlayerJoinEvent event) { Player player = event.getPlayer(); event.setJoinMessage(// here i want getConfig().getStringPath("Hello")); } }} So that i want it that in the player you can change Hello to a message you want!
Inside of your PlayerJoinevent, make a constructor that takes the Main class as a parameter, and it will allow you to get the server. If you are unsture, here is a simple demonstration: Main class: Code: public class Main extends JavaPlugin { private final PluginManager pm; public void onEnable() { pm = getServer().getPluginManager(); pm.registerEvents(new PlayerJoinevent(this), this); } } PlayerJoinevent: Code: public class PlayerJoinevent implements Listener { private Main main; public PlayerJoinevent(Main instance) { this.main = instance; } @EventHandler public void onPlayerJoin(PlayerJoinEvent e) { e.setJoinMessage(main.getConfig().<rest of code>); } } I shouldn't have offered so much help but I felt like being nice