// Path: src/main/java/team/creative/enhancedvisuals/common/handler/VisualHandlers.java
// public class VisualHandlers {
// 	
// 	public static ExplosionHandler EXPLOSION;
// 	public static PotionHandler POTION;
// 	
// 	public static SandSplatHandler SAND;
// 	public static SplashHandler SPLASH;
// 	public static DamageHandler DAMAGE;
// 	
// 	public static SlenderHandler SLENDER;
// 	public static SaturationHandler SATURATION;
// 	public static HeartbeatHandler HEARTBEAT;
// 	
// 	public static void init() {
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "explosion"), EXPLOSION = new ExplosionHandler());
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "potion"), POTION = new PotionHandler());
// 		
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "sand"), SAND = new SandSplatHandler());
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "splash"), SPLASH = new SplashHandler());
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "damage"), DAMAGE = new DamageHandler());
// 		
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "slender"), SLENDER = new SlenderHandler());
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "saturation"), SATURATION = new SaturationHandler());
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "heartbeat"), HEARTBEAT = new HeartbeatHandler());
// 	}
// 	
// }


import com.creativemd.creativecore.common.packet.CreativeCorePacket;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.entity.living.LivingDamageEvent;
import team.creative.enhancedvisuals.common.handler.VisualHandlers;
            writeString(buf, attackerClass);
        } else
            buf.writeBoolean(false);
        
        if (stack != null) {
            buf.writeBoolean(true);
            writeItemStack(buf, stack);
        } else
            buf.writeBoolean(false);
        
        buf.writeFloat(damage);
        buf.writeFloat(distance);
        writeString(buf, source);
        buf.writeBoolean(fire);
    }
    
    @Override
    public void readBytes(ByteBuf buf) {
        if (buf.readBoolean())
            attackerClass = readString(buf);
        if (buf.readBoolean())
            stack = readItemStack(buf);
        damage = buf.readFloat();
        distance = buf.readFloat();
        source = readString(buf);
        fire = buf.readBoolean();
    }
    
    @Override
    public void executeClient(EntityPlayer player) {
// Path: src/main/java/team/creative/enhancedvisuals/common/handler/VisualHandlers.java
// public class VisualHandlers {
// 	
// 	public static ExplosionHandler EXPLOSION;
// 	public static PotionHandler POTION;
// 	
// 	public static SandSplatHandler SAND;
// 	public static SplashHandler SPLASH;
// 	public static DamageHandler DAMAGE;
// 	
// 	public static SlenderHandler SLENDER;
// 	public static SaturationHandler SATURATION;
// 	public static HeartbeatHandler HEARTBEAT;
// 	
// 	public static void init() {
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "explosion"), EXPLOSION = new ExplosionHandler());
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "potion"), POTION = new PotionHandler());
// 		
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "sand"), SAND = new SandSplatHandler());
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "splash"), SPLASH = new SplashHandler());
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "damage"), DAMAGE = new DamageHandler());
// 		
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "slender"), SLENDER = new SlenderHandler());
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "saturation"), SATURATION = new SaturationHandler());
// 		VisualRegistry.registerHandler(new ResourceLocation(EnhancedVisuals.MODID, "heartbeat"), HEARTBEAT = new HeartbeatHandler());
// 	}
// 	
// }


// Path: src/main/java/team/creative/enhancedvisuals/common/packet/DamagePacket.java
import com.creativemd.creativecore.common.packet.CreativeCorePacket;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.entity.living.LivingDamageEvent;
import team.creative.enhancedvisuals.common.handler.VisualHandlers;

            writeString(buf, attackerClass);
        } else
            buf.writeBoolean(false);
        
        if (stack != null) {
            buf.writeBoolean(true);
            writeItemStack(buf, stack);
        } else
            buf.writeBoolean(false);
        
        buf.writeFloat(damage);
        buf.writeFloat(distance);
        writeString(buf, source);
        buf.writeBoolean(fire);
    }
    
    @Override
    public void readBytes(ByteBuf buf) {
        if (buf.readBoolean())
            attackerClass = readString(buf);
        if (buf.readBoolean())
            stack = readItemStack(buf);
        damage = buf.readFloat();
        distance = buf.readFloat();
        source = readString(buf);
        fire = buf.readBoolean();
    }
    
    @Override
    public void executeClient(EntityPlayer player) {
        if (VisualHandlers.DAMAGE.isEnabled(player))