0

Play Now

Click to Copy IP

Reported 4 ppl 2day

Reported 4 ppl 2day

lemme fix ur signature:
Java:
package na.invadedlands.forums.manager;

import na.invadedlands.forums.*;

public class Manager {
 
    protected ManagerHandler handler;
 
    public Manager(ManagerHandler handler) {
        this.handler = handler;
    }
}

package na.invadedlands.forums.manager;

import na.invadedlands.forums.*;

public class ManagerHandler {
 
    private Forums instance;
    private MemberManager memberManager;
 
    public ManagerHandler(Forums instance) {
        this.instance = instance;
        this.loadManagers();
    }
 
    private void loadManagers() {
        this.memberManager = new MemberManager(this);
    }
 
    public void onDisable() {
        this.memberManager.disable();
    }
 
    public Forums getForums() {
        return this.instance;
    }
 
    public MemberManager getMemberManager() {
        return this.memberManager;
    }
}

package na.invadedlands.forums.manager.managers;

import na.invadedlands.forums.*;

public class MemberManager extends Manager {
 
    public MemberManager(ManagerHandler handler) {
        super(handler);
    }
 
    public void disable() {
        for (Member profile : Member.getProfiles()) {
            profile.save();
        }
    }
 
    public Member getMember(ID id) {
        return Member.getByID(id);
    }
}

package na.invadedlands.forums.member;

import na.invadedlands.*;

public class Member {

    private static Set<Member> profiles;
    public static Forums instance;
    private ID id;
    private String name;
    private int activity;
    private Settings = settings;

    public Member(ID id, boolean cache) {
        this.settings = new Settings();
        this.id = id;
        this.activity = 0;
        ForumsMember member = Forums.getForumsMember(id);
        if (member != null) {
            this.name = member.getName();
        }
        else {
            OfflineForumsMember offlineForumsMember = Forums.getOfflineForumsMember(id);
            if (offlineForumsMember != null) {
                this.name = offlineForumsMember.getName();
            }
        }
        this.load();
        if (cache) {
            Member.profiles.add(this);
        }
    }

    public ID getID() {
        return this.id;
    }

    public void load() {
        Document document = (Document)Member.instance.getForumsDatabase().getProfiles().find(Filters.eq("id", this.id.toString())).first();
        if (document != null) {
            if (document.containsKey("activity")) {
                this.activity = document.getInteger("activity");
            }
            if (document.containsKey("recentName")) {
                this.name = document.getString("recentName");
            }
        }
    }

    public void save() {
        Document document = new Document();
        document.put("id", this.id.toString());
        if (this.name != null) {
            document.put("recentName", this.name);
            document.put("recentNameLowercase", this.name.toLowerCase());
            document.put("recentNameLength", this.name.length());
        }
        document.put("activity", this.activity);
        Member.instance.getForumsDatabase().getProfiles().replaceOne(Filters.eq("id", this.id.toString()), document, new UpdateOptions().upsert(true));
    }

    public static Member getByID(ID id) {
        for (Member profile : Member.profiles) {
            if (profile.getID().equals(id)) {
                return profile;
            }
        }
        return getExternalByID(id);
    }
 
    private static Member getExternalByID(ID id) {
        Member profile = new Member(id, false);
        return profile;
    }

    public int getMemberActivity() {
        return this.activity;
    }

    public void setActivity(int activity) {
        this.activity = activity;
    }

    public Settings getSettings() {
        return this.settings;
    }

    public void setSettings(Settings settings) {
        this.settings = settings;
    }

    static {
        Member.profiles = new HashSet<Member>();
        Member.instance = Forums.getInstance();
    }
}

i may have over done it a bit too much but it's whatever. I legit spent time doing this don't hate me LOL (This code is from one of plugins for mc but i turned it into forums code (not really but for a joke yes LMAFO)
 
Last edited:
Off Topic
Back