EntityDamageByEntityEvent not letting me damage the entity!?!?

Discussion in 'Plugin Development' started by EnchantedMiners, Nov 28, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    EnchantedMiners

    Hello guys, i though i could do some multi hit strategy or double damage but its not damaging the entity being hit... i though you guys could help me with this.!
    here is my code:

    Code:
        @EventHandler
        public void event1(EntityDamageByEntityEvent event){
            double d = Math.random();
            NumberFormat formatter = new DecimalFormat("#0.00");
           
            if(!(event.getEntity() instanceof Player)){
                if(event.getDamager() instanceof Player){
                    Player p = (Player)event.getDamager();
                    LivingEntity entity = (LivingEntity)event.getEntity();
                   
                    if(d < 0.05){
                        int runnableid;
                       
                        runnableid = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(instance, new Runnable(){
                            @Override
                            public void run() {
                               
                                damageEntity(entity, event.getDamage());
                                p.sendMessage("mutlihit stike!: "+formatter.format(entity.getHealth()));
                            }
                        }, 0L, 1L);
                        Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(instance, new Runnable(){
                            @Override
                            public void run() {
                                Bukkit.getServer().getScheduler().cancelTask(runnableid);
                            }
                        }, 5L);
                        p.sendMessage("§4>§c§lA§r§cbility§4> §c§oBOOM Multi hit! ");
                    }else if(d < 0.1){
                        double totaldamage = event.getDamage()+event.getDamage();
                       
                        event.setDamage(totaldamage);
                        p.sendMessage("§4>§c§lA§r§cbility§4> §c§oBOOM Double the damage! total: "+formatter.format(totaldamage));
                    }
                    p.addPotionEffect((new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 40, 1)));
                }
            }
        }
     
  2. Offline

    Zombie_Striker

    Code:
    §4>§c§lA§r§cbility§4> §c§oBOOM Multi hit! ");
    Please just use ChatColors. This has been discussed on SOO MANY other threads.

    1.Did you debug?
    2.Do you know that your code even runs?
    3.What line does it stop at?
     
  3. Offline

    tommyhoogstra

    Not posting a solution, but it could fix it, you never know.


    This seems sloppy, realllllly sloppy.

    From what I can see, you are trying to make it attack 5 times with a very short delay in between each piece of damage
    Have a 1 tick delay is going to be hardly noticeable, its 0.05 seconds be precise. Are you looking to try get the poison effect damage idea where it will damage a little more every half a second or so?

    Regardless, a better alternative to this would probably be something like:


    Code:
           for(int i = 0; i < 5; i++){ // will run the scheduler 5 times, with the 1 tick delay
                        Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(instance, new Runnable(){
                            @Override
                            public void run() {
                               damageEntity(entity, event.getDamage());
                               p.sendMessage("mutlihit stike!: "+formatter.format(entity.getHealth()));
                            }
                        }, 1L);
            }
    
    Can't guarantee it would work, not using an IDE or testing it, but hopefully you see the point
     
  4. Offline

    TheNewTao

    @EnchantedMiners

    I think this could be done in a much easier way, can you explain exactly what you are trying to do?
     
  5. Offline

    EnchantedMiners

    @Zombie_Striker Thanks for the chat color heads up but why really do i need to use it...

    @tommyhoogstra i am trying that right now see what i get...

    @TheNewTao Well yeah sorry for not explaining that...
    well the entire event is working it even sends the messages that it did the double damage and all but, the damage is not actually applying to the entity... idk why...
     
Thread Status:
Not open for further replies.

Share This Page