• Chào bạn, hãy đăng ký hoặc đăng nhập để tham gia cùng bọn mình và sử dụng được đầy đủ chức năng của diễn đàn :).
Decompiler

Đã giải quyết Command Arguments

Trạng thái
Không mở trả lời sau này.

Decompiler

DEVELOPER
THÀNH VIÊN
Tham gia
05/11/2016
Bài viết
156
Mọi người giúp với ạ ?
Mình viết 1 dòng code tạo ra một command không có args kiểu như /help ấy, mình lên google tìm cách thì mình tìm được cách này và code theo. Sau đây là hình ảnh:
yrkDtxD.png

Bắt đầu chạy plugin và nó vẫn chạy bình thường không có hiện tượng gì cả
Nhưng sau khi /chedo thì nó bắt đầu xảy ra 2 lỗi này:
Lỗi 1:
UbQMDaS.png

Lỗi 2:
yl6O1hd.png

Nếu ai có cách sửa xin giúp mình với ạ. Mình mới tập code nên chả biết cđg cả :)
.
.
.
.

.
.
.
.

END
 
1. onCommand không phải là 1 @EventHandler, nó là 1 abstract method trong CommandExecutor, nên phải dùng @Override
2. Upload lại class command đầy đủ tại đây, mình sẽ phân tích lỗi dễ hơn
3. Cái lỗi 2 (stacktrace) chắc vẫn còn phần bên dưới, bạn cho mình xem được ko
 
Code khá rối bạn thông cảm <(")
@Banbeucmas
Mã:
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {

        Player p = (Player) sender;

        if (p.isOp()) {
            if (commandLabel.equalsIgnoreCase("chedo")) {
                if (args.length == 0) {
                    p.sendMessage("/chedo survival, creative, adventure, spectator");
                    p.sendMessage("Hoac");
                    p.sendMessage("/chedo 0, 1, 2, 3");
                }

                if (args[0].equalsIgnoreCase("0")) {
                    p.setGameMode(GameMode.SURVIVAL);

                    Titles.sendTitle(p, "§a§lSURVIVAL GAMEMODE", "§7Đấu tranh và sinh tồn", 20, 40, 20);
                    p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
                } else if (args[0].equalsIgnoreCase("survival")) {
                    p.setGameMode(GameMode.SURVIVAL);

                    Titles.sendTitle(p, "§a§lSURVIVAL GAMEMODE", "§7Đấu tranh và sinh tồn", 20, 40, 20);
                    p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
                }

                if (args[0].equalsIgnoreCase("1")) {
                    p.setGameMode(GameMode.CREATIVE);

                    Titles.sendTitle(p, "§a§lCREATIVE GAMEMODE", "§7Không giới hạn tài nguyên", 20, 40, 20);
                    p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
                } else if (args[0].equalsIgnoreCase("creative")) {
                    p.setGameMode(GameMode.CREATIVE);

                    Titles.sendTitle(p, "§a§lCREATIVE GAMEMODE", "§7Không giới hạn tài nguyên", 20, 40, 20);
                    p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
                }

                if (args[0].equalsIgnoreCase("2")) {
                    p.setGameMode(GameMode.ADVENTURE);

                    Titles.sendTitle(p, "§a§lADVENTURE GAMEMODE", "§7Khám phá thế giới", 20, 40, 20);
                    p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
                } else if (args[0].equalsIgnoreCase("adventure")) {
                    p.setGameMode(GameMode.ADVENTURE);

                    Titles.sendTitle(p, "§a§lADVENTURE GAMEMODE", "§7Khám phá thế giới", 20, 40, 20);
                    p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
                }

                if (args[0].equalsIgnoreCase("3")) {
                    p.setGameMode(GameMode.SPECTATOR);

                    Titles.sendTitle(p, "§a§lSPECTATOR GAMEMODE", "§7Noclip", 20, 40, 20);
                    p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
                } else if (args[0].equalsIgnoreCase("spectator")) {
                    p.setGameMode(GameMode.SPECTATOR);

                    Titles.sendTitle(p, "§a§lSPECTATOR GAMEMODE", "§7Noclip", 20, 40, 20);
                    p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
                }

            }
        } else {
            if (commandLabel.equalsIgnoreCase("chedo")) {
                if (args.length == 0) {
                    p.sendMessage("/chedo survival, spectator");
                    p.sendMessage("Hoac");
                    p.sendMessage("/chedo 0, 3");
                }

                if (args[0].equalsIgnoreCase("0")) {
                    p.setGameMode(GameMode.SURVIVAL);

                    Titles.sendTitle(p, "§a§lSURVIVAL GAMEMODE", "§7Đấu tranh và sinh tồn", 20, 40, 20);
                    p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
                } else if (args[0].equalsIgnoreCase("survival")) {
                    p.setGameMode(GameMode.SURVIVAL);

                    Titles.sendTitle(p, "§a§lSURVIVAL GAMEMODE", "§7Đấu tranh và sinh tồn", 20, 40, 20);
                    p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
                }

                if (args[0].equalsIgnoreCase("3")) {
                    p.setGameMode(GameMode.SPECTATOR);

                    Titles.sendTitle(p, "§a§lSPECTATOR GAMEMODE", "§7Noclip", 20, 40, 20);
                    p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
                } else if (args[0].equalsIgnoreCase("spectator")) {
                    p.setGameMode(GameMode.SPECTATOR);

                    Titles.sendTitle(p, "§a§lSPECTATOR GAMEMODE", "§7Noclip", 20, 40, 20);
                    p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
                }
                

                if (args[0].equalsIgnoreCase("1")) {
                    p.sendMessage(ChatColor.RED + "Bạn không có quyền để sử dụng lệnh này!");
                } else if (args[0].equalsIgnoreCase("creative")) {
                    p.sendMessage(ChatColor.RED + "Bạn không có quyền để sử dụng lệnh này!");
                }

                if (args[0].equalsIgnoreCase("2")) {
                    p.sendMessage(ChatColor.RED + "Bạn không có quyền để sử dụng lệnh này!");
                } else if (args[0].equalsIgnoreCase("adventure")) {
                    p.sendMessage(ChatColor.RED + "Bạn không có quyền để sử dụng lệnh này!");
                }
            }
        }

        return true;
    }
 
Sửa lần cuối:
3. Cái lỗi 2 (stacktrace) chắc vẫn còn phần bên dưới, bạn cho mình xem được ko
Cái này thì sao?

Với cả thôi, upload toàn bộ cái class lên pastebin.com đi
 


Minh sẽ nói cho bạn vài thứ cần phải sửa

1. Bạn không cần phải #registerEvents(); tại onDisable(), do lúc đó plugin đc tắt r
2.Có thể lỗi bạn đang có là do args[0] bị null hãy kiểm tra args.length nếu bạn có ý định dùng args[0]
- Căn bản, nếu bạn dùng args[0] thì args.length phải = 1
args[1] thì args.length phải = 2 và cứ thế
Với code hiện tại của bạn, bạn dùng arg[0] khi args.length == 0, vậy thỉ null la phải
 
Trạng thái
Không mở trả lời sau này.
Similar content Most view Xem thêm
Back
Top Bottom