Search in sources :

Example 6 with GameStateChangeS2CPacket

use of net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket in project MCDoom by AzureDoom.

the class EnergyCellEntity method onEntityHit.

@Override
protected void onEntityHit(EntityHitResult entityHitResult) {
    Entity entity = entityHitResult.getEntity();
    if (entityHitResult.getType() != HitResult.Type.ENTITY || !((EntityHitResult) entityHitResult).getEntity().isPartOf(entity)) {
        if (!this.world.isClient) {
            this.remove(Entity.RemovalReason.DISCARDED);
        }
    }
    Entity entity2 = this.getOwner();
    DamageSource damageSource2;
    if (entity2 == null) {
        damageSource2 = DamageSource.arrow(this, this);
    } else {
        damageSource2 = DamageSource.arrow(this, entity2);
        if (entity2 instanceof LivingEntity) {
            ((LivingEntity) entity2).onAttacking(entity);
        }
    }
    if (entity.damage(damageSource2, projectiledamage)) {
        if (entity instanceof LivingEntity) {
            LivingEntity livingEntity = (LivingEntity) entity;
            if (!this.world.isClient && entity2 instanceof LivingEntity) {
                EnchantmentHelper.onUserDamaged(livingEntity, entity2);
                EnchantmentHelper.onTargetDamaged((LivingEntity) entity2, livingEntity);
                this.remove(Entity.RemovalReason.DISCARDED);
            }
            this.onHit(livingEntity);
            if (entity2 != null && livingEntity != entity2 && livingEntity instanceof PlayerEntity && entity2 instanceof ServerPlayerEntity && !this.isSilent()) {
                ((ServerPlayerEntity) entity2).networkHandler.sendPacket(new GameStateChangeS2CPacket(GameStateChangeS2CPacket.PROJECTILE_HIT_PLAYER, 0.0F));
            }
        }
    } else {
        if (!this.world.isClient) {
            this.remove(Entity.RemovalReason.DISCARDED);
        }
    }
}
Also used : LivingEntity(net.minecraft.entity.LivingEntity) IconofsinEntity(mod.azure.doom.entity.tierboss.IconofsinEntity) PersistentProjectileEntity(net.minecraft.entity.projectile.PersistentProjectileEntity) Entity(net.minecraft.entity.Entity) PlayerEntity(net.minecraft.entity.player.PlayerEntity) LivingEntity(net.minecraft.entity.LivingEntity) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) GameStateChangeS2CPacket(net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket) DamageSource(net.minecraft.entity.damage.DamageSource) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) PlayerEntity(net.minecraft.entity.player.PlayerEntity) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity)

Example 7 with GameStateChangeS2CPacket

use of net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket in project MCDoom by AzureDoom.

the class UnmaykrBoltEntity method onEntityHit.

@Override
protected void onEntityHit(EntityHitResult entityHitResult) {
    Entity entity = entityHitResult.getEntity();
    if (entityHitResult.getType() != HitResult.Type.ENTITY || !((EntityHitResult) entityHitResult).getEntity().isPartOf(entity)) {
        if (!this.world.isClient) {
            this.remove(Entity.RemovalReason.DISCARDED);
        }
    }
    Entity entity2 = this.getOwner();
    DamageSource damageSource2;
    if (entity2 == null) {
        damageSource2 = DamageSource.magic(this, this);
    } else {
        damageSource2 = DamageSource.magic(this, entity2);
        if (entity2 instanceof LivingEntity) {
            ((LivingEntity) entity2).onAttacking(entity);
        }
    }
    if (entity.damage(damageSource2, projectiledamage)) {
        if (entity instanceof LivingEntity) {
            LivingEntity livingEntity = (LivingEntity) entity;
            if (!this.world.isClient && entity2 instanceof LivingEntity) {
                EnchantmentHelper.onUserDamaged(livingEntity, entity2);
                EnchantmentHelper.onTargetDamaged((LivingEntity) entity2, livingEntity);
                this.remove(Entity.RemovalReason.DISCARDED);
            }
            this.onHit(livingEntity);
            if (entity2 != null && livingEntity != entity2 && livingEntity instanceof PlayerEntity && entity2 instanceof ServerPlayerEntity && !this.isSilent()) {
                ((ServerPlayerEntity) entity2).networkHandler.sendPacket(new GameStateChangeS2CPacket(GameStateChangeS2CPacket.PROJECTILE_HIT_PLAYER, 0.0F));
            }
        }
    } else {
        if (!this.world.isClient) {
            this.remove(Entity.RemovalReason.DISCARDED);
        }
    }
}
Also used : LivingEntity(net.minecraft.entity.LivingEntity) BlockEntity(net.minecraft.block.entity.BlockEntity) IconofsinEntity(mod.azure.doom.entity.tierboss.IconofsinEntity) PersistentProjectileEntity(net.minecraft.entity.projectile.PersistentProjectileEntity) TickingLightEntity(mod.azure.doom.entity.tileentity.TickingLightEntity) Entity(net.minecraft.entity.Entity) PlayerEntity(net.minecraft.entity.player.PlayerEntity) LivingEntity(net.minecraft.entity.LivingEntity) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) GameStateChangeS2CPacket(net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket) DamageSource(net.minecraft.entity.damage.DamageSource) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) PlayerEntity(net.minecraft.entity.player.PlayerEntity) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity)

