Hub merges
This commit is contained in:
parent
07cc9c3646
commit
39792675dc
@ -9,10 +9,10 @@ import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
import mineplex.core.MiniPlugin;
|
||||
import mineplex.core.account.CoreClientManager;
|
||||
import mineplex.core.account.permissions.Permission;
|
||||
import mineplex.core.account.permissions.PermissionGroup;
|
||||
import mineplex.core.achievement.command.StatsCommand;
|
||||
import mineplex.core.achievement.leveling.LevelingManager;
|
||||
import mineplex.core.achievement.ui.AchievementShop;
|
||||
import mineplex.core.common.Rank;
|
||||
import mineplex.core.common.util.NautHashMap;
|
||||
import mineplex.core.donation.DonationManager;
|
||||
import mineplex.core.elo.EloManager;
|
||||
@ -23,6 +23,16 @@ import mineplex.core.stats.event.StatChangeEvent;
|
||||
|
||||
public class AchievementManager extends MiniPlugin
|
||||
{
|
||||
public enum Perm implements Permission
|
||||
{
|
||||
FAKE_LEVEL_50,
|
||||
FAKE_LEVEL_30,
|
||||
FAKE_LEVEL_15,
|
||||
FAKE_LEVEL_5,
|
||||
SEE_FULL_STATS,
|
||||
STATS_COMMAND,
|
||||
}
|
||||
|
||||
private CoreClientManager _clientManager;
|
||||
private IncognitoManager _incognitoManager;
|
||||
private StatsManager _statsManager;
|
||||
@ -32,7 +42,7 @@ public class AchievementManager extends MiniPlugin
|
||||
private int _interfaceSlot = 7;
|
||||
private boolean _giveInterfaceItem = false;
|
||||
|
||||
private NautHashMap<String, NautHashMap<Achievement, AchievementLog>> _log = new NautHashMap<>();
|
||||
private NautHashMap<String, NautHashMap<Achievement, AchievementLog>> _log = new NautHashMap<String, NautHashMap<Achievement, AchievementLog>>();
|
||||
|
||||
private boolean _shopEnabled = true;
|
||||
|
||||
@ -46,7 +56,17 @@ public class AchievementManager extends MiniPlugin
|
||||
_clientManager = clientManager;
|
||||
_shop = new AchievementShop(this, _statsManager, clientManager, donationManager, "Achievement");
|
||||
|
||||
new LevelingManager(this);
|
||||
generatePermissions();
|
||||
}
|
||||
|
||||
private void generatePermissions()
|
||||
{
|
||||
PermissionGroup.MOD.setPermission(Perm.SEE_FULL_STATS, true, true);
|
||||
PermissionGroup.MOD.setPermission(Perm.FAKE_LEVEL_5, true, true);
|
||||
PermissionGroup.SRMOD.setPermission(Perm.FAKE_LEVEL_15, true, true);
|
||||
PermissionGroup.ADMIN.setPermission(Perm.FAKE_LEVEL_30, true, true);
|
||||
PermissionGroup.LT.setPermission(Perm.FAKE_LEVEL_50, true, true);
|
||||
PermissionGroup.PLAYER.setPermission(Perm.STATS_COMMAND, true, true);
|
||||
}
|
||||
|
||||
public AchievementData get(Player player, Achievement type)
|
||||
@ -197,27 +217,30 @@ public class AchievementManager extends MiniPlugin
|
||||
return true;
|
||||
}
|
||||
|
||||
public int getMineplexLevelNumber(Player sender, Rank rank)
|
||||
public int getMineplexLevelNumber(Player sender)
|
||||
{
|
||||
int level = get(sender, Achievement.GLOBAL_MINEPLEX_LEVEL).getLevel();
|
||||
|
||||
if (rank.has(Rank.MODERATOR))
|
||||
level = Math.max(level, 5);
|
||||
if (rank.has(Rank.SNR_MODERATOR))
|
||||
level = Math.max(level, 15);
|
||||
if (rank.has(Rank.JNR_DEV))
|
||||
level = Math.max(level, 25);
|
||||
if (rank.has(Rank.ADMIN))
|
||||
level = Math.max(level, 30 + get(sender, Achievement.GLOBAL_GEM_HUNTER).getLevel());
|
||||
if (rank.has(Rank.OWNER))
|
||||
if (_clientManager.Get(sender).hasPermission(Perm.FAKE_LEVEL_50))
|
||||
{
|
||||
level = Math.max(level, 50 + get(sender, Achievement.GLOBAL_GEM_HUNTER).getLevel());
|
||||
} else if (_clientManager.Get(sender).hasPermission(Perm.FAKE_LEVEL_30))
|
||||
{
|
||||
level = Math.max(level, 30 + get(sender, Achievement.GLOBAL_GEM_HUNTER).getLevel());
|
||||
} else if (_clientManager.Get(sender).hasPermission(Perm.FAKE_LEVEL_15))
|
||||
{
|
||||
level = Math.max(level, 15);
|
||||
} else if (_clientManager.Get(sender).hasPermission(Perm.FAKE_LEVEL_5))
|
||||
{
|
||||
level = Math.max(level, 5);
|
||||
}
|
||||
|
||||
return level;
|
||||
}
|
||||
|
||||
public String getMineplexLevel(Player sender, Rank rank)
|
||||
public String getMineplexLevel(Player sender)
|
||||
{
|
||||
return Achievement.getExperienceString(getMineplexLevelNumber(sender, rank)) + " " + ChatColor.RESET;
|
||||
return Achievement.getExperienceString(getMineplexLevelNumber(sender)) + " " + ChatColor.RESET;
|
||||
}
|
||||
|
||||
public CoreClientManager getClientManager()
|
||||
|
@ -2,20 +2,40 @@ package mineplex.core.npc;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Queue;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import mineplex.core.aprilfools.AprilFoolsManager;
|
||||
import mineplex.core.common.skin.SkinData;
|
||||
import mineplex.core.disguise.DisguiseManager;
|
||||
import mineplex.core.disguise.disguises.DisguisePlayer;
|
||||
import mineplex.core.utils.UtilGameProfile;
|
||||
import org.bukkit.*;
|
||||
import net.minecraft.server.v1_8_R3.EntityInsentient;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftCreature;
|
||||
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftLivingEntity;
|
||||
import org.bukkit.entity.*;
|
||||
import org.bukkit.entity.Ageable;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Sheep;
|
||||
import org.bukkit.entity.Skeleton;
|
||||
import org.bukkit.entity.Slime;
|
||||
import org.bukkit.entity.Villager;
|
||||
import org.bukkit.entity.Zombie;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.entity.EntityCombustEvent;
|
||||
@ -28,16 +48,18 @@ import org.bukkit.event.world.ChunkLoadEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.util.Vector;
|
||||
import net.minecraft.server.v1_8_R3.EntityInsentient;
|
||||
import org.jooq.Result;
|
||||
import org.jooq.impl.DSL;
|
||||
|
||||
import mineplex.core.MiniPlugin;
|
||||
import mineplex.core.common.Rank;
|
||||
import mineplex.core.account.permissions.Permission;
|
||||
import mineplex.core.account.permissions.PermissionGroup;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilEnt;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.creature.Creature;
|
||||
import mineplex.core.creature.event.CreatureKillEntitiesEvent;
|
||||
import mineplex.serverdata.database.DBPool;
|
||||
import mineplex.core.disguise.DisguiseManager;
|
||||
import mineplex.core.npc.command.NpcCommand;
|
||||
import mineplex.core.npc.event.NpcDamageByEntityEvent;
|
||||
import mineplex.core.npc.event.NpcInteractEntityEvent;
|
||||
@ -46,8 +68,7 @@ import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
import mineplex.database.Tables;
|
||||
import mineplex.database.tables.records.NpcsRecord;
|
||||
import org.jooq.Result;
|
||||
import org.jooq.impl.DSL;
|
||||
import mineplex.serverdata.database.DBPool;
|
||||
|
||||
public class NpcManager extends MiniPlugin
|
||||
{
|
||||
@ -84,14 +105,22 @@ public class NpcManager extends MiniPlugin
|
||||
}
|
||||
}
|
||||
|
||||
public enum Perm implements Permission
|
||||
{
|
||||
ADD_NPC_COMMAND,
|
||||
CLEAR_NPCS_COMMAND,
|
||||
DELETE_NPC_COMMAND,
|
||||
NPC_HOME_COMMAND,
|
||||
NPC_COMMAND,
|
||||
REFRESH_NPCS_COMMAND,
|
||||
}
|
||||
|
||||
private final Creature _creature;
|
||||
private final List<Npc> _npcs = new ArrayList<>();
|
||||
private final Queue<NpcsRecord> _queuedNpcs = new LinkedList<>();
|
||||
final Map<UUID, Npc> _npcMap = new HashMap<>();
|
||||
private final Set<UUID> _npcDeletingPlayers = new HashSet<>();
|
||||
|
||||
private final DisguiseManager _disguise;
|
||||
|
||||
public NpcManager(JavaPlugin plugin, Creature creature)
|
||||
{
|
||||
super("NpcManager", plugin);
|
||||
@ -108,7 +137,7 @@ public class NpcManager extends MiniPlugin
|
||||
|
||||
_plugin.getServer().getPluginManager().registerEvents(this, _plugin);
|
||||
|
||||
_disguise = require(DisguiseManager.class);
|
||||
require(DisguiseManager.class);
|
||||
|
||||
// try
|
||||
// {
|
||||
@ -118,6 +147,18 @@ public class NpcManager extends MiniPlugin
|
||||
// {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
|
||||
generatePermissions();
|
||||
}
|
||||
|
||||
private void generatePermissions()
|
||||
{
|
||||
PermissionGroup.ADMIN.setPermission(Perm.ADD_NPC_COMMAND, true, true);
|
||||
PermissionGroup.DEV.setPermission(Perm.CLEAR_NPCS_COMMAND, true, true);
|
||||
PermissionGroup.ADMIN.setPermission(Perm.DELETE_NPC_COMMAND, true, true);
|
||||
PermissionGroup.ADMIN.setPermission(Perm.NPC_HOME_COMMAND, true, true);
|
||||
PermissionGroup.ADMIN.setPermission(Perm.NPC_COMMAND, true, true);
|
||||
PermissionGroup.ADMIN.setPermission(Perm.REFRESH_NPCS_COMMAND, true, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -129,14 +170,16 @@ public class NpcManager extends MiniPlugin
|
||||
public void help(Player caller, String message)
|
||||
{
|
||||
UtilPlayer.message(caller, F.main(_moduleName, "Commands List:"));
|
||||
UtilPlayer.message(caller, F.help("/npc add <type> [radius] [adult] [name]", "Create a new NPC.", Rank.DEVELOPER));
|
||||
UtilPlayer.message(caller, F.help("/npc del ", "Right click NPC to delete.", Rank.DEVELOPER));
|
||||
UtilPlayer.message(caller, F.help("/npc home", "Teleport NPCs to home locations.", Rank.DEVELOPER));
|
||||
UtilPlayer.message(caller, F.help("/npc clear", "Deletes all NPCs.", Rank.DEVELOPER));
|
||||
UtilPlayer.message(caller, F.help("/npc refresh", "Refresh NPCs from database.", Rank.DEVELOPER));
|
||||
UtilPlayer.message(caller, F.help("/npc add <type> [radius] [adult] [name]", "Create a new NPC.", ChatColor.DARK_RED));
|
||||
UtilPlayer.message(caller, F.help("/npc del ", "Right click NPC to delete.", ChatColor.DARK_RED));
|
||||
UtilPlayer.message(caller, F.help("/npc home", "Teleport NPCs to home locations.", ChatColor.DARK_RED));
|
||||
UtilPlayer.message(caller, F.help("/npc clear", "Deletes all NPCs.", ChatColor.DARK_RED));
|
||||
UtilPlayer.message(caller, F.help("/npc refresh", "Refresh NPCs from database.", ChatColor.DARK_RED));
|
||||
|
||||
if (message != null)
|
||||
{
|
||||
UtilPlayer.message(caller, F.main(_moduleName, ChatColor.RED + message));
|
||||
}
|
||||
}
|
||||
|
||||
public void help(Player caller)
|
||||
|
@ -2,6 +2,8 @@ package mineplex.hub;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import net.md_5.bungee.api.chat.ComponentBuilder;
|
||||
@ -46,6 +48,8 @@ import mineplex.core.Managers;
|
||||
import mineplex.core.MiniClientPlugin;
|
||||
import mineplex.core.account.CoreClient;
|
||||
import mineplex.core.account.CoreClientManager;
|
||||
import mineplex.core.account.permissions.Permission;
|
||||
import mineplex.core.account.permissions.PermissionGroup;
|
||||
import mineplex.core.achievement.AchievementManager;
|
||||
import mineplex.core.achievement.profile.ProfileManager;
|
||||
import mineplex.core.antispam.AntiSpamManager;
|
||||
@ -56,7 +60,6 @@ import mineplex.core.boosters.BoosterManager;
|
||||
import mineplex.core.botspam.BotSpamManager;
|
||||
import mineplex.core.chat.ChatFormat;
|
||||
import mineplex.core.chat.IChatMessageFormatter;
|
||||
import mineplex.core.common.Rank;
|
||||
import mineplex.core.common.currency.GlobalCurrency;
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.F;
|
||||
@ -146,6 +149,17 @@ import mineplex.minecraft.game.core.condition.ConditionManager;
|
||||
|
||||
public class HubManager extends MiniClientPlugin<HubClient> implements IChatMessageFormatter
|
||||
{
|
||||
public enum Perm implements Permission
|
||||
{
|
||||
GADGET_TOGGLE_COMMAND,
|
||||
GAMEMODE_COMMAND,
|
||||
AUTO_OP,
|
||||
VANISH,
|
||||
SPAWN_PM,
|
||||
NEWS_COMMAND,
|
||||
JOIN_FULL,
|
||||
}
|
||||
|
||||
// ☃❅ Snowman!
|
||||
public HubType Type = HubType.Normal;
|
||||
|
||||
@ -190,9 +204,9 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
private final String _serverName;
|
||||
private boolean _shuttingDown;
|
||||
|
||||
private HashMap<String, Long> _portalTime = new HashMap<String, Long>();
|
||||
private Map<String, Long> _portalTime = new HashMap<>();
|
||||
|
||||
private HashMap<String, ArrayList<String>> _creativeAdmin = new HashMap<String, ArrayList<String>>();
|
||||
private Map<String, List<String>> _creativeAdmin = new HashMap<>();
|
||||
|
||||
public HubManager(JavaPlugin plugin, BlockRestore blockRestore, CoreClientManager clientManager, IncognitoManager incognito, DonationManager donationManager, InventoryManager inventoryManager, ConditionManager conditionManager, DisguiseManager disguiseManager, TaskManager taskManager, Portal portal, PartyManager partyManager, PreferencesManager preferences, PetManager petManager, PollManager pollManager, StatsManager statsManager, AchievementManager achievementManager, HologramManager hologramManager, NpcManager npcManager, PersonalServerManager personalServerManager, PacketHandler packetHandler, Punish punish, ServerStatusManager serverStatusManager, CustomDataManager customDataManager, ThankManager thankManager, BoosterManager boosterManager, CastleManager castleManager)
|
||||
{
|
||||
@ -263,7 +277,7 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
_achievementManager.setGiveInterfaceItem(true);
|
||||
_packetHandler = packetHandler;
|
||||
|
||||
new NotificationManager(getPlugin(), clientManager, _preferences);
|
||||
new NotificationManager(getPlugin(), clientManager);
|
||||
new BotSpamManager(plugin, clientManager, punish);
|
||||
|
||||
((CraftWorld) Bukkit.getWorlds().get(0)).getHandle().pvpMode = true;
|
||||
@ -302,12 +316,20 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
@Override
|
||||
public void setup(MineplexScoreboard scoreboard)
|
||||
{
|
||||
for (Rank rank : Rank.values())
|
||||
for (PermissionGroup group : PermissionGroup.values())
|
||||
{
|
||||
if (rank == Rank.ALL)
|
||||
scoreboard.getHandle().registerNewTeam(rank.ScoreboardTag).setPrefix("");
|
||||
if (!group.canBePrimary())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (!group.getDisplay(false, false, false, false).isEmpty())
|
||||
{
|
||||
scoreboard.getHandle().registerNewTeam(group.name()).setPrefix(group.getDisplay(true, true, true, false) + ChatColor.RESET + " ");
|
||||
}
|
||||
else
|
||||
scoreboard.getHandle().registerNewTeam(rank.ScoreboardTag).setPrefix(rank.getTag(true, true) + ChatColor.RESET + " ");
|
||||
{
|
||||
scoreboard.getHandle().registerNewTeam(group.name()).setPrefix("");
|
||||
}
|
||||
}
|
||||
|
||||
scoreboard.register(HubScoreboardLine.SERVER_TITLE)
|
||||
@ -344,9 +366,9 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
scoreboard.get(HubScoreboardLine.GEM_COUNT).write(GetDonation().Get(scoreboard.getOwner()).getBalance(GlobalCurrency.GEM));
|
||||
scoreboard.get(HubScoreboardLine.SHARDS_COUNT).write(GetDonation().Get(scoreboard.getOwner()).getBalance(GlobalCurrency.TREASURE_SHARD));
|
||||
|
||||
String rankName = getRankName(GetClients().Get(scoreboard.getOwner()).GetRank(), GetDonation().Get(scoreboard.getOwner()));
|
||||
String rankName = getRankName(GetClients().Get(scoreboard.getOwner()).getPrimaryGroup(), GetDonation().Get(scoreboard.getOwner()));
|
||||
|
||||
Rank disguisedRank = GetClients().Get(scoreboard.getOwner()).getDisguisedRank();
|
||||
PermissionGroup disguisedRank = GetClients().Get(scoreboard.getOwner()).getDisguisedPrimaryGroup();
|
||||
String disguisedAs = GetClients().Get(scoreboard.getOwner()).getDisguisedAs();
|
||||
if (disguisedRank != null && disguisedAs != null)
|
||||
{
|
||||
@ -364,19 +386,19 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
HubClient hubclient = HubManager.this.Get(player);
|
||||
hubclient.setName(playerName);
|
||||
|
||||
CoreClient client = GetClients().Get(player.getUniqueId());
|
||||
PermissionGroup group = _clientManager.Get(player).getRealOrDisguisedPrimaryGroup();
|
||||
|
||||
for (MineplexScoreboard scoreboard : getScoreboards().values())
|
||||
{
|
||||
scoreboard.getHandle().getTeam(client.getRealOrDisguisedRank().ScoreboardTag).addEntry(playerName);
|
||||
scoreboard.getHandle().getTeam(group.name()).addEntry(playerName);
|
||||
}
|
||||
|
||||
if (get(player) != null)
|
||||
{
|
||||
for (Player player1 : Bukkit.getOnlinePlayers())
|
||||
{
|
||||
client = GetClients().Get(player1);
|
||||
get(player).getHandle().getTeam(client.getRealOrDisguisedRank().ScoreboardTag).addEntry(player1.getName());
|
||||
group = _clientManager.Get(player1).getRealOrDisguisedPrimaryGroup();
|
||||
get(player).getHandle().getTeam(group.name()).addEntry(player1.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -386,28 +408,34 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
{
|
||||
Player player = Bukkit.getPlayerExact(playerName);
|
||||
|
||||
CoreClient client = GetClients().Get(player);
|
||||
PermissionGroup group = _clientManager.Get(player).getRealOrDisguisedPrimaryGroup();
|
||||
|
||||
for (MineplexScoreboard scoreboard : getScoreboards().values())
|
||||
{
|
||||
scoreboard.getHandle().getTeam(client.getRealOrDisguisedRank().ScoreboardTag).removeEntry(playerName);
|
||||
scoreboard.getHandle().getTeam(group.name()).removeEntry(playerName);
|
||||
}
|
||||
}
|
||||
|
||||
private String getRankName(Rank rank, Donor donor)
|
||||
private String getRankName(PermissionGroup group, Donor donor)
|
||||
{
|
||||
String rankName;
|
||||
if (rank.has(Rank.ULTRA))
|
||||
rankName = rank.Name;
|
||||
else if (donor.ownsUnknownSalesPackage("SuperSmashMobs ULTRA") ||
|
||||
String display = group.getDisplay(false, false, false, false);
|
||||
if (display.isEmpty())
|
||||
{
|
||||
if (donor.ownsUnknownSalesPackage("SuperSmashMobs ULTRA") ||
|
||||
donor.ownsUnknownSalesPackage("Survival Games ULTRA") ||
|
||||
donor.ownsUnknownSalesPackage("Minigames ULTRA") ||
|
||||
donor.ownsUnknownSalesPackage("CastleSiege ULTRA") ||
|
||||
donor.ownsUnknownSalesPackage("Champions ULTRA"))
|
||||
rankName = "Single Ultra";
|
||||
else
|
||||
rankName = "No Rank";
|
||||
return rankName;
|
||||
{
|
||||
display = "Single Ultra";
|
||||
}
|
||||
else
|
||||
{
|
||||
display = "No Rank";
|
||||
}
|
||||
}
|
||||
|
||||
return display;
|
||||
}
|
||||
};
|
||||
|
||||
@ -415,6 +443,27 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
|
||||
require(NewNPCManager.class);
|
||||
require(ProfileManager.class);
|
||||
|
||||
generatePermissions();
|
||||
}
|
||||
|
||||
private void generatePermissions()
|
||||
{
|
||||
PermissionGroup.ADMIN.setPermission(Perm.GADGET_TOGGLE_COMMAND, true, true);
|
||||
PermissionGroup.ADMIN.setPermission(Perm.GAMEMODE_COMMAND, true, true);
|
||||
PermissionGroup.ADMIN.setPermission(Perm.NEWS_COMMAND, true, true);
|
||||
if (UtilServer.isDevServer() || UtilServer.isTestServer())
|
||||
{
|
||||
PermissionGroup.ADMIN.setPermission(Perm.AUTO_OP, true, true);
|
||||
PermissionGroup.QAM.setPermission(Perm.AUTO_OP, false, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
PermissionGroup.LT.setPermission(Perm.AUTO_OP, true, true);
|
||||
}
|
||||
PermissionGroup.ADMIN.setPermission(Perm.VANISH, true, true);
|
||||
PermissionGroup.TRAINEE.setPermission(Perm.SPAWN_PM, true, true);
|
||||
PermissionGroup.ULTRA.setPermission(Perm.JOIN_FULL, true, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -500,21 +549,20 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
// Reserved Slot Check
|
||||
if (Bukkit.getOnlinePlayers().size() - Bukkit.getServer().getMaxPlayers() >= 20)
|
||||
{
|
||||
if (!client.GetRank().has(Rank.ULTRA))
|
||||
if (!client.hasPermission(Perm.JOIN_FULL))
|
||||
{
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(getPlugin(), new Runnable()
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(getPlugin(), () ->
|
||||
{
|
||||
public void run()
|
||||
{
|
||||
_portal.sendPlayerToGenericServer(event.getPlayer(), GenericServer.HUB, Intent.KICK);
|
||||
}
|
||||
_portal.sendPlayerToGenericServer(event.getPlayer(), GenericServer.HUB, Intent.KICK);
|
||||
});
|
||||
|
||||
event.allow();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
event.allow();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean _made;
|
||||
@ -522,14 +570,7 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void AdminOP(PlayerJoinEvent event)
|
||||
{
|
||||
// Give developers operator on their servers
|
||||
Rank minimum = Rank.OWNER;
|
||||
if (UtilServer.isTestServer() || UtilServer.isDevServer())
|
||||
{
|
||||
minimum = Rank.JNR_DEV;
|
||||
}
|
||||
|
||||
if (_clientManager.Get(event.getPlayer()).GetRank().has(minimum))
|
||||
if (_clientManager.Get(event.getPlayer()).hasPermission(Perm.AUTO_OP))
|
||||
event.getPlayer().setOp(true);
|
||||
else
|
||||
event.getPlayer().setOp(false);
|
||||
@ -603,7 +644,7 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
public void playerPrivateMessage(PrivateMessageEvent event)
|
||||
{
|
||||
//Dont Let PM Near Spawn!
|
||||
if (UtilMath.offset2d(GetSpawn(), event.getSender().getLocation()) == 0 && !_clientManager.Get(event.getSender()).GetRank().has(Rank.HELPER))
|
||||
if (UtilMath.offset2d(GetSpawn(), event.getSender().getLocation()) == 0 && !!_clientManager.Get(event.getSender()).hasPermission(Perm.SPAWN_PM))
|
||||
{
|
||||
UtilPlayer.message(event.getSender(), F.main("Chat", "You must leave spawn before you can Private Message!"));
|
||||
event.setCancelled(true);
|
||||
@ -613,7 +654,7 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
@EventHandler
|
||||
public void Incog(IncognitoHidePlayerEvent event)
|
||||
{
|
||||
if (!_clientManager.hasRank(event.getPlayer(), Rank.ADMIN))
|
||||
if (!_clientManager.Get(event.getPlayer()).hasPermission(Perm.VANISH))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -626,7 +667,7 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
return;
|
||||
|
||||
//Dont Let Chat Near Spawn!
|
||||
if (UtilMath.offset2d(GetSpawn(), event.getPlayer().getLocation()) == 0 && !_clientManager.Get(event.getPlayer()).GetRank().has(Rank.HELPER))
|
||||
if (UtilMath.offset2d(GetSpawn(), event.getPlayer().getLocation()) == 0 && !_clientManager.Get(event.getPlayer()).hasPermission(Perm.SPAWN_PM))
|
||||
{
|
||||
UtilPlayer.message(event.getPlayer(), F.main("Chat", "You must leave spawn before you can chat!"));
|
||||
event.setCancelled(true);
|
||||
@ -635,15 +676,17 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
|
||||
Player player = event.getPlayer();
|
||||
String playerName = player.getName();
|
||||
Rank rank = GetClients().Get(player).getRealOrDisguisedRank();
|
||||
PermissionGroup group = GetClients().Get(player).getRealOrDisguisedPrimaryGroup();
|
||||
|
||||
//Level Prefix
|
||||
String levelStr = _achievementManager.getMineplexLevel(player, rank);
|
||||
String levelStr = _achievementManager.getMineplexLevel(player);
|
||||
|
||||
//Rank Prefix
|
||||
String rankStr = "";
|
||||
if (rank != Rank.ALL)
|
||||
rankStr = rank.getTag(true, true) + " ";
|
||||
if (!group.getDisplay(false, false, false, false).isEmpty())
|
||||
{
|
||||
rankStr = group.getDisplay(true, true, true, false) + " ";
|
||||
}
|
||||
//Party Chat
|
||||
if (event.getMessage().charAt(0) == '@')
|
||||
{
|
||||
@ -676,7 +719,7 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
TextComponent playerNameText = new TextComponent(ChatColor.YELLOW + playerName);
|
||||
TextComponent component = new TextComponent();
|
||||
|
||||
rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + "\n" + rank.getDescription()).create()));
|
||||
rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(group.getDisplay(true, true, true, true) + ChatColor.WHITE + "\n" + group.getDescription()).create()));
|
||||
|
||||
component.setText(levelStr);
|
||||
component.addExtra(rankComponent);
|
||||
@ -697,21 +740,23 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
@Override
|
||||
public ChatFormat getChatFormat(Player player, String message)
|
||||
{
|
||||
Rank rank = GetClients().Get(player).getRealOrDisguisedRank();
|
||||
PermissionGroup group = GetClients().Get(player).getRealOrDisguisedPrimaryGroup();
|
||||
|
||||
//Level Prefix
|
||||
String levelStr = _achievementManager.getMineplexLevel(player, rank);
|
||||
String levelStr = _achievementManager.getMineplexLevel(player);
|
||||
|
||||
//Rank Prefix
|
||||
String rankStr = "";
|
||||
if (rank != Rank.ALL)
|
||||
rankStr = rank.getTag(true, true) + " ";
|
||||
if (!group.getDisplay(false, false, false, false).isEmpty())
|
||||
{
|
||||
rankStr = group.getDisplay(true, true, true, false) + " ";
|
||||
}
|
||||
|
||||
TextComponent rankComponent = new TextComponent(rankStr);
|
||||
TextComponent playerNameText = new TextComponent(ChatColor.YELLOW + "%1$s");
|
||||
TextComponent component = new TextComponent();
|
||||
|
||||
rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + "\n" + rank.getDescription()).create()));
|
||||
rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(group.getDisplay(true, true, true, true) + ChatColor.WHITE + "\n" + group.getDescription()).create()));
|
||||
|
||||
component.setText(levelStr);
|
||||
component.addExtra(rankComponent);
|
||||
@ -923,9 +968,7 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
@EventHandler
|
||||
public void ignoreVelocity(PlayerVelocityEvent event)
|
||||
{
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (_clientManager.Get(player).GetRank().has(Rank.TWITCH) && _preferences.get(player).isActive(Preference.IGNORE_VELOCITY) && !getJumpManager().isDoubleJumping(player))
|
||||
if (_clientManager.Get(event.getPlayer()).hasPermission(Preference.IGNORE_VELOCITY) && _preferences.get(event.getPlayer()).isActive(Preference.IGNORE_VELOCITY) && !getJumpManager().isDoubleJumping(event.getPlayer()))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -983,7 +1026,7 @@ public class HubManager extends MiniClientPlugin<HubClient> implements IChatMess
|
||||
@EventHandler
|
||||
public void clearGameMode(PlayerQuitEvent event)
|
||||
{
|
||||
ArrayList<String> creative = _creativeAdmin.remove(event.getPlayer().getName());
|
||||
List<String> creative = _creativeAdmin.remove(event.getPlayer().getName());
|
||||
|
||||
if (creative == null)
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user