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

package com.hypixel.hytale.server.core.modules.physics.util;

import javax.annotation.Nonnull;
import com.hypixel.hytale.server.core.modules.entity.component.BoundingBox;

@Deprecated
public class ForceProviderEntity extends ForceProviderStandard
{
    protected BoundingBox boundingBox;
    protected ForceProviderStandardState forceProviderStandardState;
    protected double density;
    
    public ForceProviderEntity(final BoundingBox boundingBox) {
        this.density = 700.0;
        this.boundingBox = boundingBox;
    }
    
    public void setDensity(final double density) {
        this.density = density;
    }
    
    public void setForceProviderStandardState(final ForceProviderStandardState forceProviderStandardState) {
        this.forceProviderStandardState = forceProviderStandardState;
    }
    
    @Override
    public ForceProviderStandardState getForceProviderStandardState() {
        return this.forceProviderStandardState;
    }
    
    @Override
    public double getMass(final double volume) {
        return volume * this.getDensity();
    }
    
    @Override
    public double getVolume() {
        return this.boundingBox.getBoundingBox().getVolume();
    }
    
    @Override
    public double getProjectedArea(@Nonnull final PhysicsBodyState bodyState, final double speed) {
        final double area = PhysicsMath.computeProjectedArea(bodyState.velocity, this.boundingBox.getBoundingBox());
        return (area == 0.0) ? 0.0 : (area / speed);
    }
    
    @Override
    public double getDensity() {
        return this.density;
    }
    
    @Override
    public double getFrictionCoefficient() {
        return 0.0;
    }
}
