• 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
BGamingB

Hỏi đáp Giúp mình với ....Cacs bác biết code plugin

  • Người tạo chủ đề Người tạo chủ đề BGamingB
  • Ngày gửi Ngày gửi
  • Từ khóa Từ khóa
    code
Trạng thái
Không mở trả lời sau này.
Mã:
@EventHandler
    public void exposionDamage(EntityDamageEvent e){
        if(e.getCause().equals(DamageCause.ENTITY_EXPLOSION)
                || e.getCause().equals(DamageCause.BLOCK_EXPLOSION)) {
            e.setCancelled(true);
            return;
        }
    }
thử đi bạn xem có dc k
 
Mã:
@EventHandler
    public void exposionDamage(EntityDamageEvent e){
        if(e.getCause().equals(DamageCause.ENTITY_EXPLOSION)
                || e.getCause().equals(DamageCause.BLOCK_EXPLOSION)) {
            e.setCancelled(true);
            return;
        }
    }
thử đi bạn xem có dc k
Chút nữa mình thử cảm ơn bạn trước
 
à quên cái này thì cả entity ko phải player cũng tác dụng dc nhe bạn, nếu muốn chỉ mình player thì thêm if(e.getEntity() instanceof Player) vào nhe
Sẵn tiện cho mình hỏi có cách nào để chỉnh thời gian nổ của tnt không?
*****Nội dung được bổ sung thêm*****
à quên cái này thì cả entity ko phải player cũng tác dụng dc nhe bạn, nếu muốn chỉ mình player thì thêm if(e.getEntity() instanceof Player) vào nhe
cho mình hỏi tại sao tnt nổ mà mình lại không bị bật ra . Knockback ấy,
 
Sẵn tiện cho mình hỏi có cách nào để chỉnh thời gian nổ của tnt không?
*****Nội dung được bổ sung thêm*****

cho mình hỏi tại sao tnt nổ mà mình lại không bị bật ra . Knockback ấy,
à tại do cái này là bạn cancel event luôn rồi, nếu muốn bật ra mà k có sát thương thì bạn setDamage(0) là dc rồi
còn cái kia thì mình nghĩ dùng setFuseTicks(time) cho cái tnt đó đó
((TNTPrimed)#TNT).setFuseTicks(time);
mới đọc trên mạng thui chứ mình chưa test nữa
 
à tại do cái này là bạn cancel event luôn rồi, nếu muốn bật ra mà k có sát thương thì bạn setDamage(0) là dc rồi
còn cái kia thì mình nghĩ dùng setFuseTicks(time) cho cái tnt đó đó
((TNTPrimed)#TNT).setFuseTicks(time);
mới đọc trên mạng thui chứ mình chưa test nữa
Cho mình hỏi câu cuối. là bạn nhìn đoạn code này và cho mình biết tại sao mình spawn đúng 4 quả TNT. Nhưng nổ mạnh lấm. Nhìn như 8 quả tnt lận, nhưng nó chỉ xuất hiện có 4 quả thôi
upload_2017-8-29_13-45-13.png
 
Cho mình hỏi câu cuối. là bạn nhìn đoạn code này và cho mình biết tại sao mình spawn đúng 4 quả TNT. Nhưng nổ mạnh lấm. Nhìn như 8 quả tnt lận, nhưng nó chỉ xuất hiện có 4 quả thôi
Xem tệp đính kèm 2775
nó nổ mạnh là do bạn chỉ setType thành Tnt thôi mà k set bán kính vụ nổ của nó lại
mình nghĩ là bạn nên spawn Tnt ra rồi set yield lại
Mã:
TNTPrimed tnt = #Location.getWorld().spawn(location, TNTPrimed.class);
                tnt.setYield(2f /*bán kính vụ nổ*/);
                tnt.setFuseTicks(20*1 /*thời gian kích nổ*/);
mình chưa test nhưng mà có thể dc đó
 
nó nổ mạnh là do bạn chỉ setType thành Tnt thôi mà k set bán kính vụ nổ của nó lại
mình nghĩ là bạn nên spawn Tnt ra rồi set yield lại
Mã:
TNTPrimed tnt = #Location.getWorld().spawn(location, TNTPrimed.class);
                tnt.setYield(2f /*bán kính vụ nổ*/);
                tnt.setFuseTicks(20*1 /*thời gian kích nổ*/);
mình chưa test nhưng mà có thể dc đó
Cảm ơn bạn nhiều nha :D
 
nó nổ mạnh là do bạn chỉ setType thành Tnt thôi mà k set bán kính vụ nổ của nó lại
mình nghĩ là bạn nên spawn Tnt ra rồi set yield lại
Mã:
TNTPrimed tnt = #Location.getWorld().spawn(location, TNTPrimed.class);
                tnt.setYield(2f /*bán kính vụ nổ*/);
                tnt.setFuseTicks(20*1 /*thời gian kích nổ*/);
mình chưa test nhưng mà có thể dc đó
mình code như vậy đúng không bạn .
Nhưng TNT nó spam không đúng lắm. Bị lệch .
upload_2017-8-29_16-22-29.png



upload_2017-8-29_16-23-48.png
 
Prob, chỉnh nó 1 tí, +1.5 thay vì +1 chẳng hạn?
de thu. Có điều muốn hỏi là . Ví dụ ItemStack block = new ItemStack(Material.REDSTONE_BLOCK)

Vậy làm sao để chuyện từ ItemStack sang loại block ví dụ
Block b= event.getBlock();
b.getType == block
Làm sao để chuyển thành dạng Block từ ItemStack á??
 
de thu. Có điều muốn hỏi là . Ví dụ ItemStack block = new ItemStack(Material.REDSTONE_BLOCK)

Vậy làm sao để chuyện từ ItemStack sang loại block ví dụ
Block b= event.getBlock();
b.getType == block
Làm sao để chuyển thành dạng Block từ ItemStack á??
ItemStack và Block là 2 thứ khác nhau
Dùng BlockPlaceEvent và kiểm tra xem loại block vừa đặt là gì
 
Trạng thái
Không mở trả lời sau này.
Nội dung tương tự Xem nhiều nhất Xem thêm

Thống kê nội dung

Tạo
BGamingB,
Trả lời lần cuối từ
Kiwis,
Trả lời
25
Lượt xem
1,690
Quay lại
Trên cùng