From b7c1a46cbd82afd1b46c468c56ec3c8a9cb8a391 Mon Sep 17 00:00:00 2001 From: Robinson Gallego Date: Mon, 3 Feb 2020 23:54:37 -0500 Subject: [PATCH 1/6] show ip address on ban --- .../java/me/totalfreedom/totalfreedommod/banning/Ban.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java b/src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java index 9ee8d200..7007d905 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java @@ -171,7 +171,7 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable return hasExpiry() && expiryUnix < FUtil.getUnixTime(); } - public String bakeKickMessage() + public String bakeKickMessage(Player player) { final StringBuilder message = new StringBuilder(ChatColor.GOLD + "You"); @@ -203,6 +203,9 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable .append(DATE_FORMAT.format(FUtil.getUnixDate(expiryUnix))); } + message.append("\n").append(ChatColor.RED).append("IP Address: ").append(ChatColor.GOLD) + .append(FUtil.getFuzzyIp(Ips.getIp(player))); + return message.toString(); } From ee8eb30a9225d1d17f8223ecea4ee5e6942684fb Mon Sep 17 00:00:00 2001 From: Robinson Gallego Date: Mon, 3 Feb 2020 23:54:51 -0500 Subject: [PATCH 2/6] add current ip if online on gtfo --- .../me/totalfreedom/totalfreedommod/command/Command_gtfo.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java index 2d10256d..2cfa650a 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java @@ -56,7 +56,8 @@ public class Command_gtfo extends FreedomCommand { final PlayerData entry = plugin.pl.getData(player); username = player.getName(); - ips.addAll(entry.getIps()); + //ips.addAll(entry.getIps()); + ips.add(Ips.getIp(player)); // Deop player.setOp(false); From 1772164fa250a7db4827e91f22fe4b88087fbf63 Mon Sep 17 00:00:00 2001 From: Robinson Gallego Date: Mon, 3 Feb 2020 23:59:05 -0500 Subject: [PATCH 3/6] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 784444cb..a26fe5b4 100644 --- a/README.md +++ b/README.md @@ -8,3 +8,7 @@ This plugin was originally coded by StevenLawson (Madgeek1450), with Jerom van d Please see [CONTRIBUTING.md](CONTRIBUTING.md) if you are interested in developing TotalFreedomMod. For information on how TotalFreedomMod is licensed, please see [LICENSE.md](LICENSE.md). + +### Compiling ### + +You need Maven to build. You'd also need to set the JDK version to Java 8 as that is the current standard as of now. From 7fef35a7e20fbd6b68e49325ce7df62f532ce247 Mon Sep 17 00:00:00 2001 From: Robinson Gallego Date: Tue, 4 Feb 2020 00:02:16 -0500 Subject: [PATCH 4/6] ah so that's how it works. --- src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java b/src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java index 7007d905..fc470139 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java @@ -45,6 +45,7 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable @Getter @Setter private long expiryUnix = -1; + private Player player; public Ban() { @@ -171,7 +172,7 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable return hasExpiry() && expiryUnix < FUtil.getUnixTime(); } - public String bakeKickMessage(Player player) + public String bakeKickMessage() { final StringBuilder message = new StringBuilder(ChatColor.GOLD + "You"); From 046bebe54c3d35d115a8ac0edfda9de6eba7a730 Mon Sep 17 00:00:00 2001 From: Super_ Date: Wed, 5 Feb 2020 17:07:16 -0500 Subject: [PATCH 5/6] shop updates --- .../command/Command_manageshop.java | 65 ++++++++++++++++++- .../totalfreedommod/command/Command_shop.java | 8 ++- .../totalfreedommod/fun/ItemFun.java | 4 +- .../totalfreedommod/shop/ShopData.java | 14 ++++ 4 files changed, 84 insertions(+), 7 deletions(-) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_manageshop.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_manageshop.java index bc119e15..9549e075 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_manageshop.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_manageshop.java @@ -3,14 +3,16 @@ package me.totalfreedom.totalfreedommod.command; import me.totalfreedom.totalfreedommod.config.ConfigEntry; import me.totalfreedom.totalfreedommod.rank.Rank; import me.totalfreedom.totalfreedommod.shop.ShopData; +import me.totalfreedom.totalfreedommod.shop.ShopItem; import me.totalfreedom.totalfreedommod.util.FUtil; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @CommandPermissions(level = Rank.SENIOR_ADMIN, source = SourceType.BOTH) -@CommandParameters(description = "Manage the shop", usage = "/ >", aliases = "ms") +@CommandParameters(description = "Manage the shop", usage = "/ | items: >", aliases = "ms") public class Command_manageshop extends FreedomCommand { @Override @@ -21,9 +23,9 @@ public class Command_manageshop extends FreedomCommand msg("The shop is currently disabled!", ChatColor.RED); return true; } - if (!FUtil.isExecutive(sender.getName())) + if (!FUtil.isExecutive(sender.getName()) && !FUtil.isDeveloper(sender.getName())) { - msg("Only executives can use this command!", ChatColor.RED); + msg("Only executives and developers can use this command!", ChatColor.RED); return true; } final String prefix = FUtil.colorize(ConfigEntry.SHOP_PREFIX.getString() + " "); @@ -158,6 +160,63 @@ public class Command_manageshop extends FreedomCommand return true; } } + if (args[0].equalsIgnoreCase("items")) + { + switch (args[1]) + { + case "give": + { + Player player = Bukkit.getPlayer(args[2]); + if (player == null) + { + msg(FreedomCommand.PLAYER_NOT_FOUND); + return true; + } + ShopItem item = ShopItem.findItem(args[3]); + if (item == null) + { + msg("Invalid item: " + item); + return true; + } + ShopData sd = plugin.sh.getData(player); + if (sd.hasItem(item)) + { + msg("That player already has a(n) " + item.getName() + "!"); + return true; + } + String key = sd.giveItem(item); + plugin.sh.save(sd); + FUtil.give(player, item, ChatColor.DARK_GRAY + key); + msg(prefix + ChatColor.GREEN + "Gave " + ChatColor.RED + player.getName() + ChatColor.GREEN + " a(n) " + item.getColoredName()); + return true; + } + case "remove": + { + Player player = Bukkit.getPlayer(args[2]); + if (player == null) + { + msg(FreedomCommand.PLAYER_NOT_FOUND); + return true; + } + ShopItem item = ShopItem.findItem(args[3]); + if (item == null) + { + msg("Invalid item: " + item); + return true; + } + ShopData sd = plugin.sh.getData(player); + if (!sd.hasItem(item)) + { + msg("That player doesn't have a(n) " + item.getName() + "!"); + return true; + } + sd.takeItem(item); + plugin.sh.save(sd); + msg(prefix + ChatColor.GREEN + "Took " + ChatColor.RED + player.getName() + ChatColor.GREEN + "'s " + item.getColoredName()); + return true; + } + } + } } return false; } diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_shop.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_shop.java index c0e87e56..5b1b55e7 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_shop.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_shop.java @@ -76,6 +76,10 @@ public class Command_shop extends FreedomCommand msg(prefix + ChatColor.GREEN + "Available items:"); for (ShopItem item : ShopItem.values()) { + if (!item.isPurchaseable()) + { + continue; + } msg(prefix + ChatColor.AQUA + item.getName() + ChatColor.GREEN + " - " + ChatColor.RED + item.getCost()); } return true; @@ -133,14 +137,14 @@ public class Command_shop extends FreedomCommand case "get": { ShopItem item = ShopItem.findItem(args[1]); - if (item == null || !item.isPurchaseable()) + if (item == null) { msg("Invalid item: " + item); return true; } if (!sd.hasItem(item)) { - msg(prefix + ChatColor.GREEN + "You don't have that item! To buy iy, use " + ChatColor.RED + "/shop buy " + item.name() + ChatColor.GREEN + "!"); + msg(prefix + ChatColor.GREEN + "You don't have that item! To buy it, use " + ChatColor.RED + "/shop buy " + item.name() + ChatColor.GREEN + "!"); return true; } Inventory inv = playerSender.getInventory(); diff --git a/src/main/java/me/totalfreedom/totalfreedommod/fun/ItemFun.java b/src/main/java/me/totalfreedom/totalfreedommod/fun/ItemFun.java index 3c3cd2b4..35d08602 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/fun/ItemFun.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/fun/ItemFun.java @@ -366,13 +366,13 @@ public class ItemFun extends FreedomService } String key = psd.giveItem(ShopItem.SUPERIOR_SWORD); FUtil.bcastMsg("THOR'S STAR HAS GRANTED " + rplayer.getName().toUpperCase() + " A " + ChatColor.GOLD + "SUPERIOR SWORD" + ChatColor.RED + "!!!!", ChatColor.RED); - FUtil.give(player, ShopItem.SUPERIOR_SWORD, "&7RMB - Shoot fireball", ChatColor.DARK_GRAY + key); + FUtil.give(rplayer, ShopItem.SUPERIOR_SWORD, "&7RMB - Shoot fireball", ChatColor.DARK_GRAY + key); } else { String key = psd.giveItem(ShopItem.ELECTRICAL_DIAMOND_SWORD); FUtil.bcastMsg("Thor's Star has granted " + rplayer.getName() + " an " + ChatColor.YELLOW + "Electrical Diamond Sword" + ChatColor.RED + "!", ChatColor.RED); - FUtil.give(player, ShopItem.ELECTRICAL_DIAMOND_SWORD, "&7RMB - Strike lightning", ChatColor.DARK_GRAY + key); + FUtil.give(rplayer, ShopItem.ELECTRICAL_DIAMOND_SWORD, "&7RMB - Strike lightning", ChatColor.DARK_GRAY + key); } plugin.sh.save(psd); cooldown(player, "nether_star", 600); diff --git a/src/main/java/me/totalfreedom/totalfreedommod/shop/ShopData.java b/src/main/java/me/totalfreedom/totalfreedommod/shop/ShopData.java index ad13b341..3820a33a 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/shop/ShopData.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/shop/ShopData.java @@ -3,6 +3,7 @@ package me.totalfreedom.totalfreedommod.shop; import com.google.common.collect.Lists; import java.util.ArrayList; import java.util.Collections; +import java.util.Iterator; import java.util.List; import lombok.Getter; import lombok.Setter; @@ -222,6 +223,19 @@ public class ShopData implements ConfigLoadable, ConfigSavable, Validatable return true; } + public void takeItem(ShopItem item) + { + Iterator it = items.iterator(); + while (it.hasNext()) + { + String i = it.next(); + if (i.startsWith(item.ordinal() + "")) + { + it.remove(); + } + } + } + @Override public boolean isValid() { From 682145eb1349334aaf2f28754b0cea09576cb1ef Mon Sep 17 00:00:00 2001 From: Nathan Curran <30569566+Focusvity@users.noreply.github.com> Date: Thu, 6 Feb 2020 13:11:07 +1100 Subject: [PATCH 6/6] A better way to display the current IP (#186) a better dev did this --- .../java/me/totalfreedom/totalfreedommod/banning/Ban.java | 5 ++--- .../totalfreedom/totalfreedommod/banning/BanManager.java | 2 +- .../totalfreedommod/command/Command_glist.java | 7 ++++--- .../totalfreedom/totalfreedommod/command/Command_gtfo.java | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java b/src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java index fc470139..4b88657d 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/banning/Ban.java @@ -45,7 +45,6 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable @Getter @Setter private long expiryUnix = -1; - private Player player; public Ban() { @@ -172,7 +171,7 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable return hasExpiry() && expiryUnix < FUtil.getUnixTime(); } - public String bakeKickMessage() + public String bakeKickMessage(String ip) { final StringBuilder message = new StringBuilder(ChatColor.GOLD + "You"); @@ -205,7 +204,7 @@ public class Ban implements ConfigLoadable, ConfigSavable, Validatable } message.append("\n").append(ChatColor.RED).append("IP Address: ").append(ChatColor.GOLD) - .append(FUtil.getFuzzyIp(Ips.getIp(player))); + .append(ip); return message.toString(); } diff --git a/src/main/java/me/totalfreedom/totalfreedommod/banning/BanManager.java b/src/main/java/me/totalfreedom/totalfreedommod/banning/BanManager.java index 2d628bf4..35c9ac19 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/banning/BanManager.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/banning/BanManager.java @@ -246,7 +246,7 @@ public class BanManager extends FreedomService if (ban != null && !ban.isExpired()) { - event.disallow(PlayerLoginEvent.Result.KICK_OTHER, ban.bakeKickMessage()); + event.disallow(PlayerLoginEvent.Result.KICK_OTHER, ban.bakeKickMessage(ip)); } } diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_glist.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_glist.java index 862a9625..cc8b5c4e 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_glist.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_glist.java @@ -8,11 +8,12 @@ import me.totalfreedom.totalfreedommod.punishments.Punishment; import me.totalfreedom.totalfreedommod.punishments.PunishmentType; import me.totalfreedom.totalfreedommod.rank.Rank; import me.totalfreedom.totalfreedommod.util.FUtil; +import net.pravian.aero.util.Ips; import org.apache.commons.lang.StringUtils; +import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import org.bukkit.ChatColor; import static me.totalfreedom.totalfreedommod.util.FUtil.playerMsg; @@ -103,7 +104,7 @@ public class Command_glist extends FreedomCommand if (player != null) { - player.kickPlayer(playerBan.bakeKickMessage()); + player.kickPlayer(playerBan.bakeKickMessage(Ips.getIp(player))); } plugin.pul.logPunishment(new Punishment(username, ips.get(0), sender.getName(), PunishmentType.BAN, null)); @@ -148,7 +149,7 @@ public class Command_glist extends FreedomCommand if (player != null) { - player.kickPlayer(nameBan.bakeKickMessage()); + player.kickPlayer(nameBan.bakeKickMessage(Ips.getIp(player))); } return true; diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java index 2cfa650a..61b895d9 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java @@ -183,7 +183,7 @@ public class Command_gtfo extends FreedomCommand // Kick player and handle others on IP if (player != null) { - player.kickPlayer(ban.bakeKickMessage()); + player.kickPlayer(ban.bakeKickMessage(Ips.getIp(player))); for (Player p : Bukkit.getOnlinePlayers()) { if (Ips.getIp(p).equals(Ips.getIp(player)))