13.0
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class T2Ccmd {
|
||||
public static void console(String cmd) {
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd);
|
||||
}
|
||||
|
||||
public static void player(Player player, String cmd) {
|
||||
player.chat("/" + cmd);
|
||||
}
|
||||
}
|
@@ -0,0 +1,86 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class T2Ctab {
|
||||
public static void tab(List<String> matches, CommandSender sender, int arg, String[] args, String perm, Boolean onlinePlayer) {
|
||||
if (args.length != arg + 1) return;
|
||||
for (Player player1 : Bukkit.getOnlinePlayers()) {
|
||||
if (passend(player1.getName(), args[arg]) && hasPermission(sender, perm)) {
|
||||
matches.add(player1.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void tab(List<String> matches, CommandSender sender, int argEquals, String equalsValue, int arg, String[] args, String perm, Boolean onlinePlayer) {
|
||||
if (args.length != arg + 1) return;
|
||||
if (!args[argEquals].toLowerCase().equals(equalsValue)) return;
|
||||
for (Player player1 : Bukkit.getOnlinePlayers()) {
|
||||
if (passend(player1.getName(), args[arg]) && hasPermission(sender, perm)) {
|
||||
matches.add(player1.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void tab(List<String> matches, CommandSender sender, int arg, String[] args, HashMap<String, String> permMap, Boolean onlinePlayer, String permForPlayer) {
|
||||
if (args.length != arg + 1) return;
|
||||
for (String command : permMap.keySet()) {
|
||||
if (hasPermission(sender, permMap.get(command)) && passend(command, args[arg])) {
|
||||
matches.add(command);
|
||||
} else if (onlinePlayer != null && permForPlayer != null) {
|
||||
tab(matches, sender, arg, args, permForPlayer, onlinePlayer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void tab(List<String> matches, CommandSender sender, int arg, String[] args, HashMap<String, String> permMap) {
|
||||
tab(matches, sender, arg, args, permMap, null, null);
|
||||
}
|
||||
|
||||
public static void tab(List<String> matches, CommandSender sender, int argEquals, String equalsValue, int arg, String[] args, HashMap<String, String> permMap) {
|
||||
if (args.length != arg + 1) return;
|
||||
if (!args[argEquals].toLowerCase().equals(equalsValue)) return;
|
||||
for (String command : permMap.keySet()) {
|
||||
if (hasPermission(sender, permMap.get(command)) && passend(command, args[arg])) {
|
||||
matches.add(command);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static List<String> tab(CommandSender sender, int arg, String[] args, String perm, String command) {
|
||||
List<String> matches = new ArrayList<>();
|
||||
if (hasPermission(sender, perm) && passend(command, args[arg])) {
|
||||
matches.add(command);
|
||||
}
|
||||
return matches;
|
||||
}
|
||||
|
||||
public static Boolean passend(String command, String arg) {
|
||||
for (int i = 0; i < arg.toUpperCase().length(); i++) {
|
||||
if (arg.toUpperCase().length() >= command.toUpperCase().length()) {
|
||||
return false;
|
||||
} else {
|
||||
if (arg.toUpperCase().charAt(i) != command.toUpperCase().charAt(i)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean hasPermission(CommandSender sender, String permission) {
|
||||
String[] Permissions = permission.split(";");
|
||||
for (String perm : Permissions) {
|
||||
if (sender.hasPermission(perm)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
101
src/main/java/net/t2code/t2codelib/SPIGOT/api/eco/T2Ceco.java
Normal file
101
src/main/java/net/t2code/t2codelib/SPIGOT/api/eco/T2Ceco.java
Normal file
@@ -0,0 +1,101 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.eco;
|
||||
|
||||
import com.bencodez.votingplugin.VotingPluginMain;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||
import net.t2code.t2codelib.SPIGOT.api.plugins.T2CpluginCheck;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.languages.SelectLibMsg;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class T2Ceco {
|
||||
public static boolean moneyRemove(String prefix, Player player, Double price) {
|
||||
if (vault(prefix, player)) {
|
||||
return T2CodeLibMain.getEco().withdrawPlayer(player, price).transactionSuccess();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean moneyAdd(String prefix, Player player, Double price) {
|
||||
if (vault(prefix, player)) {
|
||||
return T2CodeLibMain.getEco().depositPlayer(player, price).transactionSuccess();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private static boolean vault(String prefix, Player player) {
|
||||
if (T2CodeLibMain.getEco() == null) {
|
||||
if (Bukkit.getPluginManager().getPlugin("Vault") == null) {
|
||||
T2Csend.console(prefix + " §4\n" + prefix + " §4Vault could not be found! §9Please download it here: " +
|
||||
"§6https://www.spigotmc.org/resources/vault.34315/§4\n" + prefix);
|
||||
}
|
||||
player.sendMessage(prefix + "\n" + SelectLibMsg.vaultNotSetUp + "\n" + prefix);
|
||||
return false;
|
||||
} else return true;
|
||||
}
|
||||
|
||||
public static boolean itemRemove(Player player, String item, int amount) {
|
||||
ItemStack itemStack = new ItemStack(Material.valueOf(item.toUpperCase()));
|
||||
boolean have = false;
|
||||
int anz = 0;
|
||||
for (int iam = 0; iam < player.getInventory().getSize(); iam++) {
|
||||
ItemStack itm = player.getInventory().getItem(iam);
|
||||
if (itm == null) continue;
|
||||
if (itm.getType() == itemStack.getType()) {
|
||||
anz = anz + itm.getAmount();
|
||||
}
|
||||
}
|
||||
if (anz >= amount) {
|
||||
player.getInventory().removeItem(new ItemStack(Material.valueOf(item), amount));
|
||||
have = true;
|
||||
}
|
||||
return have;
|
||||
}
|
||||
|
||||
public static boolean itemAdd(Player player, ItemStack itemStack, int amount) {
|
||||
boolean empty = false;
|
||||
for (int i = 0; i < player.getInventory().getSize() - 5; i++) {
|
||||
if (player.getInventory().getItem(i) == null) {
|
||||
empty = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < amount; i++) {
|
||||
if (empty) {
|
||||
player.getInventory().addItem(itemStack);
|
||||
} else {
|
||||
player.getLocation().getWorld().dropItem(player.getLocation(), itemStack);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean votePointsRemove(String prefix, Player player, Integer amount) {
|
||||
if (votePlugin(prefix, player)) {
|
||||
return VotingPluginMain.getPlugin().getVotingPluginUserManager().getVotingPluginUser(player).removePoints(amount);
|
||||
|
||||
} else return false;
|
||||
}
|
||||
|
||||
public static boolean votePointsAdd(String prefix, Player player, Integer amount) {
|
||||
if (votePlugin(prefix, player)) {
|
||||
Bukkit.getScheduler().runTaskAsynchronously(T2CodeLibMain.getPlugin(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
VotingPluginMain.getPlugin().getVotingPluginUserManager().getVotingPluginUser(player).addPoints(amount);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
} else return false;
|
||||
}
|
||||
|
||||
private static boolean votePlugin(String prefix, Player player) {
|
||||
if (T2CpluginCheck.votingPlugin()) return true;
|
||||
T2Csend.console(prefix + " §4\n" + prefix + " §4VotingPlugin could not be found! §9Please download it here: " +
|
||||
"§6https://www.spigotmc.org/resources/votingplugin.15358/§4\n" + prefix);
|
||||
player.sendMessage(prefix + "\n" + SelectLibMsg.votingPluginNotSetUp + "\n" + prefix);
|
||||
return false;
|
||||
}
|
||||
}
|
@@ -0,0 +1,76 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.items;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2CmcVersion;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class T2CitemVersion {
|
||||
private static Material Head;
|
||||
private static ItemStack HeadIS;
|
||||
private static ItemStack CRAFTING_TABLE;
|
||||
private static ItemStack YELLOW_WOOL;
|
||||
private static ItemStack ORANGE_WOOL;
|
||||
private static ItemStack GREEN_WOOL;
|
||||
private static ItemStack GRAY_WOOL;
|
||||
private static ItemStack RED_WOOL;
|
||||
private static ItemStack RED_STAINED_GLASS_PANE;
|
||||
|
||||
public void scan() {
|
||||
if (T2CmcVersion.isMc1_8() || T2CmcVersion.isMc1_9() || T2CmcVersion.isMc1_10() || T2CmcVersion.isMc1_11() || T2CmcVersion.isMc1_12()) {
|
||||
Head = Material.valueOf("SKULL_ITEM");
|
||||
YELLOW_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 4);
|
||||
ORANGE_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 1);
|
||||
GREEN_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 5);
|
||||
GRAY_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 8);
|
||||
RED_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 14);
|
||||
RED_STAINED_GLASS_PANE = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, (short) 14);
|
||||
CRAFTING_TABLE = new ItemStack(Material.valueOf("WORKBENCH"));
|
||||
} else {
|
||||
Head = Material.valueOf("PLAYER_HEAD");
|
||||
CRAFTING_TABLE = new ItemStack(Material.CRAFTING_TABLE);
|
||||
YELLOW_WOOL = new ItemStack(Material.YELLOW_WOOL);
|
||||
ORANGE_WOOL = new ItemStack(Material.ORANGE_WOOL);
|
||||
GREEN_WOOL = new ItemStack(Material.GREEN_WOOL);
|
||||
GRAY_WOOL = new ItemStack(Material.GRAY_WOOL);
|
||||
RED_WOOL = new ItemStack(Material.RED_WOOL);
|
||||
RED_STAINED_GLASS_PANE = new ItemStack(Material.RED_STAINED_GLASS_PANE);
|
||||
}
|
||||
HeadIS = new ItemStack(Head, 1, (byte) 3);
|
||||
}
|
||||
|
||||
public static Material getHead() {
|
||||
return Head;
|
||||
}
|
||||
|
||||
public static ItemStack getHeadIS() {
|
||||
return HeadIS;
|
||||
}
|
||||
|
||||
public static ItemStack getCraftingTable() {
|
||||
return CRAFTING_TABLE;
|
||||
}
|
||||
|
||||
public static ItemStack getYellowWool() {
|
||||
return YELLOW_WOOL;
|
||||
}
|
||||
|
||||
public static ItemStack getOrangeWool() {
|
||||
return ORANGE_WOOL;
|
||||
}
|
||||
|
||||
public static ItemStack getGreenWool() {
|
||||
return GREEN_WOOL;
|
||||
}
|
||||
|
||||
public static ItemStack getGrayWool() {
|
||||
return GRAY_WOOL;
|
||||
}
|
||||
|
||||
public static ItemStack getRedWool() {
|
||||
return RED_WOOL;
|
||||
}
|
||||
|
||||
public static ItemStack getRedStainedGlassPane() {
|
||||
return RED_STAINED_GLASS_PANE;
|
||||
}
|
||||
}
|
@@ -0,0 +1,58 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import net.md_5.bungee.api.chat.ClickEvent;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class T2ChoverModule {
|
||||
|
||||
public static void modulePlayer(String text, String hover, String action, String actionValue, Player player) {
|
||||
modulePlayer((text != null ? text : "null") + "/*/" + (hover != null ? hover : "null") + "/*/" + (action != null ? action : "null")
|
||||
+ "/*/" + (actionValue != null ? actionValue : "null"), player);
|
||||
}
|
||||
|
||||
public static void modulePlayer(String msg, Player player) {
|
||||
if (msg.contains("/*/")) {
|
||||
t2cmodule(msg, player);
|
||||
return;
|
||||
}
|
||||
T2CminiMessage.miniMessage(msg, player);
|
||||
}
|
||||
|
||||
public static void moduleSender(String msg, CommandSender sender) {
|
||||
T2CminiMessage.miniMessage(msg, sender);
|
||||
}
|
||||
|
||||
public static void moduleConsole(String msg) {
|
||||
if (T2CodeLibMain.getNmIsLoad()) {
|
||||
T2CminiMessage.sendMiniMessage(msg);
|
||||
return;
|
||||
}
|
||||
Bukkit.getConsoleSender().sendMessage(msg);
|
||||
}
|
||||
|
||||
private static void t2cmodule(String msg, Player player) {
|
||||
String[] split = msg.split("/\\*/");
|
||||
int i = split.length;
|
||||
String text = null;
|
||||
String hover = null;
|
||||
String action = null;
|
||||
String actionValue = null;
|
||||
if (i > 0) text = split[0];
|
||||
if (i > 1) hover = split[1];
|
||||
if (i > 2) action = split[2];
|
||||
if (i > 3) actionValue = split[3];
|
||||
|
||||
T2CtextBuilder textBuilder = new T2CtextBuilder(text);
|
||||
if (hover != null && !hover.equals("null")) {
|
||||
textBuilder.addHover(hover);
|
||||
}
|
||||
|
||||
if (action != null && actionValue != null && !action.equals("null") && !actionValue.equals("null")) {
|
||||
textBuilder.addClickEvent(ClickEvent.Action.valueOf(action.toUpperCase()), actionValue);
|
||||
}
|
||||
player.spigot().sendMessage(textBuilder.build());
|
||||
}
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class T2CminiMessage {
|
||||
|
||||
public static void miniMessage(String msg, CommandSender sender) {
|
||||
T2CodeLibMain.adventure().sender(sender).sendMessage(replace(msg));
|
||||
}
|
||||
|
||||
public static void sendMiniMessage(String msg) {
|
||||
T2CodeLibMain.adventure().console().sendMessage(replace(msg));
|
||||
}
|
||||
public static void miniMessage(String msg, Player player){
|
||||
T2CodeLibMain.adventure().player(player).sendMessage(replace(msg));
|
||||
}
|
||||
|
||||
protected static Component replace(String text){
|
||||
return MiniMessage.miniMessage().deserialize(T2Creplace.convertColorCode(text));
|
||||
}
|
||||
}
|
@@ -0,0 +1,143 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class T2Creplace {
|
||||
|
||||
public static String replace(String prefix, String Text) {
|
||||
|
||||
return replaceLegacyColor(Text).replace("[prefix]", prefix).replace("[ue]", "ü")
|
||||
.replace("[UE]", "Ü").replace("[oe]", "ö").replace("[OE]", "Ö")
|
||||
.replace("[ae]", "ä").replace("[AE]", "Ä").replace("[nl]", "\n");
|
||||
}
|
||||
|
||||
public static String replace(String prefix, Player player, String Text) {
|
||||
return replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, Text.replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
|
||||
.replace("[nl]", "\n")));
|
||||
}
|
||||
|
||||
public static List<String> replace(String prefix, List<String> Text) {
|
||||
List<String> output = new ArrayList<>();
|
||||
for (String input : Text) {
|
||||
output.add(replaceLegacyColor(input).replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
|
||||
.replace("[nl]", "\n"));
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
public static List<String> replace(String prefix, Player player, List<String> Text) {
|
||||
List<String> output = new ArrayList();
|
||||
if (player == null) {
|
||||
return Collections.singletonList("player is null");
|
||||
}
|
||||
if (Text == null) {
|
||||
return Collections.singletonList("Text is null");
|
||||
}
|
||||
for (String input : Text) {
|
||||
output.add(PlaceholderAPI.setPlaceholders(player, replaceLegacyColor(input).replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
|
||||
.replace("[nl]", "\n")));
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
public static List<String> replacePrice(String prefix, List<String> Text, String price) {
|
||||
List<String> rp = new ArrayList();
|
||||
for (String s : Text) {
|
||||
rp.add(replaceLegacyColor(s).replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
|
||||
.replace("[nl]", "\n").replace("[price]", String.valueOf(price)));
|
||||
}
|
||||
return rp;
|
||||
}
|
||||
|
||||
public static String removeColorCode(String value) {
|
||||
return value.replace("&0", "").replace("&1", "").replace("&2", "").replace("&3", "")
|
||||
.replace("&4", "").replace("&5", "").replace("&6", "").replace("&7", "")
|
||||
.replace("&8", "").replace("&9", "").replace("&a", "").replace("&b", "")
|
||||
.replace("&c", "").replace("&d", "").replace("&e", "").replace("&f", "")
|
||||
.replace("&k", "").replace("&l", "").replace("&m", "").replace("&n", "")
|
||||
.replace("&o", "").replace("&r", "");
|
||||
// String text = value.replace("&", "§");
|
||||
// while (text.contains("§")) {
|
||||
// int stelle = text.indexOf("§");
|
||||
// if (text.length() >= stelle + 2) {
|
||||
// text = text.substring(0, stelle) + text.substring(stelle + 2);
|
||||
// } else {
|
||||
// text = text.substring(0, stelle) + text.substring(stelle + 1);
|
||||
// }
|
||||
// }
|
||||
// return (text);
|
||||
}
|
||||
|
||||
public static List<String> replacePrice(String prefix, Player player, List<String> Text, String price) {
|
||||
List<String> rp = new ArrayList();
|
||||
for (String s : Text) {
|
||||
rp.add(replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, s.replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä").replace("[nl]", "\n")
|
||||
.replace("[price]", String.valueOf(price)))));
|
||||
}
|
||||
return rp;
|
||||
}
|
||||
|
||||
public static String replacePrice(String prefix, String Text, String price) {
|
||||
return replaceLegacyColor(Text).replace("[prefix]", prefix)
|
||||
.replace("&o", "§o").replace("&r", "§r").replace("[ue]", "ü")
|
||||
.replace("[UE]", "Ü").replace("[oe]", "ö").replace("[OE]", "Ö")
|
||||
.replace("[ae]", "ä").replace("[AE]", "Ä").replace("[price]", String.valueOf(price))
|
||||
.replace("[nl]", "\n");
|
||||
}
|
||||
|
||||
public static String replacePrice(String prefix, Player player, String Text, String price) {
|
||||
return replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, Text.replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
|
||||
.replace("[price]", String.valueOf(price)).replace("[nl]", "\n")));
|
||||
}
|
||||
|
||||
public static String replaceLegacyColor(String text) {
|
||||
return text.replace("&0", "§0").replace("&1", "§1").replace("&2", "§2").replace("&3", "§3")
|
||||
.replace("&4", "§4").replace("&5", "§5").replace("&6", "§6").replace("&7", "§7")
|
||||
.replace("&8", "§8").replace("&9", "§9").replace("&a", "§a").replace("&b", "§b")
|
||||
.replace("&c", "§c").replace("&d", "§d").replace("&e", "§e").replace("&f", "§f")
|
||||
.replace("&k", "§k").replace("&l", "§l").replace("&m", "§m").replace("&n", "§n")
|
||||
.replace("&o", "§o").replace("&r", "§r");
|
||||
}
|
||||
|
||||
public static String convertColorCode(String text) {
|
||||
return text.replace("&0", "<black>").replace("§0", "<black>")
|
||||
.replace("&1", "<dark_blue>").replace("§1", "<dark_blue>")
|
||||
.replace("&2", "<dark_green>").replace("§2", "<dark_green>")
|
||||
.replace("&3", "<dark_aqua>").replace("§3", "<dark_aqua>")
|
||||
.replace("&4", "<dark_red>").replace("§4", "<dark_red>")
|
||||
.replace("&5", "<dark_purple>").replace("§5", "<dark_purple>")
|
||||
.replace("&6", "<gold>").replace("§6", "<gold>")
|
||||
.replace("&7", "<gray>").replace("§7", "<gray>")
|
||||
.replace("&8", "<dark_gray>").replace("§8", "<dark_gray>")
|
||||
.replace("&9", "<blue>").replace("§9", "<blue>")
|
||||
.replace("&a", "<green>").replace("§a", "<green>")
|
||||
.replace("&b", "<aqua>").replace("§b", "<aqua>")
|
||||
.replace("&c", "<red>").replace("§c", "<red>")
|
||||
.replace("&d", "<light_purple>").replace("§d", "<light_purple>")
|
||||
.replace("&e", "<yellow>").replace("§e", "<yellow>")
|
||||
.replace("&f", "<white>").replace("§f", "<white>")
|
||||
.replace("&k", "<obfuscated>").replace("§k", "<obfuscated>")
|
||||
.replace("&l", "<bold>").replace("§l", "<bold>")
|
||||
.replace("&m", "<strikethrough>").replace("§m", "<strikethrough>")
|
||||
.replace("&n", "<underlined>").replace("§n", "<underlined>")
|
||||
.replace("&o", "<italic>").replace("§o", "<italic>")
|
||||
.replace("&r", "<reset>").replace("§r", "<reset>");
|
||||
}
|
||||
}
|
@@ -0,0 +1,71 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class T2Csend {
|
||||
|
||||
/**
|
||||
* Spigot
|
||||
*/
|
||||
|
||||
public static void console(String msg) {
|
||||
if (msg == null || msg.contains("[empty]")) return;
|
||||
T2ChoverModule.moduleConsole(msg);
|
||||
}
|
||||
|
||||
public static void player(Player player, String msg) {
|
||||
if (msg == null || msg.contains("[empty]")) return;
|
||||
T2ChoverModule.modulePlayer(msg, player);
|
||||
}
|
||||
|
||||
public static void title(Player player, @Nullable String title, @Nullable String subtitle) {
|
||||
player.sendTitle(title, subtitle);
|
||||
}
|
||||
|
||||
public static void title(Player player, @Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut) {
|
||||
player.sendTitle(title, subtitle, fadeIn, stay, fadeOut);
|
||||
}
|
||||
|
||||
public static void sender(CommandSender sender, String msg) {
|
||||
if (msg == null || msg.contains("[empty]")) return;
|
||||
T2ChoverModule.moduleSender(msg, sender);
|
||||
}
|
||||
|
||||
public static void debug(Plugin plugin, String msg) {
|
||||
debug(plugin, msg, null);
|
||||
}
|
||||
|
||||
public static void debug(Plugin plugin, String msg, Integer stage) {
|
||||
// if (!new File(Main.getPath(), "config.yml").exists()) return;
|
||||
if (stage == null) {
|
||||
if (plugin.getConfig().getBoolean("Plugin.Debug"))
|
||||
Bukkit.getConsoleSender().sendMessage(plugin.getDescription().getPrefix() + " §5DEBUG: §6" + msg);
|
||||
return;
|
||||
}
|
||||
if (plugin.getConfig().getInt("Plugin.Debug") >= stage)
|
||||
Bukkit.getConsoleSender().sendMessage(plugin.getDescription().getPrefix() + " §5DEBUG: §6" + msg);
|
||||
}
|
||||
|
||||
public static void debugmsg(Plugin plugin, String msg) {
|
||||
warning(plugin,"");
|
||||
Bukkit.getConsoleSender().sendMessage("§e[" + plugin.getDescription().getPrefix() + "] §5DEBUG-MSG: §6" + msg);
|
||||
}
|
||||
|
||||
public static void info(Plugin plugin, String msg) {
|
||||
plugin.getLogger().log(Level.INFO, msg);
|
||||
}
|
||||
|
||||
public static void warning(Plugin plugin, String msg) {
|
||||
plugin.getLogger().log(Level.WARNING, msg);
|
||||
}
|
||||
|
||||
public static void error(Plugin plugin, String msg) {
|
||||
plugin.getLogger().log(Level.SEVERE, msg);
|
||||
}
|
||||
}
|
@@ -0,0 +1,119 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.update.T2CupdateAPI;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class T2Ctemplate {
|
||||
public static Long onLoadHeader(String prefix, List<String> autor, String version, String spigot, String discord) {
|
||||
return onLoadHeader(prefix, autor, version, spigot, discord, null, null);
|
||||
}
|
||||
|
||||
public static Long onLoadHeader(String prefix, List<String> autor, String version, String spigot, String discord, Boolean isPremium) {
|
||||
return onLoadHeader(prefix, autor, version, spigot, discord, isPremium, null);
|
||||
}
|
||||
|
||||
public static Long onLoadHeader(String prefix, List<String> autor, String version, String spigot, String discord, Boolean isPremium, Boolean isVerify) {
|
||||
Long long_ = System.currentTimeMillis();
|
||||
T2Csend.console("[prefix] <dark_red> _______ </dark_red><gray>___ </gray><dark_red>_____ </dark_red>");
|
||||
T2Csend.console("[prefix] <dark_red> |__ __|</dark_red><gray>__ \\ </gray><dark_red>/ ____|</dark_red>");
|
||||
T2Csend.console("[prefix] <dark_red> | | </dark_red><gray> ) </gray><dark_red>| | </dark_red>");
|
||||
T2Csend.console("[prefix] <dark_red> | | </dark_red><gray> / /</gray><dark_red>| | </dark_red>");
|
||||
T2Csend.console("[prefix] <dark_red> | | </dark_red><gray>/ /_</gray><dark_red>| |____ </dark_red>");
|
||||
T2Csend.console("[prefix] <dark_red> |_| </dark_red><gray>|____|</gray><dark_red>\\_____|</dark_red>");
|
||||
T2Csend.console(prefix + " §4 §e------------------");
|
||||
T2Csend.console(prefix + " §4 §e| §2Autor: §6" + String.valueOf(autor).replace("[", "").replace("]", ""));
|
||||
T2Csend.console(prefix + " §4 §e| §2Version: §6" + version);
|
||||
T2Csend.console(prefix + " §4 §e| §2Spigot: §6" + spigot);
|
||||
T2Csend.console(prefix + " §4 §e| §2Discord: §6" + discord);
|
||||
if (isPremium != null) {
|
||||
if (isPremium) {
|
||||
T2Csend.console(prefix + " §4 §e| §6Premium: §2true");
|
||||
} else T2Csend.console(prefix + " §4 §e| §6Premium: §4false");
|
||||
if (isVerify != null) {
|
||||
if (isVerify) {
|
||||
T2Csend.console(prefix + " §4 §e| §6Verify: §2true");
|
||||
} else T2Csend.console(prefix + " §4 §e| §6Verify: §4false");
|
||||
} else T2Csend.console(prefix + " §4 §e| §6Verify: §4false");
|
||||
}
|
||||
|
||||
T2Csend.console(prefix + " §4 §e-------------------");
|
||||
if (version.toLowerCase().contains("dev") || version.toLowerCase().contains("snapshot") || version.toLowerCase().contains("beta")) {
|
||||
T2Csend.console(prefix + " §eYou are running §4" + version + " §eof " + prefix + "§e! Some features may not be working as expected. Please report all" +
|
||||
" bugs here: http://dc.t2code.net §4UpdateChecker & bStats may be disabled!");
|
||||
T2Csend.console(prefix + " §4 §e-------------------");
|
||||
try {
|
||||
Thread.sleep(5000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return long_;
|
||||
}
|
||||
|
||||
public static Long onLoadHeader(String prefix) {
|
||||
Long long_ = System.currentTimeMillis();
|
||||
T2Csend.console(prefix + "§4===================== " + prefix + " §4=====================");
|
||||
return long_;
|
||||
}
|
||||
|
||||
public static void onLoadSeparateStroke(String prefix) {
|
||||
T2Csend.console(prefix + " §8-------------------------------");
|
||||
}
|
||||
|
||||
public static void onLoadFooter(String prefix, Long long_, String version) {
|
||||
onLoadSeparateStroke(prefix);
|
||||
T2Csend.console(prefix + " §2Plugin loaded successfully." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
}
|
||||
|
||||
public static void onLoadFooter(String prefix, Long long_) {
|
||||
onLoadSeparateStroke(prefix);
|
||||
T2Csend.console(prefix + " §2Plugin loaded successfully." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
}
|
||||
|
||||
public static void onDisable(String prefix, List<String> autor, String version, String spigot, String discord) {
|
||||
T2Csend.console(prefix + " §2Version: §6" + version);
|
||||
T2Csend.console(prefix + " §4Plugin successfully disabled.");
|
||||
}
|
||||
|
||||
public static void sendInfo(CommandSender sender, Plugin plugin, int spigotID, String discord, Boolean premiumVerified, String text) {
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
String publicVersion = T2CupdateAPI.pluginVersions.get(plugin.getName()).publicVersion;
|
||||
boolean update = !publicVersion.equalsIgnoreCase(pluginVersion);
|
||||
boolean player = sender instanceof Player;
|
||||
|
||||
String stPlugin = "<dark_red>|</dark_red> <yellow>Plugin:</yellow> <gold>[pl]</gold>".replace("[pl]", plugin.getName());
|
||||
String stVersion = "<dark_red>|</dark_red> <yellow>Version:</yellow> <gold>[ver]</gold>".replace("[ver]", pluginVersion);
|
||||
String stAutor = "<dark_red>|</dark_red> <yellow>Autor(s):</yellow> <gold>[autor]</gold>".replace("[autor]", plugin.getDescription().getAuthors().toString());
|
||||
String stNVersion = "<dark_red>|</dark_red> <yellow>Newest Version:</yellow> <gold>[nver]</gold>".replace("[nver]", publicVersion);
|
||||
String stStable = "<dark_red>|</dark_red> <yellow>Stable version available:</yellow> [up]".replace("[up]", update ? "<dark_green>YES</dark_green>" : "<red>no</red>");
|
||||
String stLinkPlayer = "<dark_red>|</dark_red> <yellow><hover:show_text:'<green>Go to the Spigot page</green>'><click:open_url:'[slink]'>Spigot</click></hover></yellow> "
|
||||
.replace("[slink]", "https://www.spigotmc.org/resources/" + spigotID)
|
||||
+ "<dark_red>-</dark_red> <dark_purple><hover:show_text:'<green>Go to the T2Code Support Discord</green>'><click:open_url:'[dlink]'>Discord</click></hover></dark_purple>"
|
||||
.replace("[dlink]", discord);
|
||||
String stLinkConsole = "<dark_red>|</dark_red> <yellow>Spigot:</yellow> <gold>https://www.spigotmc.org/resources/" + spigotID + "</gold>"
|
||||
+ "<br><dark_red>|</dark_red> <yellow>Discord:</yellow> <gold>" + discord + "</gold>";
|
||||
String stLink = player ? stLinkPlayer : stLinkConsole;
|
||||
String pr = premiumVerified != null ? "<br><dark_red>|</dark_red> <yellow>Premium verified:</yellow> [pr]".replace("[pr]", premiumVerified ? "<dark_green>YES</dark_green>" : "<red>NO</red>") : "";
|
||||
|
||||
String stMSG = text != null ? "<br><dark_red>|</dark_red> " + text + "<br>" : "";
|
||||
T2Csend.sender(sender, "<dark_red>_____________________</dark_red>"
|
||||
+ "<br>" + stPlugin
|
||||
+ stMSG
|
||||
+ "<br>" + stVersion
|
||||
+ "<br>" + stAutor
|
||||
+ "<br>" + stNVersion
|
||||
+ "<br>" + stStable
|
||||
+ "<br>" + stLink
|
||||
+ pr
|
||||
+ "<br><dark_red>_____________________</dark_red>");
|
||||
}
|
||||
|
||||
public static void sendInfo(CommandSender sender, Plugin plugin, int spigotID, String discord, String text) {
|
||||
sendInfo(sender, plugin, spigotID, discord, null, text);
|
||||
}
|
||||
}
|
@@ -0,0 +1,46 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import net.md_5.bungee.api.chat.ClickEvent;
|
||||
import net.md_5.bungee.api.chat.ComponentBuilder;
|
||||
import net.md_5.bungee.api.chat.HoverEvent;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
|
||||
public class T2CtextBuilder {
|
||||
|
||||
private final String text;
|
||||
private String hover;
|
||||
private String click;
|
||||
private ClickEvent.Action action;
|
||||
|
||||
public T2CtextBuilder(String text) {
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
public T2CtextBuilder addHover(String hover) {
|
||||
this.hover = hover;
|
||||
return this;
|
||||
}
|
||||
|
||||
public T2CtextBuilder addClickEvent(ClickEvent.Action clickEventAction, String value) {
|
||||
this.action = clickEventAction;
|
||||
this.click = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TextComponent build() {
|
||||
if (this.text.contains("[empty]")) return null;
|
||||
TextComponent textComponent = new TextComponent();
|
||||
textComponent.setText(this.text);
|
||||
if (this.hover != null) {
|
||||
textComponent.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder(this.hover).create()));
|
||||
}
|
||||
if (this.click != null && (this.action != null)) {
|
||||
textComponent.setClickEvent(new ClickEvent(action, this.click));
|
||||
}
|
||||
return textComponent;
|
||||
}
|
||||
|
||||
public enum ClickEventType {
|
||||
OPEN_URL, OPEN_FILE, RUN_COMMAND, SUGGEST_COMMAND, CHANGE_PAGE, COPY_TO_CLIPBOARD
|
||||
}
|
||||
}
|
@@ -0,0 +1,234 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.minecraftVersion;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
public class T2CmcVersion {
|
||||
|
||||
public static void onCheck() {
|
||||
mcVersion = Bukkit.getServer().getVersion();
|
||||
bukkitVersion = Bukkit.getServer().getBukkitVersion();
|
||||
nms = Bukkit.getServer().getClass().getPackage().getName();
|
||||
mc1_8 = nms.contains("1_8");
|
||||
mc1_9 = nms.contains("1_9");
|
||||
mc1_10 = nms.contains("1_10");
|
||||
mc1_11 = nms.contains("1_11");
|
||||
mc1_12 = nms.contains("1_12");
|
||||
mc1_13 = nms.contains("1_13");
|
||||
mc1_14 = nms.contains("1_14");
|
||||
mc1_15 = nms.contains("1_15");
|
||||
mc1_16 = nms.contains("1_16");
|
||||
mc1_17 = nms.contains("1_17");
|
||||
mc1_18 = nms.contains("1_18");
|
||||
mc1_19 = nms.contains("1_19");
|
||||
mc1_20 = nms.contains("1_20");
|
||||
|
||||
nms1_8_R1 = nms.contains("1_8_R1");
|
||||
nms1_8_R2 = nms.contains("1_8_R2");
|
||||
nms1_8_R3 = nms.contains("1_8_R3");
|
||||
nms1_9_R1 = nms.contains("1_9_R1");
|
||||
nms1_9_R2 = nms.contains("1_9_R2");
|
||||
nms1_10_R1 = nms.contains("1_10_R1");
|
||||
nms1_11_R1 = nms.contains("1_11_R1");
|
||||
nms1_12_R1 = nms.contains("1_12_R1");
|
||||
nms1_13_R1 = nms.contains("1_13_R1");
|
||||
nms1_13_R2 = nms.contains("1_13_R2");
|
||||
nms1_14_R1 = nms.contains("1_14_R1");
|
||||
nms1_15_R1 = nms.contains("1_15_R1");
|
||||
nms1_16_R1 = nms.contains("1_16_R1");
|
||||
nms1_16_R2 = nms.contains("1_16_R2");
|
||||
nms1_16_R3 = nms.contains("1_16_R3");
|
||||
nms1_17_R1 = nms.contains("1_17_R1");
|
||||
nms1_18_R1 = nms.contains("1_18_R1");
|
||||
nms1_18_R2 = nms.contains("1_18_R2");
|
||||
nms1_19_R1 = nms.contains("1_19_R1");
|
||||
nms1_19_R2 = nms.contains("1_19_R2");
|
||||
nms1_20_R1 = nms.contains("1_20_R1");
|
||||
}
|
||||
|
||||
private static String mcVersion;
|
||||
private static String bukkitVersion;
|
||||
private static boolean mc1_8;
|
||||
private static boolean mc1_9;
|
||||
private static boolean mc1_10;
|
||||
private static boolean mc1_11;
|
||||
private static boolean mc1_12;
|
||||
private static boolean mc1_13;
|
||||
private static boolean mc1_14;
|
||||
private static boolean mc1_15;
|
||||
private static boolean mc1_16;
|
||||
private static boolean mc1_17;
|
||||
private static boolean mc1_18;
|
||||
private static boolean mc1_19;
|
||||
private static boolean mc1_20;
|
||||
|
||||
private static String nms;
|
||||
private static boolean nms1_8_R1;
|
||||
private static boolean nms1_8_R2;
|
||||
private static boolean nms1_8_R3;
|
||||
private static boolean nms1_9_R1;
|
||||
private static boolean nms1_9_R2;
|
||||
private static boolean nms1_10_R1;
|
||||
private static boolean nms1_11_R1;
|
||||
private static boolean nms1_12_R1;
|
||||
private static boolean nms1_13_R1;
|
||||
private static boolean nms1_13_R2;
|
||||
private static boolean nms1_14_R1;
|
||||
private static boolean nms1_15_R1;
|
||||
private static boolean nms1_16_R1;
|
||||
private static boolean nms1_16_R2;
|
||||
private static boolean nms1_16_R3;
|
||||
private static boolean nms1_17_R1;
|
||||
private static boolean nms1_18_R1;
|
||||
private static boolean nms1_18_R2;
|
||||
private static boolean nms1_19_R1;
|
||||
private static boolean nms1_19_R2;
|
||||
private static boolean nms1_20_R1;
|
||||
|
||||
public static String getMcVersion() {
|
||||
return mcVersion;
|
||||
}
|
||||
|
||||
public static String getBukkitVersion() {
|
||||
return bukkitVersion;
|
||||
}
|
||||
|
||||
public static boolean isMc1_8() {
|
||||
return mc1_8;
|
||||
}
|
||||
|
||||
public static boolean isMc1_9() {
|
||||
return mc1_9;
|
||||
}
|
||||
|
||||
public static boolean isMc1_10() {
|
||||
return mc1_10;
|
||||
}
|
||||
|
||||
public static boolean isMc1_11() {
|
||||
return mc1_11;
|
||||
}
|
||||
|
||||
public static boolean isMc1_12() {
|
||||
return mc1_12;
|
||||
}
|
||||
|
||||
public static boolean isMc1_13() {
|
||||
return mc1_13;
|
||||
}
|
||||
|
||||
public static boolean isMc1_14() {
|
||||
return mc1_14;
|
||||
}
|
||||
|
||||
public static boolean isMc1_15() {
|
||||
return mc1_15;
|
||||
}
|
||||
|
||||
public static boolean isMc1_16() {
|
||||
return mc1_16;
|
||||
}
|
||||
|
||||
public static boolean isMc1_17() {
|
||||
return mc1_17;
|
||||
}
|
||||
|
||||
public static boolean isMc1_18() {
|
||||
return mc1_18;
|
||||
}
|
||||
|
||||
public static boolean isMc1_19() {
|
||||
return mc1_19;
|
||||
}
|
||||
|
||||
public static boolean isMc1_20() {
|
||||
return mc1_20;
|
||||
}
|
||||
|
||||
public static String getNms() {
|
||||
return nms;
|
||||
}
|
||||
|
||||
public static boolean isNms1_8_R1() {
|
||||
return nms1_8_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_8_R2() {
|
||||
return nms1_8_R2;
|
||||
}
|
||||
|
||||
public static boolean isNms1_8_R3() {
|
||||
return nms1_8_R3;
|
||||
}
|
||||
|
||||
public static boolean isNms1_9_R1() {
|
||||
return nms1_9_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_9_R2() {
|
||||
return nms1_9_R2;
|
||||
}
|
||||
|
||||
public static boolean isNms1_10_R1() {
|
||||
return nms1_10_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_11_R1() {
|
||||
return nms1_11_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_12_R1() {
|
||||
return nms1_12_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_13_R1() {
|
||||
return nms1_13_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_13_R2() {
|
||||
return nms1_13_R2;
|
||||
}
|
||||
|
||||
public static boolean isNms1_14_R1() {
|
||||
return nms1_14_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_15_R1() {
|
||||
return nms1_15_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_16_R1() {
|
||||
return nms1_16_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_16_R2() {
|
||||
return nms1_16_R2;
|
||||
}
|
||||
|
||||
public static boolean isNms1_16_R3() {
|
||||
return nms1_16_R3;
|
||||
}
|
||||
|
||||
public static boolean isNms1_17_R1() {
|
||||
return nms1_17_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_18_R1() {
|
||||
return nms1_18_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_18_R2() {
|
||||
return nms1_18_R2;
|
||||
}
|
||||
|
||||
public static boolean isNms1_19_R1() {
|
||||
return nms1_19_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_19_R2() {
|
||||
return nms1_19_R2;
|
||||
}
|
||||
|
||||
public static boolean isNms1_20_R1() {
|
||||
return nms1_20_R1;
|
||||
}
|
||||
}
|
@@ -0,0 +1,142 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.player;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
public class T2CnameHistory {
|
||||
public static class NameLookup {
|
||||
|
||||
/**
|
||||
* The URL from Mojang API that provides the JSON String in response.
|
||||
*/
|
||||
private static final String LOOKUP_URL = "https://api.mojang.com/user/profiles/%s/names";
|
||||
|
||||
/**
|
||||
* The URL from Mojang API to resolve the UUID of a player from their name.
|
||||
*/
|
||||
private static final String GET_UUID_URL = "https://api.mojang.com/users/profiles/minecraft/%s?t=0";
|
||||
private static final Gson JSON_PARSER = new Gson();
|
||||
|
||||
/**
|
||||
* <h1>NOTE: Avoid running this method <i>Synchronously</i> with the main thread!It blocks while attempting to get a response from Mojang servers!</h1>
|
||||
* @param player The UUID of the player to be looked up.
|
||||
* @return Returns an array of {@link PreviousPlayerNameEntry} objects, or null if the response couldn't be interpreted.
|
||||
* @throws IOException {@link #getPlayerPreviousNames(String)}
|
||||
*/
|
||||
public static PreviousPlayerNameEntry[] getPlayerPreviousNames(UUID player) throws IOException {
|
||||
return getPlayerPreviousNames(player.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* <h1>NOTE: Avoid running this method <i>Synchronously</i> with the main thread! It blocks while attempting to get a response from Mojang servers!</h1>
|
||||
* Alternative method accepting an 'OfflinePlayer' (and therefore 'Player') objects as parameter.
|
||||
* @param player The OfflinePlayer object to obtain the UUID from.
|
||||
* @return Returns an array of {@link PreviousPlayerNameEntry} objects, or null if the response couldn't be interpreted.
|
||||
* @throws IOException {@link #getPlayerPreviousNames(UUID)}
|
||||
*/
|
||||
public static PreviousPlayerNameEntry[] getPlayerPreviousNames(OfflinePlayer player) throws IOException {
|
||||
return getPlayerPreviousNames(player.getUniqueId());
|
||||
}
|
||||
|
||||
/**
|
||||
* <h1>NOTE: Avoid running this method <i>Synchronously</i> with the main thread! It blocks while attempting to get a response from Mojang servers!</h1>
|
||||
* Alternative method accepting an {@link OfflinePlayer} (and therefore {@link Player}) objects as parameter.
|
||||
* @param uuid The UUID String to lookup
|
||||
* @return Returns an array of {@link PreviousPlayerNameEntry} objects, or null if the response couldn't be interpreted.
|
||||
* @throws IOException
|
||||
*/
|
||||
public static PreviousPlayerNameEntry[] getPlayerPreviousNames(String uuid) throws IOException {
|
||||
if (uuid == null || uuid.isEmpty())
|
||||
return null;
|
||||
String response = getRawJsonResponse(new URL(String.format(LOOKUP_URL, uuid)));
|
||||
PreviousPlayerNameEntry[] names = JSON_PARSER.fromJson(response, PreviousPlayerNameEntry[].class);
|
||||
return names;
|
||||
}
|
||||
|
||||
/**
|
||||
* If you don't have the UUID of a player, this method will resolve it for you.<br>
|
||||
* The output of this method may be used directly with {@link #getPlayerPreviousNames(String)}.<br>
|
||||
* <b>NOTE: as with the rest, this method opens a connection with a remote server, so running it synchronously will block the main thread which will lead to server lag.</b>
|
||||
* @param name The name of the player to lookup.
|
||||
* @return A String which represents the player's UUID. <b>Note: the uuid cannot be parsed to a UUID object directly, as it doesnt contain dashes. This feature will be implemented later</b>
|
||||
* @throws IOException Inherited by {@link BufferedReader#readLine()}, {@link BufferedReader#close()}, {@link URL}, {@link HttpURLConnection#getInputStream()}
|
||||
*/
|
||||
public static String getPlayerUUID(String name) throws IOException {
|
||||
String response = getRawJsonResponse(new URL(String.format(GET_UUID_URL, name)));
|
||||
JsonObject o = JSON_PARSER.fromJson(response, JsonObject.class);
|
||||
if (o == null)
|
||||
return null;
|
||||
return o.get("id") == null ? null : o.get("id").getAsString();
|
||||
}
|
||||
|
||||
/**
|
||||
* This is a helper method used to read the response of Mojang's API webservers.
|
||||
* @param u the URL to connect to
|
||||
* @return a String with the data read.
|
||||
* @throws IOException Inherited by {@link BufferedReader#readLine()}, {@link BufferedReader#close()}, {@link URL}, {@link HttpURLConnection#getInputStream()}
|
||||
*/
|
||||
private static String getRawJsonResponse(URL u) throws IOException {
|
||||
HttpURLConnection con = (HttpURLConnection) u.openConnection();
|
||||
con.setDoInput(true);
|
||||
con.setConnectTimeout(2000);
|
||||
con.setReadTimeout(2000);
|
||||
con.connect();
|
||||
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
|
||||
String response = in.readLine();
|
||||
in.close();
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* This class represents the typical response expected by Mojang servers when requesting the name history of a player.
|
||||
*/
|
||||
public class PreviousPlayerNameEntry {
|
||||
private String name;
|
||||
@SerializedName("changedToAt")
|
||||
private long changeTime;
|
||||
|
||||
/**
|
||||
* Gets the player name of this entry.
|
||||
* @return The name of the player.
|
||||
*/
|
||||
public String getPlayerName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the time of change of the name.
|
||||
* <br><b>Note: This will return 0 if the name is the original (initial) name of the player! Make sure you check if it is 0 before handling!
|
||||
* <br>Parsing 0 to a Date will result in the date "01/01/1970".</b>
|
||||
* @return a timestamp in miliseconds that you can turn into a date or handle however you want :)
|
||||
*/
|
||||
public long getChangeTime() {
|
||||
return changeTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if this name is the name used to register the account (the initial/original name)
|
||||
* @return a boolean, true if it is the the very first name of the player, otherwise false.
|
||||
*/
|
||||
public boolean isPlayersInitialName() {
|
||||
return getChangeTime() == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Name: " + name + " Date of change: " + new Date(changeTime).toString();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -0,0 +1,86 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.plugins;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class T2CpluginCheck {
|
||||
public static Boolean pluginCheck(String pluginName){
|
||||
return Bukkit.getPluginManager().getPlugin(pluginName) != null;
|
||||
}
|
||||
public static Plugin pluginInfos(String pluginName){
|
||||
return Bukkit.getPluginManager().getPlugin(pluginName);
|
||||
}
|
||||
public static Boolean papi(){
|
||||
return Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null;
|
||||
}
|
||||
public static Boolean vault(){
|
||||
return Bukkit.getPluginManager().getPlugin("Vault") != null;
|
||||
}
|
||||
public static Boolean plotSquared(){
|
||||
return Bukkit.getPluginManager().getPlugin("PlotSquared") != null;
|
||||
}
|
||||
public static Boolean plugManGUI(){
|
||||
return Bukkit.getPluginManager().getPlugin("PlugManGUI") != null;
|
||||
}
|
||||
public static Boolean cmi(){
|
||||
return Bukkit.getPluginManager().getPlugin("CMI") != null;
|
||||
}
|
||||
public static Boolean votingPlugin(){
|
||||
return Bukkit.getPluginManager().getPlugin("VotingPlugin") != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* T2Code Plugins
|
||||
* @return
|
||||
*/
|
||||
|
||||
public static Boolean cgui(){
|
||||
return Bukkit.getPluginManager().getPlugin("CommandGUI") != null;
|
||||
}
|
||||
public static Boolean functiongui(){
|
||||
return Bukkit.getPluginManager().getPlugin("T2C-CommandGUI") != null;
|
||||
}
|
||||
public static Boolean plotSquaredGUI(){
|
||||
return Bukkit.getPluginManager().getPlugin("PlotSquaredGUI") != null;
|
||||
}
|
||||
public static Boolean luckyBox(){
|
||||
return Bukkit.getPluginManager().getPlugin("T2C-LuckyBox") != null;
|
||||
}
|
||||
public static Boolean autoResponse(){
|
||||
return Bukkit.getPluginManager().getPlugin("T2C-AutoResponse") != null;
|
||||
}
|
||||
public static Boolean opSec(){
|
||||
return Bukkit.getPluginManager().getPlugin("OPSecurity") != null;
|
||||
}
|
||||
public static Boolean papiTest(){
|
||||
return Bukkit.getPluginManager().getPlugin("PaPiTest") != null;
|
||||
}
|
||||
public static Boolean booster(){
|
||||
return Bukkit.getPluginManager().getPlugin("Booster") != null;
|
||||
}
|
||||
public static Boolean antiMapCopy(){
|
||||
return Bukkit.getPluginManager().getPlugin("AntiMapCopy") != null;
|
||||
}
|
||||
public static Boolean loreEditor(){
|
||||
return Bukkit.getPluginManager().getPlugin("LoreEditor") != null;
|
||||
}
|
||||
public static Boolean t2cAlias(){
|
||||
return Bukkit.getPluginManager().getPlugin("T2C-Alias") != null;
|
||||
}
|
||||
public static Boolean t2cWarp(){
|
||||
return Bukkit.getPluginManager().getPlugin("T2C-Warp") != null;
|
||||
}
|
||||
|
||||
public static Boolean pluginNotFound(Plugin plugin, String prefix, String pl, Integer spigotID) {
|
||||
if (Bukkit.getPluginManager().getPlugin(pl) == null) {
|
||||
plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!");
|
||||
Bukkit.getConsoleSender().sendMessage(prefix + " §e" + pl + " §4could not be found. Please download it here: " +
|
||||
"§6https://spigotmc.org/resources/" + pl + "." + spigotID + " §4to be able to use this plugin.");
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().disablePlugin(T2CodeLibMain.getPlugin());
|
||||
return true;
|
||||
} else return false;
|
||||
}
|
||||
}
|
@@ -0,0 +1,42 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.plugins;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class T2CpluginManager {
|
||||
|
||||
public static void restart(String plugin) {
|
||||
if (Bukkit.getPluginManager().getPlugin(plugin) == null) return;
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().disablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().enablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
|
||||
}
|
||||
|
||||
public static void enable(String plugin) {
|
||||
if (Bukkit.getPluginManager().getPlugin(plugin) == null) return;
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().enablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
|
||||
}
|
||||
|
||||
public static void disable(String plugin) {
|
||||
if (Bukkit.getPluginManager().getPlugin(plugin) == null) return;
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().disablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
|
||||
}
|
||||
|
||||
public static void restart(Plugin plugin) {
|
||||
if (plugin == null) return;
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().disablePlugin(plugin);
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().enablePlugin(plugin);
|
||||
}
|
||||
|
||||
public static void enable(Plugin plugin) {
|
||||
if (plugin == null) return;
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().enablePlugin(plugin);
|
||||
}
|
||||
|
||||
public static void disable(Plugin plugin) {
|
||||
if (plugin == null) return;
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().disablePlugin(plugin);
|
||||
}
|
||||
}
|
@@ -0,0 +1,39 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.register;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.permissions.Permission;
|
||||
import org.bukkit.permissions.PermissionDefault;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
public class T2Cregister {
|
||||
public static void listener(Listener listener, Plugin plugin) {
|
||||
Bukkit.getServer().getPluginManager().registerEvents(listener, plugin);
|
||||
}
|
||||
|
||||
public static void permission(String permission, Plugin plugin) {
|
||||
if (plugin.getServer().getPluginManager().getPermission(permission) == null) {
|
||||
plugin.getServer().getPluginManager().addPermission(new Permission(permission));
|
||||
}
|
||||
}
|
||||
|
||||
public static void permission(String permission, PermissionDefault setDefault, Plugin plugin) {
|
||||
permission(permission, plugin);
|
||||
plugin.getServer().getPluginManager().getPermission(permission).setDefault(setDefault);
|
||||
}
|
||||
|
||||
public static void permission(String permission, String children, Boolean setBoolean, Plugin plugin) {
|
||||
permission(permission, plugin);
|
||||
plugin.getServer().getPluginManager().getPermission(permission).getChildren().put(children, setBoolean);
|
||||
}
|
||||
|
||||
public static void permission(String permission, PermissionDefault setDefault, String children, Boolean setBoolean, Plugin plugin) {
|
||||
permission(permission, plugin);
|
||||
plugin.getServer().getPluginManager().getPermission(permission).setDefault(setDefault);
|
||||
plugin.getServer().getPluginManager().getPermission(permission).getChildren().put(children, setBoolean);
|
||||
}
|
||||
public static void permissionDescription(String permission, String description, Plugin plugin) {
|
||||
plugin.getServer().getPluginManager().getPermission(permission).setDescription(description);
|
||||
|
||||
}
|
||||
}
|
@@ -0,0 +1,123 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.update;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.SelectLibConfig;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public class T2CupdateAPI {
|
||||
public static HashMap<String, T2CupdateObject> pluginVersions = new HashMap<>();
|
||||
|
||||
public static void join(Plugin plugin, String prefix, String perm, Player player, Integer spigotID, String discord) {
|
||||
if (!SelectLibConfig.getUpdateCheckOnJoin()) {
|
||||
return;
|
||||
}
|
||||
if (!player.hasPermission(perm) && !player.isOp()) {
|
||||
return;
|
||||
}
|
||||
if (pluginVersions.get(plugin.getName()) == null) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
join(plugin, prefix, perm, player, spigotID, discord);
|
||||
}
|
||||
}.runTaskLaterAsynchronously(plugin, 20L);
|
||||
return;
|
||||
}
|
||||
String publicVersion = pluginVersions.get(plugin.getName()).publicVersion;
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
if (pluginVersion.equals(publicVersion)) return;
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
sendUpdateMsg(prefix, spigotID, discord, plugin, player);
|
||||
}
|
||||
}.runTaskLaterAsynchronously(T2CodeLibMain.getPlugin(), 200L);
|
||||
}
|
||||
|
||||
public static void sendUpdateMsg(String prefix, Integer spigotID, String discord, Plugin plugin, Player player) {
|
||||
String publicVersion = pluginVersions.get(plugin.getName()).publicVersion;
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
if (publicVersion.equals("§4No public version found!")) {
|
||||
return;
|
||||
}
|
||||
String st = "[prefix]<br>" +
|
||||
"<click:open_url:'[link]'><hover:show_text:'<gold>You can download it here: <yellow>[link]</yellow></gold>'>[prefix] <gold>A new</gold> [value]<gold>version was found!</gold></hover></click><br>" +
|
||||
"<click:open_url:'[link]'><hover:show_text:'<gold>You can download it here: <yellow>[link]</yellow></gold>'>[prefix] <red>[plv]</red> <gray>-></gray> <green>[puv]</green></hover></click><br>" +
|
||||
"<click:open_url:'[dc]'><hover:show_text:'<yellow>[dc]</yellow>'>[prefix] <gold>You can find more information on Discord.</gold></hover></click><br>" +
|
||||
"[prefix]";
|
||||
String value = "";
|
||||
if (publicVersion.toLowerCase().contains("dev") || publicVersion.toLowerCase().contains("beta") || publicVersion.toLowerCase().contains("snapshot")) {
|
||||
if (publicVersion.toLowerCase().contains("dev")) {
|
||||
value = "<dark_red>DEV </dark_red>";
|
||||
}
|
||||
if (publicVersion.toLowerCase().contains("beta")) {
|
||||
value = "<green>BETA </green>";
|
||||
}
|
||||
if (publicVersion.toLowerCase().contains("snapshot")) {
|
||||
value = "<yellow>SNAPSHOT </yellow>";
|
||||
}
|
||||
}
|
||||
T2Csend.player(player, st.replace("[prefix]", prefix).replace("[value]", value).replace("[link]", "https://www.spigotmc.org/resources/" + spigotID)
|
||||
.replace("[plv]", pluginVersion).replace("[puv]", publicVersion).replace("[dc]", discord));
|
||||
}
|
||||
|
||||
public static void sendUpdateMsg(String prefix, Integer spigot, String discord, Plugin plugin) {
|
||||
String publicVersion = pluginVersions.get(plugin.getName()).publicVersion;
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
T2Csend.console("§4=========== " + prefix + " §4===========");
|
||||
if (publicVersion.toLowerCase().contains("dev") || publicVersion.toLowerCase().contains("beta") || publicVersion.toLowerCase().contains("snapshot")) {
|
||||
if (publicVersion.toLowerCase().contains("dev")) {
|
||||
T2Csend.console("§6A new §4DEV§6 version was found!");
|
||||
}
|
||||
if (publicVersion.toLowerCase().contains("beta")) {
|
||||
T2Csend.console("§6A new §2BETA§6 version was found!");
|
||||
}
|
||||
if (publicVersion.toLowerCase().contains("snapshot")) {
|
||||
T2Csend.console("§6A new §eSNAPSHOT§6 version was found!");
|
||||
}
|
||||
} else {
|
||||
T2Csend.console("§6A new version was found!");
|
||||
}
|
||||
T2Csend.console("§6Your version: §c" + pluginVersion + " §7- §6Current version: §a" + publicVersion);
|
||||
T2Csend.console("§6You can download it here: §ehttps://www.spigotmc.org/resources/" + spigot);
|
||||
T2Csend.console("§6You can find more information on Discord: §e" + discord);
|
||||
T2Csend.console("§4=========== " + prefix + " §4===========");
|
||||
}
|
||||
|
||||
private static Boolean load = false;
|
||||
|
||||
public static void onUpdateCheck(Plugin plugin, String prefix, int spigotID, String discord) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
(new T2CupdateChecker((JavaPlugin) plugin, spigotID)).getVersion((update_version) -> {
|
||||
T2CupdateObject update = new T2CupdateObject(
|
||||
plugin.getName(),
|
||||
plugin.getDescription().getVersion(),
|
||||
update_version
|
||||
);
|
||||
pluginVersions.put(plugin.getName(), update);
|
||||
if (!plugin.getDescription().getVersion().equalsIgnoreCase(update_version)) {
|
||||
if (!load) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
load = true;
|
||||
sendUpdateMsg(prefix, spigotID, discord, plugin);
|
||||
}
|
||||
}.runTaskLaterAsynchronously(plugin, 600L);
|
||||
} else sendUpdateMsg(prefix, spigotID, discord, plugin);
|
||||
} else {
|
||||
T2Csend.console(prefix + " §2No update found.");
|
||||
}
|
||||
}, prefix, plugin.getDescription().getVersion());
|
||||
}
|
||||
}.runTaskTimerAsynchronously(plugin, 0L, SelectLibConfig.getUpdateCheckTimeInterval() * 60 * 20L);
|
||||
}
|
||||
}
|
@@ -0,0 +1,66 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.update;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.util.Scanner;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class T2CupdateChecker {
|
||||
private JavaPlugin plugin;
|
||||
private int resourceId;
|
||||
|
||||
public T2CupdateChecker(JavaPlugin plugin, int resourceId) {
|
||||
this.plugin = plugin;
|
||||
this.resourceId = resourceId;
|
||||
}
|
||||
|
||||
public void getVersion(Consumer<String> consumer, String Prefix, String pluginVersion) {
|
||||
if (!plugin.isEnabled()) {
|
||||
return;
|
||||
}
|
||||
Bukkit.getScheduler().runTaskAsynchronously(this.plugin, () -> {
|
||||
try {
|
||||
InputStream inputStream = (new URL("https://api.spigotmc.org/legacy/update.php?resource=" + this.resourceId)).openStream();
|
||||
try {
|
||||
Scanner scanner = new Scanner(inputStream);
|
||||
|
||||
try {
|
||||
if (scanner.hasNext()) {
|
||||
consumer.accept(scanner.next());
|
||||
}
|
||||
} catch (Throwable var8) {
|
||||
try {
|
||||
scanner.close();
|
||||
} catch (Throwable var7) {
|
||||
var8.addSuppressed(var7);
|
||||
}
|
||||
throw var8;
|
||||
}
|
||||
scanner.close();
|
||||
} catch (Throwable var9) {
|
||||
if (inputStream != null) {
|
||||
try {
|
||||
inputStream.close();
|
||||
} catch (Throwable var6) {
|
||||
var9.addSuppressed(var6);
|
||||
}
|
||||
}
|
||||
throw var9;
|
||||
}
|
||||
inputStream.close();
|
||||
} catch (IOException var10) {
|
||||
T2CupdateObject update = new T2CupdateObject(
|
||||
plugin.getName(),
|
||||
pluginVersion,
|
||||
null
|
||||
);
|
||||
T2CupdateAPI.pluginVersions.put(plugin.getName(), update);
|
||||
this.plugin.getLogger().severe("§4 Cannot look for updates: " + var10.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@@ -0,0 +1,16 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.update;
|
||||
|
||||
public class T2CupdateObject {
|
||||
|
||||
public String pluginName;
|
||||
public String pluginVersion;
|
||||
public String publicVersion;
|
||||
|
||||
public T2CupdateObject(String pluginName,
|
||||
String pluginVersion,
|
||||
String publicVersion ) {
|
||||
this.pluginName = pluginName;
|
||||
this.pluginVersion = pluginVersion;
|
||||
this.publicVersion = publicVersion;
|
||||
}
|
||||
}
|
@@ -0,0 +1,161 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.yaml;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Creplace;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2CmcVersion;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.languages.SelectLibMsg;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class T2Cconfig {
|
||||
public static void set(String path, String value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static void set(String path, YamlConfiguration YamlConfiguration) {
|
||||
YamlConfiguration.set(path, null);
|
||||
}
|
||||
|
||||
public static void set(String path, Integer value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static void set(String path, Double value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static void set(String path, Boolean value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static void set(String path, List<String> value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static void set(String path, ItemStack value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setSound(String soundName, String sound1_8, String sound1_9, String sound1_13, YamlConfiguration yamlConfiguration) {
|
||||
set("Sound." + soundName + ".Enable", true, yamlConfiguration);
|
||||
String sound;
|
||||
if (T2CmcVersion.isMc1_8()) {
|
||||
sound = sound1_8.toString();
|
||||
} else if (T2CmcVersion.isMc1_9() || T2CmcVersion.isMc1_10() || T2CmcVersion.isMc1_11() || T2CmcVersion.isMc1_12()) {
|
||||
sound = sound1_9.toString();
|
||||
} else sound = sound1_13.toString();
|
||||
set("Sound." + soundName + ".Sound", sound, yamlConfiguration);
|
||||
}
|
||||
|
||||
public static void setSound(String soundName, String sound1_8, String sound1_13, YamlConfiguration yamlConfiguration) {
|
||||
set("Sound." + soundName + ".Enable", true, yamlConfiguration);
|
||||
String sound;
|
||||
if (T2CmcVersion.isMc1_8()) {
|
||||
sound = sound1_8.toString();
|
||||
} else sound = sound1_13.toString();
|
||||
set("Sound." + soundName + ".Sound", sound, yamlConfiguration);
|
||||
}
|
||||
|
||||
public static void setSound(String soundName, String sound, YamlConfiguration yamlConfiguration) {
|
||||
set("Sound." + soundName + ".Enable", true, yamlConfiguration);
|
||||
set("Sound." + soundName + ".Sound", sound.toString(), yamlConfiguration);
|
||||
}
|
||||
|
||||
public static boolean selectSoundEnable(String soundName, YamlConfiguration yamlConfiguration) {
|
||||
return selectBoolean("Sound." + soundName + ".Enable", yamlConfiguration);
|
||||
}
|
||||
|
||||
public static String selectSound(String prefix, String soundName, YamlConfiguration yamlConfiguration) {
|
||||
return select(prefix, "Sound." + soundName + ".Sound", yamlConfiguration);
|
||||
}
|
||||
|
||||
public static Sound checkSound(String sound1_8, String sound1_9, String sound1_13, String selectSoundFromConfig, String prefix) {
|
||||
String SOUND;
|
||||
if (T2CmcVersion.isMc1_8()) {
|
||||
SOUND = sound1_8;
|
||||
} else if (T2CmcVersion.isMc1_9() || T2CmcVersion.isMc1_10() || T2CmcVersion.isMc1_11() || T2CmcVersion.isMc1_12()) {
|
||||
SOUND = sound1_9;
|
||||
} else SOUND = sound1_13;
|
||||
|
||||
return checkSound(SOUND, selectSoundFromConfig, prefix);
|
||||
}
|
||||
|
||||
public static Sound checkSound(String sound1_8, String sound1_13, String selectSoundFromConfig, String prefix) {
|
||||
String SOUND;
|
||||
if (T2CmcVersion.isMc1_8()) {
|
||||
SOUND = sound1_8;
|
||||
} else SOUND = sound1_13;
|
||||
|
||||
return checkSound(SOUND, selectSoundFromConfig, prefix);
|
||||
}
|
||||
|
||||
public static Sound checkSound(String sound, String selectSoundFromConfig, String prefix) {
|
||||
try {
|
||||
return Sound.valueOf(selectSoundFromConfig);
|
||||
} catch (Exception e) {
|
||||
T2Csend.console("§4\n§4\n§4\n" + SelectLibMsg.soundNotFound.replace("[prefix]", prefix)
|
||||
.replace("[sound]", "§8Buy: §6" + selectSoundFromConfig) + "§4\n§4\n§4\n");
|
||||
return Sound.valueOf(sound);
|
||||
}
|
||||
}
|
||||
|
||||
public static String select(String prefix, String path, YamlConfiguration yamlConfiguration) {
|
||||
return T2Creplace.replace(prefix, yamlConfiguration.getString(path));
|
||||
}
|
||||
|
||||
|
||||
public static Integer selectInt(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getInt(path));
|
||||
}
|
||||
|
||||
public static Boolean selectBoolean(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getBoolean(path));
|
||||
}
|
||||
|
||||
public static Double selectDouble(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getDouble(path));
|
||||
}
|
||||
|
||||
public static List<String> selectList(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getStringList(path));
|
||||
}
|
||||
|
||||
public static ItemStack selectItemStack(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getItemStack(path));
|
||||
}
|
||||
|
||||
|
||||
public static List<String> selectList(String prefix, String path, YamlConfiguration yamlConfiguration) {
|
||||
List<String> output = new ArrayList<>();
|
||||
List<String> input = yamlConfiguration.getStringList(path);
|
||||
for (String st : input) {
|
||||
output.add(T2Creplace.replace(prefix, st));
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
public static void select(String prefix, List<String> value, String path, YamlConfiguration yamlConfiguration) {
|
||||
List<String> output = new ArrayList<>();
|
||||
List<String> input = yamlConfiguration.getStringList(path);
|
||||
for (String st : input) {
|
||||
output.add(T2Creplace.replace(prefix, st));
|
||||
}
|
||||
value = output;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user