Do the disabling in the admin class, so it works with commands like doom & also disable potion spy

This commit is contained in:
Business Goose 2022-05-03 09:44:36 +01:00
parent 54df28022f
commit 5af45a2154
No known key found for this signature in database
GPG Key ID: 77DCA801362E9645
4 changed files with 44 additions and 18 deletions

View File

@ -6,11 +6,13 @@ import java.util.*;
import me.totalfreedom.totalfreedommod.LogViewer.LogsRegistrationMode;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.player.FPlayer;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Bukkit;
import org.bukkit.Server;
import org.bukkit.entity.Player;
public class Admin
@ -157,6 +159,34 @@ public class Admin
{
plugin.btb.killTelnetSessions(getName());
}
// Ensure admins don't have admin functionality when removed (FS-222)
AdminList.vanished.remove(getName());
if (plugin.esb != null)
{
plugin.esb.setVanished(getName(), false);
}
setCommandSpy(false);
setPotionSpy(false);
Server server = Bukkit.getServer();
Player player = server.getPlayer(getName());
if (player != null)
{
// Update chats
FPlayer freedomPlayer = plugin.pl.getPlayer(player);
freedomPlayer.removeAdminFunctionality();
// Disable vanish
for (Player player1 : server.getOnlinePlayers())
{
player1.showPlayer(plugin, player);
}
}
}
plugin.lv.updateLogsRegistration(null, getName(), LogsRegistrationMode.DELETE);

View File

@ -6,7 +6,6 @@ import java.util.Collections;
import java.util.Date;
import java.util.List;
import me.totalfreedom.totalfreedommod.admin.Admin;
import me.totalfreedom.totalfreedommod.admin.AdminList;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.discord.Discord;
import me.totalfreedom.totalfreedommod.player.FPlayer;
@ -242,7 +241,6 @@ public class Command_saconfig extends FreedomCommand
Player player = getPlayer(args[1]);
FPlayer freedomPlayer = player != null ? plugin.pl.getPlayer(player) : null;
Admin admin = player != null ? plugin.al.getAdmin(player) : plugin.al.getEntryByName(args[1]);
String adminName = admin.getName();
@ -258,24 +256,9 @@ public class Command_saconfig extends FreedomCommand
plugin.al.save(admin);
plugin.al.updateTables();
AdminList.vanished.remove(adminName);
plugin.esb.setVanished(adminName, false);
if (player != null)
{
// Update tab name
plugin.rm.updateDisplay(player);
// Ensure admins don't have admin functionality when removed (FS-222)
freedomPlayer.setAdminChat(false);
freedomPlayer.setCommandSpy(false);
freedomPlayer.setFuckoffRadius(0);
// Disable vanish
for (Player player1 : server.getOnlinePlayers())
{
player1.showPlayer(plugin, player);
}
}
if (plugin.dc.enabled && ConfigEntry.DISCORD_ROLE_SYNC.getBoolean())

View File

@ -112,6 +112,14 @@ public class FPlayer
this.player = player;
}
// Ensure admins don't have admin functionality when removed (FS-222)
public void removeAdminFunctionality()
{
this.setCommandSpy(false);
this.setAdminChat(false);
this.setFuckoffRadius(0);
}
public boolean isOrbiting()
{
return isOrbiting;

View File

@ -9,7 +9,6 @@ import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@ -185,6 +184,12 @@ public class RankManager extends FreedomService
if (isAdmin)
{
plugin.al.updateLastLogin(player);
} else
{
// Ensure admins don't have admin functionality when removed (FS-222)
FPlayer freedomPlayer = plugin.pl.getPlayer(player);
freedomPlayer.removeAdminFunctionality();
}
// Broadcast login message