Skip to content

Commit

Permalink
GH-1608 Remove deprecated methods from User class (#1608)
Browse files Browse the repository at this point in the history
* Remove methods from class User and replace them with methods from UserUtils and UserManager.
Move the scoreboard repair logic to the updateScoreboardIfNull(); method.

* fix critical compilation error

* Add PluginBind to commands.

* ok

* Remove unused methods.

* Improve code in UserValidation

* Use PandaStream where is strongly related to Option.

* Improve the use of PandaStream.
Use PandaStream which is strongly related to Option.

* Code appearance improvements.

* Improve code
  • Loading branch information
Rollczi committed Sep 8, 2021
1 parent d5af08f commit 0ad11a1
Show file tree
Hide file tree
Showing 44 changed files with 314 additions and 386 deletions.
19 changes: 9 additions & 10 deletions plugin/src/main/java/net/dzikoysk/funnyguilds/FunnyGuilds.java
Expand Up @@ -72,6 +72,7 @@
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitTask;
import panda.std.Option;
import panda.utilities.ClassUtils;
import java.io.File;

Expand Down Expand Up @@ -188,7 +189,7 @@ public void onEnable() {

PluginManager pluginManager = Bukkit.getPluginManager();
pluginManager.registerEvents(new GuiActionHandler(), this);
pluginManager.registerEvents(new EntityDamage(), this);
pluginManager.registerEvents(new EntityDamage(this), this);
pluginManager.registerEvents(new EntityInteract(), this);
pluginManager.registerEvents(new PlayerChat(), this);
pluginManager.registerEvents(new PlayerDeath(), this);
Expand Down Expand Up @@ -287,18 +288,16 @@ private void handleReload() {
final FunnyGuildsChannelHandler channelHandler = nmsAccessor.getPacketAccessor().getOrInstallChannelHandler(player);
channelHandler.getPacketCallbacksRegistry().registerPacketCallback(new WarPacketCallbacks(player));

User user = User.get(player);
UserCache cache = user.getCache();
Option<User> userOption = userManager.getUser(player);

if (cache.getScoreboard() == null) {
if (pluginConfiguration.useSharedScoreboard) {
cache.setScoreboard(player.getScoreboard());
}
else {
cache.setScoreboard(Bukkit.getScoreboardManager().getNewScoreboard());
}
if (userOption.isEmpty()) {
continue;
}

User user = userOption.get();
UserCache cache = user.getCache();

cache.updateScoreboardIfNull(player);
cache.getDummy();

if (! pluginConfiguration.playerListEnable) {
Expand Down
@@ -1,15 +1,15 @@
package net.dzikoysk.funnyguilds.concurrency.requests;

import net.dzikoysk.funnyguilds.FunnyGuilds;
import net.dzikoysk.funnyguilds.user.User;
import net.dzikoysk.funnyguilds.concurrency.util.DefaultConcurrencyRequest;
import net.dzikoysk.funnyguilds.config.PluginConfiguration;
import net.dzikoysk.funnyguilds.feature.tablist.IndividualPlayerList;
import net.dzikoysk.funnyguilds.feature.tablist.variable.DefaultTablistVariables;
import net.dzikoysk.funnyguilds.user.UserManager;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import panda.std.stream.PandaStream;

public final class ReloadRequest extends DefaultConcurrencyRequest {

Expand All @@ -34,23 +34,20 @@ public void execute() throws Exception {

DefaultTablistVariables.clearFunnyVariables();

for (Player player : Bukkit.getOnlinePlayers()) {
User user = funnyGuilds.getUserManager().getUser(player).getOrNull();

if (user == null) {
continue;
}

IndividualPlayerList playerList = new IndividualPlayerList(user,
funnyGuilds.getNmsAccessor().getPlayerListAccessor(),
config.playerList,
config.playerListHeader, config.playerListFooter,
config.playerListPing,
config.playerListFillCells
);

user.getCache().setPlayerList(playerList);
}
UserManager userManager = funnyGuilds.getUserManager();
PandaStream.of(Bukkit.getOnlinePlayers())
.flatMap(userManager::getUser)
.forEach(user -> {
IndividualPlayerList playerList = new IndividualPlayerList(user,
funnyGuilds.getNmsAccessor().getPlayerListAccessor(),
config.playerList,
config.playerListHeader, config.playerListFooter,
config.playerListPing,
config.playerListFillCells
);

user.getCache().setPlayerList(playerList);
});
}

long endTime = System.currentTimeMillis();
Expand Down
Expand Up @@ -2,6 +2,7 @@

import net.dzikoysk.funnycommands.resources.ValidationException;
import net.dzikoysk.funnyguilds.FunnyGuilds;
import net.dzikoysk.funnyguilds.config.MessageConfiguration;
import net.dzikoysk.funnyguilds.guild.Guild;
import net.dzikoysk.funnyguilds.feature.command.user.InfoCommand;
import net.dzikoysk.funnyguilds.concurrency.util.DefaultConcurrencyRequest;
Expand Down Expand Up @@ -39,14 +40,16 @@ public void execute() throws Exception {
return;
}

PluginConfiguration config = FunnyGuilds.getInstance().getPluginConfiguration();
FunnyGuilds plugin = FunnyGuilds.getInstance();
PluginConfiguration config = plugin.getPluginConfiguration();
MessageConfiguration messages = plugin.getMessageConfiguration();

if (config.informationMessageCooldowns.cooldown(player, TimeUnit.SECONDS, config.infoPlayerCooldown)) {
return;
}

try {
INFO_EXECUTOR.execute(config, FunnyGuilds.getInstance().getMessageConfiguration(), player, new String[]{ entry.getKey().getTag() });
INFO_EXECUTOR.execute(plugin, config, messages, player, new String[]{ entry.getKey().getTag() });
return;
} catch (ValidationException validatorException) {
validatorException.getValidationMessage().peek(player::sendMessage);
Expand Down
Expand Up @@ -6,13 +6,15 @@
import net.dzikoysk.funnyguilds.guild.GuildUtils;
import net.dzikoysk.funnyguilds.guild.RegionUtils;
import net.dzikoysk.funnyguilds.user.User;
import net.dzikoysk.funnyguilds.user.UserManager;
import net.dzikoysk.funnyguilds.user.UserUtils;
import net.dzikoysk.funnyguilds.data.database.element.SQLNamedStatement;
import net.dzikoysk.funnyguilds.data.database.element.SQLTable;
import net.dzikoysk.funnyguilds.data.database.element.SQLBasicUtils;
import net.dzikoysk.funnyguilds.data.util.DeserializationUtils;
import net.dzikoysk.funnyguilds.shared.bukkit.ChatUtils;
import net.dzikoysk.funnyguilds.shared.bukkit.LocationUtils;
import panda.std.Option;

import java.sql.ResultSet;
import java.time.Instant;
Expand Down Expand Up @@ -46,6 +48,9 @@ public static Guild deserialize(ResultSet rs) {
long ban = rs.getLong("ban");
int lives = rs.getInt("lives");

FunnyGuilds plugin = FunnyGuilds.getInstance();
UserManager userManager = plugin.getUserManager();

if (name == null || tag == null || os == null) {
FunnyGuilds.getPluginLogger().error("Cannot deserialize guild! Caused by: uuid/name/tag/owner is null");
return null;
Expand All @@ -55,9 +60,16 @@ public static Guild deserialize(ResultSet rs) {
if (id != null && !id.isEmpty()) {
uuid = UUID.fromString(id);
}

final User owner = User.get(os);


Option<User> ownerOption = userManager.getUser(os);

if (ownerOption.isEmpty()) {
FunnyGuilds.getPluginLogger().error("Cannot deserialize guild! Caused by: owner (user instance) doesn't exist");
return null;
}

User owner = ownerOption.get();

Set<User> deputies = new HashSet<>();
if (dp != null && !dp.isEmpty()) {
deputies = UserUtils.getUsersFromString(ChatUtils.fromString(dp));
Expand All @@ -73,11 +85,11 @@ public static Guild deserialize(ResultSet rs) {
}

if (validity == 0) {
validity = Instant.now().plus(FunnyGuilds.getInstance().getPluginConfiguration().validityStart).toEpochMilli();
validity = Instant.now().plus(plugin.getPluginConfiguration().validityStart).toEpochMilli();
}

if (lives == 0) {
lives = FunnyGuilds.getInstance().getPluginConfiguration().warLives;
lives = plugin.getPluginConfiguration().warLives;
}

final Object[] values = new Object[17];
Expand Down
Expand Up @@ -85,7 +85,7 @@ public static Guild deserialize(File file) {
uuid = UUID.fromString(id);
}

final User owner = User.get(ownerName);
final User owner = UserUtils.get(ownerName);

Set<User> deputies = ConcurrentHashMap.newKeySet(1);
if (deputyName != null && !deputyName.isEmpty()) {
Expand Down
Expand Up @@ -5,6 +5,7 @@
import net.dzikoysk.funnyguilds.guild.Region;
import net.dzikoysk.funnyguilds.user.User;
import net.dzikoysk.funnyguilds.user.UserBan;
import net.dzikoysk.funnyguilds.user.UserManager;
import org.bukkit.Location;

import java.util.Set;
Expand Down Expand Up @@ -61,7 +62,7 @@ public static User deserializeUser(Object[] values) {
UUID playerUniqueId = UUID.fromString((String) values[0]);
String playerName = (String) values[1];

User user = User.create(playerUniqueId, playerName);
User user = UserManager.getInstance().create(playerUniqueId, playerName);

user.getRank().setPoints((int) values[2]);
user.getRank().setKills((int) values[3]);
Expand Down
Expand Up @@ -81,7 +81,7 @@ public FunnyCommands createFunnyCommands(Server server, FunnyGuilds funnyGuilds)
.command("deputy", commands.deputy, new DeputyCommand())
.command("enlarge", enlargeCommand, new EnlargeCommand())
.command("escape", commands.escape, new EscapeCommand())
.command("funnyguilds", commands.funnyguilds, new FunnyGuildsCommand(funnyGuilds))
.command("funnyguilds", commands.funnyguilds, new FunnyGuildsCommand())
.command("guild", commands.guild, new GuildCommand())
.command("info", commands.info, new InfoCommand())
.command("invite", commands.invite, new InviteCommand())
Expand Down Expand Up @@ -127,6 +127,7 @@ public FunnyCommands createFunnyCommands(Server server, FunnyGuilds funnyGuilds)
.registerDefaultComponents()
.placeholders(userCommands.placeholders)
.placeholders(adminCommands.placeholders)
.bind(new PluginBind())
.bind(new SettingsBind())
.bind(new MessagesBind())
.bind(new UserBind())
Expand Down
Expand Up @@ -5,9 +5,7 @@
import net.dzikoysk.funnycommands.resources.Context;
import net.dzikoysk.funnycommands.stereotypes.FunnyComponent;
import net.dzikoysk.funnyguilds.user.User;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import panda.std.Option;
import net.dzikoysk.funnyguilds.user.UserManager;

import java.util.ArrayList;
import java.util.Collections;
Expand All @@ -18,7 +16,7 @@ final class MembersCompleter implements Completer {

@Override
public List<String> apply(Context context, String prefix, Integer limit) {
return Option.when(context.getCommandSender() instanceof Player, User.get((OfflinePlayer) context.getCommandSender()))
return UserManager.getInstance().getUser(context.getCommandSender().getName())
.filter(User::hasGuild)
.map(User::getGuild)
.map(guild -> CommandUtils.collectCompletions(guild.getMembers(), prefix, limit, ArrayList::new, User::getName))
Expand Down
@@ -0,0 +1,16 @@
package net.dzikoysk.funnyguilds.feature.command;

import net.dzikoysk.funnycommands.resources.Bind;
import net.dzikoysk.funnycommands.stereotypes.FunnyComponent;
import net.dzikoysk.funnyguilds.FunnyGuilds;
import org.panda_lang.utilities.inject.Resources;

@FunnyComponent
final class PluginBind implements Bind {

@Override
public void accept(Resources injectorResources) {
injectorResources.on(FunnyGuilds.class).assignHandler((property, annotation, args) -> FunnyGuilds.getInstance());
}

}
Expand Up @@ -5,6 +5,7 @@
import net.dzikoysk.funnycommands.resources.Context;
import net.dzikoysk.funnycommands.stereotypes.FunnyComponent;
import net.dzikoysk.funnyguilds.user.User;
import net.dzikoysk.funnyguilds.user.UserUtils;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
import org.panda_lang.utilities.inject.Resources;
Expand All @@ -24,7 +25,7 @@ public User fetchUser(Context context) {
throw new IllegalStateException("Cannot use user bind in non-player command");
}

return User.get((OfflinePlayer) commandSender);
return UserUtils.get(((OfflinePlayer) commandSender).getUniqueId());
}

}
Expand Up @@ -3,20 +3,16 @@
import net.dzikoysk.funnycommands.resources.ValidationException;
import net.dzikoysk.funnyguilds.FunnyGuilds;
import net.dzikoysk.funnyguilds.user.User;
import net.dzikoysk.funnyguilds.user.UserUtils;

public final class UserValidation {

private UserValidation() {}

public static User requireUserByName(String name) {
User user = UserUtils.get(name, true);
FunnyGuilds plugin = FunnyGuilds.getInstance();

if (user == null) {
throw new ValidationException(FunnyGuilds.getInstance().getMessageConfiguration().generalNotPlayedBefore);
}

return user;
return plugin.getUserManager().getUser(name, true)
.orThrow(() -> new ValidationException(plugin.getMessageConfiguration().generalNotPlayedBefore));
}

}
Expand Up @@ -2,6 +2,7 @@

import net.dzikoysk.funnyguilds.user.User;
import net.dzikoysk.funnyguilds.event.FunnyEvent.EventCause;
import net.dzikoysk.funnyguilds.user.UserUtils;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.Nullable;
Expand All @@ -12,7 +13,7 @@ private AdminUtils() {}

public static @Nullable User getAdminUser(CommandSender sender) {
return (sender instanceof Player)
? User.get(sender.getName())
? UserUtils.get(sender.getName())
: null;
}

Expand Down
Expand Up @@ -16,19 +16,13 @@
@FunnyComponent
public final class FunnyGuildsCommand {

private final FunnyGuilds funnyGuilds;

public FunnyGuildsCommand(final FunnyGuilds funnyGuilds) {
this.funnyGuilds = funnyGuilds;
}

@FunnyCommand(
name = "${user.funnyguilds.name}",
description = "${user.funnyguilds.description}",
aliases = "${user.funnyguilds.aliases}",
acceptsExceeded = true
)
public void execute(CommandSender sender, String[] args) {
public void execute(FunnyGuilds funnyGuilds, CommandSender sender, String[] args) {
String parameter = args.length > 0
? args[0].toLowerCase()
: "";
Expand All @@ -40,7 +34,7 @@ public void execute(CommandSender sender, String[] args) {
break;
case "check":
case "update":
this.funnyGuilds.getVersion().isNewAvailable(sender, true);
funnyGuilds.getVersion().isNewAvailable(sender, true);
break;
case "save-all":
saveAll(sender);
Expand All @@ -56,7 +50,7 @@ public void execute(CommandSender sender, String[] args) {
sender.sendMessage(ChatColor.GRAY + "/funnyguilds funnybin - zapisz konfiguracj臋 online (~ usprawnia pomoc na https://github.com/FunnyGuilds/FunnyGuilds/issues)");
break;
default:
sender.sendMessage(ChatColor.GRAY + "FunnyGuilds " + ChatColor.AQUA + this.funnyGuilds.getVersion().getFullVersion() + ChatColor.GRAY + " by " + ChatColor.AQUA + "FunnyGuilds Team");
sender.sendMessage(ChatColor.GRAY + "FunnyGuilds " + ChatColor.AQUA + funnyGuilds.getVersion().getFullVersion() + ChatColor.GRAY + " by " + ChatColor.AQUA + "FunnyGuilds Team");
break;
}

Expand Down Expand Up @@ -94,7 +88,7 @@ private void post(CommandSender sender, String[] args) {
Optional<FunnybinRequest> request = FunnybinRequest.of(sender, args);

if (request.isPresent()) {
FunnyGuilds.getInstance().getConcurrencyManager().postRequests(request.get());;
FunnyGuilds.getInstance().getConcurrencyManager().postRequests(request.get());
return;
}

Expand Down

0 comments on commit 0ad11a1

Please sign in to comment.