LivingEntity : SetNoDamageTicks() not working ?

Discussion in 'Plugin Development' started by redstone13, Jul 6, 2015.

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

    redstone13

    Hi guys, i'm on a shotgun project, everything works fine, projectile spread and velocity, dealing damages BUT... I still can't get SetNoDamageTicks() to work fine. here is my EventHandler code, it's maybe a detail I forgot or is it not more supported ? Thanks in advance ;)

    Code:
    @EventHandler
        public void onShooted(EntityDamageByEntityEvent event) {
         
            //Shotgun damage
            if (event.getDamager() instanceof Snowball) {
                Snowball snowball = (Snowball) event.getDamager();
                if (snowball.getShooter() instanceof Player) {
                    Player shooter = (Player) snowball.getShooter();
                    if (shooter.getItemInHand().getType() == Material.IRON_BARDING) {
                     
                        LivingEntity victim = (LivingEntity) event.getEntity();
                        victim.setNoDamageTicks(0);
                     
                        event.setDamage(2.5);
                        //victim.damage(2.5);
                     
                     
                        shooter.getWorld().playSound(shooter.getLocation(), Sound.SUCCESSFUL_HIT, 1, 0);
                    }
                }
            }
    }
     
    Last edited: Jul 6, 2015
  2. I'm assuming you're trying to rid the entity of any invincibility so you can damage them, yes? That's what you're using the function for? And also, if you receive any errors in your console upon firing this event, please say so & post the stacktrace.
     
  3. Offline

    redstone13

    Thank you for reply, I'm not getting errors at all and yes i'm trying to get rid of the 20 ticks invincibility of any LivingEntity when they get hurt by the snowball, when i shoot on a player he's getting his damages, but only from one of the 3 balls that hurted him, and the hurt animation is still visible... I also tried to put a 'log' to have a better look on what's going on, it replies :
    0
    0
    Here is the code :

    Code:
    @EventHandler
        public void onShooted(EntityDamageByEntityEvent event) {
           
            //Shotgun damage
            if (event.getDamager() instanceof Snowball) {
                Snowball snowball = (Snowball) event.getDamager();
                if (snowball.getShooter() instanceof Player) {
                    Player shooter = (Player) snowball.getShooter();
                    if (shooter.getItemInHand().getType() == Material.IRON_BARDING) {
                       
                        LivingEntity victim = (LivingEntity) event.getEntity();
                        victim.setNoDamageTicks(0);
                       
                        int dt = victim.getNoDamageTicks();
                        String dts = String.valueOf(dt);
                        victim.getServer().broadcastMessage(ChatColor.RED + dts);
                       
                        event.setDamage(2.5);
                        //victim.damage(2.5);
                       
                        int dt2 = victim.getNoDamageTicks();
                        String dts2 = String.valueOf(dt2);
                        victim.getServer().broadcastMessage(ChatColor.GREEN + dts2);
                       
                        shooter.getWorld().playSound(shooter.getLocation(), Sound.SUCCESSFUL_HIT, 1, 0);
                    }
                }
            }
    }
     
  4. Could you try ((CraftPlayer)event.getEntity()).getHandle().invulnerableTicks = 0; ?
    I know it's not appealing to have to hook into NMS, but looking at some posts, people had to settle with this :/
     
  5. Offline

    redstone13

    I tried and no more damages where dealed to the entity...
    But nice try !
    and this happened...
    Error Code (open)
    Code:
    [01:43:37 ERROR]: Could not pass event EntityDamageByEntityEvent to Redball_II v
    2.2
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:302) ~[craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) ~[craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:501) [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:486) [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callEvent(Craf
    tEventFactory.java:85) [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-99
    4b2aa]
            at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callEntityDama
    geEvent(CraftEventFactory.java:522) [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:
    git-Bukkit-994b2aa]
            at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.handleEntityDa
    mageEvent(CraftEventFactory.java:435) [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.ja
    r:git-Bukkit-994b2aa]
            at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.handleLivingEn
    tityDamageEvent(CraftEventFactory.java:554) [craftbukkit-1.8.7-R0.1-SNAPSHOT-lat
    est.jar:git-Bukkit-994b2aa]
            at net.minecraft.server.v1_8_R3.EntityLiving.d(EntityLiving.java:1091) [
    craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at net.minecraft.server.v1_8_R3.EntityLiving.damageEntity(EntityLiving.j
    ava:732) [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at net.minecraft.server.v1_8_R3.EntitySnowball.a(SourceFile:30) [craftbu
    kkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at net.minecraft.server.v1_8_R3.EntityProjectile.t_(EntityProjectile.jav
    a:154) [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at net.minecraft.server.v1_8_R3.World.entityJoinedWorld(World.java:1420)
    [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at net.minecraft.server.v1_8_R3.World.g(World.java:1398) [craftbukkit-1.
    8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at net.minecraft.server.v1_8_R3.World.tickEntities(World.java:1269) [cra
    ftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at net.minecraft.server.v1_8_R3.WorldServer.tickEntities(WorldServer.jav
    a:560) [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:7
    30) [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:3
    35) [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:6
    32) [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java
    :540) [craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
    Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_8_R3.entity.C
    raftCow cannot be cast to org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer
            at me.bukkit.redstone13.PlayerListener.onShooted(PlayerListener.java:100
    ) ~[?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0
    _45]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0
    _45]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .8.0_45]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:300) ~[craftbukkit-1.8.7-R0.1-SNAPSHOT-latest.jar:git-Bukkit-994b2aa]
            ... 20 more
     
Thread Status:
Not open for further replies.

Share This Page