forked from Upstream/mmocore
Merged OfflinePlayerData and OfflinePlayerValues
This commit is contained in:
parent
2df5d86f25
commit
54ed7d8fdb
@ -1,40 +1,31 @@
|
|||||||
package net.Indyuce.mmocore.api.player;
|
package net.Indyuce.mmocore.api.player;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import net.Indyuce.mmocore.api.ConfigFile;
|
import net.Indyuce.mmocore.api.player.profess.PlayerClass;
|
||||||
|
|
||||||
public class OfflinePlayerData {
|
public abstract class OfflinePlayerData {
|
||||||
private final UUID uuid;
|
private final UUID uuid;
|
||||||
private final PlayerData data;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* supports offline player data operations like friend removals which can't
|
|
||||||
* be handled when their player data is not loaded in the data map.
|
|
||||||
*/
|
|
||||||
public OfflinePlayerData(UUID uuid) {
|
public OfflinePlayerData(UUID uuid) {
|
||||||
data = PlayerData.isLoaded(this.uuid = uuid) ? PlayerData.get(uuid) : null;
|
this.uuid = uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isLoaded() {
|
public UUID getUniqueId() {
|
||||||
return data != null;
|
return uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeFriend(UUID uuid) {
|
public abstract void removeFriend(UUID uuid);
|
||||||
if (isLoaded()) {
|
|
||||||
data.removeFriend(uuid);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ConfigFile config = new ConfigFile(this.uuid);
|
public abstract boolean hasFriend(UUID uuid);
|
||||||
List<String> friends = config.getConfig().getStringList("friends");
|
|
||||||
friends.remove(uuid.toString());
|
|
||||||
config.getConfig().set("friends", friends);
|
|
||||||
config.save();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean hasFriend(UUID uuid) {
|
public abstract PlayerClass getProfess();
|
||||||
return isLoaded() ? data.hasFriend(uuid) : new ConfigFile(this.uuid).getConfig().getStringList("friends").contains(uuid.toString());
|
|
||||||
|
public abstract int getLevel();
|
||||||
|
|
||||||
|
public abstract long getLastLogin();
|
||||||
|
|
||||||
|
public static OfflinePlayerData get(UUID uuid) {
|
||||||
|
return PlayerData.isLoaded(uuid) ? PlayerData.get(uuid) : new SimpleOfflinePlayerData(uuid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,9 +55,7 @@ import net.md_5.bungee.api.chat.TextComponent;
|
|||||||
import net.mmogroup.mmolib.MMOLib;
|
import net.mmogroup.mmolib.MMOLib;
|
||||||
import net.mmogroup.mmolib.version.VersionSound;
|
import net.mmogroup.mmolib.version.VersionSound;
|
||||||
|
|
||||||
public class PlayerData {
|
public class PlayerData extends OfflinePlayerData {
|
||||||
|
|
||||||
private final UUID uuid;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* is updated everytime the player joins the server. it is kept when the
|
* is updated everytime the player joins the server. it is kept when the
|
||||||
@ -96,7 +94,8 @@ public class PlayerData {
|
|||||||
private static Map<UUID, PlayerData> playerData = new HashMap<>();
|
private static Map<UUID, PlayerData> playerData = new HashMap<>();
|
||||||
|
|
||||||
private PlayerData(Player player) {
|
private PlayerData(Player player) {
|
||||||
uuid = player.getUniqueId();
|
super(player.getUniqueId());
|
||||||
|
|
||||||
setPlayer(player);
|
setPlayer(player);
|
||||||
playerStats = new PlayerStats(this);
|
playerStats = new PlayerStats(this);
|
||||||
|
|
||||||
@ -115,7 +114,8 @@ public class PlayerData {
|
|||||||
this.mana = getStats().getStat(StatType.MAX_MANA);
|
this.mana = getStats().getStat(StatType.MAX_MANA);
|
||||||
this.stamina = getStats().getStat(StatType.MAX_STAMINA);
|
this.stamina = getStats().getStat(StatType.MAX_STAMINA);
|
||||||
this.stellium = getStats().getStat(StatType.MAX_STELLIUM);
|
this.stellium = getStats().getStat(StatType.MAX_STELLIUM);
|
||||||
if (config.contains("guild")) this.guild = MMOCore.plugin.guildManager.stillInGuild(getUniqueId(), config.getString("guild"));
|
if (config.contains("guild"))
|
||||||
|
this.guild = MMOCore.plugin.guildManager.stillInGuild(getUniqueId(), config.getString("guild"));
|
||||||
if (config.contains("attribute"))
|
if (config.contains("attribute"))
|
||||||
attributes.load(config.getConfigurationSection("attribute"));
|
attributes.load(config.getConfigurationSection("attribute"));
|
||||||
if (config.contains("profession"))
|
if (config.contains("profession"))
|
||||||
@ -162,9 +162,11 @@ public class PlayerData {
|
|||||||
config.set("waypoints", new ArrayList<>(waypoints));
|
config.set("waypoints", new ArrayList<>(waypoints));
|
||||||
config.set("friends", toStringList(friends));
|
config.set("friends", toStringList(friends));
|
||||||
config.set("last-login", lastLogin);
|
config.set("last-login", lastLogin);
|
||||||
if(guild != null) config.set("guild", guild.getId());
|
if (guild != null)
|
||||||
else config.set("guild", null);
|
config.set("guild", guild.getId());
|
||||||
|
else
|
||||||
|
config.set("guild", null);
|
||||||
|
|
||||||
config.set("skill", null);
|
config.set("skill", null);
|
||||||
skills.entrySet().forEach(entry -> config.set("skill." + entry.getKey(), entry.getValue()));
|
skills.entrySet().forEach(entry -> config.set("skill." + entry.getKey(), entry.getValue()));
|
||||||
|
|
||||||
@ -246,44 +248,6 @@ public class PlayerData {
|
|||||||
return playerData.values();
|
return playerData.values();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* START OF EXPERIMENTAL CODE
|
|
||||||
*
|
|
||||||
* This must be more simple to do than my 2AM brain could think of...
|
|
||||||
* - Aria
|
|
||||||
*/
|
|
||||||
|
|
||||||
private static Map<UUID, PlayerDataOfflineValues> offlineValues = new HashMap<>();
|
|
||||||
public static PlayerDataOfflineValues getOfflineValues(UUID uuid) {
|
|
||||||
if(!offlineValues.containsKey(uuid))
|
|
||||||
offlineValues.put(uuid, new PlayerDataOfflineValues(uuid));
|
|
||||||
return offlineValues.get(uuid) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class PlayerDataOfflineValues {
|
|
||||||
// Values can be added as they are needed
|
|
||||||
private final PlayerClass profess;
|
|
||||||
private final int level;
|
|
||||||
private final long lastLogin;
|
|
||||||
|
|
||||||
public PlayerDataOfflineValues(UUID uuid) {
|
|
||||||
FileConfiguration config = new ConfigFile(uuid).getConfig();
|
|
||||||
this.profess = MMOCore.plugin.classManager.get(config.getString("class"));
|
|
||||||
this.level = config.getInt("level");
|
|
||||||
this.lastLogin = config.getLong("last-login");
|
|
||||||
}
|
|
||||||
|
|
||||||
public PlayerClass getProfess()
|
|
||||||
{ return profess; }
|
|
||||||
public int getLevel()
|
|
||||||
{ return level; }
|
|
||||||
public long getLastLogin()
|
|
||||||
{ return lastLogin; }
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* END OF EXPERIMENTAL CODE
|
|
||||||
*/
|
|
||||||
|
|
||||||
private PlayerData setPlayer(Player player) {
|
private PlayerData setPlayer(Player player) {
|
||||||
this.player = player;
|
this.player = player;
|
||||||
this.lastLogin = System.currentTimeMillis();
|
this.lastLogin = System.currentTimeMillis();
|
||||||
@ -306,10 +270,7 @@ public class PlayerData {
|
|||||||
return player;
|
return player;
|
||||||
}
|
}
|
||||||
|
|
||||||
public UUID getUniqueId() {
|
@Override
|
||||||
return uuid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getLastLogin() {
|
public long getLastLogin() {
|
||||||
return lastLogin;
|
return lastLogin;
|
||||||
}
|
}
|
||||||
@ -318,6 +279,7 @@ public class PlayerData {
|
|||||||
return lastFriendRequest;
|
return lastFriendRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int getLevel() {
|
public int getLevel() {
|
||||||
return Math.max(1, level);
|
return Math.max(1, level);
|
||||||
}
|
}
|
||||||
@ -446,10 +408,12 @@ public class PlayerData {
|
|||||||
friends.add(uuid);
|
friends.add(uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void removeFriend(UUID uuid) {
|
public void removeFriend(UUID uuid) {
|
||||||
friends.remove(uuid);
|
friends.remove(uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean hasFriend(UUID uuid) {
|
public boolean hasFriend(UUID uuid) {
|
||||||
return friends.contains(uuid);
|
return friends.contains(uuid);
|
||||||
}
|
}
|
||||||
@ -518,13 +482,13 @@ public class PlayerData {
|
|||||||
public void giveExperience(int value) {
|
public void giveExperience(int value) {
|
||||||
giveExperience(value, null);
|
giveExperience(value, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void giveExperience(int value, Location loc) {
|
public void giveExperience(int value, Location loc) {
|
||||||
if (profess == null || hasReachedMaxLevel()) {
|
if (profess == null || hasReachedMaxLevel()) {
|
||||||
setExperience(0);
|
setExperience(0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// display hologram
|
// display hologram
|
||||||
if (MMOItems.plugin.getConfig().getBoolean("game-indicators.exp.enabled")) {
|
if (MMOItems.plugin.getConfig().getBoolean("game-indicators.exp.enabled")) {
|
||||||
if (loc != null && MMOCore.plugin.hologramSupport != null)
|
if (loc != null && MMOCore.plugin.hologramSupport != null)
|
||||||
@ -570,6 +534,7 @@ public class PlayerData {
|
|||||||
return experience;
|
return experience;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public PlayerClass getProfess() {
|
public PlayerClass getProfess() {
|
||||||
return profess == null ? MMOCore.plugin.classManager.getDefaultClass() : profess;
|
return profess == null ? MMOCore.plugin.classManager.getDefaultClass() : profess;
|
||||||
}
|
}
|
||||||
@ -637,7 +602,7 @@ public class PlayerData {
|
|||||||
public boolean canSeeActionBar() {
|
public boolean canSeeActionBar() {
|
||||||
return actionBarTimeOut < System.currentTimeMillis();
|
return actionBarTimeOut < System.currentTimeMillis();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setActionBarTimeOut(long timeOut) {
|
public void setActionBarTimeOut(long timeOut) {
|
||||||
actionBarTimeOut = System.currentTimeMillis() + (timeOut * 50);
|
actionBarTimeOut = System.currentTimeMillis() + (timeOut * 50);
|
||||||
}
|
}
|
||||||
@ -824,6 +789,6 @@ public class PlayerData {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
return obj != null && obj instanceof PlayerData && ((PlayerData) obj).uuid.equals(uuid);
|
return obj != null && obj instanceof PlayerData && ((PlayerData) obj).getUniqueId().equals(getUniqueId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,50 @@
|
|||||||
|
package net.Indyuce.mmocore.api.player;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
|
import net.Indyuce.mmocore.api.ConfigFile;
|
||||||
|
import net.Indyuce.mmocore.api.player.profess.PlayerClass;
|
||||||
|
|
||||||
|
public class SimpleOfflinePlayerData extends OfflinePlayerData {
|
||||||
|
private final ConfigFile config;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* supports offline player data operations like friend removals which can't
|
||||||
|
* be handled when their player data is not loaded in the data map.
|
||||||
|
*/
|
||||||
|
public SimpleOfflinePlayerData(UUID uuid) {
|
||||||
|
super(uuid);
|
||||||
|
|
||||||
|
config = new ConfigFile(uuid);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeFriend(UUID uuid) {
|
||||||
|
List<String> friends = config.getConfig().getStringList("friends");
|
||||||
|
friends.remove(uuid.toString());
|
||||||
|
config.getConfig().set("friends", friends);
|
||||||
|
config.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasFriend(UUID uuid) {
|
||||||
|
return config.getConfig().getStringList("friends").contains(uuid.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PlayerClass getProfess() {
|
||||||
|
return config.getConfig().contains("class") ? MMOCore.plugin.classManager.get(config.getConfig().getString("class")) : MMOCore.plugin.classManager.getDefaultClass();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getLevel() {
|
||||||
|
return config.getConfig().getInt("level");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getLastLogin() {
|
||||||
|
return config.getConfig().getLong("last-login");
|
||||||
|
}
|
||||||
|
}
|
@ -47,7 +47,7 @@ public class FriendsCommand extends BukkitCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (new OfflinePlayerData(((Player) sender).getUniqueId()).hasFriend(uuid)) {
|
if (OfflinePlayerData.get(((Player) sender).getUniqueId()).hasFriend(uuid)) {
|
||||||
MMOCore.plugin.requestManager.unregisterRequest(uuid);
|
MMOCore.plugin.requestManager.unregisterRequest(uuid);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,7 @@ public class EditableFriendRemoval extends EditableInventory {
|
|||||||
public void whenClicked(InventoryClickEvent event, InventoryItem item) {
|
public void whenClicked(InventoryClickEvent event, InventoryItem item) {
|
||||||
if (item.getFunction().equals("yes")) {
|
if (item.getFunction().equals("yes")) {
|
||||||
playerData.removeFriend(friend.getUniqueId());
|
playerData.removeFriend(friend.getUniqueId());
|
||||||
new OfflinePlayerData(friend.getUniqueId()).removeFriend(playerData.getUniqueId());
|
OfflinePlayerData.get(friend.getUniqueId()).removeFriend(playerData.getUniqueId());
|
||||||
player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1, 1);
|
player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1, 1);
|
||||||
MMOCore.plugin.configManager.getSimpleMessage("no-longer-friends", "unfriend", friend.getName()).send(player);
|
MMOCore.plugin.configManager.getSimpleMessage("no-longer-friends", "unfriend", friend.getName()).send(player);
|
||||||
last.open();
|
last.open();
|
||||||
|
@ -17,8 +17,8 @@ import org.bukkit.inventory.meta.SkullMeta;
|
|||||||
import net.Indyuce.mmocore.MMOCore;
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
import net.Indyuce.mmocore.api.input.PlayerInput.InputType;
|
import net.Indyuce.mmocore.api.input.PlayerInput.InputType;
|
||||||
import net.Indyuce.mmocore.api.math.format.DelayFormat;
|
import net.Indyuce.mmocore.api.math.format.DelayFormat;
|
||||||
|
import net.Indyuce.mmocore.api.player.OfflinePlayerData;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData.PlayerDataOfflineValues;
|
|
||||||
import net.Indyuce.mmocore.gui.api.EditableInventory;
|
import net.Indyuce.mmocore.gui.api.EditableInventory;
|
||||||
import net.Indyuce.mmocore.gui.api.GeneratedInventory;
|
import net.Indyuce.mmocore.gui.api.GeneratedInventory;
|
||||||
import net.Indyuce.mmocore.gui.api.PluginInventory;
|
import net.Indyuce.mmocore.gui.api.PluginInventory;
|
||||||
@ -36,8 +36,7 @@ public class EditableGuildView extends EditableInventory {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InventoryItem load(String function, ConfigurationSection config) {
|
public InventoryItem load(String function, ConfigurationSection config) {
|
||||||
return function.equals("member") ? new MemberItem(config) : (function.equals("next") || function.equals("previous")
|
return function.equals("member") ? new MemberItem(config) : (function.equals("next") || function.equals("previous") || function.equals("disband") || function.equals("invite")) ? new ConditionalItem(function, config) : new NoPlaceholderItem(config);
|
||||||
|| function.equals("disband") || function.equals("invite")) ? new ConditionalItem(function, config) : new NoPlaceholderItem(config);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MemberDisplayItem extends InventoryPlaceholderItem {
|
public class MemberDisplayItem extends InventoryPlaceholderItem {
|
||||||
@ -49,25 +48,16 @@ public class EditableGuildView extends EditableInventory {
|
|||||||
public Placeholders getPlaceholders(PluginInventory inv, int n) {
|
public Placeholders getPlaceholders(PluginInventory inv, int n) {
|
||||||
UUID uuid = inv.getPlayerData().getGuild().getMembers().get(n);
|
UUID uuid = inv.getPlayerData().getGuild().getMembers().get(n);
|
||||||
Placeholders holders = new Placeholders();
|
Placeholders holders = new Placeholders();
|
||||||
/**
|
/*
|
||||||
* Will never be null since a players name
|
* Will never be null since a players name will always be recorded
|
||||||
* will always be recorded if they've been in a guild
|
* if they've been in a guild
|
||||||
*/
|
*/
|
||||||
holders.register("name", Bukkit.getOfflinePlayer(uuid).getName());
|
holders.register("name", Bukkit.getOfflinePlayer(uuid).getName());
|
||||||
|
|
||||||
if(PlayerData.get(uuid) == null) {
|
OfflinePlayerData offline = OfflinePlayerData.get(uuid);
|
||||||
PlayerDataOfflineValues pdov = PlayerData.getOfflineValues(uuid);
|
holders.register("class", offline.getProfess().getName());
|
||||||
holders.register("class", pdov.getProfess().getName());
|
holders.register("level", offline.getLevel());
|
||||||
holders.register("level", "" + pdov.getLevel());
|
holders.register("since", new DelayFormat(2).format(System.currentTimeMillis() - offline.getLastLogin()));
|
||||||
holders.register("since", new DelayFormat(2).format(System.currentTimeMillis() - pdov.getLastLogin()));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
PlayerData member = PlayerData.get(uuid);
|
|
||||||
holders.register("class", member.getProfess().getName());
|
|
||||||
holders.register("level", "" + member.getLevel());
|
|
||||||
holders.register("since", new DelayFormat(2).format(System.currentTimeMillis() - member.getLastLogin()));
|
|
||||||
}
|
|
||||||
|
|
||||||
return holders;
|
return holders;
|
||||||
}
|
}
|
||||||
@ -121,10 +111,10 @@ public class EditableGuildView extends EditableInventory {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ConditionalItem extends NoPlaceholderItem {
|
public class ConditionalItem extends NoPlaceholderItem {
|
||||||
private final String function;
|
private final String function;
|
||||||
|
|
||||||
public ConditionalItem(String func, ConfigurationSection config) {
|
public ConditionalItem(String func, ConfigurationSection config) {
|
||||||
super(config);
|
super(config);
|
||||||
this.function = func;
|
this.function = func;
|
||||||
@ -133,14 +123,13 @@ public class EditableGuildView extends EditableInventory {
|
|||||||
@Override
|
@Override
|
||||||
public ItemStack display(GeneratedInventory invpar, int n) {
|
public ItemStack display(GeneratedInventory invpar, int n) {
|
||||||
GuildViewInventory inv = (GuildViewInventory) invpar;
|
GuildViewInventory inv = (GuildViewInventory) invpar;
|
||||||
|
|
||||||
if(function.equals("next"))
|
if (function.equals("next"))
|
||||||
if(inv.getPage() == (int) Math.ceil((inv.getPlayerData().getGuild().getMembers().count() + 20) / inv.getByFunction("member").getSlots().size()))
|
if (inv.getPage() == (int) Math.ceil((inv.getPlayerData().getGuild().getMembers().count() + 20) / inv.getByFunction("member").getSlots().size()))
|
||||||
return null;
|
return null;
|
||||||
if(function.equals("previous") && inv.getPage() == 1)
|
if (function.equals("previous") && inv.getPage() == 1)
|
||||||
return null;
|
return null;
|
||||||
if((function.equals("disband") || function.equals("invite")) && !inv.getPlayerData()
|
if ((function.equals("disband") || function.equals("invite")) && !inv.getPlayerData().getGuild().getOwner().equals(inv.getPlayer().getUniqueId()))
|
||||||
.getGuild().getOwner().equals(inv.getPlayer().getUniqueId()))
|
|
||||||
return null;
|
return null;
|
||||||
return super.display(inv, n);
|
return super.display(inv, n);
|
||||||
}
|
}
|
||||||
@ -157,19 +146,12 @@ public class EditableGuildView extends EditableInventory {
|
|||||||
public GuildViewInventory(PlayerData playerData, EditableInventory editable) {
|
public GuildViewInventory(PlayerData playerData, EditableInventory editable) {
|
||||||
super(playerData, editable);
|
super(playerData, editable);
|
||||||
|
|
||||||
maxpages = (int) Math.ceil((playerData.getGuild().getMembers().count() + 20) /
|
maxpages = (int) Math.ceil((playerData.getGuild().getMembers().count() + 20) / editable.getByFunction("member").getSlots().size());
|
||||||
editable.getByFunction("member").getSlots().size());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String calculateName() {
|
public String calculateName() {
|
||||||
return getName()
|
return getName().replace("{online_players}", "" + getPlayerData().getGuild().getMembers().countOnline()).replace("{page}", "" + page).replace("{maxpages}", "" + maxpages).replace("{players}", "" + getPlayerData().getGuild().getMembers().count()).replace("{tag}", getPlayerData().getGuild().getTag()).replace("{name}", getPlayerData().getGuild().getName());
|
||||||
.replace("{online_players}", "" + getPlayerData().getGuild().getMembers().countOnline())
|
|
||||||
.replace("{page}", "" + page)
|
|
||||||
.replace("{maxpages}", "" + maxpages)
|
|
||||||
.replace("{players}", "" + getPlayerData().getGuild().getMembers().count())
|
|
||||||
.replace("{tag}", getPlayerData().getGuild().getTag())
|
|
||||||
.replace("{name}", getPlayerData().getGuild().getName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -180,12 +162,18 @@ public class EditableGuildView extends EditableInventory {
|
|||||||
player.closeInventory();
|
player.closeInventory();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.getFunction().equals("next") && page != maxpages)
|
|
||||||
{ page++; open(); return; }
|
|
||||||
|
|
||||||
if (item.getFunction().equals("previous") && page != 1)
|
if (item.getFunction().equals("next") && page != maxpages) {
|
||||||
{ page--; open(); return; }
|
page++;
|
||||||
|
open();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.getFunction().equals("previous") && page != 1) {
|
||||||
|
page--;
|
||||||
|
open();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (item.getFunction().equals("disband")) {
|
if (item.getFunction().equals("disband")) {
|
||||||
if (!playerData.getGuild().getOwner().equals(playerData.getUniqueId()))
|
if (!playerData.getGuild().getOwner().equals(playerData.getUniqueId()))
|
||||||
@ -195,16 +183,17 @@ public class EditableGuildView extends EditableInventory {
|
|||||||
player.closeInventory();
|
player.closeInventory();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.getFunction().equals("invite")) {
|
if (item.getFunction().equals("invite")) {
|
||||||
if (!playerData.getGuild().getOwner().equals(playerData.getUniqueId()))
|
if (!playerData.getGuild().getOwner().equals(playerData.getUniqueId()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/**if (playerData.getGuild().getMembers().count() >= max) {
|
/**
|
||||||
MMOCore.plugin.configManager.getSimpleMessage("guild-is-full").send(player);
|
* if (playerData.getGuild().getMembers().count() >= max) {
|
||||||
player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1, 1);
|
* MMOCore.plugin.configManager.getSimpleMessage("guild-is-full").send(player);
|
||||||
return;
|
* player.playSound(player.getLocation(),
|
||||||
}*/
|
* Sound.ENTITY_VILLAGER_NO, 1, 1); return; }
|
||||||
|
*/
|
||||||
|
|
||||||
MMOCore.plugin.configManager.newPlayerInput(player, InputType.GUILD_INVITE, (input) -> {
|
MMOCore.plugin.configManager.newPlayerInput(player, InputType.GUILD_INVITE, (input) -> {
|
||||||
Player target = Bukkit.getPlayer(input);
|
Player target = Bukkit.getPlayer(input);
|
||||||
@ -240,7 +229,7 @@ public class EditableGuildView extends EditableInventory {
|
|||||||
if (item.getFunction().equals("member") && event.getAction() == InventoryAction.PICKUP_HALF && !NBTItem.get(event.getCurrentItem()).getString("uuid").isEmpty()) {
|
if (item.getFunction().equals("member") && event.getAction() == InventoryAction.PICKUP_HALF && !NBTItem.get(event.getCurrentItem()).getString("uuid").isEmpty()) {
|
||||||
if (!playerData.getGuild().getOwner().equals(playerData.getUniqueId()))
|
if (!playerData.getGuild().getOwner().equals(playerData.getUniqueId()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
OfflinePlayer target = Bukkit.getOfflinePlayer(UUID.fromString(NBTItem.get(event.getCurrentItem()).getString("uuid")));
|
OfflinePlayer target = Bukkit.getOfflinePlayer(UUID.fromString(NBTItem.get(event.getCurrentItem()).getString("uuid")));
|
||||||
if (target.equals(player))
|
if (target.equals(player))
|
||||||
return;
|
return;
|
||||||
@ -250,8 +239,9 @@ public class EditableGuildView extends EditableInventory {
|
|||||||
player.playSound(player.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1, 1);
|
player.playSound(player.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPage()
|
public int getPage() {
|
||||||
{ return page; }
|
return page;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user