Example 8 with GameStateChangeS2CPacket

use of net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket in project MCDoom by AzureDoom.

the class ArgentBoltEntity method onEntityHit.

@Override
protected void onEntityHit(EntityHitResult entityHitResult) {
    Entity entity = entityHitResult.getEntity();
    if (entityHitResult.getType() != HitResult.Type.ENTITY || !((EntityHitResult) entityHitResult).getEntity().isPartOf(entity)) {
        if (!this.world.isClient) {
            this.remove(Entity.RemovalReason.DISCARDED);
        }
    }
    Entity entity2 = this.getOwner();
    DamageSource damageSource2;
    if (entity2 == null) {
        damageSource2 = DamageSource.arrow(this, this);
    } else {
        damageSource2 = DamageSource.arrow(this, entity2);
        if (entity2 instanceof LivingEntity) {
            ((LivingEntity) entity2).onAttacking(entity);
        }
    }
    if (entity.damage(damageSource2, DoomMod.config.weapons.argent_bolt_damage)) {
        if (entity instanceof LivingEntity) {
            LivingEntity livingEntity = (LivingEntity) entity;
            if (!this.world.isClient && entity2 instanceof LivingEntity) {
                EnchantmentHelper.onUserDamaged(livingEntity, entity2);
                EnchantmentHelper.onTargetDamaged((LivingEntity) entity2, livingEntity);
                this.world.createExplosion(this, this.getX(), this.getBodyY(0.0625D), this.getZ(), 1.5F, Explosion.DestructionType.NONE);
            }
            this.remove(Entity.RemovalReason.DISCARDED);
            this.onHit(livingEntity);
            if (entity2 != null && livingEntity != entity2 && livingEntity instanceof PlayerEntity && entity2 instanceof ServerPlayerEntity && !this.isSilent()) {
                ((ServerPlayerEntity) entity2).networkHandler.sendPacket(new GameStateChangeS2CPacket(GameStateChangeS2CPacket.PROJECTILE_HIT_PLAYER, 0.0F));
            }
        }
    } else {
        if (!this.world.isClient) {
            this.remove(Entity.RemovalReason.DISCARDED);
        }
    }
}
Also used : LivingEntity(net.minecraft.entity.LivingEntity) BlockEntity(net.minecraft.block.entity.BlockEntity) IconofsinEntity(mod.azure.doom.entity.tierboss.IconofsinEntity) PersistentProjectileEntity(net.minecraft.entity.projectile.PersistentProjectileEntity) TickingLightEntity(mod.azure.doom.entity.tileentity.TickingLightEntity) AreaEffectCloudEntity(net.minecraft.entity.AreaEffectCloudEntity) Entity(net.minecraft.entity.Entity) PlayerEntity(net.minecraft.entity.player.PlayerEntity) LivingEntity(net.minecraft.entity.LivingEntity) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) GameStateChangeS2CPacket(net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket) DamageSource(net.minecraft.entity.damage.DamageSource) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) PlayerEntity(net.minecraft.entity.player.PlayerEntity) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity)

Example 9 with GameStateChangeS2CPacket

use of net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket in project MCDoom by AzureDoom.

the class BulletEntity method onEntityHit.

@Override
protected void onEntityHit(EntityHitResult entityHitResult) {
    Entity entity = entityHitResult.getEntity();
    if (entityHitResult.getType() != HitResult.Type.ENTITY || !((EntityHitResult) entityHitResult).getEntity().isPartOf(entity)) {
        if (!this.world.isClient) {
            this.remove(Entity.RemovalReason.DISCARDED);
        }
    }
    Entity entity2 = this.getOwner();
    DamageSource damageSource2;
    if (entity2 == null) {
        damageSource2 = DamageSource.arrow(this, this);
    } else {
        damageSource2 = DamageSource.arrow(this, entity2);
        if (entity2 instanceof LivingEntity) {
            ((LivingEntity) entity2).onAttacking(entity);
        }
    }
    if (entity.damage(damageSource2, projectiledamage)) {
        if (entity instanceof LivingEntity) {
            LivingEntity livingEntity = (LivingEntity) entity;
            if (!this.world.isClient && entity2 instanceof LivingEntity) {
                EnchantmentHelper.onUserDamaged(livingEntity, entity2);
                EnchantmentHelper.onTargetDamaged((LivingEntity) entity2, livingEntity);
                this.remove(Entity.RemovalReason.DISCARDED);
            }
            this.onHit(livingEntity);
            if (entity2 != null && livingEntity != entity2 && livingEntity instanceof PlayerEntity && entity2 instanceof ServerPlayerEntity && !this.isSilent()) {
                ((ServerPlayerEntity) entity2).networkHandler.sendPacket(new GameStateChangeS2CPacket(GameStateChangeS2CPacket.PROJECTILE_HIT_PLAYER, 0.0F));
            }
        }
    } else {
        if (!this.world.isClient) {
            this.remove(Entity.RemovalReason.DISCARDED);
        }
    }
}
Also used : LivingEntity(net.minecraft.entity.LivingEntity) IconofsinEntity(mod.azure.doom.entity.tierboss.IconofsinEntity) PersistentProjectileEntity(net.minecraft.entity.projectile.PersistentProjectileEntity) Entity(net.minecraft.entity.Entity) PlayerEntity(net.minecraft.entity.player.PlayerEntity) LivingEntity(net.minecraft.entity.LivingEntity) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) GameStateChangeS2CPacket(net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket) DamageSource(net.minecraft.entity.damage.DamageSource) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) PlayerEntity(net.minecraft.entity.player.PlayerEntity) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity)

