12.0 Innovation and Eco API change

The API for Economy has been rebuilt.
-	- Class renamed: net.t2code.lib.Spigot.Lib.vault.Vault -> net.t2code.lib.Spigot.Lib.eco.Eco
-	Methods renamed:
- buy(String prefix, Player p, Double price) -> moneyRemove(String prefix, Player player, Double price)
- addMoney(String prefix, Player p, Double price) -> moneyAdd(String prefix, Player player, Double price)
-	New methods:
- itemRemove(Player player, String item, int amount)
- itemAdd(Player player, String item, int amount)
- votePointsRemove(String prefix, Player player, Integer amount) (for VotingPlugin)
- votePointsAdd(String prefix, Player player, Integer amount) (for VotingPlugin)
-	VotingPlugin added to PluginCheck
This commit is contained in:
JaTiTV 2022-06-07 05:58:47 +02:00
parent 066496dea0
commit f14aeb6078
13 changed files with 215 additions and 61 deletions

View File

@ -36,6 +36,11 @@
<option name="name" value="placeholderapi" />
<option name="url" value="http://repo.extendedclip.com/content/repositories/placeholderapi/" />
</remote-repository>
<remote-repository>
<option name="id" value="BenCodez Repo" />
<option name="name" value="BenCodez Repo" />
<option name="url" value="https://nexus.bencodez.com/repository/maven-public/" />
</remote-repository>
<remote-repository>
<option name="id" value="Builders-Paradise" />
<option name="name" value="Builders-Paradise" />

View File

@ -45,5 +45,14 @@
<orderEntry type="library" scope="PROVIDED" name="Maven: org.hamcrest:hamcrest-core:1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: me.clip:placeholderapi:2.11.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jetbrains:annotations:19.0.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.bencodez:votingplugin:6.9.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bstats:bstats-velocity:2.2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bstats:bstats-base:2.2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.bencodez:advancedcore:master-072a28e1ee-1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.zaxxer:HikariCP:3.4.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.slf4j:slf4j-simple:1.7.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: xyz.upperlevel.spigot.book:spigot-book-api:1.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: dev.dbassett:skullcreator:3.0.1" level="project" />
</component>
</module>

12
pom.xml
View File

