Java 插口忽略命令的第一个参数

Java 插口忽略命令的第一个参数,java,minecraft,bukkit,Java,Minecraft,Bukkit,我正在为我的Minecraft服务器创建一个/home命令,但是我在让它工作时遇到了一些麻烦。对于普通玩家,他们可以键入/home来清除他们的库存,切换到冒险模式并进入spawn(这很有效)。对于管理员来说,他们可以键入/home op转到管理库,或者键入/home spawn转到spawn。如果他们不提供参数,它将默认为admin base。除了home命令中的任何参数将admin带到admin base,甚至/home spawn之外,所有这些都可以工作。我怀疑这个论点被完全忽视了,但我不知

我正在为我的Minecraft服务器创建一个/home命令,但是我在让它工作时遇到了一些麻烦。对于普通玩家,他们可以键入/home来清除他们的库存,切换到冒险模式并进入spawn(这很有效)。对于管理员来说,他们可以键入/home op转到管理库,或者键入/home spawn转到spawn。如果他们不提供参数,它将默认为admin base。除了home命令中的任何参数将admin带到admin base,甚至/home spawn之外,所有这些都可以工作。我怀疑这个论点被完全忽视了,但我不知道如何修正它

package com.epizy.alephnull.homecommand;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.Location;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import com.epizy.alephnull.homecommand.Main;

public class Home implements CommandExecutor {

    public Home(Main main)
    {
        main.getCommand("home").setExecutor(this);
    }

    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
        if (!(sender instanceof Player))
        {
            sender.sendMessage("You must be a player to execute this command.");
            return true;
        }
        Player temp = (Player)sender;
        if (temp.isOp())
        {
            if (args.length == 0)
            {
                temp.teleport(new Location(Bukkit.getServer().getWorld("world"), 0, 218, 0));
                return true;
            }
            else if (args[0] == "op")
            {
                temp.teleport(new Location(Bukkit.getServer().getWorld("world"), 0, 218, 0));
                return true;
            }
            else if (args[0] == "spawn")
            {
                temp.teleport(new Location(Bukkit.getServer().getWorld("world"), 0, 250, 0));
                return true;
            }

        }
        else
        {

            temp.setGameMode(GameMode.ADVENTURE);
            temp.getInventory().clear();
            temp.updateInventory();
            temp.teleport(new Location(Bukkit.getServer().getWorld("world"), 0, 250, 0));
            return true;
        }
        return true;
    }

}

字符串应该与
等于
而不是
=
@roddyoffFrozenpeas进行比较哇,它成功了!谢谢,从现在开始在Java中使用字符串时,我会记住这条规则。