mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2025-02-04 06:21:28 +01:00
Fixed code smells
This commit is contained in:
parent
29eb4b0486
commit
587e400287
@ -1,10 +1,12 @@
|
||||
package world.bentobox.bentobox.api.user;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.commons.lang.math.NumberUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
@ -245,11 +247,8 @@ public class User {
|
||||
if (sender != null) {
|
||||
return sender.isOp();
|
||||
}
|
||||
if (playerUUID != null) {
|
||||
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(playerUUID);
|
||||
if (offlinePlayer != null) {
|
||||
return offlinePlayer.isOp();
|
||||
}
|
||||
if (playerUUID != null && offlinePlayer != null) {
|
||||
return offlinePlayer.isOp();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -262,33 +261,40 @@ public class User {
|
||||
* @return max value
|
||||
*/
|
||||
public int getPermissionValue(String permissionPrefix, int defaultValue) {
|
||||
int value = defaultValue;
|
||||
|
||||
// If there is a dot at the end of the permissionPrefix, remove it
|
||||
if (permissionPrefix.endsWith(".")) {
|
||||
permissionPrefix = permissionPrefix.substring(0, permissionPrefix.length()-1);
|
||||
}
|
||||
|
||||
int value = defaultValue;
|
||||
for (PermissionAttachmentInfo perms : player.getEffectivePermissions()) {
|
||||
if (perms.getPermission().startsWith(permissionPrefix + ".")) {
|
||||
// Get the max value should there be more than one
|
||||
if (perms.getPermission().contains(permissionPrefix + ".*")) {
|
||||
return value;
|
||||
} else {
|
||||
String[] spl = perms.getPermission().split(permissionPrefix + ".");
|
||||
if (spl.length > 1) {
|
||||
if (!NumberUtils.isNumber(spl[1])) {
|
||||
plugin.logError("Player " + player.getName() + " has permission: '" + perms.getPermission() + "' <-- the last part MUST be a number! Ignoring...");
|
||||
} else {
|
||||
int v = Integer.parseInt(spl[1]);
|
||||
if (v < 0) {
|
||||
return v;
|
||||
}
|
||||
value = Math.max(value, v);
|
||||
final String permPrefix = permissionPrefix + ".";
|
||||
|
||||
List<String> permissions = player.getEffectivePermissions().stream()
|
||||
.map(PermissionAttachmentInfo::getPermission)
|
||||
.filter(permission -> permission.startsWith(permPrefix))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
for (String permission : permissions) {
|
||||
if (permission.contains(permPrefix + "*")) {
|
||||
// 'Star' permission
|
||||
return value;
|
||||
} else {
|
||||
String[] spl = permission.split(permPrefix);
|
||||
if (spl.length > 1) {
|
||||
if (!NumberUtils.isNumber(spl[1])) {
|
||||
plugin.logError("Player " + player.getName() + " has permission: '" + permission + "' <-- the last part MUST be a number! Ignoring...");
|
||||
} else {
|
||||
int v = Integer.parseInt(spl[1]);
|
||||
if (v < 0) {
|
||||
return v;
|
||||
}
|
||||
value = Math.max(value, v);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
@ -78,8 +78,7 @@ public class JoinLeaveListener implements Listener {
|
||||
}
|
||||
|
||||
// Clear inventory if required
|
||||
this.clearPlayersInventory(Util.getWorld(event.getPlayer().getWorld()),
|
||||
User.getInstance(event.getPlayer()));
|
||||
clearPlayersInventory(Util.getWorld(event.getPlayer().getWorld()), User.getInstance(event.getPlayer()));
|
||||
}
|
||||
}
|
||||
|
||||
@ -89,11 +88,9 @@ public class JoinLeaveListener implements Listener {
|
||||
* @param event SwitchWorld event.
|
||||
*/
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onPlayerSwitchWorld(final PlayerChangedWorldEvent event)
|
||||
{
|
||||
public void onPlayerSwitchWorld(final PlayerChangedWorldEvent event) {
|
||||
// Clear inventory if required
|
||||
this.clearPlayersInventory(Util.getWorld(event.getPlayer().getWorld()),
|
||||
User.getInstance(event.getPlayer()));
|
||||
clearPlayersInventory(Util.getWorld(event.getPlayer().getWorld()), User.getInstance(event.getPlayer()));
|
||||
}
|
||||
|
||||
|
||||
@ -103,26 +100,21 @@ public class JoinLeaveListener implements Listener {
|
||||
* @param world World where cleaning must occur.
|
||||
* @param user Targeted user.
|
||||
*/
|
||||
private void clearPlayersInventory(World world, User user)
|
||||
{
|
||||
private void clearPlayersInventory(World world, @NonNull User user) {
|
||||
// Clear inventory if required
|
||||
Players players = this.players.getPlayer(user.getUniqueId());
|
||||
Players playerData = players.getPlayer(user.getUniqueId());
|
||||
|
||||
if (!players.getPendingKicks().isEmpty() &&
|
||||
players.getPendingKicks().contains(world.getName()))
|
||||
{
|
||||
if (plugin.getIWM().isOnLeaveResetEnderChest(world))
|
||||
{
|
||||
if (!playerData.getPendingKicks().isEmpty() && playerData.getPendingKicks().contains(world.getName())) {
|
||||
if (plugin.getIWM().isOnLeaveResetEnderChest(world)) {
|
||||
user.getPlayer().getEnderChest().clear();
|
||||
}
|
||||
|
||||
if (plugin.getIWM().isOnLeaveResetInventory(world))
|
||||
{
|
||||
if (plugin.getIWM().isOnLeaveResetInventory(world)) {
|
||||
user.getPlayer().getInventory().clear();
|
||||
}
|
||||
|
||||
players.getPendingKicks().remove(world.getName());
|
||||
this.players.save(user.getUniqueId());
|
||||
playerData.getPendingKicks().remove(world.getName());
|
||||
players.save(user.getUniqueId());
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user