@ -6,7 +6,7 @@
<groupId>net.t2code</groupId>
<artifactId>T2CodeLib</artifactId>
<version>11.9</version>
<version>12.0</version>
<packaging>jar</packaging>
<name>T2CodeLib</name>
@ -75,6 +75,10 @@
<id>placeholderapi</id>
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
</repository>
<repository>
<id>BenCodez Repo</id>
<url>https://nexus.bencodez.com/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
@ -106,5 +110,11 @@
<version>2.11.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.bencodez</groupId>
<artifactId>votingplugin</artifactId>
<version>LATEST</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,102 @@
package net.t2code.lib.Spigot.Lib.eco;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.plugins.PluginCheck;
import net.t2code.lib.Spigot.system.Main;
import net.t2code.lib.Spigot.system.languages.SelectLibMsg;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
public class Eco {
public static boolean moneyRemove(String prefix, Player player, Double price) {
if (vault(prefix, player)) {
return Main.eco.withdrawPlayer(player, price).transactionSuccess();
}
return false;
}
public static boolean moneyAdd(String prefix, Player player, Double price) {
if (vault(prefix, player)) {
return Main.eco.depositPlayer(player, price).transactionSuccess();
}
return false;
}
private static boolean vault(String prefix, Player player) {
if (Main.eco == null) {
if (Bukkit.getPluginManager().getPlugin("Vault") == null) {
send.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, String item, int amount) {
ItemStack itemStack = new ItemStack(Material.valueOf(item.toUpperCase()));
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 Main.voteUserManager.getVotingPluginUser(player).removePoints(amount);
} else return false;
}
public static boolean votePointsAdd(String prefix, Player player, Integer amount) {
if (votePlugin(prefix, player)) {
Bukkit.getScheduler().runTaskAsynchronously(Main.plugin, new Runnable() {
@Override
public void run() {
Main.voteUserManager.getVotingPluginUser(player).addPoints(amount);
}
});
return true;
} else return false;
}
private static boolean votePlugin(String prefix, Player player) {
if (PluginCheck.votingPlugin()) return true;
send.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;
}
}

View File

@ -0,0 +1,49 @@
package net.t2code.lib.Spigot.Lib.eco;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.system.Main;
import net.t2code.lib.Util;
import org.bukkit.plugin.RegisteredServiceProvider;
public class Vault {
public static Boolean vaultEnable;
public static Boolean connected;
public static void loadVault() throws InterruptedException {
long long_ = System.currentTimeMillis();
if (Main.plugin.getServer().getPluginManager().getPlugin("Vault") != null) {
vaultEnable = true;
RegisteredServiceProvider<Economy> eco = Main.plugin.getServer().getServicesManager().getRegistration(Economy.class);
if (eco != null) {
Main.eco = eco.getProvider();
if (Main.eco != null) {
connected = true;
send.console(Util.getPrefix() + " §2Vault / Economy successfully connected!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
} else {
connected = false;
send.console(Util.getPrefix() + " §4Economy could not be connected / found! 1" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
} else {
connected = false;
send.console(Util.getPrefix() + " §4Economy could not be connected / found! 2" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
RegisteredServiceProvider<Permission> perm = Main.plugin.getServer().getServicesManager().getRegistration(Permission.class);
if (perm != null) {
Main.perm = perm.getProvider();
}
} else {
vaultEnable = false;
connected = false;
send.console(Util.getPrefix() + " §4Vault could not be connected! 3" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
}
public static void vaultDisable() {
if (!connected) return;
connected = false;
send.console(Util.getPrefix() + " §4Vault / Economy successfully deactivated.");
}
}

View File

@ -28,12 +28,15 @@ public class PluginCheck {
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;
}

View File

@ -1,19 +1,14 @@
package net.t2code.lib.Spigot.Lib.vault;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.system.Main;
import net.t2code.lib.Spigot.system.languages.SelectLibMsg;
import net.t2code.lib.Util;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.RegisteredServiceProvider;
public class Vault {
public static Boolean vaultEnable;
public static Boolean connected;
public static boolean buy(String prefix, Player p, Double price) {
if (Main.eco == null) {
@ -40,38 +35,4 @@ public class Vault {
}
return false;
}
public static void loadVault() throws InterruptedException {
long long_ = System.currentTimeMillis();
if (Main.plugin.getServer().getPluginManager().getPlugin("Vault") != null) {
vaultEnable = true;
RegisteredServiceProvider<Economy> eco = Main.plugin.getServer().getServicesManager().getRegistration(Economy.class);
if (eco != null) {
Main.eco = eco.getProvider();
if (Main.eco != null) {
connected = true;
send.console(Util.getPrefix() + " §2Vault / Economy successfully connected!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
} else {
connected = false;
send.console(Util.getPrefix() + " §4Economy could not be connected / found! 1" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
} else {
connected = false;
send.console(Util.getPrefix() + " §4Economy could not be connected / found! 2" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
RegisteredServiceProvider<Permission> perm = Main.plugin.getServer().getServicesManager().getRegistration(Permission.class);
if (perm != null) {
Main.perm = perm.getProvider();
}
} else {
vaultEnable = false;
connected = false;
send.console(Util.getPrefix() + " §4Vault could not be connected! 3" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
}
public static void vaultDisable() {
connected = false;
send.console(Util.getPrefix() + " §4Vault / Economy successfully deactivated.");
}
}

View File

@ -1,10 +1,10 @@
package net.t2code.lib.Spigot.system;
import net.t2code.lib.Spigot.Lib.eco.Vault;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
import net.t2code.lib.Spigot.Lib.minecraftVersion.NMSVersion;
import net.t2code.lib.Spigot.Lib.plugins.PluginCheck;
import net.t2code.lib.Spigot.Lib.vault.Vault;
import net.t2code.lib.Util;
import net.t2code.luckyBox.api.LuckyBoxAPI;
import org.bukkit.Bukkit;

View File

@ -1,7 +1,12 @@
package net.t2code.lib.Spigot.system;
import com.bencodez.votingplugin.VotingPluginHooks;
import com.bencodez.votingplugin.VotingPluginMain;
import com.bencodez.votingplugin.advancedcore.AdvancedCorePlugin;
import com.bencodez.votingplugin.user.UserManager;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission;
import net.t2code.lib.Spigot.Lib.eco.Vault;
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
@ -9,7 +14,6 @@ import net.t2code.lib.Spigot.Lib.minecraftVersion.NMSVersion;
import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate;
import net.t2code.lib.Spigot.Lib.plugins.PluginCheck;
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
import net.t2code.lib.Spigot.Lib.vault.Vault;
import net.t2code.lib.Spigot.system.config.ConfigCreate;
import net.t2code.lib.Spigot.system.languages.LanguagesCreate;
import net.t2code.lib.Util;
@ -24,12 +28,16 @@ import java.util.List;
public final class Main extends JavaPlugin {
public static File getPath() {
return plugin.getDataFolder();
}
public static Main plugin;
public static Economy eco = null;
public static VotingPluginHooks votingPlugin = null;
public static UserManager voteUserManager = null;
public static Permission perm = null;
public static List<String> autor;
@ -49,7 +57,7 @@ public final class Main extends JavaPlugin {
version = plugin.getDescription().getVersion();
long long_;
long_ = T2CodeTemplate.onLoadHeader(prefix, autor, version, spigot, discord);
if (Util.getSnapshot()){
if (Util.getSnapshot()) {
send.console(prefix + " §eYou are running §4" + version + " §eof " + prefix + "§e! §4This is a trial version! §eSome features may not be working as expected." +
" Please report all bugs here: http://dc.t2code.net §4UpdateChecker & bStats may be disabled!");
send.console(prefix + " §4 §e-------------------");
@ -60,12 +68,6 @@ public final class Main extends JavaPlugin {
}
}
//send.console("§4 _|_|_|_|_| _|_| _|_|_| _| ");
//send.console("§4 _| _| _| _| _|_| _|_|_| _|_| ");
//send.console("§4 _| _| _| _| _| _| _| _|_|_|_| ");
//send.console("§4 _| _| _| _| _| _| _| _| ");
//send.console("§4 _| _|_|_|_| _|_|_| _|_| _|_|_| _|_|_| ");
//T2CodeTemplate.onLoadSeparateStroke(prefix);
try {
Vault.loadVault();
} catch (InterruptedException e) {
@ -73,7 +75,7 @@ public final class Main extends JavaPlugin {
}
NMSVersion.onCheck();
MCVersion.onCheck();
if (MCVersion.minecraft1_19){
if (MCVersion.minecraft1_19) {
send.warning(this, "The 1.19 is a very fresh / new version. If there are any bugs in our plugins, please report them to us via our Discord: http://dc.t2code.net");
try {
Thread.sleep(5000);
@ -86,22 +88,27 @@ public final class Main extends JavaPlugin {
if (eco != null) {
String st = eco.getName();
if (eco.getName().equals("CMIEconomy")) st = "CMI";
if (Bukkit.getPluginManager().getPlugin(st) != null){
if (Bukkit.getPluginManager().getPlugin(st) != null) {
send.console(Main.prefix + " §3Economy: §6" + eco.getName() + " - " + Bukkit.getPluginManager().getPlugin(st).getDescription().getVersion() + " §7- §e" +
(System.currentTimeMillis() - long_) + "ms");
} else send.console(Main.prefix + " §3Economy: §6" + eco.getName() + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
} else send.console(Main.prefix + " §3Economy: §4not connected via vault!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
if (perm != null) {
if (Bukkit.getPluginManager().getPlugin(perm.getName()) != null){
if (Bukkit.getPluginManager().getPlugin(perm.getName()) != null) {
send.console(Main.prefix + " §3Permission plugin: §6" + perm.getName() + " - " + Bukkit.getPluginManager().getPlugin(perm.getName()).getDescription().getVersion()
+ " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
} else send.console(Main.prefix + " §3Permission plugin: §6" + perm.getName() + " - §7- §e" + (System.currentTimeMillis() - long_) + "ms");
} else send.console(Main.prefix + " §3Permission plugin: §4not connected via vault!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
if (PluginCheck.pluginCheck("PlaceholderAPI")) {
if (PluginCheck.papi()) {
send.console(Main.prefix + " §3PlaceholderAPI: §6connected" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
if (PluginCheck.votingPlugin()) {
votingPlugin = VotingPluginHooks.getInstance();
voteUserManager = votingPlugin.getUserManager();
send.console(Main.prefix + " §3VotingPlugin: §6connected" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
Main.plugin.getCommand("t2code").setExecutor(new CmdExecuter());
@ -109,7 +116,7 @@ public final class Main extends JavaPlugin {
LanguagesCreate.langCreate();
SelectLibConfig.onSelect();
SelectLibMsg.onSelect(prefix);
if (!Util.getSnapshot()){
if (!Util.getSnapshot()) {
UpdateAPI.onUpdateCheck(plugin, prefix, spigot, spigotID, discord);
Metrics.Bstats(plugin, bstatsID);
}
@ -121,8 +128,8 @@ public final class Main extends JavaPlugin {
@Override
public void onDisable() {
// Plugin shutdown logic
if (SelectLibConfig.InventoriesCloseByServerStop){
for (Player player : Bukkit.getOnlinePlayers()){
if (SelectLibConfig.InventoriesCloseByServerStop) {
for (Player player : Bukkit.getOnlinePlayers()) {
player.closeInventory();
}
}

View File

@ -26,6 +26,7 @@ public class LanguagesCreate {
YamlConfiguration yamlConfigurationEN = YamlConfiguration.loadConfiguration(messagesEN);
Config.set("Plugin.VaultNotSetUp", MSG.EN_VaultNotSetUp, yamlConfigurationEN);
Config.set("Plugin.VotingPluginNotSetUp", MSG.EN_VotingPluginNotSetUp, yamlConfigurationEN);
Config.set("Plugin.SoundNotFound", MSG.EN_SoundNotFound, yamlConfigurationEN);
try {
@ -44,7 +45,8 @@ public class LanguagesCreate {
File messagesDE = new File(Main.getPath(), "languages/german_messages.yml");
YamlConfiguration yamlConfigurationDE = YamlConfiguration.loadConfiguration(messagesDE);
Config.set("Plugin.VaultNotSetUp", MSG.DE_VaultNotSetUp, yamlConfigurationDE);
Config.set("Plugin.VaultNotSetUp", MSG.DE_VotingPluginNotSetUp, yamlConfigurationDE);
Config.set("Plugin.VotingPluginNotSetUp", MSG.DE_VotingPluginNotSetUp, yamlConfigurationDE);
Config.set("Plugin.SoundNotFound", MSG.DE_SoundNotFound, yamlConfigurationDE);
try {
@ -64,6 +66,7 @@ public class LanguagesCreate {
YamlConfiguration yamlConfigurationNO = YamlConfiguration.loadConfiguration(messagesNO);
Config.set("Plugin.VaultNotSetUp", MSG.NO_VaultNotSetUp, yamlConfigurationNO);
Config.set("Plugin.VotingPluginNotSetUp", MSG.NO_VotingPluginNotSetUp, yamlConfigurationNO);
Config.set("Plugin.SoundNotFound", MSG.NO_SoundNotFound, yamlConfigurationNO);
try {

View File

@ -6,17 +6,20 @@ public class MSG {
// EN
public static String EN_VaultNotSetUp = "[prefix] &4Vault / Economy not set up!";
public static String EN_VotingPluginNotSetUp = "[prefix] &4VotingPlugin is not present on the server!";
public static String EN_SoundNotFound = "[prefix] &4The sound &6[sound] &4was not found! Please check the settings.";
// DE
public static String DE_VaultNotSetUp = "[prefix] &4Vault / Economy nicht eingerichtet!";
public static String DE_VaultPluginNotSetUp = "[prefix] &4Vault / Economy nicht eingerichtet!";
public static String DE_VotingPluginNotSetUp = "[prefix] &4VotingPlugin ist auf dem Server nicht vorhanden!";
public static String DE_SoundNotFound = "[prefix] &4Der Sound &6[sound] &4wurde nicht gefunden! Bitte [ue]berpr[ue]fe die Einstellungen.";
// NO
public static String NO_VaultNotSetUp = "[prefix] &4Vault / Økonomi har ikke blitt satt opp!";
public static String NO_VotingPluginNotSetUp = "[prefix] &4VotingPlugin er ikke til stede på serveren!";
public static String NO_SoundNotFound = "[prefix] &4Lyden &6[sound] &4ble ikke bli funnet! Vennligst sjekk innstillingene.";
}

View File

@ -16,6 +16,7 @@ public class SelectLibMsg {
public static String selectMSG;
public static String vaultNotSetUp;
public static String votingPluginNotSetUp;
public static String soundNotFound;
public static void onSelect(String Prefix) {
@ -39,6 +40,7 @@ public class SelectLibMsg {
YamlConfiguration yamlConfiguration_msg = YamlConfiguration.loadConfiguration(msg);
vaultNotSetUp = Replace.replace(prefix, yamlConfiguration_msg.getString("Plugin.VaultNotSetUp"));
votingPluginNotSetUp = Replace.replace(prefix, yamlConfiguration_msg.getString("Plugin.VotingPluginNotSetUp"));
soundNotFound = Replace.replace(prefix, yamlConfiguration_msg.getString("Plugin.SoundNotFound"));
send.console(Prefix + " §2Language successfully selected to: §6" + selectMSG + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");

View File

@ -6,8 +6,8 @@ prefix: T2CodeLib
authors: [ JaTiTV, Jkobs ]
description: Library from T2Code Plugins
website: T2Code.net
load: STARTUP
softdepend: [ PlaceholderAPI, PlotSquared, CMI, CMILib, Vault, Economy, XConomy ]
softdepend: [ PlaceholderAPI, VotingPlugin, PlotSquared, CMI, CMILib, Vault, Economy, XConomy ]
loadbefore: [ T2C-Alias ]
commands: