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

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

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

record PlayerSettings(boolean showEntityMarkers, @Nonnull PickupLocation armorItemsPreferredPickupLocation, @Nonnull PickupLocation weaponAndToolItemsPreferredPickupLocation, @Nonnull PickupLocation usableItemsItemsPreferredPickupLocation, @Nonnull PickupLocation solidBlockItemsPreferredPickupLocation, @Nonnull PickupLocation miscItemsPreferredPickupLocation, PlayerCreativeSettings creativeSettings, boolean hideHelmet, boolean hideCuirass, boolean hideGauntlets, boolean hidePants) implements Component<EntityStore> {
    @Nonnull
    private static final PlayerSettings INSTANCE;
    
    @Nonnull
    public static ComponentType<EntityStore, PlayerSettings> getComponentType() {
        return EntityModule.get().getPlayerSettingsComponentType();
    }
    
    @Nonnull
    public static PlayerSettings defaults() {
        return PlayerSettings.INSTANCE;
    }
    
    @Nonnull
    @Override
    public Component<EntityStore> clone() {
        return new PlayerSettings(this.showEntityMarkers, this.armorItemsPreferredPickupLocation, this.weaponAndToolItemsPreferredPickupLocation, this.usableItemsItemsPreferredPickupLocation, this.solidBlockItemsPreferredPickupLocation, this.miscItemsPreferredPickupLocation, this.creativeSettings.clone(), this.hideHelmet, this.hideCuirass, this.hideGauntlets, this.hidePants);
    }
    
    static {
        INSTANCE = new PlayerSettings(false, PickupLocation.Hotbar, PickupLocation.Hotbar, PickupLocation.Hotbar, PickupLocation.Hotbar, PickupLocation.Hotbar, new PlayerCreativeSettings(), false, false, false, false);
    }
}
