• Trong thời gian này, bạn không thể tạo bài mới, đăng comment, hay tạo tài nguyên mới để diễn đàn dọn dẹp nội dung.
    Diễn đàn sẽ sớm mở trở lại, chi tiết hãy theo dõi tại Discord
iGostZ

Đã giải quyết getAmount()

  • Người tạo chủ đề Người tạo chủ đề iGostZ
  • Ngày gửi Ngày gửi
Trạng thái
Không mở trả lời sau này.

iGostZ

DEVELOPER
DONATOR
- vấn đề là đã code như vầy rồi nhưng hoạt động thì lại khác!

kiểm tra vật phẩm trên tay >= 1 thì sẽ xảy ra event nhưng nếu vật phẩm = 1 thì lại không?

- Bác nào rành thì vào giúp em với :v



Mã:
@EventHandler
        public void onDouble2Drop(PlayerDropItemEvent e) {
        String pf = Main.Color(main.getConfig().getString("Double2Drop.Prefix"));
        Player p = e.getPlayer();
        final UUID uuid = p.getUniqueId();
        ItemStack item = e.getItemDrop().getItemStack();
        List<String> block = main.getConfig().getStringList("Double2Drop.WhitelistItem");
        for(String bl : block) {
            if((p.getInventory().getItemInMainHand().getType() == Material.getMaterial(bl)) && item.getAmount() >=1 ) {
                if ((!Main.disablePlayers.contains(uuid)) && (p.hasPermission("double2drop.bypass"))) {
                    if (!Main.players.contains(uuid)) {
                        e.setCancelled(true);
                        p.sendMessage(Main.Color(pf + main.getConfig().getString("Double2Drop.Messages.2QtoDrop")));
                        int delay = main.getConfig().getInt("Double2Drop.DelayDrop");
                        new BukkitRunnable() {
                            public void run() {
                                Main.players.remove(uuid);
                            }
                        }.runTaskLater(main, delay * 20);
                        Main.players.add(uuid);
                    } else {
                        Main.players.remove(uuid);
                        p.sendMessage(Main.Color(pf + main.getConfig().getString("Double2Drop.Messages.Dropped")));
                    }
                }
            }
            continue;
        }
 
- vấn đề là đã code như vầy rồi nhưng hoạt động thì lại khác!

kiểm tra vật phẩm trên tay >= 1 thì sẽ xảy ra event nhưng nếu vật phẩm = 1 thì lại không?

- Bác nào rành thì vào giúp em với :v



Mã:
public void onDouble2Drop(PlayerDropItemEvent e) {
        String pf = Main.Color(main.getConfig().getString("Double2Drop.Prefix"));
        Player p = e.getPlayer();
        final UUID uuid = p.getUniqueId();
        ItemStack item = e.getItemDrop().getItemStack();
        List<String> block = main.getConfig().getStringList("Double2Drop.WhitelistItem");
        for(String bl : block) {
            if((p.getInventory().getItemInMainHand().getType() == Material.getMaterial(bl)) && item.getAmount() >=1 ) {
                if ((!Main.disablePlayers.contains(uuid)) && (p.hasPermission("double2drop.bypass"))) {
                    if (!Main.players.contains(uuid)) {
                        e.setCancelled(true);
                        p.sendMessage(Main.Color(pf + main.getConfig().getString("Double2Drop.Messages.2QtoDrop")));
                        int delay = main.getConfig().getInt("Double2Drop.DelayDrop");
                        new BukkitRunnable() {
                            public void run() {
                                Main.players.remove(uuid);
                            }
                        }.runTaskLater(main, delay * 20);
                        Main.players.add(uuid);
                    } else {
                        Main.players.remove(uuid);
                        p.sendMessage(Main.Color(pf + main.getConfig().getString("Double2Drop.Messages.Dropped")));
                    }
                }
            }
            continue;
        }
Nên dùng #matchMaterial()
Lý do: Nó tự động so sánh không dùng viết hoa viết thường cho mình.
 
Nên dùng #matchMaterial()
Lý do: Nó tự động so sánh không dùng viết hoa viết thường cho mình.
đã dùng nhưng cũng vậy, vấn đề là: trong code ghi >=1 (lớn hơn hoặc bằng) nhưng vô test thì item = 1 thì k xảy ra event
 
s
đã dùng nhưng cũng vậy, vấn đề là: trong code ghi >=1 (lớn hơn hoặc bằng) nhưng vô test thì item = 1 thì k xảy ra event
Có @EventHandler chưa.
 
Có ai nghĩ đến việc cái này trả về false chưa?
-
Mã:
if (!Main.players.contains(uuid)) {
    //Magic                           
}
 
Trạng thái
Không mở trả lời sau này.

Thống kê nội dung

Tạo
iGostZ,
Trả lời lần cuối từ
Thinh_Geographical,
Trả lời
24
Lượt xem
1,301
Quay lại
Trên cùng