Skip to content

Commit

Permalink
Further changes
Browse files Browse the repository at this point in the history
  • Loading branch information
ChanceSD committed May 15, 2024
1 parent afd8d24 commit 0393690
Show file tree
Hide file tree
Showing 66 changed files with 1,634 additions and 1,630 deletions.
18 changes: 16 additions & 2 deletions pvpmanager/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<url>https://github.com/ChanceSD/PvPManager</url>

<properties>
<config.version>78</config.version>
<config.version>79</config.version>
<database.version>1</database.version>
</properties>

Expand Down Expand Up @@ -58,6 +58,12 @@
<url>https://repo.md-5.net/content/groups/public/</url>
</repository>

<!-- TAB -->
<repository>
<id>krypton</id>
<url>https://repo.kryptonmc.org/releases</url>
</repository>

<repository>
<id>codemc-repo</id>
<url>https://repo.codemc.org/repository/maven-public</url>
Expand Down Expand Up @@ -194,6 +200,14 @@
</exclusions>
</dependency>

<!-- TAB -->
<dependency>
<groupId>me.neznamy</groupId>
<artifactId>tab-api</artifactId>
<version>4.0.2</version>
<scope>provided</scope>
</dependency>

<!-- Towny -->
<dependency>
<groupId>com.github.TownyAdvanced</groupId>
Expand Down Expand Up @@ -223,7 +237,7 @@
<version>1.16.8.1.1</version>
<scope>provided</scope>
</dependency>

<!-- GriefPrevention -->
<dependency>
<groupId>com.github.TechFortress</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import me.chancesd.pvpmanager.command.Tag;
import me.chancesd.pvpmanager.command.Untag;
import me.chancesd.pvpmanager.library.metrics.CustomMetrics;
import me.chancesd.pvpmanager.listener.BlockedActionsListener;
import me.chancesd.pvpmanager.listener.EntityListener;
import me.chancesd.pvpmanager.listener.EntityListener1_9;
import me.chancesd.pvpmanager.listener.PlayerListener;
Expand Down Expand Up @@ -97,6 +98,7 @@ private void startListeners() {
registerListener(new PlayerListener1_11(playerHandler));
}
registerListener(new PlayerListener(playerHandler));
registerListener(new BlockedActionsListener(playerHandler));
dependencyManager.startListeners(this);
}

Expand All @@ -111,7 +113,7 @@ private void registerCommands() {
registerCommand(getCommand("pvptag"), new Tag(playerHandler));
registerCommand(getCommand("untag"), new Untag(playerHandler));
registerCommand(getCommand("announce"), new Announce());
registerCommand(getCommand("pvpglobal"), new PvPGlobal());
registerCommand(getCommand("pvpglobal"), new PvPGlobal(playerHandler));
}

private void startMetrics() {
Expand All @@ -132,7 +134,7 @@ public ConfigManager getConfigM() {
return configM;
}

public PlayerManager getPlayerHandler() {
public PlayerManager getPlayerManager() {
return playerHandler;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import me.chancesd.pvpmanager.player.CombatPlayer;
import me.chancesd.pvpmanager.setting.Lang;
import me.chancesd.pvpmanager.setting.Permissions;
import me.chancesd.pvpmanager.setting.Settings;
import me.chancesd.pvpmanager.setting.Conf;
import me.chancesd.pvpmanager.utils.ChatUtils;
import me.chancesd.pvpmanager.utils.CombatUtils;

Expand All @@ -41,7 +41,7 @@ public final boolean onCommand(final CommandSender sender, final Command command
return true;
} else if (args.length >= 1) {
final String subcommand = args[0];
if (Settings.isNewbieDisableAllowed() && subcommand.equalsIgnoreCase("disable") && sender instanceof final Player player) {
if (Conf.NEWBIE_ALLOW_DISABLE.asBool() && subcommand.equalsIgnoreCase("disable") && sender instanceof final Player player) {
final CombatPlayer combatPlayer = ph.get(player);
if (combatPlayer.isNewbie()) {
combatPlayer.setNewbie(false);
Expand Down
72 changes: 48 additions & 24 deletions pvpmanager/src/main/java/me/chancesd/pvpmanager/command/PM.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import java.util.concurrent.TimeUnit;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
Expand All @@ -31,7 +32,7 @@
import me.chancesd.pvpmanager.setting.Locale;
import me.chancesd.pvpmanager.setting.Lang;
import me.chancesd.pvpmanager.setting.Permissions;
import me.chancesd.pvpmanager.setting.Settings;
import me.chancesd.pvpmanager.setting.Conf;
import me.chancesd.pvpmanager.storage.DatabaseConfigBuilder.DatabaseType;
import me.chancesd.pvpmanager.storage.fields.UserDataFields;
import me.chancesd.pvpmanager.utils.ChatUtils;
Expand Down Expand Up @@ -60,8 +61,8 @@ public PM(final PvPManager plugin) {

@Override
public final boolean onCommand(final CommandSender sender, final Command cmd, final String label, final String[] args) {
if (args.length == 0 && sender.hasPermission("pvpmanager.menu")) {
Settings.helpMenu(sender);
if (args.length == 0 && Permissions.COMMAND_MENU.hasPerm(sender)) {
helpMenu(sender);
return true;
}
if (args.length == 1) {
Expand All @@ -81,7 +82,7 @@ public final boolean onCommand(final CommandSender sender, final Command cmd, fi
} else if (args[0].equalsIgnoreCase(CONVERT) && Permissions.ADMIN.hasPerm(sender)) {
convert(sender, args);
return true;
} else if (args[0].equalsIgnoreCase(DEBUG) && sender.hasPermission("pvpmanager.debug")) {
} else if (args[0].equalsIgnoreCase(DEBUG) && Permissions.COMMAND_DEBUG.hasPerm(sender)) {
debug(sender, args);
return true;
} else if (args[0].equalsIgnoreCase(LOCALE) && Permissions.ADMIN.hasPerm(sender)) {
Expand Down Expand Up @@ -172,56 +173,56 @@ private void convert(final CommandSender sender, final String[] args) {
private void debug(final CommandSender sender, final String[] args) {
CombatPlayer p = null;
if (args.length == 2 && sender instanceof final Player player) {
p = plugin.getPlayerHandler().get(player);
p = plugin.getPlayerManager().get(player);
}
if (args.length == 2 && args[1].equalsIgnoreCase("toggle")) {
Settings.setDEBUG(!Settings.isDebug());
Log.info("Debug mode: " + Settings.isDebug());
sender.sendMessage("Debug mode: " + Settings.isDebug());
Conf.setDebug(!Conf.DEBUG_MODE.asBool());
Log.info("Debug mode: " + Conf.DEBUG_MODE.asBool());
sender.sendMessage("Debug mode: " + Conf.DEBUG_MODE.asBool());
} else if (args.length == 2 && args[1].equalsIgnoreCase("damagedebug")) {
if (damageListener == null) {
sender.sendMessage("§4Warning §f- Some plugin features are disabled while in this mode");
sender.sendMessage("Enabling a damage listener for debugging, check the console for details on every entity hit");
sender.sendMessage("§cRun this command again §fafter you are done to disable debugging or reload the plugin");
Settings.setDEBUG(true);
damageListener = new DebugEntityListener(plugin.getPlayerHandler());
Conf.setDebug(true);
damageListener = new DebugEntityListener(plugin.getPlayerManager());
HandlerList.unregisterAll(plugin.getEntityListener());
Bukkit.getServer().getPluginManager().registerEvents(damageListener, plugin);
} else {
HandlerList.unregisterAll(damageListener);
Bukkit.getServer().getPluginManager().registerEvents(plugin.getEntityListener(), plugin);
damageListener = null;
Settings.setDEBUG(false);
Conf.setDebug(false);
sender.sendMessage("Debug damage listener disabled");
}
} else if (args[1].equalsIgnoreCase("tagall")) {
for (final CombatPlayer player : plugin.getPlayerHandler().getPlayers().values()) {
player.setTagged(true, player);
for (final CombatPlayer player : plugin.getPlayerManager().getPlayers().values()) {
player.tag(true, player);
}
sender.sendMessage("Tagged all players");
} else if (args.length == 3) {
if (!CombatUtils.isOnline(args[2])) {
sender.sendMessage("§4Player not online!");
return;
}
p = plugin.getPlayerHandler().get(Bukkit.getPlayer(args[2]));
p = plugin.getPlayerManager().get(Bukkit.getPlayer(args[2]));
}
if (p == null)
return;
if (args[1].equalsIgnoreCase("tag")) {
p.setTagged(true, p);
p.tag(true, p);
} else if (args[1].equalsIgnoreCase("attack")) {
plugin.getServer().getPluginManager()
.callEvent(new EntityDamageByEntityEvent(p.getPlayer(), p.getPlayer(), DamageCause.ENTITY_ATTACK,
DamageSource.builder(DamageType.PLAYER_ATTACK).build(), 5.0));
sender.sendMessage("Attacked player with 5 damage");
} else if (args[1].equalsIgnoreCase("players")) {
for (final CombatPlayer player : plugin.getPlayerHandler().getPlayers().values()) {
for (final CombatPlayer player : plugin.getPlayerManager().getPlayers().values()) {
if (!Bukkit.getOnlinePlayers().contains(player.getPlayer())) {
Log.info("UUID: " + player.getUUID() + " - Name: " + player.getName() + " - Metadata: " + player.getPlayer().hasMetadata("NPC"));
}
}
Log.info("Players: " + plugin.getPlayerHandler().getPlayers().size() + "/" + Bukkit.getOnlinePlayers().size());
Log.info("Players: " + plugin.getPlayerManager().getPlayers().size() + "/" + Bukkit.getOnlinePlayers().size());
}
}

Expand All @@ -244,7 +245,7 @@ private void locale(final CommandSender sender, final String[] args) {
return;
}

Settings.setLocale(locale.name());
Conf.LOCALE.set(locale.name());
changeConfigSetting("General.Locale", locale.name());
Lang.setup(plugin);
sender.sendMessage(Lang.PREFIXMSG + " §aLanguage changed to " + Lang.getLocale() + " - Filename: " + Lang.getLocale().fileName());
Expand All @@ -257,7 +258,7 @@ private void changeConfigSetting(final String path, final String value) {
}

private void reload(final CommandSender sender) {
if (!sender.hasPermission("pvpmanager.reload")) {
if (!Permissions.COMMAND_RELOAD.hasPerm(sender)) {
sender.sendMessage(Lang.ERROR_PERMISSION.msg());
return;
}
Expand All @@ -268,21 +269,21 @@ private void reload(final CommandSender sender) {

private void reload(final boolean silent) {
Log.setSilent(silent);
Settings.setReloading(true);
Settings.setUpdate(false);
plugin.setReloading(true);
plugin.getUpdateManager().setUpdateAvailable(false);
plugin.onDisable();
ScheduleUtils.cancelAllTasks();
HandlerList.unregisterAll(plugin);
plugin.onEnable();
Settings.setReloading(false);
plugin.setReloading(false);
if (silent)
Log.setSilent(false);
}

private void update(final CommandSender sender) {
if (Settings.isUpdateCheck()) {
if (Conf.CHECK_UPDATES.asBool()) {
final UpdateManager updateManager = plugin.getUpdateManager();
if (Settings.isUpdate()) {
if (updateManager.hasUpdateAvailable()) {
if (updateManager.getUpdater().downloadFile()) {
sender.sendMessage("§2Update Successful. On next restart you will have §e" + updateManager.getNewVersion());
} else {
Expand Down Expand Up @@ -310,4 +311,27 @@ public List<String> onTabComplete(final CommandSender sender, final Command comm
return Collections.emptyList();
}

public static void helpMenu(final CommandSender player) {
player.sendMessage(ChatColor.GOLD + "-------------- PvPManager Help Page --------------");
player.sendMessage(ChatColor.GOLD + "/pvp [player]" + helpSeparator() + ChatColor.WHITE + "Set PvP enabled or disabled");
player.sendMessage(ChatColor.GOLD + "/pvpinfo [player]" + helpSeparator() + ChatColor.WHITE + "Check your or other player info");
player.sendMessage(ChatColor.GOLD + "/pvplist [offline]" + helpSeparator() + ChatColor.WHITE + "List all online or offline players");
player.sendMessage(ChatColor.GOLD + "/pvpo " + helpSeparator() + ChatColor.WHITE + "Override all PvP protections");
player.sendMessage(ChatColor.GOLD + "/pvpstatus [player]" + helpSeparator() + ChatColor.WHITE + "Check your or other player PvP status");
player.sendMessage(ChatColor.GOLD + "/pvpglobal <on|off>" + helpSeparator() + ChatColor.WHITE + "Toggle PvP for the whole server");
player.sendMessage(ChatColor.GOLD + "/pvptag <player> <time>" + helpSeparator() + ChatColor.WHITE + "Check tag time left or tag a player");
player.sendMessage(ChatColor.GOLD + "/untag <player>" + helpSeparator() + ChatColor.WHITE + "Untags a player");
player.sendMessage(ChatColor.GOLD + "/newbie disable" + helpSeparator() + ChatColor.WHITE + "Disable newbie protection");
player.sendMessage(ChatColor.GOLD + "/pmr" + helpSeparator() + ChatColor.WHITE + "Shows this help page");
player.sendMessage(ChatColor.GOLD + "/pmr worlds" + helpSeparator() + ChatColor.WHITE + "Control panel to manage world PvP");
player.sendMessage(ChatColor.GOLD + "/pmr reload" + helpSeparator() + ChatColor.WHITE + "Reload PvPManager");
player.sendMessage(ChatColor.GOLD + "/pmr cleanup" + helpSeparator() + ChatColor.WHITE + "Cleanup inactive users from database");
player.sendMessage(ChatColor.GOLD + "/pmr update" + helpSeparator() + ChatColor.WHITE + "Update to latest version");
player.sendMessage(ChatColor.GOLD + "-------------------------------------------------");
}

private static String helpSeparator() {
return ChatColor.RED + " >> ";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import me.chancesd.pvpmanager.player.world.CombatWorld;
import me.chancesd.pvpmanager.setting.Lang;
import me.chancesd.pvpmanager.setting.Permissions;
import me.chancesd.pvpmanager.setting.Settings;
import me.chancesd.pvpmanager.setting.Conf;
import me.chancesd.pvpmanager.utils.ChatUtils;
import me.chancesd.pvpmanager.utils.CombatUtils;
import me.chancesd.pvpmanager.utils.TimeUtil;
Expand All @@ -33,7 +33,7 @@ public PvP(final PlayerManager playerHandler) {

@Override
public final boolean onCommand(final CommandSender sender, final Command cmd, final String label, final String[] args) {
if (!sender.hasPermission("pvpmanager.pvpstatus.change")) {
if (!Permissions.COMMAND_PVP_TOGGLE.hasPerm(sender)) {
sender.sendMessage(Lang.ERROR_PERMISSION.msg());
return true;
}
Expand Down Expand Up @@ -111,9 +111,9 @@ private void togglePvPAll(final CommandSender sender, final boolean state, final
}

public final boolean hasToggleCooldownPassed(final CombatPlayer player) {
if (!CombatUtils.hasTimePassed(player.getToggleTime(), Settings.getToggleCooldown())
if (!CombatUtils.hasTimePassed(player.getToggleTime(), Conf.TOGGLE_COOLDOWN.asInt())
&& !player.hasPerm(Permissions.EXEMPT_PVPTOGGLE_COOLDOWN)) {
final long timeLeft = CombatUtils.getTimeLeftMs(player.getToggleTime(), Settings.getToggleCooldown());
final long timeLeft = CombatUtils.getTimeLeftMs(player.getToggleTime(), Conf.TOGGLE_COOLDOWN.asInt());
player.message(Lang.ERROR_PVP_COOLDOWN.msg(TimeUtil.getDiffMsg(timeLeft)));
return false;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,22 @@
import com.google.common.collect.Lists;

import me.chancesd.pvpmanager.setting.Lang;
import me.chancesd.pvpmanager.setting.Settings;
import me.chancesd.pvpmanager.manager.PlayerManager;
import me.chancesd.pvpmanager.utils.ChatUtils;

public class PvPGlobal implements TabExecutor {

private final PlayerManager playerManager;

public PvPGlobal(final PlayerManager playerManager) {
this.playerManager = playerManager;
}

@Override
public final boolean onCommand(final CommandSender sender, final Command command, final String label, final String[] args) {
if (args.length == 1) {
final boolean status = args[0].equalsIgnoreCase("on");
Settings.setGlobalStatus(status);
playerManager.setGlobalStatus(status);
sender.sendMessage(Lang.PREFIXMSG + ChatColor.DARK_GREEN + "Server PvP was set to " + status);
return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public final boolean onCommand(final CommandSender sender, final Command cmd, fi
if (args.length == 0 && sender instanceof final Player player) {
sendInfo(sender, ph.get(player));
return true;
} else if (args.length == 1 && sender.hasPermission("pvpmanager.info.others")) {
} else if (args.length == 1 && Permissions.COMMAND_PVP_INFO_OTHERS.hasPerm(sender)) {
final String name = args[0];
Preconditions.checkNotNull(name);
if (CombatUtils.isOnline(name)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import me.chancesd.pvpmanager.manager.PlayerManager;
import me.chancesd.pvpmanager.player.CombatPlayer;
import me.chancesd.pvpmanager.setting.Lang;
import me.chancesd.pvpmanager.setting.Permissions;
import me.chancesd.pvpmanager.utils.CombatUtils;

public class PvPStatus implements CommandExecutor {
Expand All @@ -30,7 +31,7 @@ public final boolean onCommand(final CommandSender sender, final Command cmd, fi
}
pvpPlayer.message(Lang.SELF_STATUS_ENABLED);
return true;
} else if (args.length == 1 && sender.hasPermission("pvpmanager.pvpstatus.others")) {
} else if (args.length == 1 && Permissions.COMMAND_PVP_TOGGLE_OTHERS.hasPerm(sender)) {
final String name = args[0];
if (CombatUtils.isOnline(name)) {
target = ph.get(Bukkit.getPlayer(name));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import me.chancesd.pvpmanager.player.CombatPlayer;
import me.chancesd.pvpmanager.setting.Lang;
import me.chancesd.pvpmanager.setting.Permissions;
import me.chancesd.pvpmanager.setting.Settings;
import me.chancesd.pvpmanager.setting.Conf;
import me.chancesd.pvpmanager.utils.CombatUtils;
import me.chancesd.pvpmanager.utils.TimeUtil;

Expand All @@ -29,7 +29,7 @@ public final boolean onCommand(final CommandSender sender, final Command command
if (!pvPlayer.isInCombat()) {
pvPlayer.message(Lang.TAG_NOT_IN_COMBAT.msg());
} else {
final long timeLeft = pvPlayer.getTaggedTime() + Settings.getTimeInCombat() * 1000 - System.currentTimeMillis();
final long timeLeft = pvPlayer.getTaggedTime() + Conf.TIME_IN_COMBAT.asInt() * 1000 - System.currentTimeMillis();
pvPlayer.message(Lang.TAG_TIME_LEFT.msg(TimeUtil.getDiffMsg(timeLeft)));
}
return true;
Expand All @@ -38,7 +38,7 @@ public final boolean onCommand(final CommandSender sender, final Command command
if (!CombatUtils.isOnlineWithFeedback(sender, name))
return true;

tagPlayer(sender, name, Settings.getTimeInCombatMs());
tagPlayer(sender, name, Conf.TIME_IN_COMBAT.asInt() * 1000L);
return true;
} else if (args.length == 2 && Permissions.ADMIN.hasPerm(sender)) {
final String name = args[0];
Expand All @@ -61,7 +61,7 @@ private void tagPlayer(final CommandSender sender, final String name, final long
sender.sendMessage(Lang.PREFIXMSG + " §cThat player is already in combat");
return;
}
target.setTagged(true, target, time);
target.tag(true, target, time);
sender.sendMessage(Lang.PREFIXMSG + " " + target.getName() + " §2has been tagged for §e" + time / 1000 + " §2seconds");
}

Expand Down

0 comments on commit 0393690

Please sign in to comment.