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

package com.hypixel.hytale.server.core.modules.entity.component;

import javax.annotation.Nonnull;
import com.hypixel.hytale.server.core.modules.entity.EntityModule;
import com.hypixel.hytale.component.ComponentType;
import com.hypixel.hytale.server.core.asset.type.model.config.DetailBox;
import java.util.Map;
import com.hypixel.hytale.math.shape.Box;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.component.Component;

public class BoundingBox implements Component<EntityStore>
{
    private final Box boundingBox;
    protected Map<String, DetailBox[]> detailBoxes;
    
    public static ComponentType<EntityStore, BoundingBox> getComponentType() {
        return EntityModule.get().getBoundingBoxComponentType();
    }
    
    public BoundingBox() {
        this.boundingBox = new Box();
    }
    
    public BoundingBox(@Nonnull final Box boundingBox) {
        this.boundingBox = new Box();
        this.setBoundingBox(boundingBox);
    }
    
    @Nonnull
    public Box getBoundingBox() {
        return this.boundingBox;
    }
    
    public void setBoundingBox(@Nonnull final Box boundingBox) {
        this.boundingBox.assign(boundingBox);
    }
    
    public Map<String, DetailBox[]> getDetailBoxes() {
        return this.detailBoxes;
    }
    
    public void setDetailBoxes(final Map<String, DetailBox[]> detailBoxes) {
        this.detailBoxes = detailBoxes;
    }
    
    @Nonnull
    @Override
    public Component<EntityStore> clone() {
        return new BoundingBox(this.boundingBox);
    }
}
