Solved Problem with a plugin

Discussion in 'Plugin Help/Development/Requests' started by nicoxdry, Jun 19, 2017.

Thread Status:
Not open for further replies.
  1. Offline

    nicoxdry

    Im trying to make a custom Join/Leave messages and death messages. The code works fine and i got no problems but i can't get the essentials messages to be removed and that mine appear can anyone help me?

    Just in case here is the code

    Code:
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class JoinMessages extends JavaPlugin implements Listener{
       
       
        @EventHandler
        public void onJoin(PlayerJoinEvent e) {
            Player p = e.getPlayer();
            if (p.hasPermission("owner.join")) {
            e.setJoinMessage("");
            e.setJoinMessage("");
            e.setJoinMessage ("§4§lOwner§b" + p.getName() + "§fhas joined!");
            e.setJoinMessage("");
            e.setJoinMessage("");
            }
           
            if (p.hasPermission("admin.join")) {
            e.setJoinMessage("");
            e.setJoinMessage("");
            e.setJoinMessage ("§c§lAdmin§b" + p.getName() + "§fhas joined!");
            e.setJoinMessage("");
            e.setJoinMessage("");
            }
           
            if (p.hasPermission(".join")) {
            e.setJoinMessage("");
            e.setJoinMessage("");
            e.setJoinMessage ("§c§lAdmin§b" + p.getName() + "§fhas joined!");
            e.setJoinMessage("");
            e.setJoinMessage("");
            }
           
            if (p.hasPermission("Mod+.join")) {
            e.setJoinMessage("");
            e.setJoinMessage("");
            e.setJoinMessage ("§6§lMod+§b" + p.getName() + "§fhas joined!");
            e.setJoinMessage("");
            e.setJoinMessage("");
            }
           
            if (p.hasPermission("srmod.join")) {
            e.setJoinMessage("");
            e.setJoinMessage("");
            e.setJoinMessage ("§6§lSrMod§b" + p.getName() + "§fhas joined!");
            e.setJoinMessage("");
            e.setJoinMessage("");
            }
           
            if (p.hasPermission("Helper.join")) {
            e.setJoinMessage("");
            e.setJoinMessage("");
            e.setJoinMessage ("§3§lHelper§b" + p.getName() + "§fhas joined!");
            e.setJoinMessage("");
            e.setJoinMessage("");
            }
           
            if (p.hasPermission("default.join")) {
                e.setJoinMessage ("§e" +  p.getName() + "has joined!");
            }
           
    
        }
       
       
        @EventHandler
        public void onQuit(PlayerQuitEvent e) {
            Player p = e.getPlayer();
            if (p.hasPermission("owner.join")) {
                e.setQuitMessage("");
                e.setQuitMessage("");
                e.setQuitMessage ("§4§lOwner§b" + p.getName() + "§fhas left!");
                e.setQuitMessage("");
                e.setQuitMessage("");
                }
               
                if (p.hasPermission("admin.join")) {
                e.setQuitMessage("");
                e.setQuitMessage("");
                e.setQuitMessage ("§c§lAdmin§b" + p.getName() + "§fhas left!");
                e.setQuitMessage("");
                e.setQuitMessage("");
                }
               
                if (p.hasPermission(".join")) {
                e.setQuitMessage("");
                e.setQuitMessage("");
                e.setQuitMessage ("§c§lAdmin§b" + p.getName() + "§fhas left!");
                e.setQuitMessage("");
                e.setQuitMessage("");
                }
               
                if (p.hasPermission("Mod+.join")) {
                e.setQuitMessage("");
                e.setQuitMessage("");
                e.setQuitMessage ("§6§lMod+§b" + p.getName() + "§fhas left!");
                e.setQuitMessage("");
                e.setQuitMessage("");
                }
               
                if (p.hasPermission("srmod.join")) {
                e.setQuitMessage("");
                e.setQuitMessage("");
                e.setQuitMessage ("§6§lSrMod§b" + p.getName() + "§fhas left!");
                e.setQuitMessage("");
                e.setQuitMessage("");
                }
               
                if (p.hasPermission("Helper.join")) {
                e.setQuitMessage("");
                e.setQuitMessage("");
                e.setQuitMessage ("§3§lHelper§b" + p.getName() + "§fhas left!");
                e.setQuitMessage("");
                e.setQuitMessage("");
                }
               
                if (p.hasPermission("default.join")) {
                    e.setQuitMessage ("§e" +  p.getName() + "has left!");
                }
        }
       
        @EventHandler
        public void onDeath(PlayerDeathEvent e) {
            Player p = e.getEntity();   
            e.setDeathMessage("§e" + p.getName() + "§ehad a heart attack!");
        }
    
    }
    
     
  2. Offline

    Zombie_Striker

    @nicoxdry
    What you are doing is continually setting the message to blank messages twice, then changing the blank messaage to an actual message, then overriding that message with a two black messages again. If you want to do a multi-line message, use player.sendMessage and set the quit message to an empty string.

    Also, because you're not using else checks, if a player has multiple permissions nodes/ inherit those nodes, then multiple messages for each of the permissions will be sent. Do else if checks instead of different if checks.

    Also, you are not registering the class. I'm not sure how it can work fine if you did not register it.

    Now, about the essentials messages, It should be directly tied into the join messages. Try setting the event's priority equal to Lowest, which means it will happen last.
     
  3. Offline

    nicoxdry

    I changed the code so now instead of sending the join event message it makes it null and then it broadcasts it. And what do you mean by registering the class? also I'm not doing multi lines now
     
  4. Offline

    Zombie_Striker

    @nicoxdry
    In order for events to work, the class needs to be registered. If you do not know how to register your class, read this.

    Has your problem been solved? Did that fix the essentials problem?
     
  5. Offline

    nicoxdry

    ohh you mean about this?
    package me.nicoxdry.com;
     
  6. Offline

    Zombie_Striker

    @nicoxdry
    [Edit] No, I accidentally linked to the work wiki. This is what I meant to link you to.

    Also, your package name should not end with "com". That should be replaced with the name of the project you are working on.
     
  7. Offline

    nicoxdry

    Ok i changed some things this is how it is now but it still not working
    Code:
    package me.nicoxdry.com;
    
    import org.bukkit.Bukkit;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class JoinMessages extends JavaPlugin implements Listener{
       
       
        @EventHandler (priority = EventPriority.LOWEST)
        public void onJoin(PlayerJoinEvent e) {
            Player p = e.getPlayer();
            if (p.hasPermission("owner.join")) {
            Bukkit.broadcastMessage("§4§lOwner§b" + p.getName() + "§fhas joined!");
            e.setJoinMessage(null);
          
            }
           
            if (p.hasPermission("admin.join")) {
            Bukkit.broadcastMessage("§c§lAdmin§b" + p.getName() + "§fhas joined!");
            e.setJoinMessage("");
            }
           
            if (p.hasPermission("developer.join")) {
            Bukkit.broadcastMessage("§c§lDeveloper§b" + p.getName() + "§fhas joined!");
            e.setJoinMessage(null);
            }
           
            if (p.hasPermission("mod.join")) {
                Bukkit.broadcastMessage("§6§lMod§b" + p.getName() + "§fhas left!");
                e.setJoinMessage(null);
                }
           
            if (p.hasPermission("Mod+.join")) {
            Bukkit.broadcastMessage("§6§lMod+§b" + p.getName() + "§fhas joined!");
            e.setJoinMessage(null);
            }
           
            if (p.hasPermission("srmod.join")) {
            Bukkit.broadcastMessage("§6§lSrMod§b" + p.getName() + "§fhas joined!");
            e.setJoinMessage(null);
            }
           
            if (p.hasPermission("Helper.join")) {
            Bukkit.broadcastMessage("§3§lHelper§b" + p.getName() + "§fhas joined!");
            e.setJoinMessage(null);
            }
           
            if (p.hasPermission("default.join")) {
                Bukkit.broadcastMessage("§e" +  p.getName() + "has joined!");
                e.setJoinMessage(null);
            }
           
    
        }
       
       
        @EventHandler (priority = EventPriority.LOWEST)
        public void onQuit(PlayerQuitEvent e) {
            Player p = e.getPlayer();
            if (p.hasPermission("owner.join")) {
                Bukkit.broadcastMessage("§4§lOwner§b" + p.getName() + "§fhas left!");
                e.setQuitMessage(null);
                }
               
                if (p.hasPermission("admin.join")) {
                Bukkit.broadcastMessage("§c§lAdmin§b" + p.getName() + "§fhas left!");
                e.setQuitMessage(null);
                }
               
                if (p.hasPermission("developer.join")) {
                    Bukkit.broadcastMessage("§c§lDeveloper§b" + p.getName() + "§fhas left!");
                    e.setQuitMessage(null);
                    }
                if (p.hasPermission("mod.join")) {
                    Bukkit.broadcastMessage("§6§lMod§b" + p.getName() + "§fhas left!");
                    e.setQuitMessage(null);
                    }
               
                if (p.hasPermission("Mod+.join")) {
                Bukkit.broadcastMessage("§6§lMod+§b" + p.getName() + "§fhas left!");
                e.setQuitMessage(null);
                }
               
                if (p.hasPermission("srmod.join")) {
                Bukkit.broadcastMessage("§6§lSrMod§b" + p.getName() + "§fhas left!");
                e.setQuitMessage(null);
                }
               
                if (p.hasPermission("Helper.join")) {
                Bukkit.broadcastMessage("§3§lHelper§b" + p.getName() + "§fhas left!");
                e.setQuitMessage(null);
                }
               
                if (p.hasPermission("default.join")) {
                    Bukkit.broadcastMessage("§e" +  p.getName() + "has left!");
                    e.setQuitMessage(null);
                }
        }
       
        @EventHandler (priority = EventPriority.LOWEST)
        public void onDeath(PlayerDeathEvent e) {
            Player p = e.getEntity();   
            Bukkit.broadcastMessage("§e" + p.getName() + "§ehad a heart attack!");
            e.setDeathMessage(null);
        }
    
    }
    
     
  8. Offline

    Zombie_Striker

    @nicoxdry
    You are still not registering the events. Just copy this into the class:
    Code:
     @Override
      public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
      }
    What this does is register the events when the plugin is enabled.
     
  9. Offline

    nicoxdry

    Ok ty it works now!
     
  10. Offline

    Zombie_Striker

    @nicoxdry
    If your problem has been solved, mark this thread as solved.
     
Thread Status:
Not open for further replies.

Share This Page