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

package com.hypixel.hytale.server.core.modules.collision;

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

public class EntityContactData
{
    protected final Vector3d collisionPoint;
    protected double collisionStart;
    protected double collisionEnd;
    @Nullable
    protected Ref<EntityStore> entityReference;
    protected String collisionDetailName;
    
    public EntityContactData() {
        this.collisionPoint = new Vector3d();
    }
    
    @Nonnull
    public Vector3d getCollisionPoint() {
        return this.collisionPoint;
    }
    
    public double getCollisionStart() {
        return this.collisionStart;
    }
    
    public double getCollisionEnd() {
        return this.collisionEnd;
    }
    
    @Nullable
    public Ref<EntityStore> getEntityReference() {
        return this.entityReference;
    }
    
    public String getCollisionDetailName() {
        return this.collisionDetailName;
    }
    
    public void assign(@Nonnull final Vector3d position, final double start, final double end, final Ref<EntityStore> entity, final String collisionDetailName) {
        this.collisionPoint.assign(position);
        this.collisionStart = start;
        this.collisionEnd = end;
        this.entityReference = entity;
        this.collisionDetailName = collisionDetailName;
    }
    
    public void clear() {
        this.entityReference = null;
    }
}
