// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.server.npc.components.messaging;

import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.component.Ref;
import javax.annotation.Nonnull;
import com.hypixel.hytale.math.vector.Vector3d;

public class EventMessage extends NPCMessage
{
    private final Vector3d position;
    private final double maxRangeSquared;
    private boolean sameFlock;
    
    public EventMessage(final double maxRange) {
        this.position = new Vector3d();
        this.maxRangeSquared = maxRange * maxRange;
    }
    
    private EventMessage(@Nonnull final Vector3d position, final double maxRangeSquared, final boolean sameFlock) {
        (this.position = new Vector3d()).assign(position);
        this.maxRangeSquared = maxRangeSquared;
        this.sameFlock = sameFlock;
    }
    
    @Nonnull
    public Vector3d getPosition() {
        return this.position;
    }
    
    public double getMaxRangeSquared() {
        return this.maxRangeSquared;
    }
    
    public boolean isSameFlock() {
        return this.sameFlock;
    }
    
    public void setSameFlock(final boolean sameFlock) {
        this.sameFlock = sameFlock;
    }
    
    public void activate(final double x, final double y, final double z, final Ref<EntityStore> target, final double age) {
        super.activate(target, age);
        this.position.assign(x, y, z);
    }
    
    @Nonnull
    @Override
    public EventMessage clone() {
        return new EventMessage(this.position, this.maxRangeSquared, this.sameFlock);
    }
}