Example 10 with GameStateChangeS2CPacket

use of net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket in project HWG by cybercat-mods.

the class BlazeRodEntity method onEntityHit.

@Override
protected void onEntityHit(EntityHitResult entityHitResult) {
    Entity entity = entityHitResult.getEntity();
    if (entityHitResult.getType() != HitResult.Type.ENTITY || !((EntityHitResult) entityHitResult).getEntity().isPartOf(entity)) {
        if (!this.world.isClient) {
            this.remove(Entity.RemovalReason.DISCARDED);
        }
    }
    Entity entity2 = this.getOwner();
    DamageSource damageSource2;
    if (entity2 == null) {
        damageSource2 = DamageSource.arrow(this, this);
    } else {
        damageSource2 = DamageSource.arrow(this, entity2);
        if (entity2 instanceof LivingEntity) {
            ((LivingEntity) entity2).onAttacking(entity);
        }
    }
    if (entity.damage(damageSource2, HWGMod.config.weapons.balrog_damage)) {
        if (entity instanceof LivingEntity) {
            LivingEntity livingEntity = (LivingEntity) entity;
            if (!this.world.isClient && entity2 instanceof LivingEntity) {
                EnchantmentHelper.onUserDamaged(livingEntity, entity2);
                EnchantmentHelper.onTargetDamaged((LivingEntity) entity2, livingEntity);
            }
            this.explode();
            this.onHit(livingEntity);
            if (entity2 != null && livingEntity != entity2 && livingEntity instanceof PlayerEntity && entity2 instanceof ServerPlayerEntity && !this.isSilent()) {
                ((ServerPlayerEntity) entity2).networkHandler.sendPacket(new GameStateChangeS2CPacket(GameStateChangeS2CPacket.PROJECTILE_HIT_PLAYER, 0.0F));
            }
        }
    } else {
        if (!this.world.isClient) {
            this.remove(Entity.RemovalReason.DISCARDED);
        }
    }
}
Also used : LivingEntity(net.minecraft.entity.LivingEntity) BlockEntity(net.minecraft.block.entity.BlockEntity) PersistentProjectileEntity(net.minecraft.entity.projectile.PersistentProjectileEntity) Entity(net.minecraft.entity.Entity) PlayerEntity(net.minecraft.entity.player.PlayerEntity) LivingEntity(net.minecraft.entity.LivingEntity) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) TickingLightEntity(mod.azure.hwg.entity.blockentity.TickingLightEntity) GameStateChangeS2CPacket(net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket) DamageSource(net.minecraft.entity.damage.DamageSource) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) PlayerEntity(net.minecraft.entity.player.PlayerEntity) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity)

Aggregations

GameStateChangeS2CPacket (net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket)12 Entity (net.minecraft.entity.Entity)11 LivingEntity (net.minecraft.entity.LivingEntity)11 DamageSource (net.minecraft.entity.damage.DamageSource)11 PlayerEntity (net.minecraft.entity.player.PlayerEntity)11 PersistentProjectileEntity (net.minecraft.entity.projectile.PersistentProjectileEntity)11 ServerPlayerEntity (net.minecraft.server.network.ServerPlayerEntity)11 IconofsinEntity (mod.azure.doom.entity.tierboss.IconofsinEntity)6 BlockEntity (net.minecraft.block.entity.BlockEntity)4 TickingLightEntity (mod.azure.doom.entity.tileentity.TickingLightEntity)2 TickingLightEntity (mod.azure.hwg.entity.blockentity.TickingLightEntity)2 AreaEffectCloudEntity (net.minecraft.entity.AreaEffectCloudEntity)1 MobEntity (net.minecraft.entity.mob.MobEntity)1 DisconnectS2CPacket (net.minecraft.network.packet.s2c.play.DisconnectS2CPacket)1 WorldTimeUpdateS2CPacket (net.minecraft.network.packet.s2c.play.WorldTimeUpdateS2CPacket)1 BleachSubscribe (org.bleachhack.eventbus.BleachSubscribe)1