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

package com.hypixel.hytale.builtin.beds.sleep.components;

import javax.annotation.Nullable;
import com.hypixel.hytale.builtin.beds.BedsPlugin;
import com.hypixel.hytale.component.ComponentType;
import com.hypixel.hytale.protocol.packets.world.SleepMultiplayer;
import com.hypixel.hytale.protocol.packets.world.SleepClock;
import com.hypixel.hytale.protocol.packets.world.UpdateSleepState;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.component.Component;

public class SleepTracker implements Component<EntityStore>
{
    private UpdateSleepState lastSentPacket;
    
    public SleepTracker() {
        this.lastSentPacket = new UpdateSleepState(false, false, null, null);
    }
    
    public static ComponentType<EntityStore, SleepTracker> getComponentType() {
        return BedsPlugin.getInstance().getSleepTrackerComponentType();
    }
    
    @Nullable
    public UpdateSleepState generatePacketToSend(final UpdateSleepState state) {
        if (this.lastSentPacket.equals(state)) {
            return null;
        }
        return this.lastSentPacket = state;
    }
    
    @Nullable
    @Override
    public Component<EntityStore> clone() {
        return new SleepTracker();
    }
}
