Solved change world doesnt work

Discussion in 'Plugin Development' started by kingsofbart, Oct 6, 2015.

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

    kingsofbart

    Hi reader,

    I have created a little script:
    the idea is that a player needs a permission to change to the word he want.
    Scripts:
    Main:
    Code:
    package pm;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.World;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    //1 = kickmessage
    //2 = enter message
    
    public class main extends JavaPlugin{
       
       public void onEnable(){
          PluginManager pm = Bukkit.getPluginManager();
          pm.registerEvents(new wolrdchange(), this);
          loadConfig();
         
       }
       public wolrdchange e;
       public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
    { 
          if(cmd.getName().equalsIgnoreCase("pw")||cmd.getName().equalsIgnoreCase("permworld")){
              if(args.length == 0){
                  this.Viewmessage(sender);
              }else{
                   if (args[0].equalsIgnoreCase("setspawn")) {
                      Player p = (Player) sender;
                      if (!(sender instanceof Player)) {
                            sender.sendMessage(ChatColor.RED + "You have to be ingame.");
                            return true;
                        }else{
                       getConfig().set("pmspawn.world", p.getLocation().getWorld().getName());
                       getConfig().set("pmspawn.x", p.getLocation().getX());
                       getConfig().set("pmspawn.y", p.getLocation().getY());
                       getConfig().set("pmspawn.z", p.getLocation().getZ());
                       saveConfig();
                       p.sendMessage(ChatColor.GREEN + "PM Spawn set!");
                       return true;
                        }
               
                   
              }else if (args[0].equalsIgnoreCase("spawn")) {
                  Player target = Bukkit.getServer().getPlayer(args[1]);
                       if (getConfig().getConfigurationSection("pmspawn") == null) {
                               target.sendMessage(ChatColor.RED + "The permissionworld spawn has not yet been set!");
                               return true;
                       }
                       if(target != null && target.isOnline())
                       {                  
                       World w = Bukkit.getServer().getWorld(getConfig().getString("pmspawn.world"));
                       double x = getConfig().getDouble("pmspawn.x");
                       double y = getConfig().getDouble("pmspawn.y");
                       double z = getConfig().getDouble("pmspawn.z");
                       target.teleport(new Location(w, x, y, z));
                       }else{
                          sender.sendMessage(ChatColor.RED+ "This player isnt online or doesnt exits");
                       }
               }
               return true;
       }
          }else if(args[0].equals("entermessage")){
                      if(args.length == 1){
                          this.Viewmessage(sender);
                      }else{
                          if(args.length > 1){
                                   String message = "";
                                   for (String part : args) {
                                       if (message != "") message += " ";
                                       message += part;
                                   }
                              sender.sendMessage(ChatColor.GREEN+"The enter message has been changed to: " +message);
                              e.message.set(2, message);
                          }else{
                              sender.sendMessage("You have to use /pw entermessage <your message>");
                          }
                      }
                  }else{
                      if(args[0].equals("kickmessage")){
                          if(args.length == 1){
                              this.Viewmessage(sender);
                          }else{
                              if(args.length > 1){
                                       String message = "";
                                       for (String part : args) {
                                           if (message != "") message += " ";
                                           message += part;
                                       }
                                  sender.sendMessage(ChatColor.GREEN+"The kick message has been changed to: " +message);
                                  e.message.set(1, message);
                              }else{
                                  sender.sendMessage("You have to use /pw kickmessage <your message>");
                              }
                          }
                      }
                  }
             
                 
         
    return true;
       }
       public boolean Viewmessage(CommandSender sender){
         
              sender.sendMessage(ChatColor.GOLD + "-----{" + ChatColor.YELLOW + ChatColor.BOLD + "Permission world" + ChatColor.GOLD + "}------");
              sender.sendMessage(ChatColor.GRAY + "/pw message" + ChatColor.DARK_GRAY + " | " + ChatColor.YELLOW + "Use /Ch message <message> to change the enter message!");
              sender.sendMessage(ChatColor.GRAY + "/pw kickmessage" + ChatColor.DARK_GRAY + " | " + ChatColor.YELLOW + "Use /Ch kickmessage <message> to change the kick message!");
              return true;
       }
        public void loadConfig() {
              getConfig().options().copyDefaults(true);
              saveConfig();
              }
    
    }
    
    
    wolrdchange:
    Code:
    package pm;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import org.bukkit.Bukkit;
    import org.bukkit.World;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerChangedWorldEvent;
    
    public class wolrdchange implements Listener {
        List<String> spawn = new ArrayList<String>();
        List<String> message = new ArrayList<String>();
        public void onWorldChange(PlayerChangedWorldEvent event){
            Player p = event.getPlayer();
            World enter = event.getPlayer().getWorld();
            if(p.hasPermission("worldchange."+enter)){
                p.sendMessage(message.get(0));
            }else{
                Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pm spawn "+p);
                p.kickPlayer("You dont have permission to enter "+enter);
            }
          }
    
    }
    
    Thanks!
     
  2. Offline

    Zombie_Striker

    @kingsofbart
    Soo, what is the problem? Mark as solved if solved?

    Please post where the problem actually is occurring, all code that is related, and what the actual problem is.

    [edit] Did you forget the @EventHandler tag? Those are important.
     
    kingsofbart and Gonmarte like this.
  3. Offline

    kingsofbart

    Thanks it works!

     
Thread Status:
Not open for further replies.

Share This Page