WIP of reworking classes involved in querying data, also some work done to the party code rewrite

This commit is contained in:
nossr50
2020-10-15 16:19:47 -07:00
parent 9e450adb0b
commit cf245b02a5
62 changed files with 649 additions and 650 deletions

View File

@@ -21,7 +21,7 @@ public class McnotifyCommand implements TabExecutor {
}
if (args.length == 0) {
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer((Player) sender);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer((Player) sender);
//Not Loaded yet
if (mmoPlayer == null)

View File

@@ -2,13 +2,14 @@ package com.gmail.nossr50.commands.chat;
import com.gmail.nossr50.chat.ChatManager;
import com.gmail.nossr50.chat.ChatManagerFactory;
import com.gmail.nossr50.config.Config;
import com.gmail.nossr50.datatypes.chat.ChatMode;
import com.gmail.nossr50.datatypes.party.Party;
import com.gmail.nossr50.datatypes.party.PartyFeature;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.commands.CommandUtils;
import com.gmail.nossr50.util.player.PartyUtils;
import com.google.common.collect.ImmutableList;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@@ -32,58 +33,72 @@ public abstract class ChatCommand implements TabExecutor {
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
McMMOPlayer mmoPlayer;
Player player;
switch (args.length) {
case 0:
if (CommandUtils.noConsoleUsage(sender)) {
return true;
}
if (!CommandUtils.hasPlayerDataKey(sender)) {
return true;
}
mmoPlayer = mcMMO.getUserManager().getPlayer(sender.getName());
if (mmoPlayer.isChatEnabled(chatMode)) {
disableChatMode(mmoPlayer, sender);
}
else {
enableChatMode(mmoPlayer, sender);
}
if(sender instanceof Player) {
player = (Player) sender;
if (!CommandUtils.hasPlayerDataKey(sender)) {
return true;
} else {
mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
case 1:
if (CommandUtils.shouldEnableToggle(args[0])) {
if (CommandUtils.noConsoleUsage(sender)) {
return true;
}
if (!CommandUtils.hasPlayerDataKey(sender)) {
return true;
}
switch (args.length) {
case 0:
if (CommandUtils.noConsoleUsage(sender)) {
return true;
}
enableChatMode(mcMMO.getUserManager().getPlayer(sender.getName()), sender);
return true;
if (!CommandUtils.hasPlayerDataKey(sender)) {
return true;
}
if (mmoPlayer.isChatEnabled(chatMode)) {
disableChatMode(mmoPlayer, sender);
}
else {
enableChatMode(mmoPlayer, sender);
}
return true;
case 1:
if (CommandUtils.shouldEnableToggle(args[0])) {
if (CommandUtils.noConsoleUsage(sender)) {
return true;
}
if (!CommandUtils.hasPlayerDataKey(sender)) {
return true;
}
enableChatMode(mcMMO.getUserManager().queryMcMMOPlayer(player), sender);
return true;
}
if (CommandUtils.shouldDisableToggle(args[0])) {
if (CommandUtils.noConsoleUsage(sender)) {
return true;
}
if (!CommandUtils.hasPlayerDataKey(sender)) {
return true;
}
disableChatMode(mcMMO.getUserManager().queryMcMMOPlayer(player), sender);
return true;
}
// Fallthrough
default:
handleChatSending(sender, args);
return true;
}
if (CommandUtils.shouldDisableToggle(args[0])) {
if (CommandUtils.noConsoleUsage(sender)) {
return true;
}
if (!CommandUtils.hasPlayerDataKey(sender)) {
return true;
}
disableChatMode(mcMMO.getUserManager().getPlayer(sender.getName()), sender);
return true;
}
// Fallthrough
default:
handleChatSending(sender, args);
return true;
}
} else {
sender.sendMessage(LocaleLoader.getString("Commands.NoConsole"));
return true;
}
}
@@ -111,17 +126,20 @@ public abstract class ChatCommand implements TabExecutor {
return (sender instanceof Player) ? ((Player) sender).getDisplayName() : LocaleLoader.getString("Commands.Chat.Console");
}
protected abstract void handleChatSending(CommandSender sender, String[] args);
protected abstract void handleChatSending(CommandSender sender, @NotNull String[] args);
private void enableChatMode(McMMOPlayer mmoPlayer, CommandSender sender) {
if (chatMode == ChatMode.PARTY && mmoPlayer.getParty() == null) {
sender.sendMessage(LocaleLoader.getString("Commands.Party.None"));
return;
}
private void enableChatMode(@NotNull McMMOPlayer mmoPlayer, @NotNull CommandSender sender) {
if (chatMode == ChatMode.PARTY) {
Party party = mmoPlayer.getParty();
if(party == null) {
sender.sendMessage(LocaleLoader.getString("Commands.Party.None"));
return;
}
if (chatMode == ChatMode.PARTY && (mmoPlayer.getParty().getLevel() < Config.getInstance().getPartyFeatureUnlockLevel(PartyFeature.CHAT))) {
sender.sendMessage(LocaleLoader.getString("Party.Feature.Disabled.1"));
return;
if(PartyUtils.isAllowed(party, PartyFeature.CHAT)) {
sender.sendMessage(LocaleLoader.getString("Party.Feature.Disabled.1"));
return;
}
}
mmoPlayer.enableChat(chatMode);

View File

@@ -58,7 +58,7 @@ public class ConvertDatabaseCommand implements CommandExecutor {
}
for (Player player : mcMMO.p.getServer().getOnlinePlayers()) {
PlayerProfile profile = oldDatabase.loadPlayerProfile(player.getUniqueId());
PlayerProfile profile = oldDatabase.queryPlayerDataByUUID(player.getUniqueId());
if(profile == null)
continue;

View File

@@ -8,6 +8,7 @@ import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
@@ -15,20 +16,24 @@ import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class McremoveCommand implements TabExecutor {
public class DatabaseRemovePlayerCommand implements TabExecutor {
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (args.length == 1) {
String playerName = CommandUtils.getMatchedPlayerName(args[0]);
if (mcMMO.getUserManager().getOfflinePlayer(playerName) == null && CommandUtils.unloadedProfile(sender, mcMMO.getDatabaseManager().loadPlayerProfile(playerName, false))) {
if (mcMMO.getUserManager().getOfflinePlayer(playerName) == null
&& CommandUtils.hasNoProfile(sender, mcMMO.getDatabaseManager().queryPlayerDataByUUID(playerName, false))) {
sender.sendMessage(LocaleLoader.getString("Commands.Offline"));
return true;
}
UUID uuid = null;
if (Bukkit.getPlayer(playerName) != null) {
uuid = Bukkit.getPlayer(playerName).getUniqueId();
Player targetPlayer = Bukkit.getPlayer(playerName);
if (targetPlayer != null) {
uuid = targetPlayer.getUniqueId();
}
if (mcMMO.getDatabaseManager().removeUser(playerName, uuid)) {

View File

@@ -98,9 +98,9 @@ public abstract class ExperienceCommand implements TabExecutor {
if (player != null) {
uuid = player.getUniqueId();
}
PlayerProfile profile = mcMMO.getDatabaseManager().loadPlayerProfile(playerName, uuid, false);
PlayerProfile profile = mcMMO.getDatabaseManager().queryPlayerDataByUUID(playerName, uuid, false);
if (CommandUtils.unloadedProfile(sender, profile)) {
if (CommandUtils.hasNoProfile(sender, profile)) {
return true;
}

View File

@@ -82,9 +82,9 @@ public class SkillresetCommand implements TabExecutor {
if (player != null) {
uuid = player.getUniqueId();
}
PlayerProfile profile = mcMMO.getDatabaseManager().loadPlayerProfile(playerName, uuid, false);
PlayerProfile profile = mcMMO.getDatabaseManager().queryPlayerDataByUUID(playerName, uuid, false);
if (CommandUtils.unloadedProfile(sender, profile)) {
if (CommandUtils.hasNoProfile(sender, profile)) {
return true;
}

View File

@@ -16,12 +16,12 @@ public class PartyAcceptCommand implements CommandExecutor {
Player player = (Player) sender;
//Check if player profile is loaded
if (mcMMO.getUserManager().getPlayer(player) == null) {
if (mcMMO.getUserManager().queryMcMMOPlayer(player) == null) {
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;
}
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
if (!mmoPlayer.hasPartyInvite()) {

View File

@@ -15,12 +15,12 @@ public class PartyChangeOwnerCommand implements CommandExecutor {
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (args.length == 2) {//Check if player profile is loaded
if (mcMMO.getUserManager().getPlayer((Player) sender) == null) {
if (mcMMO.getUserManager().queryMcMMOPlayer((Player) sender) == null) {
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;
}
Party playerParty = mcMMO.getUserManager().getPlayer((Player) sender).getParty();
Party playerParty = mcMMO.getUserManager().queryMcMMOPlayer((Player) sender).getParty();
String targetName = CommandUtils.getMatchedPlayerName(args[1]);
OfflinePlayer target = mcMMO.p.getServer().getOfflinePlayer(targetName);

View File

@@ -12,13 +12,13 @@ import org.jetbrains.annotations.NotNull;
public class PartyChangePasswordCommand implements CommandExecutor {
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if(mcMMO.getUserManager().getPlayer((Player) sender) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer((Player) sender) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;
}
Party party = mcMMO.getUserManager().getPlayer((Player) sender).getParty();
Party party = mcMMO.getUserManager().queryMcMMOPlayer((Player) sender).getParty();
switch (args.length) {
case 1:

View File

@@ -69,13 +69,13 @@ public class PartyCommand implements TabExecutor {
return true;
}
if(mcMMO.getUserManager().getPlayer(player) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer(player) == null)
{
player.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;
}
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
if (args.length < 1) {
if (!mcMMO.getPartyManager().mmoPlayer.inParty()) {
@@ -189,13 +189,13 @@ public class PartyCommand implements TabExecutor {
Player player = (Player) sender;
//Not Loaded
if(mcMMO.getUserManager().getPlayer(player) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer(player) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return ImmutableList.of();
}
Party party = mcMMO.getUserManager().getPlayer(player).getParty();
Party party = mcMMO.getUserManager().queryMcMMOPlayer(player).getParty();
playerNames = party.getOnlinePlayerNames(player);
return StringUtil.copyPartialMatches(args[1], playerNames, new ArrayList<>(playerNames.size()));

View File

@@ -16,9 +16,9 @@ public class PartyCreateCommand implements CommandExecutor {
case 2:
case 3:
Player player = (Player) sender;
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
if(mcMMO.getUserManager().getPlayer(player) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer(player) == null)
{
player.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;

View File

@@ -15,12 +15,12 @@ public class PartyDisbandCommand implements CommandExecutor {
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (args.length == 1) {
if (mcMMO.getUserManager().getPlayer((Player) sender) == null) {
if (mcMMO.getUserManager().queryMcMMOPlayer((Player) sender) == null) {
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;
}
Party playerParty = mcMMO.getUserManager().getPlayer((Player) sender).getParty();
Party playerParty = mcMMO.getUserManager().queryMcMMOPlayer((Player) sender).getParty();
String partyName = playerParty.getPartyName();
for (PartyMember member : playerParty.getPartyMembers()) {

View File

@@ -21,13 +21,13 @@ public class PartyInfoCommand implements CommandExecutor {
switch (args.length) {
case 0:
case 1:
if(mcMMO.getUserManager().getPlayer((Player) sender) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer((Player) sender) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;
}
Player player = (Player) sender;
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
Party party = mmoPlayer.getParty();
displayPartyHeader(player, party);

View File

@@ -25,13 +25,13 @@ public class PartyInviteCommand implements CommandExecutor {
Player target = mcMMOTarget.getPlayer();
if (mcMMO.getUserManager().getPlayer((Player) sender) == null) {
if (mcMMO.getUserManager().queryMcMMOPlayer((Player) sender) == null) {
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;
}
Player player = (Player) sender;
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
String playerName = player.getName();
if (player.equals(target)) {

View File

@@ -16,12 +16,12 @@ public class PartyKickCommand implements CommandExecutor {
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (args.length == 2) {
if (mcMMO.getUserManager().getPlayer((Player) sender) == null) {
if (mcMMO.getUserManager().queryMcMMOPlayer((Player) sender) == null) {
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;
}
Party playerParty = mcMMO.getUserManager().getPlayer((Player) sender).getParty();
Party playerParty = mcMMO.getUserManager().queryMcMMOPlayer((Player) sender).getParty();
String targetName = CommandUtils.getMatchedPlayerName(args[1]);
if (!playerParty.hasMember(targetName)) {
@@ -39,7 +39,7 @@ public class PartyKickCommand implements CommandExecutor {
return true;
}
mcMMO.getPartyManager().processPartyLeaving(mcMMO.getUserManager().getPlayer(onlineTarget));
mcMMO.getPartyManager().processPartyLeaving(mcMMO.getUserManager().queryMcMMOPlayer(onlineTarget));
onlineTarget.sendMessage(LocaleLoader.getString("Commands.Party.Kick", partyName));
}

View File

@@ -16,12 +16,12 @@ public class PartyRenameCommand implements CommandExecutor {
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if (args.length == 2) {
if (mcMMO.getUserManager().getPlayer((Player) sender) == null) {
if (mcMMO.getUserManager().queryMcMMOPlayer((Player) sender) == null) {
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;
}
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer((Player) sender);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer((Player) sender);
Party playerParty = mmoPlayer.getParty();
String oldPartyName = playerParty.getPartyName();

View File

@@ -17,13 +17,13 @@ import org.jetbrains.annotations.NotNull;
public class PartyXpShareCommand implements CommandExecutor {
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
if(mcMMO.getUserManager().getPlayer((Player) sender) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer((Player) sender) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;
}
Party party = mcMMO.getUserManager().getPlayer((Player) sender).getParty();
Party party = mcMMO.getUserManager().queryMcMMOPlayer((Player) sender).getParty();
if (party.getLevel() < Config.getInstance().getPartyFeatureUnlockLevel(PartyFeature.XP_SHARE)) {
sender.sendMessage(LocaleLoader.getString("Party.Feature.Disabled.5"));

View File

@@ -21,14 +21,14 @@ public class PtpAcceptCommand implements CommandExecutor {
return true;
}
if(mcMMO.getUserManager().getPlayer((Player) sender) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer((Player) sender) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;
}
Player player = (Player) sender;
PartyTeleportRecord ptpRecord = mcMMO.getUserManager().getPlayer(player).getPartyTeleportRecord();
PartyTeleportRecord ptpRecord = mcMMO.getUserManager().queryMcMMOPlayer(player).getPartyTeleportRecord();
if (!ptpRecord.hasRequest()) {
player.sendMessage(LocaleLoader.getString("Commands.ptp.NoRequests"));

View File

@@ -59,13 +59,13 @@ public class PtpCommand implements TabExecutor {
return true;
}
if(mcMMO.getUserManager().getPlayer((Player) sender) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer((Player) sender) == null)
{
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return true;
}
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
if (!mmoPlayer.inParty()) {
sender.sendMessage(LocaleLoader.getString("Commands.Party.None"));
@@ -133,13 +133,13 @@ public class PtpCommand implements TabExecutor {
List<String> matches = StringUtil.copyPartialMatches(args[0], TELEPORT_SUBCOMMANDS, new ArrayList<>(TELEPORT_SUBCOMMANDS.size()));
if (matches.size() == 0) {
if (mcMMO.getUserManager().getPlayer((Player) sender) == null) {
if (mcMMO.getUserManager().queryMcMMOPlayer((Player) sender) == null) {
sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return ImmutableList.of();
}
Player player = (Player) sender;
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
if (!mmoPlayer.inParty()) {
return ImmutableList.of();
@@ -228,20 +228,20 @@ public class PtpCommand implements TabExecutor {
}
protected static void handleTeleportWarmup(Player teleportingPlayer, Player targetPlayer) {
if(mcMMO.getUserManager().getPlayer(targetPlayer) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer(targetPlayer) == null)
{
targetPlayer.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return;
}
if(mcMMO.getUserManager().getPlayer(teleportingPlayer) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer(teleportingPlayer) == null)
{
teleportingPlayer.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
return;
}
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(teleportingPlayer);
McMMOPlayer mcMMOTarget = mcMMO.getUserManager().getPlayer(targetPlayer);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(teleportingPlayer);
McMMOPlayer mcMMOTarget = mcMMO.getUserManager().queryMcMMOPlayer(targetPlayer);
long warmup = Config.getInstance().getPTPCommandWarmup();

View File

@@ -29,7 +29,7 @@ public class InspectCommand implements TabExecutor {
// If the mmoPlayer doesn't exist, create a temporary profile and check if it's present in the database. If it's not, abort the process.
if (mmoPlayer == null) {
PlayerProfile profile = mcMMO.getDatabaseManager().loadPlayerProfile(playerName, false); // Temporary Profile
PlayerProfile profile = mcMMO.getDatabaseManager().queryPlayerDataByUUID(playerName, false); // Temporary Profile
if (!CommandUtils.isLoaded(sender, profile)) {
return true;

View File

@@ -93,7 +93,7 @@ public class RepairCommand extends SkillCommand {
List<String> messages = new ArrayList<>();
if (canArcaneForge) {
RepairManager repairManager = mcMMO.getUserManager().getPlayer(player).getRepairManager();
RepairManager repairManager = mcMMO.getUserManager().queryMcMMOPlayer(player).getRepairManager();
messages.add(getStatMessage(false, true,
SubSkillType.REPAIR_ARCANE_FORGING,

View File

@@ -61,7 +61,7 @@ public class UnarmedCommand extends SkillCommand {
// IRON ARM
if (canIronArm) {
ironArmBonus = mcMMO.getUserManager().getPlayer(player).getUnarmedManager().getSteelArmStyleDamage();
ironArmBonus = mcMMO.getUserManager().queryMcMMOPlayer(player).getUnarmedManager().getSteelArmStyleDamage();
}
// IRON GRIP