@Override
    public void subscribe(Player player) {
        Objects.requireNonNull(player, "player");
        Protocol.sendPacket(player, newObjectivePacket(UpdateType.CREATE));
        Protocol.sendPacket(player, newDisplaySlotPacket(getDisplaySlot()));
        for (Map.Entry<String, Integer> score : getScores().entrySet()) {
            Protocol.sendPacket(player, newScorePacket(score.getKey(), score.getValue(), ScoreboardAction.CHANGE));
        }
        this.subscribed.add(player);
    }
Creates a new scoreboard objective

@param id the id of this objective
@param displayName the initial display name
@param displaySlot the initial display slot
helper/src/main/java/me/lucko/helper/scoreboard/PacketScoreboardObjective.java