Custom ranks

This commit is contained in:
Magnus Ulf
2018-12-21 02:41:42 +01:00
parent 0efccf335c
commit cee15b6333
16 changed files with 870 additions and 426 deletions

View File

@ -523,10 +523,10 @@ public class Faction extends Entity<Faction> implements FactionsParticipator, MP
private EntityInternalMap<Rank> createRankMap()
{
var ret = new EntityInternalMap<>(this, Rank.class);
Rank leader = new Rank("Leader", 400);
Rank officer = new Rank("Officer", 300);
Rank member = new Rank("Member", 200);
Rank recruit = new Rank("Recruit", 100);
Rank leader = new Rank("Leader", 400, "**");
Rank officer = new Rank("Officer", 300, "*");
Rank member = new Rank("Member", 200, "+");
Rank recruit = new Rank("Recruit", 100, "-");
/*leader.setPermIds(new MassiveList<>(MConf.get().defaultPermsLeader));
officer.setPermIds(new MassiveList<>(MConf.get().defaultPermsOfficer));

View File

@ -1,6 +1,7 @@
package com.massivecraft.factions.entity;
import com.massivecraft.massivecore.store.EntityInternal;
import org.bukkit.ChatColor;
public class Rank extends EntityInternal<Rank> implements MPerm.MPermable
{
@ -28,19 +29,9 @@ public class Rank extends EntityInternal<Rank> implements MPerm.MPermable
public int getPriority() { return this.priority; }
public void setPriority(int priority) { this.priority = priority; this.changed(); }
public String getPrefix()
{
String ret = "";
if (this.isLeader()) ret += "L";
if (this.getName().equalsIgnoreCase("Leader")) ret += "**";
else if (this.getName().equalsIgnoreCase("Officer")) ret += "*";
else if (this.getName().equalsIgnoreCase("Member")) ret += "+";
else if (this.getName().equalsIgnoreCase("Recruit")) ret += "-";
else ret += "=";
return ret;
}
private String prefix;
public String getPrefix() { return this.prefix; }
public void setPrefix(String prefix) { this.prefix = prefix; this.changed(); }
// -------------------------------------------- //
// CONSTRUCT
@ -49,13 +40,28 @@ public class Rank extends EntityInternal<Rank> implements MPerm.MPermable
// For GSON
private Rank()
{
this(null,0);
this(null,0, "");
}
public Rank(String name, int priority)
public Rank(String name, int priority, String prefix)
{
this.name = name;
this.priority = priority;
this.prefix = prefix;
}
// -------------------------------------------- //
// VISUAL
// -------------------------------------------- //
public String getVisual()
{
String ret = "";
ret += ChatColor.GREEN.toString();
ret += this.getPrefix();
ret += this.getName();
ret += " (" + this.getPriority() + ")";
return ret;
}
// -------------------------------------------- //
@ -129,27 +135,4 @@ public class Rank extends EntityInternal<Rank> implements MPerm.MPermable
return ret;
}
// -------------------------------------------- //
// PERM
// -------------------------------------------- //
/*public boolean addPerm(MPerm mperm)
{
var ret = this.getPermIds().add(mperm.getId());
if (ret) this.changed();
return ret;
}
public boolean removePerm(MPerm mperm)
{
var ret = this.getPermIds().remove(mperm.getId());
if (ret) this.changed();
return ret;
}
public boolean hasPerm(MPerm mperm)
{
return this.getPermIds().contains(mperm.getId());
}*/
}

View File

@ -41,10 +41,10 @@ public class MigratorFaction002Ranks extends MigratorRoot
String idMember = MStore.createId();
String idRecruit = MStore.createId();
Rank leader = new Rank("Leader", 400);
Rank officer = new Rank("Officer", 300);
Rank member = new Rank("Member", 200);
Rank recruit = new Rank("Recruit", 100);
Rank leader = new Rank("Leader", 400, "**");
Rank officer = new Rank("Officer", 300, "*");
Rank member = new Rank("Member", 200, "+");
Rank recruit = new Rank("Recruit", 100, "-");
Map<String, Rank> map = new MassiveMap<>();
map.put(idLeader, leader);