• 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 :).
BGamingB

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

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
View attachment 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
 
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
Pit java ak
 
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
 
Còn tùy, vì bác spawn PrimedTNT, nó là 1 entity chứ không phải là 1 block
Vì 1 entity lấy trị giá double cho location, không như block, block lấy int để đặt cho location
vậy giờ sao đây bác ??
 
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.
Similar content Most view Xem thêm
Back
Top Bottom