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

package com.hypixel.hytale.server.core.entity.movement;

import javax.annotation.Nonnull;
import com.hypixel.hytale.server.core.modules.entity.EntityModule;
import com.hypixel.hytale.component.ComponentType;
import com.hypixel.hytale.protocol.MovementStates;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.component.Component;

public class MovementStatesComponent implements Component<EntityStore>
{
    private MovementStates movementStates;
    private MovementStates sentMovementStates;
    
    public static ComponentType<EntityStore, MovementStatesComponent> getComponentType() {
        return EntityModule.get().getMovementStatesComponentType();
    }
    
    public MovementStatesComponent() {
        this.movementStates = new MovementStates();
        this.sentMovementStates = new MovementStates();
    }
    
    public MovementStatesComponent(@Nonnull final MovementStatesComponent other) {
        this.movementStates = new MovementStates();
        this.sentMovementStates = new MovementStates();
        this.movementStates = new MovementStates(other.movementStates);
        this.sentMovementStates = new MovementStates(other.sentMovementStates);
    }
    
    public MovementStates getMovementStates() {
        return this.movementStates;
    }
    
    public void setMovementStates(final MovementStates movementStates) {
        this.movementStates = movementStates;
    }
    
    public MovementStates getSentMovementStates() {
        return this.sentMovementStates;
    }
    
    public void setSentMovementStates(final MovementStates sentMovementStates) {
        this.sentMovementStates = sentMovementStates;
    }
    
    @Nonnull
    @Override
    public Component<EntityStore> clone() {
        return new MovementStatesComponent(this);
    }
}
