// Path: api/src/main/java/hirez/api/object/MergedAccount.java
// @Data
// public class MergedAccount {
//     @JsonProperty("merge_datetime")
//     @DateTimeFormat("MMM dd yyyy  h:mma")
//     private final Date mergeDatetime;
//     @JsonProperty("playerId")
//     private final long playerId;
//     @JsonProperty("portalId")
//     private final int portalId;
// }
// 
// Path: api/src/main/java/hirez/api/object/interfaces/ReturnedMessage.java
// public interface ReturnedMessage {
//     @JsonProperty("ret_msg")
//     String getReturnedMessage();
// }


import com.fasterxml.jackson.annotation.JsonProperty;
import hirez.api.object.MergedAccount;
import hirez.api.object.adapters.DateTimeFormat;
import hirez.api.object.adapters.DurationTime;
import hirez.api.object.interfaces.ReturnedMessage;
import lombok.Data;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
import java.util.Date;
package hirez.smite.object;



@Data
public class Player implements ReturnedMessage {
    @JsonProperty("ActivePlayerId")
    private final long activePlayerId;
    @JsonProperty("Avatar_URL")
    private final String avatarURL;
    @DateTimeFormat("M/d/yyyy h:mm:ss a")
    @JsonProperty("Created_Datetime")
    private final Date createdDatetime;
    @DurationTime(ChronoUnit.HOURS)
    @JsonProperty("HoursPlayed")
    private final Duration hoursPlayed;
    @JsonProperty("Id")
    private final long id;
    @DateTimeFormat("M/d/yyyy h:mm:ss a")
    @JsonProperty("Last_Login_Datetime")
    private final Date lastLoginDatetime;
    @JsonProperty("Leaves")
    private final long leaves;
    @JsonProperty("Level")
    private final long level;
    @JsonProperty("Losses")
    private final long losses;
    @JsonProperty("MasteryLevel")
    private final long masteryLevel;
    @JsonProperty("MergedPlayers")
// Path: api/src/main/java/hirez/api/object/MergedAccount.java
// @Data
// public class MergedAccount {
//     @JsonProperty("merge_datetime")
//     @DateTimeFormat("MMM dd yyyy  h:mma")
//     private final Date mergeDatetime;
//     @JsonProperty("playerId")
//     private final long playerId;
//     @JsonProperty("portalId")
//     private final int portalId;
// }
// 
// Path: api/src/main/java/hirez/api/object/interfaces/ReturnedMessage.java
// public interface ReturnedMessage {
//     @JsonProperty("ret_msg")
//     String getReturnedMessage();
// }


// Path: smite/src/main/java/hirez/smite/object/Player.java
import com.fasterxml.jackson.annotation.JsonProperty;
import hirez.api.object.MergedAccount;
import hirez.api.object.adapters.DateTimeFormat;
import hirez.api.object.adapters.DurationTime;
import hirez.api.object.interfaces.ReturnedMessage;
import lombok.Data;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
import java.util.Date;

package hirez.smite.object;



@Data
public class Player implements ReturnedMessage {
    @JsonProperty("ActivePlayerId")
    private final long activePlayerId;
    @JsonProperty("Avatar_URL")
    private final String avatarURL;
    @DateTimeFormat("M/d/yyyy h:mm:ss a")
    @JsonProperty("Created_Datetime")
    private final Date createdDatetime;
    @DurationTime(ChronoUnit.HOURS)
    @JsonProperty("HoursPlayed")
    private final Duration hoursPlayed;
    @JsonProperty("Id")
    private final long id;
    @DateTimeFormat("M/d/yyyy h:mm:ss a")
    @JsonProperty("Last_Login_Datetime")
    private final Date lastLoginDatetime;
    @JsonProperty("Leaves")
    private final long leaves;
    @JsonProperty("Level")
    private final long level;
    @JsonProperty("Losses")
    private final long losses;
    @JsonProperty("MasteryLevel")
    private final long masteryLevel;
    @JsonProperty("MergedPlayers")
    private final MergedAccount[] mergedPlayers;