Compare commits
63 Commits
Author | SHA1 | Date | |
---|---|---|---|
90696365dd | |||
13af9faf36 | |||
2b990c4f8b | |||
bcba2a49c5 | |||
613d1c16fa | |||
36e6702e8b | |||
7768530c19 | |||
a0026381af | |||
a2cb76733d | |||
ae5a3b3557 | |||
367f1e32f4 | |||
feed3914b0 | |||
2f3c555195 | |||
bcfe98bf22 | |||
b83766744d | |||
cd366cbe14 | |||
82cc31d41f | |||
b81071156f | |||
3050ad337d | |||
b825152415 | |||
38b644bb27 | |||
8826ca9b6e | |||
7be7c9f09e | |||
893f99c3e5 | |||
|
16e6af2fd4 | ||
fa1af88777 | |||
|
abe9cfbe76 | ||
f947025afa | |||
da4bd4975a | |||
621f626707 | |||
78a0bd5f7e | |||
bdb6711907 | |||
2f114cca41 | |||
d0277deeb8 | |||
a6dff7e243 | |||
e2e649aef2 | |||
|
7c7cd51cec | ||
e7f5b00b31 | |||
57ba6e6687 | |||
d168a7afec | |||
92d3e9a2d8 | |||
b45895dff8 | |||
c43a5fd90c | |||
48c06696ef | |||
16123ec578 | |||
|
7f2b346f7b | ||
c590255d38 | |||
5d646fce48 | |||
5b089a57d8 | |||
87d0f75a4c | |||
6f3da3e3f4 | |||
|
80255a60eb | ||
f6860e9ab5 | |||
ebbec1f660 | |||
|
5674b54593 | ||
381afeba89 | |||
19822f7024 | |||
ed810f31d7 | |||
b0286e597f | |||
ddfea4eba6 | |||
|
ed86e7b143 | ||
32c1219bb2 | |||
326dfae0e9 |
@ -3,7 +3,7 @@ name: Feature request
|
|||||||
about: Suggest an idea/improvement
|
about: Suggest an idea/improvement
|
||||||
title: ''
|
title: ''
|
||||||
labels:
|
labels:
|
||||||
- " feature request"
|
- "feature request"
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -6,10 +6,10 @@
|
|||||||
|
|
||||||
<groupId>net.t2code</groupId>
|
<groupId>net.t2code</groupId>
|
||||||
<artifactId>CommandGUI_V2</artifactId>
|
<artifactId>CommandGUI_V2</artifactId>
|
||||||
<version>2.7.1</version>
|
<version>2.9_dev-24</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>CommandGUI</name>
|
<name>T2C-CommandGUI</name>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<java.version>1.8</java.version>
|
<java.version>1.8</java.version>
|
||||||
@ -17,14 +17,15 @@
|
|||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
<finalName>${project.name}_${project.version}</finalName>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.8.1</version>
|
<version>3.8.1</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>8</source>
|
<source>11</source>
|
||||||
<target>8</target>
|
<target>11</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
@ -53,18 +54,17 @@
|
|||||||
</build>
|
</build>
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
|
<!-- repo.t2code / T2Code -->
|
||||||
<repository>
|
<repository>
|
||||||
<id>spigot-repo</id>
|
<id>T2Code</id>
|
||||||
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
<url>https://repo.t2code.net/repository/T2Code/</url>
|
||||||
</repository>
|
</repository>
|
||||||
<repository>
|
<repository>
|
||||||
<id>Builders-Paradise</id>
|
<id>Builders-Paradise</id>
|
||||||
<url>https://repo.t2code.net/repository/Builders-Paradise/</url>
|
<url>https://repo.t2code.net/repository/Builders-Paradise/</url>
|
||||||
</repository>
|
</repository>
|
||||||
<repository>
|
|
||||||
<id>T2Code</id>
|
<!-- placeholderAPI -->
|
||||||
<url>https://repo.t2code.net/repository/T2Code/</url>
|
|
||||||
</repository>
|
|
||||||
<repository>
|
<repository>
|
||||||
<id>placeholderapi</id>
|
<id>placeholderapi</id>
|
||||||
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
|
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
|
||||||
@ -72,61 +72,78 @@
|
|||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<!-- repo.t2code / T2Code -->
|
||||||
<groupId>net.t2code</groupId>
|
|
||||||
<artifactId>bungee</artifactId>
|
|
||||||
<version>1615</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>net.t2code</groupId>
|
|
||||||
<artifactId>PlugmanGUI</artifactId>
|
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.t2code</groupId>
|
<groupId>net.t2code</groupId>
|
||||||
<artifactId>T2CodeLib</artifactId>
|
<artifactId>T2CodeLib</artifactId>
|
||||||
<version>11.6</version>
|
<version>16.7</version>
|
||||||
|
<classifier>dev-24</classifier>
|
||||||
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.t2code</groupId>
|
<groupId>net.t2code</groupId>
|
||||||
<artifactId>LuckyBox-API</artifactId>
|
<artifactId>LuckyBox-API</artifactId>
|
||||||
<version>4.2.2</version>
|
<version>4.2.2</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.t2code</groupId>
|
||||||
|
<artifactId>bungee</artifactId>
|
||||||
|
<version>1615</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.t2code.minecraft.1_20.r2</groupId>
|
||||||
|
<artifactId>spigot</artifactId>
|
||||||
|
<version>1.20r2</version>
|
||||||
|
<classifier>1.20.2</classifier>
|
||||||
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.t2code.minecraft.1_16.r2</groupId>
|
<groupId>net.t2code.minecraft.1_16.r2</groupId>
|
||||||
<artifactId>spigot</artifactId>
|
<artifactId>spigot</artifactId>
|
||||||
<version>1.16r2</version>
|
<version>1.16r2</version>
|
||||||
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.t2code.minecraft.1_10.r1</groupId>
|
<groupId>net.t2code.minecraft.1_10.r1</groupId>
|
||||||
<artifactId>spigot</artifactId>
|
<artifactId>spigot</artifactId>
|
||||||
<version>1.10r1</version>
|
<version>1.10r1</version>
|
||||||
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.t2code.minecraft.1_8.r1</groupId>
|
<groupId>net.t2code.minecraft.1_8.r1</groupId>
|
||||||
<artifactId>spigot</artifactId>
|
<artifactId>spigot</artifactId>
|
||||||
<version>1.8r1</version>
|
<version>1.8r1</version>
|
||||||
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.zaxxer</groupId>
|
<groupId>net.t2code</groupId>
|
||||||
<artifactId>HikariCP</artifactId>
|
<artifactId>PlugmanGUI</artifactId>
|
||||||
<version>4.0.3</version>
|
<version>3.0</version>
|
||||||
</dependency>
|
<scope>provided</scope>
|
||||||
<dependency>
|
|
||||||
<groupId>org.slf4j</groupId>
|
|
||||||
<artifactId>slf4j-jdk14</artifactId>
|
|
||||||
<version>1.7.10</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.slf4j</groupId>
|
|
||||||
<artifactId>slf4j-api</artifactId>
|
|
||||||
<version>1.7.22</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- placeholderAPI -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>me.clip</groupId>
|
<groupId>me.clip</groupId>
|
||||||
<artifactId>placeholderapi</artifactId>
|
<artifactId>placeholderapi</artifactId>
|
||||||
<version>2.11.1</version>
|
<version>2.11.1</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.zaxxer</groupId>
|
||||||
|
<artifactId>HikariCP</artifactId>
|
||||||
|
<!--version>4.0.3</version-->
|
||||||
|
<version>5.1.0</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<version>1.18.30</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Bungee;
|
|
||||||
|
|
||||||
import net.md_5.bungee.config.Configuration;
|
|
||||||
import net.md_5.bungee.config.ConfigurationProvider;
|
|
||||||
import net.md_5.bungee.config.YamlConfiguration;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
public class BConfig {
|
|
||||||
|
|
||||||
public static void create() throws IOException {
|
|
||||||
File config = new File(BMain.plugin.getDataFolder(), "config.yml");
|
|
||||||
if (!BMain.plugin.getDataFolder().exists()) BMain.plugin.getDataFolder().mkdir();
|
|
||||||
if (!config.exists()) {
|
|
||||||
config.createNewFile();
|
|
||||||
}
|
|
||||||
Configuration configuration = ConfigurationProvider.getProvider(YamlConfiguration.class).load(config);
|
|
||||||
|
|
||||||
configuration.set("MySQL.Enable", false);
|
|
||||||
configuration.set("MySQL.IP", "localhost");
|
|
||||||
configuration.set("MySQL.Port", 3306);
|
|
||||||
configuration.set("MySQL.Database", "database");
|
|
||||||
configuration.set("MySQL.User", "user");
|
|
||||||
configuration.set("MySQL.Password", "");
|
|
||||||
configuration.set("MySQL.SSL", false);
|
|
||||||
ConfigurationProvider.getProvider(YamlConfiguration.class).save(configuration, config);
|
|
||||||
|
|
||||||
|
|
||||||
BMySQL.Enable = configuration.getBoolean("MySQL.Enable");
|
|
||||||
BMySQL.ip = configuration.getString("MySQL.IP");
|
|
||||||
BMySQL.port = configuration.getInt("MySQL.Port");
|
|
||||||
BMySQL.database = configuration.getString("MySQL.Database");
|
|
||||||
BMySQL.user = configuration.getString("MySQL.User");
|
|
||||||
BMySQL.password = configuration.getString("MySQL.Password");
|
|
||||||
BMySQL.SSL = configuration.getBoolean("MySQL.SSL");
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,98 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Bungee;
|
|
||||||
|
|
||||||
import net.md_5.bungee.BungeeCord;
|
|
||||||
import net.md_5.bungee.api.ProxyServer;
|
|
||||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
|
||||||
import net.md_5.bungee.api.event.PlayerDisconnectEvent;
|
|
||||||
import net.md_5.bungee.api.event.PluginMessageEvent;
|
|
||||||
import net.md_5.bungee.api.event.PostLoginEvent;
|
|
||||||
import net.md_5.bungee.api.plugin.Listener;
|
|
||||||
import net.md_5.bungee.event.EventHandler;
|
|
||||||
import net.t2code.lib.Bungee.Lib.messages.Bsend;
|
|
||||||
|
|
||||||
import java.io.*;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
public class BListener implements Listener {
|
|
||||||
@EventHandler
|
|
||||||
public void onPluginmessage(PluginMessageEvent event) {
|
|
||||||
if (event.getTag().equalsIgnoreCase("cgui:bungee")) {
|
|
||||||
|
|
||||||
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(event.getData()));
|
|
||||||
try {
|
|
||||||
String channel = stream.readUTF();
|
|
||||||
String input = stream.readUTF();
|
|
||||||
if (channel.equals("cgui-Console")) {
|
|
||||||
ProxyServer.getInstance().getConsole().sendMessage("Command Console: "+ input);
|
|
||||||
ProxyServer.getInstance().getPluginManager().dispatchCommand(ProxyServer.getInstance().getConsole(), input);
|
|
||||||
} else {
|
|
||||||
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(channel);
|
|
||||||
if (player != null) {
|
|
||||||
ProxyServer.getInstance().getConsole().sendMessage("Command " + player +": "+ input);
|
|
||||||
ProxyServer.getInstance().getPluginManager().dispatchCommand(player, input);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void onJoin(PostLoginEvent e) {
|
|
||||||
ProxiedPlayer player = e.getPlayer();
|
|
||||||
sendToSpigotPlayer(player.getName(), true);
|
|
||||||
/*
|
|
||||||
if (BMySQL.Enable) {
|
|
||||||
BMySQL.query("INSERT INTO `gui-bungeeplayer` (`UUID`, `Name`, `Online`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
|
|
||||||
+ "', 'true') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Online` = 'true';");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void onDisconnect(PlayerDisconnectEvent e) {
|
|
||||||
ProxiedPlayer player = e.getPlayer();
|
|
||||||
sendToSpigotPlayer(e.getPlayer().getName(), false);
|
|
||||||
/*
|
|
||||||
if (BMySQL.Enable) {
|
|
||||||
BMySQL.query("INSERT INTO `gui-bungeeplayer` (`UUID`, `Name`, `Online`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
|
|
||||||
+ "', 'true') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Online` = 'false';");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void sendToSpigotPlayer(String name, Boolean join) {
|
|
||||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
|
||||||
DataOutputStream output = new DataOutputStream(stream);
|
|
||||||
try {
|
|
||||||
if (join) {
|
|
||||||
output.writeUTF("join");
|
|
||||||
} else {
|
|
||||||
output.writeUTF("left");
|
|
||||||
}
|
|
||||||
output.writeUTF(name);
|
|
||||||
} catch (IOException e) {
|
|
||||||
Logger.getLogger(e.getMessage());
|
|
||||||
}
|
|
||||||
BungeeCord.getInstance().getServers().values().stream().forEach((server) -> {
|
|
||||||
|
|
||||||
server.sendData("cgui:onlinepl", stream.toByteArray());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void sendToSpigotDeleteAll() {
|
|
||||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
|
||||||
DataOutputStream output = new DataOutputStream(stream);
|
|
||||||
try {
|
|
||||||
output.writeUTF("clear");
|
|
||||||
output.writeUTF("");
|
|
||||||
} catch (IOException e) {
|
|
||||||
Logger.getLogger(e.getMessage());
|
|
||||||
}
|
|
||||||
BungeeCord.getInstance().getServers().values().stream().forEach((server) -> {
|
|
||||||
server.sendData("cgui:onlinepl", stream.toByteArray());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,112 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Bungee;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.md_5.bungee.api.ProxyServer;
|
|
||||||
import net.md_5.bungee.api.plugin.Plugin;
|
|
||||||
import net.t2code.lib.Bungee.Lib.messages.Bsend;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
|
|
||||||
public final class BMain extends Plugin {
|
|
||||||
private boolean enable = false;
|
|
||||||
public static Plugin plugin;
|
|
||||||
public static String update_version = null;
|
|
||||||
|
|
||||||
public static String prefix = "§8[§4C§9GUI§8]";
|
|
||||||
|
|
||||||
public static String version;
|
|
||||||
public static String autor;
|
|
||||||
public static Integer spigotID = 90671;
|
|
||||||
public static Integer bstatsID = 10840;
|
|
||||||
public static String spigot = "https://www.spigotmc.org/resources/" + spigotID;
|
|
||||||
public static String discord = "http://dc.t2code.net";
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onEnable() {
|
|
||||||
// Plugin startup logic
|
|
||||||
Long long_ = Long.valueOf(System.currentTimeMillis());
|
|
||||||
plugin = this;
|
|
||||||
autor = plugin.getDescription().getAuthor();
|
|
||||||
version = plugin.getDescription().getVersion();
|
|
||||||
if (pluginNotFound("T2CodeLib", 96388, Util.getRequiredT2CodeLibVersion())) return;
|
|
||||||
Bsend.console(prefix + "§4============================= §8[§4Command§9GUI§5BUNGEE§8] §4=============================");
|
|
||||||
Bsend.console(prefix + "§4 _____ §9_____ _ _ _____ §e ___ ");
|
|
||||||
Bsend.console(prefix + "§4 / ____§9/ ____| | | |_ _|§e |__ \\ ");
|
|
||||||
Bsend.console(prefix + "§4 | | §9| | __| | | | | |§e_ __ ) |");
|
|
||||||
Bsend.console(prefix + "§4 | | §9| | |_ | | | | | §e\\ \\ / // / ");
|
|
||||||
Bsend.console(prefix + "§4 | |___§9| |__| | |__| |_| |§e\\ V // /_ ");
|
|
||||||
Bsend.console(prefix + "§4 \\_____§9\\_____|\\____/|_____§e\\_/|____|");
|
|
||||||
Bsend.console(prefix);
|
|
||||||
Bsend.console(prefix + " §2Autor: §6" + String.valueOf(autor).replace("[", "").replace("]", ""));
|
|
||||||
Bsend.console(prefix + " §2Version: §6" + version);
|
|
||||||
Bsend.console(prefix + " §2Spigot: §6" + spigot);
|
|
||||||
Bsend.console(prefix + " §2Discord: §6" + discord);
|
|
||||||
/* try {
|
|
||||||
BConfig.create();
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
plugin.getProxy().registerChannel("cgui:bungee");
|
|
||||||
plugin.getProxy().getPluginManager().registerListener(plugin, new BListener());
|
|
||||||
BListener.sendToSpigotDeleteAll();
|
|
||||||
BMetrics metrics = new BMetrics(this, bstatsID);
|
|
||||||
|
|
||||||
/*
|
|
||||||
if (BMySQL.Enable){
|
|
||||||
BMySQL.main();
|
|
||||||
BMySQL.query("CREATE TABLE IF NOT EXISTS `gui-bungeeplayer` (" +
|
|
||||||
" `UUID` VARCHAR(191) NOT NULL COLLATE 'utf8mb4_general_ci'," +
|
|
||||||
" `Name` TINYTEXT NOT NULL COLLATE 'utf8mb4_general_ci'," +
|
|
||||||
" `Online` TINYTEXT NOT NULL COLLATE 'utf8mb4_general_ci'," +
|
|
||||||
" UNIQUE INDEX `UUID` (`UUID`)" +
|
|
||||||
")" +
|
|
||||||
"COLLATE='utf8mb4_general_ci'" +
|
|
||||||
"ENGINE=InnoDB" +
|
|
||||||
";");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
Bsend.console(prefix + " §2Plugin loaded successfully." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
|
|
||||||
Bsend.console(prefix + "§4==============================================================================");
|
|
||||||
BUpdateChecker.onUpdateCheck();
|
|
||||||
BUpdateChecker.onUpdateCheckTimer();
|
|
||||||
enable = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDisable() {
|
|
||||||
// Plugin shutdown logic
|
|
||||||
if (!enable) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Bsend.console(prefix + "§4============================= §8[§4Command§9GUI§5BUNGEE§8] §4=============================");
|
|
||||||
Bsend.console(prefix + " §2Autor: §6" + String.valueOf(autor).replace("[", "").replace("]", ""));
|
|
||||||
Bsend.console(prefix + " §2Version: §6" + version);
|
|
||||||
Bsend.console(prefix + " §2Spigot: §6" + spigot);
|
|
||||||
Bsend.console(prefix + " §2Discord: §6" + discord);
|
|
||||||
Bsend.console(prefix + " §4Plugin successfully disabled.");
|
|
||||||
Bsend.console(prefix + "§4==============================================================================");
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Boolean pluginNotFound(String pl, Integer spigotID, double ver) {
|
|
||||||
if (ProxyServer.getInstance().getPluginManager().getPlugin(pl) == null) {
|
|
||||||
plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!");
|
|
||||||
ProxyServer.getInstance().getConsole().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.");
|
|
||||||
// BMain.plugin.getPluginLoader().disablePlugin(BMain.plugin);
|
|
||||||
BMain.plugin.onDisable();
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
if (Double.parseDouble(ProxyServer.getInstance().getPluginManager().getPlugin(pl).getDescription().getVersion()) < ver) {
|
|
||||||
plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!");
|
|
||||||
ProxyServer.getInstance().getConsole().sendMessage(prefix + " §e" + pl + " §4is out of date! This plugin requires at least version §2" + ver + " §4of §6" + pl + " §4Please update it here: §6https://spigotmc.org/resources/" + pl + "." + spigotID + " §4to use this version of " + plugin.getDescription().getName() + ".");
|
|
||||||
// BMain.plugin.getPluginLoader().disablePlugin(BMain.plugin);
|
|
||||||
BMain.plugin.onDisable();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,857 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Bungee;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.BufferedWriter;
|
|
||||||
import java.io.ByteArrayOutputStream;
|
|
||||||
import java.io.DataOutputStream;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileWriter;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStreamReader;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.UUID;
|
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
import java.util.concurrent.Executors;
|
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
import java.util.function.BiConsumer;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
import java.util.function.Supplier;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
import java.util.zip.GZIPOutputStream;
|
|
||||||
import javax.net.ssl.HttpsURLConnection;
|
|
||||||
import net.md_5.bungee.api.plugin.Plugin;
|
|
||||||
import net.md_5.bungee.config.Configuration;
|
|
||||||
import net.md_5.bungee.config.ConfigurationProvider;
|
|
||||||
import net.md_5.bungee.config.YamlConfiguration;
|
|
||||||
|
|
||||||
public class BMetrics {
|
|
||||||
|
|
||||||
private final Plugin plugin;
|
|
||||||
|
|
||||||
private final MetricsBase metricsBase;
|
|
||||||
|
|
||||||
private boolean enabled;
|
|
||||||
|
|
||||||
private String serverUUID;
|
|
||||||
|
|
||||||
private boolean logErrors = false;
|
|
||||||
|
|
||||||
private boolean logSentData;
|
|
||||||
|
|
||||||
private boolean logResponseStatusText;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new Metrics instance.
|
|
||||||
*
|
|
||||||
* @param plugin Your plugin instance.
|
|
||||||
* @param serviceId The id of the service. It can be found at <a
|
|
||||||
* href="https://bstats.org/what-is-my-plugin-id">What is my plugin id?</a>
|
|
||||||
*/
|
|
||||||
public BMetrics(Plugin plugin, int serviceId) {
|
|
||||||
this.plugin = plugin;
|
|
||||||
try {
|
|
||||||
loadConfig();
|
|
||||||
} catch (IOException e) {
|
|
||||||
// Failed to load configuration
|
|
||||||
plugin.getLogger().log(Level.WARNING, "Failed to load bStats config!", e);
|
|
||||||
metricsBase = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
metricsBase =
|
|
||||||
new MetricsBase(
|
|
||||||
"bungeecord",
|
|
||||||
serverUUID,
|
|
||||||
serviceId,
|
|
||||||
enabled,
|
|
||||||
this::appendPlatformData,
|
|
||||||
this::appendServiceData,
|
|
||||||
null,
|
|
||||||
() -> true,
|
|
||||||
(message, error) -> this.plugin.getLogger().log(Level.WARNING, message, error),
|
|
||||||
(message) -> this.plugin.getLogger().log(Level.INFO, message),
|
|
||||||
logErrors,
|
|
||||||
logSentData,
|
|
||||||
logResponseStatusText);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Loads the bStats configuration. */
|
|
||||||
private void loadConfig() throws IOException {
|
|
||||||
File bStatsFolder = new File(plugin.getDataFolder().getParentFile(), "bStats");
|
|
||||||
bStatsFolder.mkdirs();
|
|
||||||
File configFile = new File(bStatsFolder, "config.yml");
|
|
||||||
if (!configFile.exists()) {
|
|
||||||
writeFile(
|
|
||||||
configFile,
|
|
||||||
"# bStats (https://bStats.org) collects some basic information for plugin authors, like how",
|
|
||||||
"# many people use their plugin and their total player count. It's recommended to keep bStats",
|
|
||||||
"# enabled, but if you're not comfortable with this, you can turn this setting off. There is no",
|
|
||||||
"# performance penalty associated with having metrics enabled, and data sent to bStats is fully",
|
|
||||||
"# anonymous.",
|
|
||||||
"enabled: true",
|
|
||||||
"serverUuid: \"" + UUID.randomUUID() + "\"",
|
|
||||||
"logFailedRequests: false",
|
|
||||||
"logSentData: false",
|
|
||||||
"logResponseStatusText: false");
|
|
||||||
}
|
|
||||||
Configuration configuration =
|
|
||||||
ConfigurationProvider.getProvider(YamlConfiguration.class).load(configFile);
|
|
||||||
// Load configuration
|
|
||||||
enabled = configuration.getBoolean("enabled", true);
|
|
||||||
serverUUID = configuration.getString("serverUuid");
|
|
||||||
logErrors = configuration.getBoolean("logFailedRequests", false);
|
|
||||||
logSentData = configuration.getBoolean("logSentData", false);
|
|
||||||
logResponseStatusText = configuration.getBoolean("logResponseStatusText", false);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void writeFile(File file, String... lines) throws IOException {
|
|
||||||
try (BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file))) {
|
|
||||||
for (String line : lines) {
|
|
||||||
bufferedWriter.write(line);
|
|
||||||
bufferedWriter.newLine();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a custom chart.
|
|
||||||
*
|
|
||||||
* @param chart The chart to add.
|
|
||||||
*/
|
|
||||||
public void addCustomChart(CustomChart chart) {
|
|
||||||
metricsBase.addCustomChart(chart);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void appendPlatformData(JsonObjectBuilder builder) {
|
|
||||||
builder.appendField("playerAmount", plugin.getProxy().getOnlineCount());
|
|
||||||
builder.appendField("managedServers", plugin.getProxy().getServers().size());
|
|
||||||
builder.appendField("onlineMode", plugin.getProxy().getConfig().isOnlineMode() ? 1 : 0);
|
|
||||||
builder.appendField("bungeecordVersion", plugin.getProxy().getVersion());
|
|
||||||
builder.appendField("javaVersion", System.getProperty("java.version"));
|
|
||||||
builder.appendField("osName", System.getProperty("os.name"));
|
|
||||||
builder.appendField("osArch", System.getProperty("os.arch"));
|
|
||||||
builder.appendField("osVersion", System.getProperty("os.version"));
|
|
||||||
builder.appendField("coreCount", Runtime.getRuntime().availableProcessors());
|
|
||||||
}
|
|
||||||
|
|
||||||
private void appendServiceData(JsonObjectBuilder builder) {
|
|
||||||
builder.appendField("pluginVersion", plugin.getDescription().getVersion());
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class MetricsBase {
|
|
||||||
|
|
||||||
/** The version of the Metrics class. */
|
|
||||||
public static final String METRICS_VERSION = "2.2.1";
|
|
||||||
|
|
||||||
private static final ScheduledExecutorService scheduler =
|
|
||||||
Executors.newScheduledThreadPool(1, task -> new Thread(task, "bStats-Metrics"));
|
|
||||||
|
|
||||||
private static final String REPORT_URL = "https://bStats.org/api/v2/data/%s";
|
|
||||||
|
|
||||||
private final String platform;
|
|
||||||
|
|
||||||
private final String serverUuid;
|
|
||||||
|
|
||||||
private final int serviceId;
|
|
||||||
|
|
||||||
private final Consumer<JsonObjectBuilder> appendPlatformDataConsumer;
|
|
||||||
|
|
||||||
private final Consumer<JsonObjectBuilder> appendServiceDataConsumer;
|
|
||||||
|
|
||||||
private final Consumer<Runnable> submitTaskConsumer;
|
|
||||||
|
|
||||||
private final Supplier<Boolean> checkServiceEnabledSupplier;
|
|
||||||
|
|
||||||
private final BiConsumer<String, Throwable> errorLogger;
|
|
||||||
|
|
||||||
private final Consumer<String> infoLogger;
|
|
||||||
|
|
||||||
private final boolean logErrors;
|
|
||||||
|
|
||||||
private final boolean logSentData;
|
|
||||||
|
|
||||||
private final boolean logResponseStatusText;
|
|
||||||
|
|
||||||
private final Set<CustomChart> customCharts = new HashSet<>();
|
|
||||||
|
|
||||||
private final boolean enabled;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new MetricsBase class instance.
|
|
||||||
*
|
|
||||||
* @param platform The platform of the service.
|
|
||||||
* @param serviceId The id of the service.
|
|
||||||
* @param serverUuid The server uuid.
|
|
||||||
* @param enabled Whether or not data sending is enabled.
|
|
||||||
* @param appendPlatformDataConsumer A consumer that receives a {@code JsonObjectBuilder} and
|
|
||||||
* appends all platform-specific data.
|
|
||||||
* @param appendServiceDataConsumer A consumer that receives a {@code JsonObjectBuilder} and
|
|
||||||
* appends all service-specific data.
|
|
||||||
* @param submitTaskConsumer A consumer that takes a runnable with the submit task. This can be
|
|
||||||
* used to delegate the data collection to a another thread to prevent errors caused by
|
|
||||||
* concurrency. Can be {@code null}.
|
|
||||||
* @param checkServiceEnabledSupplier A supplier to check if the service is still enabled.
|
|
||||||
* @param errorLogger A consumer that accepts log message and an error.
|
|
||||||
* @param infoLogger A consumer that accepts info log messages.
|
|
||||||
* @param logErrors Whether or not errors should be logged.
|
|
||||||
* @param logSentData Whether or not the sent data should be logged.
|
|
||||||
* @param logResponseStatusText Whether or not the response status text should be logged.
|
|
||||||
*/
|
|
||||||
public MetricsBase(
|
|
||||||
String platform,
|
|
||||||
String serverUuid,
|
|
||||||
int serviceId,
|
|
||||||
boolean enabled,
|
|
||||||
Consumer<JsonObjectBuilder> appendPlatformDataConsumer,
|
|
||||||
Consumer<JsonObjectBuilder> appendServiceDataConsumer,
|
|
||||||
Consumer<Runnable> submitTaskConsumer,
|
|
||||||
Supplier<Boolean> checkServiceEnabledSupplier,
|
|
||||||
BiConsumer<String, Throwable> errorLogger,
|
|
||||||
Consumer<String> infoLogger,
|
|
||||||
boolean logErrors,
|
|
||||||
boolean logSentData,
|
|
||||||
boolean logResponseStatusText) {
|
|
||||||
this.platform = platform;
|
|
||||||
this.serverUuid = serverUuid;
|
|
||||||
this.serviceId = serviceId;
|
|
||||||
this.enabled = enabled;
|
|
||||||
this.appendPlatformDataConsumer = appendPlatformDataConsumer;
|
|
||||||
this.appendServiceDataConsumer = appendServiceDataConsumer;
|
|
||||||
this.submitTaskConsumer = submitTaskConsumer;
|
|
||||||
this.checkServiceEnabledSupplier = checkServiceEnabledSupplier;
|
|
||||||
this.errorLogger = errorLogger;
|
|
||||||
this.infoLogger = infoLogger;
|
|
||||||
this.logErrors = logErrors;
|
|
||||||
this.logSentData = logSentData;
|
|
||||||
this.logResponseStatusText = logResponseStatusText;
|
|
||||||
checkRelocation();
|
|
||||||
if (enabled) {
|
|
||||||
startSubmitting();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addCustomChart(CustomChart chart) {
|
|
||||||
this.customCharts.add(chart);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void startSubmitting() {
|
|
||||||
final Runnable submitTask =
|
|
||||||
() -> {
|
|
||||||
if (!enabled || !checkServiceEnabledSupplier.get()) {
|
|
||||||
// Submitting data or service is disabled
|
|
||||||
scheduler.shutdown();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (submitTaskConsumer != null) {
|
|
||||||
submitTaskConsumer.accept(this::submitData);
|
|
||||||
} else {
|
|
||||||
this.submitData();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
// Many servers tend to restart at a fixed time at xx:00 which causes an uneven distribution
|
|
||||||
// of requests on the
|
|
||||||
// bStats backend. To circumvent this problem, we introduce some randomness into the initial
|
|
||||||
// and second delay.
|
|
||||||
// WARNING: You must not modify and part of this Metrics class, including the submit delay or
|
|
||||||
// frequency!
|
|
||||||
// WARNING: Modifying this code will get your plugin banned on bStats. Just don't do it!
|
|
||||||
long initialDelay = (long) (1000 * 60 * (3 + Math.random() * 3));
|
|
||||||
long secondDelay = (long) (1000 * 60 * (Math.random() * 30));
|
|
||||||
scheduler.schedule(submitTask, initialDelay, TimeUnit.MILLISECONDS);
|
|
||||||
scheduler.scheduleAtFixedRate(
|
|
||||||
submitTask, initialDelay + secondDelay, 1000 * 60 * 30, TimeUnit.MILLISECONDS);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void submitData() {
|
|
||||||
final JsonObjectBuilder baseJsonBuilder = new JsonObjectBuilder();
|
|
||||||
appendPlatformDataConsumer.accept(baseJsonBuilder);
|
|
||||||
final JsonObjectBuilder serviceJsonBuilder = new JsonObjectBuilder();
|
|
||||||
appendServiceDataConsumer.accept(serviceJsonBuilder);
|
|
||||||
JsonObjectBuilder.JsonObject[] chartData =
|
|
||||||
customCharts.stream()
|
|
||||||
.map(customChart -> customChart.getRequestJsonObject(errorLogger, logErrors))
|
|
||||||
.filter(Objects::nonNull)
|
|
||||||
.toArray(JsonObjectBuilder.JsonObject[]::new);
|
|
||||||
serviceJsonBuilder.appendField("id", serviceId);
|
|
||||||
serviceJsonBuilder.appendField("customCharts", chartData);
|
|
||||||
baseJsonBuilder.appendField("service", serviceJsonBuilder.build());
|
|
||||||
baseJsonBuilder.appendField("serverUUID", serverUuid);
|
|
||||||
baseJsonBuilder.appendField("metricsVersion", METRICS_VERSION);
|
|
||||||
JsonObjectBuilder.JsonObject data = baseJsonBuilder.build();
|
|
||||||
scheduler.execute(
|
|
||||||
() -> {
|
|
||||||
try {
|
|
||||||
// Send the data
|
|
||||||
sendData(data);
|
|
||||||
} catch (Exception e) {
|
|
||||||
// Something went wrong! :(
|
|
||||||
if (logErrors) {
|
|
||||||
errorLogger.accept("Could not submit bStats metrics data", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private void sendData(JsonObjectBuilder.JsonObject data) throws Exception {
|
|
||||||
if (logSentData) {
|
|
||||||
infoLogger.accept("Sent bStats metrics data: " + data.toString());
|
|
||||||
}
|
|
||||||
String url = String.format(REPORT_URL, platform);
|
|
||||||
HttpsURLConnection connection = (HttpsURLConnection) new URL(url).openConnection();
|
|
||||||
// Compress the data to save bandwidth
|
|
||||||
byte[] compressedData = compress(data.toString());
|
|
||||||
connection.setRequestMethod("POST");
|
|
||||||
connection.addRequestProperty("Accept", "application/json");
|
|
||||||
connection.addRequestProperty("Connection", "close");
|
|
||||||
connection.addRequestProperty("Content-Encoding", "gzip");
|
|
||||||
connection.addRequestProperty("Content-Length", String.valueOf(compressedData.length));
|
|
||||||
connection.setRequestProperty("Content-Type", "application/json");
|
|
||||||
connection.setRequestProperty("User-Agent", "Metrics-Service/1");
|
|
||||||
connection.setDoOutput(true);
|
|
||||||
try (DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream())) {
|
|
||||||
outputStream.write(compressedData);
|
|
||||||
}
|
|
||||||
StringBuilder builder = new StringBuilder();
|
|
||||||
try (BufferedReader bufferedReader =
|
|
||||||
new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
|
|
||||||
String line;
|
|
||||||
while ((line = bufferedReader.readLine()) != null) {
|
|
||||||
builder.append(line);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (logResponseStatusText) {
|
|
||||||
infoLogger.accept("Sent data to bStats and received response: " + builder);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Checks that the class was properly relocated. */
|
|
||||||
private void checkRelocation() {
|
|
||||||
// You can use the property to disable the check in your test environment
|
|
||||||
if (System.getProperty("bstats.relocatecheck") == null
|
|
||||||
|| !System.getProperty("bstats.relocatecheck").equals("false")) {
|
|
||||||
// Maven's Relocate is clever and changes strings, too. So we have to use this little
|
|
||||||
// "trick" ... :D
|
|
||||||
final String defaultPackage =
|
|
||||||
new String(new byte[] {'o', 'r', 'g', '.', 'b', 's', 't', 'a', 't', 's'});
|
|
||||||
final String examplePackage =
|
|
||||||
new String(new byte[] {'y', 'o', 'u', 'r', '.', 'p', 'a', 'c', 'k', 'a', 'g', 'e'});
|
|
||||||
// We want to make sure no one just copy & pastes the example and uses the wrong package
|
|
||||||
// names
|
|
||||||
if (MetricsBase.class.getPackage().getName().startsWith(defaultPackage)
|
|
||||||
|| MetricsBase.class.getPackage().getName().startsWith(examplePackage)) {
|
|
||||||
throw new IllegalStateException("bStats Metrics class has not been relocated correctly!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gzips the given string.
|
|
||||||
*
|
|
||||||
* @param str The string to gzip.
|
|
||||||
* @return The gzipped string.
|
|
||||||
*/
|
|
||||||
private static byte[] compress(final String str) throws IOException {
|
|
||||||
if (str == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
|
||||||
try (GZIPOutputStream gzip = new GZIPOutputStream(outputStream)) {
|
|
||||||
gzip.write(str.getBytes(StandardCharsets.UTF_8));
|
|
||||||
}
|
|
||||||
return outputStream.toByteArray();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class AdvancedBarChart extends CustomChart {
|
|
||||||
|
|
||||||
private final Callable<Map<String, int[]>> callable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class constructor.
|
|
||||||
*
|
|
||||||
* @param chartId The id of the chart.
|
|
||||||
* @param callable The callable which is used to request the chart data.
|
|
||||||
*/
|
|
||||||
public AdvancedBarChart(String chartId, Callable<Map<String, int[]>> callable) {
|
|
||||||
super(chartId);
|
|
||||||
this.callable = callable;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected JsonObjectBuilder.JsonObject getChartData() throws Exception {
|
|
||||||
JsonObjectBuilder valuesBuilder = new JsonObjectBuilder();
|
|
||||||
Map<String, int[]> map = callable.call();
|
|
||||||
if (map == null || map.isEmpty()) {
|
|
||||||
// Null = skip the chart
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
boolean allSkipped = true;
|
|
||||||
for (Map.Entry<String, int[]> entry : map.entrySet()) {
|
|
||||||
if (entry.getValue().length == 0) {
|
|
||||||
// Skip this invalid
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
allSkipped = false;
|
|
||||||
valuesBuilder.appendField(entry.getKey(), entry.getValue());
|
|
||||||
}
|
|
||||||
if (allSkipped) {
|
|
||||||
// Null = skip the chart
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return new JsonObjectBuilder().appendField("values", valuesBuilder.build()).build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class SimpleBarChart extends CustomChart {
|
|
||||||
|
|
||||||
private final Callable<Map<String, Integer>> callable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class constructor.
|
|
||||||
*
|
|
||||||
* @param chartId The id of the chart.
|
|
||||||
* @param callable The callable which is used to request the chart data.
|
|
||||||
*/
|
|
||||||
public SimpleBarChart(String chartId, Callable<Map<String, Integer>> callable) {
|
|
||||||
super(chartId);
|
|
||||||
this.callable = callable;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected JsonObjectBuilder.JsonObject getChartData() throws Exception {
|
|
||||||
JsonObjectBuilder valuesBuilder = new JsonObjectBuilder();
|
|
||||||
Map<String, Integer> map = callable.call();
|
|
||||||
if (map == null || map.isEmpty()) {
|
|
||||||
// Null = skip the chart
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
for (Map.Entry<String, Integer> entry : map.entrySet()) {
|
|
||||||
valuesBuilder.appendField(entry.getKey(), new int[] {entry.getValue()});
|
|
||||||
}
|
|
||||||
return new JsonObjectBuilder().appendField("values", valuesBuilder.build()).build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class MultiLineChart extends CustomChart {
|
|
||||||
|
|
||||||
private final Callable<Map<String, Integer>> callable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class constructor.
|
|
||||||
*
|
|
||||||
* @param chartId The id of the chart.
|
|
||||||
* @param callable The callable which is used to request the chart data.
|
|
||||||
*/
|
|
||||||
public MultiLineChart(String chartId, Callable<Map<String, Integer>> callable) {
|
|
||||||
super(chartId);
|
|
||||||
this.callable = callable;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected JsonObjectBuilder.JsonObject getChartData() throws Exception {
|
|
||||||
JsonObjectBuilder valuesBuilder = new JsonObjectBuilder();
|
|
||||||
Map<String, Integer> map = callable.call();
|
|
||||||
if (map == null || map.isEmpty()) {
|
|
||||||
// Null = skip the chart
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
boolean allSkipped = true;
|
|
||||||
for (Map.Entry<String, Integer> entry : map.entrySet()) {
|
|
||||||
if (entry.getValue() == 0) {
|
|
||||||
// Skip this invalid
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
allSkipped = false;
|
|
||||||
valuesBuilder.appendField(entry.getKey(), entry.getValue());
|
|
||||||
}
|
|
||||||
if (allSkipped) {
|
|
||||||
// Null = skip the chart
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return new JsonObjectBuilder().appendField("values", valuesBuilder.build()).build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class AdvancedPie extends CustomChart {
|
|
||||||
|
|
||||||
private final Callable<Map<String, Integer>> callable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class constructor.
|
|
||||||
*
|
|
||||||
* @param chartId The id of the chart.
|
|
||||||
* @param callable The callable which is used to request the chart data.
|
|
||||||
*/
|
|
||||||
public AdvancedPie(String chartId, Callable<Map<String, Integer>> callable) {
|
|
||||||
super(chartId);
|
|
||||||
this.callable = callable;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected JsonObjectBuilder.JsonObject getChartData() throws Exception {
|
|
||||||
JsonObjectBuilder valuesBuilder = new JsonObjectBuilder();
|
|
||||||
Map<String, Integer> map = callable.call();
|
|
||||||
if (map == null || map.isEmpty()) {
|
|
||||||
// Null = skip the chart
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
boolean allSkipped = true;
|
|
||||||
for (Map.Entry<String, Integer> entry : map.entrySet()) {
|
|
||||||
if (entry.getValue() == 0) {
|
|
||||||
// Skip this invalid
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
allSkipped = false;
|
|
||||||
valuesBuilder.appendField(entry.getKey(), entry.getValue());
|
|
||||||
}
|
|
||||||
if (allSkipped) {
|
|
||||||
// Null = skip the chart
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return new JsonObjectBuilder().appendField("values", valuesBuilder.build()).build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public abstract static class CustomChart {
|
|
||||||
|
|
||||||
private final String chartId;
|
|
||||||
|
|
||||||
protected CustomChart(String chartId) {
|
|
||||||
if (chartId == null) {
|
|
||||||
throw new IllegalArgumentException("chartId must not be null");
|
|
||||||
}
|
|
||||||
this.chartId = chartId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public JsonObjectBuilder.JsonObject getRequestJsonObject(
|
|
||||||
BiConsumer<String, Throwable> errorLogger, boolean logErrors) {
|
|
||||||
JsonObjectBuilder builder = new JsonObjectBuilder();
|
|
||||||
builder.appendField("chartId", chartId);
|
|
||||||
try {
|
|
||||||
JsonObjectBuilder.JsonObject data = getChartData();
|
|
||||||
if (data == null) {
|
|
||||||
// If the data is null we don't send the chart.
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
builder.appendField("data", data);
|
|
||||||
} catch (Throwable t) {
|
|
||||||
if (logErrors) {
|
|
||||||
errorLogger.accept("Failed to get data for custom chart with id " + chartId, t);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return builder.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected abstract JsonObjectBuilder.JsonObject getChartData() throws Exception;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class SingleLineChart extends CustomChart {
|
|
||||||
|
|
||||||
private final Callable<Integer> callable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class constructor.
|
|
||||||
*
|
|
||||||
* @param chartId The id of the chart.
|
|
||||||
* @param callable The callable which is used to request the chart data.
|
|
||||||
*/
|
|
||||||
public SingleLineChart(String chartId, Callable<Integer> callable) {
|
|
||||||
super(chartId);
|
|
||||||
this.callable = callable;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected JsonObjectBuilder.JsonObject getChartData() throws Exception {
|
|
||||||
int value = callable.call();
|
|
||||||
if (value == 0) {
|
|
||||||
// Null = skip the chart
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return new JsonObjectBuilder().appendField("value", value).build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class SimplePie extends CustomChart {
|
|
||||||
|
|
||||||
private final Callable<String> callable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class constructor.
|
|
||||||
*
|
|
||||||
* @param chartId The id of the chart.
|
|
||||||
* @param callable The callable which is used to request the chart data.
|
|
||||||
*/
|
|
||||||
public SimplePie(String chartId, Callable<String> callable) {
|
|
||||||
super(chartId);
|
|
||||||
this.callable = callable;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected JsonObjectBuilder.JsonObject getChartData() throws Exception {
|
|
||||||
String value = callable.call();
|
|
||||||
if (value == null || value.isEmpty()) {
|
|
||||||
// Null = skip the chart
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return new JsonObjectBuilder().appendField("value", value).build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class DrilldownPie extends CustomChart {
|
|
||||||
|
|
||||||
private final Callable<Map<String, Map<String, Integer>>> callable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class constructor.
|
|
||||||
*
|
|
||||||
* @param chartId The id of the chart.
|
|
||||||
* @param callable The callable which is used to request the chart data.
|
|
||||||
*/
|
|
||||||
public DrilldownPie(String chartId, Callable<Map<String, Map<String, Integer>>> callable) {
|
|
||||||
super(chartId);
|
|
||||||
this.callable = callable;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public JsonObjectBuilder.JsonObject getChartData() throws Exception {
|
|
||||||
JsonObjectBuilder valuesBuilder = new JsonObjectBuilder();
|
|
||||||
Map<String, Map<String, Integer>> map = callable.call();
|
|
||||||
if (map == null || map.isEmpty()) {
|
|
||||||
// Null = skip the chart
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
boolean reallyAllSkipped = true;
|
|
||||||
for (Map.Entry<String, Map<String, Integer>> entryValues : map.entrySet()) {
|
|
||||||
JsonObjectBuilder valueBuilder = new JsonObjectBuilder();
|
|
||||||
boolean allSkipped = true;
|
|
||||||
for (Map.Entry<String, Integer> valueEntry : map.get(entryValues.getKey()).entrySet()) {
|
|
||||||
valueBuilder.appendField(valueEntry.getKey(), valueEntry.getValue());
|
|
||||||
allSkipped = false;
|
|
||||||
}
|
|
||||||
if (!allSkipped) {
|
|
||||||
reallyAllSkipped = false;
|
|
||||||
valuesBuilder.appendField(entryValues.getKey(), valueBuilder.build());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (reallyAllSkipped) {
|
|
||||||
// Null = skip the chart
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return new JsonObjectBuilder().appendField("values", valuesBuilder.build()).build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An extremely simple JSON builder.
|
|
||||||
*
|
|
||||||
* <p>While this class is neither feature-rich nor the most performant one, it's sufficient enough
|
|
||||||
* for its use-case.
|
|
||||||
*/
|
|
||||||
public static class JsonObjectBuilder {
|
|
||||||
|
|
||||||
private StringBuilder builder = new StringBuilder();
|
|
||||||
|
|
||||||
private boolean hasAtLeastOneField = false;
|
|
||||||
|
|
||||||
public JsonObjectBuilder() {
|
|
||||||
builder.append("{");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Appends a null field to the JSON.
|
|
||||||
*
|
|
||||||
* @param key The key of the field.
|
|
||||||
* @return A reference to this object.
|
|
||||||
*/
|
|
||||||
public JsonObjectBuilder appendNull(String key) {
|
|
||||||
appendFieldUnescaped(key, "null");
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Appends a string field to the JSON.
|
|
||||||
*
|
|
||||||
* @param key The key of the field.
|
|
||||||
* @param value The value of the field.
|
|
||||||
* @return A reference to this object.
|
|
||||||
*/
|
|
||||||
public JsonObjectBuilder appendField(String key, String value) {
|
|
||||||
if (value == null) {
|
|
||||||
throw new IllegalArgumentException("JSON value must not be null");
|
|
||||||
}
|
|
||||||
appendFieldUnescaped(key, "\"" + escape(value) + "\"");
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Appends an integer field to the JSON.
|
|
||||||
*
|
|
||||||
* @param key The key of the field.
|
|
||||||
* @param value The value of the field.
|
|
||||||
* @return A reference to this object.
|
|
||||||
*/
|
|
||||||
public JsonObjectBuilder appendField(String key, int value) {
|
|
||||||
appendFieldUnescaped(key, String.valueOf(value));
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Appends an object to the JSON.
|
|
||||||
*
|
|
||||||
* @param key The key of the field.
|
|
||||||
* @param object The object.
|
|
||||||
* @return A reference to this object.
|
|
||||||
*/
|
|
||||||
public JsonObjectBuilder appendField(String key, JsonObject object) {
|
|
||||||
if (object == null) {
|
|
||||||
throw new IllegalArgumentException("JSON object must not be null");
|
|
||||||
}
|
|
||||||
appendFieldUnescaped(key, object.toString());
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Appends a string array to the JSON.
|
|
||||||
*
|
|
||||||
* @param key The key of the field.
|
|
||||||
* @param values The string array.
|
|
||||||
* @return A reference to this object.
|
|
||||||
*/
|
|
||||||
public JsonObjectBuilder appendField(String key, String[] values) {
|
|
||||||
if (values == null) {
|
|
||||||
throw new IllegalArgumentException("JSON values must not be null");
|
|
||||||
}
|
|
||||||
String escapedValues =
|
|
||||||
Arrays.stream(values)
|
|
||||||
.map(value -> "\"" + escape(value) + "\"")
|
|
||||||
.collect(Collectors.joining(","));
|
|
||||||
appendFieldUnescaped(key, "[" + escapedValues + "]");
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Appends an integer array to the JSON.
|
|
||||||
*
|
|
||||||
* @param key The key of the field.
|
|
||||||
* @param values The integer array.
|
|
||||||
* @return A reference to this object.
|
|
||||||
*/
|
|
||||||
public JsonObjectBuilder appendField(String key, int[] values) {
|
|
||||||
if (values == null) {
|
|
||||||
throw new IllegalArgumentException("JSON values must not be null");
|
|
||||||
}
|
|
||||||
String escapedValues =
|
|
||||||
Arrays.stream(values).mapToObj(String::valueOf).collect(Collectors.joining(","));
|
|
||||||
appendFieldUnescaped(key, "[" + escapedValues + "]");
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Appends an object array to the JSON.
|
|
||||||
*
|
|
||||||
* @param key The key of the field.
|
|
||||||
* @param values The integer array.
|
|
||||||
* @return A reference to this object.
|
|
||||||
*/
|
|
||||||
public JsonObjectBuilder appendField(String key, JsonObject[] values) {
|
|
||||||
if (values == null) {
|
|
||||||
throw new IllegalArgumentException("JSON values must not be null");
|
|
||||||
}
|
|
||||||
String escapedValues =
|
|
||||||
Arrays.stream(values).map(JsonObject::toString).collect(Collectors.joining(","));
|
|
||||||
appendFieldUnescaped(key, "[" + escapedValues + "]");
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Appends a field to the object.
|
|
||||||
*
|
|
||||||
* @param key The key of the field.
|
|
||||||
* @param escapedValue The escaped value of the field.
|
|
||||||
*/
|
|
||||||
private void appendFieldUnescaped(String key, String escapedValue) {
|
|
||||||
if (builder == null) {
|
|
||||||
throw new IllegalStateException("JSON has already been built");
|
|
||||||
}
|
|
||||||
if (key == null) {
|
|
||||||
throw new IllegalArgumentException("JSON key must not be null");
|
|
||||||
}
|
|
||||||
if (hasAtLeastOneField) {
|
|
||||||
builder.append(",");
|
|
||||||
}
|
|
||||||
builder.append("\"").append(escape(key)).append("\":").append(escapedValue);
|
|
||||||
hasAtLeastOneField = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Builds the JSON string and invalidates this builder.
|
|
||||||
*
|
|
||||||
* @return The built JSON string.
|
|
||||||
*/
|
|
||||||
public JsonObject build() {
|
|
||||||
if (builder == null) {
|
|
||||||
throw new IllegalStateException("JSON has already been built");
|
|
||||||
}
|
|
||||||
JsonObject object = new JsonObject(builder.append("}").toString());
|
|
||||||
builder = null;
|
|
||||||
return object;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Escapes the given string like stated in https://www.ietf.org/rfc/rfc4627.txt.
|
|
||||||
*
|
|
||||||
* <p>This method escapes only the necessary characters '"', '\'. and '\u0000' - '\u001F'.
|
|
||||||
* Compact escapes are not used (e.g., '\n' is escaped as "\u000a" and not as "\n").
|
|
||||||
*
|
|
||||||
* @param value The value to escape.
|
|
||||||
* @return The escaped value.
|
|
||||||
*/
|
|
||||||
private static String escape(String value) {
|
|
||||||
final StringBuilder builder = new StringBuilder();
|
|
||||||
for (int i = 0; i < value.length(); i++) {
|
|
||||||
char c = value.charAt(i);
|
|
||||||
if (c == '"') {
|
|
||||||
builder.append("\\\"");
|
|
||||||
} else if (c == '\\') {
|
|
||||||
builder.append("\\\\");
|
|
||||||
} else if (c <= '\u000F') {
|
|
||||||
builder.append("\\u000").append(Integer.toHexString(c));
|
|
||||||
} else if (c <= '\u001F') {
|
|
||||||
builder.append("\\u00").append(Integer.toHexString(c));
|
|
||||||
} else {
|
|
||||||
builder.append(c);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return builder.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A super simple representation of a JSON object.
|
|
||||||
*
|
|
||||||
* <p>This class only exists to make methods of the {@link JsonObjectBuilder} type-safe and not
|
|
||||||
* allow a raw string inputs for methods like {@link JsonObjectBuilder#appendField(String,
|
|
||||||
* JsonObject)}.
|
|
||||||
*/
|
|
||||||
public static class JsonObject {
|
|
||||||
|
|
||||||
private final String value;
|
|
||||||
|
|
||||||
private JsonObject(String value) {
|
|
||||||
this.value = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,107 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Bungee;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import net.md_5.bungee.api.plugin.Plugin;
|
|
||||||
import net.t2code.lib.Bungee.Lib.messages.Bsend;
|
|
||||||
|
|
||||||
import java.sql.*;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Calendar;
|
|
||||||
|
|
||||||
public class BMySQL {
|
|
||||||
private static Plugin plugin = BMain.plugin;
|
|
||||||
protected static Boolean Enable = false;
|
|
||||||
|
|
||||||
protected static String ip = "localhost";
|
|
||||||
protected static Integer port = 3306;
|
|
||||||
protected static String database;
|
|
||||||
protected static String user = "root";
|
|
||||||
protected static String password = "";
|
|
||||||
protected static String url;
|
|
||||||
protected static Boolean SSL;
|
|
||||||
|
|
||||||
public static void main() {
|
|
||||||
Long long_ = Long.valueOf(System.currentTimeMillis());
|
|
||||||
Calendar now = Calendar.getInstance();
|
|
||||||
ZoneId timeZone = now.getTimeZone().toZoneId();
|
|
||||||
Bsend.debug(plugin, "Server TimeZone is : " + timeZone);
|
|
||||||
url = "jdbc:mysql://" + ip + ":" + port + "/" + database + "?useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=" + timeZone;
|
|
||||||
// Europe/Berlin
|
|
||||||
if (SSL) {
|
|
||||||
url = url + "&useSSL=true";
|
|
||||||
} else url = url + "&useSSL=false";
|
|
||||||
Bsend.debug(plugin, url);
|
|
||||||
try (Connection con = DriverManager.getConnection(url, user, password)) {
|
|
||||||
Statement stmt = con.createStatement();
|
|
||||||
stmt.close();
|
|
||||||
Bsend.console(BMain.prefix + " §2MySQL successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
|
|
||||||
} catch (SQLException ex) {
|
|
||||||
Bsend.console(BMain.prefix + " §4MySQL not connected." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
|
|
||||||
Bsend.error(plugin, ex.getMessage() + " --- " + (System.currentTimeMillis() - long_.longValue()) + "ms");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void query(String query) {
|
|
||||||
try (Connection con = DriverManager.getConnection(url, user, password)) {
|
|
||||||
Statement stmt = con.createStatement();
|
|
||||||
stmt.execute(query);
|
|
||||||
stmt.close();
|
|
||||||
} catch (SQLException ex) {
|
|
||||||
System.err.println(ex.getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static ArrayList<String> selectAll(String query) {
|
|
||||||
ArrayList<String> Result = new ArrayList<>();
|
|
||||||
try (Connection con = DriverManager.getConnection(url, user, password)) {
|
|
||||||
Statement stmt = con.createStatement();
|
|
||||||
ResultSet rs = stmt.executeQuery(query);
|
|
||||||
int columns = rs.getMetaData().getColumnCount();
|
|
||||||
while (rs.next()) {
|
|
||||||
Result.add(rs.getString(1));
|
|
||||||
}
|
|
||||||
rs.close();
|
|
||||||
stmt.close();
|
|
||||||
} catch (SQLException ex) {
|
|
||||||
System.err.println(ex.getMessage());
|
|
||||||
}
|
|
||||||
return Result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String select(String query) {
|
|
||||||
String Ausgabe = "";
|
|
||||||
try (Connection con = DriverManager.getConnection(url, user, password)) {
|
|
||||||
Statement stmt = con.createStatement();
|
|
||||||
ResultSet rs = stmt.executeQuery(query);
|
|
||||||
int columns = rs.getMetaData().getColumnCount();
|
|
||||||
while (rs.next()) {
|
|
||||||
Ausgabe = String.valueOf(rs.getString(1));
|
|
||||||
}
|
|
||||||
rs.close();
|
|
||||||
stmt.close();
|
|
||||||
} catch (SQLException ex) {
|
|
||||||
System.err.println(ex.getMessage());
|
|
||||||
}
|
|
||||||
return Ausgabe;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int count(String query) {
|
|
||||||
Integer count = 0;
|
|
||||||
try (Connection con = DriverManager.getConnection(url, user, password)) {
|
|
||||||
Statement stmt = con.createStatement();
|
|
||||||
ResultSet rs = stmt.executeQuery(query);
|
|
||||||
int columns = rs.getMetaData().getColumnCount();
|
|
||||||
while (rs.next()) {
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
rs.close();
|
|
||||||
stmt.close();
|
|
||||||
} catch (SQLException ex) {
|
|
||||||
System.err.println(ex.getMessage());
|
|
||||||
}
|
|
||||||
return count;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,106 +0,0 @@
|
|||||||
// This claas was created by JaTiTV
|
|
||||||
|
|
||||||
// -----------------------------
|
|
||||||
// _____ _____ _ _ _____
|
|
||||||
// / ____/ ____| | | |_ _|
|
|
||||||
// | | | | __| | | | | |
|
|
||||||
// | | | | |_ | | | | | |
|
|
||||||
// | |___| |__| | |__| |_| |_
|
|
||||||
// \_____\_____|\____/|_____|
|
|
||||||
// -----------------------------
|
|
||||||
|
|
||||||
package de.jatitv.commandguiv2.Bungee;
|
|
||||||
|
|
||||||
import net.md_5.bungee.api.ProxyServer;
|
|
||||||
import net.md_5.bungee.api.plugin.Plugin;
|
|
||||||
import net.t2code.lib.Bungee.Lib.messages.Bsend;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.util.Scanner;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
public class BUpdateChecker {
|
|
||||||
|
|
||||||
public static void sendUpdateMsg(String Prefix, String foundVersion, String update_version) {
|
|
||||||
Bsend.console("§4=========== " + Prefix + " §4===========");
|
|
||||||
Bsend.console("§6A new version was found!");
|
|
||||||
Bsend.console("§6Your version: §c" + foundVersion + " §7- §6Current version: §a" + update_version);
|
|
||||||
Bsend.console("§6You can download it here: §e" + BMain.spigot);
|
|
||||||
Bsend.console("§6You can find more information on Discord: §e" + BMain.discord);
|
|
||||||
Bsend.console("§4=========== " + Prefix + " §4===========");
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void onUpdateCheckTimer() {
|
|
||||||
ProxyServer.getInstance().getScheduler().schedule(BMain.plugin, new Runnable() {
|
|
||||||
public void run() {
|
|
||||||
(new BUpdateChecker(BMain.plugin, BMain.spigotID)).getVersion((update_version) -> {
|
|
||||||
String foundVersion = BMain.plugin.getDescription().getVersion();
|
|
||||||
BMain.update_version = update_version;
|
|
||||||
if (!foundVersion.replace("_Bungee", "").equalsIgnoreCase(update_version)) {
|
|
||||||
sendUpdateMsg(BMain.prefix, foundVersion, update_version);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}, 0, 20 * 60 * 60L, TimeUnit.SECONDS);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void onUpdateCheck() {
|
|
||||||
(new BUpdateChecker(BMain.plugin, BMain.spigotID)).getVersion((update_version) -> {
|
|
||||||
String foundVersion = BMain.plugin.getDescription().getVersion();
|
|
||||||
BMain.update_version = update_version;
|
|
||||||
if (foundVersion.replace("_Bungee", "").equalsIgnoreCase(update_version)) {
|
|
||||||
Bsend.console(BMain.prefix + " §2No update found.");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private Plugin plugin;
|
|
||||||
private int resourceId;
|
|
||||||
|
|
||||||
public BUpdateChecker(Plugin plugin, int resourceId) {
|
|
||||||
this.plugin = plugin;
|
|
||||||
this.resourceId = resourceId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void getVersion(Consumer<String> consumer) {
|
|
||||||
ProxyServer.getInstance().getScheduler().runAsync(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;
|
|
||||||
}
|
|
||||||
if (inputStream != null) {
|
|
||||||
inputStream.close();
|
|
||||||
}
|
|
||||||
} catch (IOException var10) {
|
|
||||||
this.plugin.getLogger().severe(BMain.prefix + "§4 Cannot look for updates: " + var10.getMessage());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,277 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.Listener;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.Bungee_Sender_Reciver;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.replace.Replace;
|
|
||||||
import net.t2code.lib.Spigot.Lib.vault.Vault;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.Sound;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
import org.bukkit.event.inventory.ClickType;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
public class GUIListener implements Listener {
|
|
||||||
|
|
||||||
private static String prefix = Util.getPrefix();
|
|
||||||
public static String GUICode;
|
|
||||||
private static Plugin plugin = Main.plugin;
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void onInventoryClick(InventoryClickEvent e) {
|
|
||||||
Player player = (Player) e.getWhoClicked();
|
|
||||||
JavaPlugin plugin = Main.plugin;
|
|
||||||
if (e.getInventory() == null) return;
|
|
||||||
if (e.getCurrentItem() == null) return;
|
|
||||||
for (Gui gui : Main.guiHashMap.values()) {
|
|
||||||
if (player.getOpenInventory().getTitle().equals(Replace.replace(prefix, GUICode + gui.guiName))
|
|
||||||
|| (Main.PaPi && player.getOpenInventory().getTitle().equals(Replace.replace(prefix, player, GUICode + gui.guiName)))) {
|
|
||||||
e.setCancelled(true);
|
|
||||||
for (Slot slot : gui.slots) {
|
|
||||||
Function function = Main.functionHashMap.get(slot.function);
|
|
||||||
if (e.getSlot() != slot.slot) continue;
|
|
||||||
if (slot.permission && !player.hasPermission(slot.permissionToSee)) continue;
|
|
||||||
if (slot.permission && !player.hasPermission(slot.permissionToUse)) {
|
|
||||||
player.sendMessage(SelectMessages.NoPermissionForItem.replace("[item]", Replace.replace(prefix, function.name))
|
|
||||||
.replace("[perm]", slot.permissionToUse));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (e.getCurrentItem().getType() == ItemVersion.getHead() || e.getCurrentItem().getType() == ItemVersion.getGreenWool().getType() ||
|
|
||||||
e.getCurrentItem().getType() == ItemVersion.getRedWool().getType() ||
|
|
||||||
e.getCurrentItem().getType() == Material.valueOf(function.item.toUpperCase().replace(".", "_"))) {
|
|
||||||
if (!slot.enable) continue;
|
|
||||||
if (function.cost_Enable) {
|
|
||||||
if (function.command_Enable || function.message_Enable || function.openGUI_Enable || function.serverChange) {
|
|
||||||
|
|
||||||
if (!Vault.buy(prefix, player, function.price)) {
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
player.closeInventory();
|
|
||||||
}
|
|
||||||
}.runTaskLater(plugin, 1L);
|
|
||||||
player.sendMessage(SelectMessages.No_money);
|
|
||||||
if (SelectConfig.Sound_NoMoney_Enable && SelectConfig.Sound_Enable)
|
|
||||||
player.playSound(player.getLocation(), SelectConfig.Sound_NoMoney, 3, 1);
|
|
||||||
} else {
|
|
||||||
player.sendMessage(SelectMessages.Buy_msg.replace("[itemname]", Replace.replace(prefix, function.name))
|
|
||||||
.replace("[price]", function.price + " " + SelectConfig.Currency));
|
|
||||||
execute(function, slot, player, e, gui);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
execute(function, slot, player, e, gui);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void execute(Function function, Slot slot, Player player, InventoryClickEvent e, Gui gui) {
|
|
||||||
if (function.togglePermission) togglePerm(function, gui, player);
|
|
||||||
if (function.toggleUseItem) toggleUseItem(player, gui);
|
|
||||||
if (function.command_Enable) command(function, player);
|
|
||||||
if (function.openGUI_Enable) openGUI(function, player);
|
|
||||||
if (function.message_Enable) message(function, player);
|
|
||||||
if (function.serverChange) serverChange(function, player);
|
|
||||||
if (function.setConfigEnable) setConfig(function, player, e);
|
|
||||||
if (SelectConfig.Sound_Enable && SelectConfig.Sound_Click_Enable) sound(function, slot, player, gui);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void command(Function slot, Player player) {
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
player.closeInventory();
|
|
||||||
}
|
|
||||||
}.runTaskLater(plugin, 1L);
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
if (slot.command_BungeeCommand) {
|
|
||||||
if (SelectConfig.Bungee) {
|
|
||||||
for (String cmd : slot.command) {
|
|
||||||
Bungee_Sender_Reciver.sendToBungee(player, cmd.replace("[player]", player.getName()), slot.commandAsConsole);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
send.console(prefix + " §4To use bungee commands, enable the Bungee option in the config.");
|
|
||||||
send.player(player, prefix + " §4To use bungee commands, enable the Bungee option in the config.");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for (String cmd : slot.command) {
|
|
||||||
if (slot.commandAsConsole) {
|
|
||||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd.replace("[player]", player.getName()));
|
|
||||||
} else player.chat("/" + cmd.replace("[player]", player.getName()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}.runTaskLater(plugin, 2L);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void openGUI(Function slot, Player player) {
|
|
||||||
player.closeInventory();
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
OpenGUI.openGUI(player, slot.openGUI, true);
|
|
||||||
}
|
|
||||||
}.runTaskLater(plugin, 1L);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void message(Function slot, Player player) {
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
player.closeInventory();
|
|
||||||
}
|
|
||||||
}.runTaskLater(plugin, 1L);
|
|
||||||
for (String msg : slot.message) {
|
|
||||||
if (Main.PaPi) {
|
|
||||||
if (slot.cost_Enable) {
|
|
||||||
player.sendMessage(Replace.replacePrice(prefix, player, msg, slot.price + " " + SelectConfig.Currency));
|
|
||||||
} else player.sendMessage(Replace.replace(prefix, player, msg.replace("[prefix]", prefix)));
|
|
||||||
} else {
|
|
||||||
if (slot.cost_Enable) {
|
|
||||||
player.sendMessage(Replace.replacePrice(prefix, msg, slot.price + " " + SelectConfig.Currency));
|
|
||||||
} else player.sendMessage(Replace.replace(prefix, msg.replace("[prefix]", prefix)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void serverChange(Function slot, Player player) {
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
player.closeInventory();
|
|
||||||
}
|
|
||||||
}.runTaskLater(plugin, 1L);
|
|
||||||
send.player(player, SelectMessages.onServerChange.replace("[server]", slot.serverChangeServer));
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
ServerChange.send(player, slot.serverChangeServer);
|
|
||||||
}
|
|
||||||
}.runTaskLater(Main.plugin, 20L);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void setConfig(Function slot, Player player, InventoryClickEvent e) {
|
|
||||||
File config = new File(slot.configFilePath);
|
|
||||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
|
||||||
|
|
||||||
if (e.getClick() == ClickType.LEFT) {
|
|
||||||
if (slot.configOptionPremat.equals("String")) {
|
|
||||||
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configStringValueLeft);
|
|
||||||
} else if (slot.configOptionPremat.equals("Boolean")) {
|
|
||||||
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configBooleanValueLeft);
|
|
||||||
} else if (slot.configOptionPremat.equals("Integer")) {
|
|
||||||
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configIntegerValueLeft);
|
|
||||||
} else if (slot.configOptionPremat.equals("Double")) {
|
|
||||||
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configDoubleValueLeft);
|
|
||||||
} else if (slot.configOptionPremat.equals("List")) {
|
|
||||||
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configListValueLeft);
|
|
||||||
} else {
|
|
||||||
player.sendMessage("§cCheck the Option §6SetConfig/Option/Premat"); //todo
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (e.getClick() == ClickType.RIGHT) {
|
|
||||||
if (slot.configOptionPremat.equals("String")) {
|
|
||||||
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configStringValueRight);
|
|
||||||
} else if (slot.configOptionPremat.equals("Boolean")) {
|
|
||||||
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configBooleanValueRight);
|
|
||||||
} else if (slot.configOptionPremat.equals("Integer")) {
|
|
||||||
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configIntegerValueRight);
|
|
||||||
} else if (slot.configOptionPremat.equals("Double")) {
|
|
||||||
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configDoubleValueRight);
|
|
||||||
} else if (slot.configOptionPremat.equals("List")) {
|
|
||||||
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configListValueRight);
|
|
||||||
} else {
|
|
||||||
player.sendMessage("§cCheck the Option §6SetConfig/Option/Premat"); //todo
|
|
||||||
}
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
yamlConfiguration.save(config);
|
|
||||||
} catch (IOException tac) {
|
|
||||||
tac.printStackTrace();
|
|
||||||
}
|
|
||||||
if (slot.pluginReloadEnable) {
|
|
||||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), slot.pluginReloadCommand);
|
|
||||||
}
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
player.closeInventory();
|
|
||||||
}
|
|
||||||
}.runTaskLater(plugin, 1L);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void sound(Function function, Slot slot, Player player, Gui gui) {
|
|
||||||
if (function.customSound_Enable) {
|
|
||||||
if (!function.customSound_NoSound) {
|
|
||||||
try {
|
|
||||||
player.playSound(player.getLocation(), Sound.valueOf(function.customSound_Sound.toUpperCase().replace(".", "_")), 3, 1);
|
|
||||||
} catch (Exception e1) {
|
|
||||||
send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", prefix)
|
|
||||||
.replace("[sound]", "§6GUI: §e" + Replace.replace(prefix, gui.guiName) + "§r §6Slot: §e" + slot.slot + " §6CustomSound: §9" + function.customSound_Sound));
|
|
||||||
player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void togglePerm(Function function, Gui gui, Player player) {
|
|
||||||
if (player.hasPermission(function.togglePermissionPerm)) {
|
|
||||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), SelectConfig.togglePermFalse.replace("[player]", player.getName()).replace("[perm]", function.togglePermissionPerm));
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
player.closeInventory();
|
|
||||||
OpenGUI.openGUI(player, gui.key, false);
|
|
||||||
}
|
|
||||||
}.runTaskLater(plugin, 4L);
|
|
||||||
} else
|
|
||||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), SelectConfig.togglePermTrue.replace("[player]", player.getName()).replace("[perm]", function.togglePermissionPerm));
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
player.closeInventory();
|
|
||||||
OpenGUI.openGUI(player, gui.key, false);
|
|
||||||
}
|
|
||||||
}.runTaskLater(plugin, 4L);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void toggleUseItem(Player player, Gui gui) {
|
|
||||||
if (Events.useItemHashMap.get(player)) {
|
|
||||||
Commands.itemOff(player);
|
|
||||||
} else {
|
|
||||||
Commands.itemOn(player);
|
|
||||||
}
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
player.closeInventory();
|
|
||||||
OpenGUI.openGUI(player, gui.key, false);
|
|
||||||
}
|
|
||||||
}.runTaskLater(plugin, 2L);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,117 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.Listener;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.UseItem;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
|
||||||
|
|
||||||
public class ItemChange {
|
|
||||||
public static void itemChange(Player player, Boolean setCursor) {
|
|
||||||
Integer slot;
|
|
||||||
if (SelectConfig.UseItem_InventorySlotEnforce) {
|
|
||||||
slot = SelectConfig.UseItem_InventorySlot;
|
|
||||||
} else {
|
|
||||||
if (Events.useItemSlotHashMap.get(player) == null) {
|
|
||||||
slot = SelectConfig.UseItem_InventorySlot;
|
|
||||||
} else {
|
|
||||||
slot = Events.useItemSlotHashMap.get(player);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!SelectConfig.UseItem_Enable) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
UseItem.removeItem(player);
|
|
||||||
if (UseItem.protection(player, false)) return;
|
|
||||||
if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) {
|
|
||||||
if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) {
|
|
||||||
if (!player.hasPlayedBefore()) {
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
UseItem.giveUseItem(player);
|
|
||||||
if (setCursor) {
|
|
||||||
setCursor(player, slot);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}.runTaskLater(Main.plugin, 1L * 1);
|
|
||||||
if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin || SelectConfig.Cursor_ToGUIItem_OnLogin) {
|
|
||||||
player.getInventory().setHeldItemSlot(slot - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
send.debug(Main.plugin, "GiveOnlyOnFirstJoin: " + player.getName());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!SelectConfig.UseItem_GiveOnEveryJoin) {
|
|
||||||
send.debug(Main.plugin, "!GiveOnEveryJoin: " + player.getName());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
if (player == null) return;
|
|
||||||
if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) {
|
|
||||||
if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(slot - 1) == null) {
|
|
||||||
send.debug(Main.plugin, "Give: " + player.getName());
|
|
||||||
UseItem.giveUseItem(player);
|
|
||||||
if (setCursor) {
|
|
||||||
setCursor(player, slot);
|
|
||||||
}
|
|
||||||
} else if (SelectConfig.UseItem_InventorySlot_FreeSlot) {
|
|
||||||
boolean empty = false;
|
|
||||||
for (int i = 0; i < 9; i++) {
|
|
||||||
if (player.getInventory().getItem(i) == null) {
|
|
||||||
empty = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (empty) {
|
|
||||||
UseItem.addUseItem(player);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}.runTaskLater(Main.plugin, 1L * 1);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void setCursor(Player player, int slot) {
|
|
||||||
send.debug(Main.plugin, "setCursor 1 Player: " + player.getName());
|
|
||||||
|
|
||||||
if (!SelectConfig.Cursor_ToGUIItem_OnLogin) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
send.debug(Main.plugin, "setCursor 2 Player: " + player.getName());
|
|
||||||
if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin) {
|
|
||||||
if (!player.hasPlayedBefore()) {
|
|
||||||
player.getInventory().setHeldItemSlot(slot - 1);
|
|
||||||
send.debug(Main.plugin, "setCursor 3 Player: " + player.getName());
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
send.debug(Main.plugin, "setCursor 4 Player: " + player.getName());
|
|
||||||
if (!SelectConfig.Bungee) {
|
|
||||||
player.getInventory().setHeldItemSlot(slot - 1);
|
|
||||||
send.debug(Main.plugin, "setCursor 5 Player: " + player.getName());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
send.debug(Main.plugin, "setCursor 6 Player: " + player.getName());
|
|
||||||
if (SelectConfig.UseItem_ServerChange) {
|
|
||||||
player.getInventory().setHeldItemSlot(slot - 1);
|
|
||||||
send.debug(Main.plugin, "setCursor 7 Player: " + player.getName());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
send.debug(Main.plugin, "setCursor 8 Player: " + player.getName());
|
|
||||||
send.debug(Main.plugin, "setCursor bungeejoinplayers: " + Main.bungeejoinplayers);
|
|
||||||
send.debug(Main.plugin, "setCursor Player: " + player.getName());
|
|
||||||
if (Main.bungeejoinplayers.contains(player.getName())) {
|
|
||||||
player.getInventory().setHeldItemSlot(slot - 1);
|
|
||||||
send.debug(Main.plugin, "setCursor 9 Player: " + player.getName());
|
|
||||||
Main.bungeejoinplayers.remove(player.getName());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,79 +0,0 @@
|
|||||||
// This claas was created by JaTiTV
|
|
||||||
|
|
||||||
package de.jatitv.commandguiv2.Spigot.Listener;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
|
||||||
import org.bukkit.event.player.PlayerLoginEvent;
|
|
||||||
import org.bukkit.event.server.ServerCommandEvent;
|
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
|
||||||
|
|
||||||
public class PluginEvent implements Listener {
|
|
||||||
private static String prefix = Main.prefix;
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void onJoinEvent(PlayerLoginEvent event) {
|
|
||||||
Player player = event.getPlayer();
|
|
||||||
SelectDatabase.nameCheck(player);
|
|
||||||
UpdateAPI.join(Main.plugin,prefix, "commandgui.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void onClearServer(ServerCommandEvent event) {
|
|
||||||
if (SelectConfig.UseItem_KeepAtCommandClear) {
|
|
||||||
if (event.getCommand().contains("clear " + event.getCommand().replace("/", "").replace("clear ", ""))) {
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
try {
|
|
||||||
Player player = Bukkit.getPlayer(event.getCommand().replace("/", "").replace("clear ", ""));
|
|
||||||
if (player == null){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
clearGive(player);
|
|
||||||
} catch (Exception ex){
|
|
||||||
ex.printStackTrace();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}.runTaskLater(Main.plugin, 1L);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void onClearPlayer(PlayerCommandPreprocessEvent event) {
|
|
||||||
if (SelectConfig.UseItem_KeepAtCommandClear) {
|
|
||||||
if (event.getMessage().toLowerCase().contains("clear")) {
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
clearGive(event.getPlayer());
|
|
||||||
}
|
|
||||||
}.runTaskLater(Main.plugin, 1L);
|
|
||||||
}
|
|
||||||
if (event.getMessage().toLowerCase().contains("clear " + event.getMessage().toLowerCase().replace("/", "").replace("clear ", ""))) {
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
clearGive(Bukkit.getPlayer(event.getMessage().toLowerCase().replace("/", "").replace("clear ", "")));
|
|
||||||
}
|
|
||||||
}.runTaskLater(Main.plugin, 1L);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void clearGive(Player player) {
|
|
||||||
ItemChange.itemChange(player, false);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,300 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.ItemChange;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.UseItem;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
|
||||||
import de.jatitv.commandguiv2.api.CGuiAPI;
|
|
||||||
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
|
|
||||||
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 org.bukkit.Material;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.EventPriority;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
import org.bukkit.event.block.BlockPlaceEvent;
|
|
||||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
||||||
import org.bukkit.event.inventory.InventoryDragEvent;
|
|
||||||
import org.bukkit.event.inventory.InventoryMoveItemEvent;
|
|
||||||
import org.bukkit.event.inventory.InventoryPickupItemEvent;
|
|
||||||
import org.bukkit.event.player.*;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Iterator;
|
|
||||||
|
|
||||||
public class Events implements Listener {
|
|
||||||
|
|
||||||
public static HashMap<Player, Boolean> useItemHashMap = new HashMap<>();
|
|
||||||
public static HashMap<Player, Integer> useItemSlotHashMap = new HashMap<>();
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void onJoin(PlayerJoinEvent e) {
|
|
||||||
if (SelectDatabase.selectItemStatus(e.getPlayer())) {
|
|
||||||
useItemHashMap.put(e.getPlayer(), true);
|
|
||||||
} else useItemHashMap.put(e.getPlayer(), false);
|
|
||||||
|
|
||||||
useItemSlotHashMap.put(e.getPlayer(), SelectDatabase.selectSlot(e.getPlayer()));
|
|
||||||
|
|
||||||
if (CGuiAPI.JoinDisable) {
|
|
||||||
send.debug(Main.plugin, "JoinDisable");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (e.getPlayer().hasPermission("commandgui.get.guiitem.at.login")) {
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
send.debug(Main.plugin, "itemChange: " + e.getPlayer().getName());
|
|
||||||
ItemChange.itemChange(e.getPlayer(), true);
|
|
||||||
}
|
|
||||||
}.runTaskLater(Main.plugin, 20L * 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void onJoin(PlayerQuitEvent e) {
|
|
||||||
useItemHashMap.remove(e.getPlayer());
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
|
||||||
public void onDeathDrop(PlayerDeathEvent e) {
|
|
||||||
Player player = e.getEntity().getPlayer();
|
|
||||||
UseItem.removeItem(player);
|
|
||||||
if (!e.getDrops().isEmpty()) {
|
|
||||||
Iterator var3 = (new ArrayList(e.getDrops())).iterator();
|
|
||||||
while (var3.hasNext()) {
|
|
||||||
ItemStack items = (ItemStack) var3.next();
|
|
||||||
if (items != null && items.hasItemMeta() && items.getItemMeta().hasDisplayName()
|
|
||||||
&& items.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
|
||||||
e.getDrops().remove(items);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
|
||||||
public void onRespawn(PlayerRespawnEvent e) {
|
|
||||||
Player player = e.getPlayer();
|
|
||||||
if (SelectConfig.UseItem_Enable) {
|
|
||||||
ItemChange.itemChange(player, false);
|
|
||||||
//if (!SelectConfig.UseItem_AllowToggle || Select_Database.selectItemStatus(player)) {
|
|
||||||
// if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) {
|
|
||||||
// if (!player.hasPlayedBefore()) {
|
|
||||||
// new BukkitRunnable() {
|
|
||||||
// @Override
|
|
||||||
// public void run() {
|
|
||||||
// Give_UseItem.onGive(player);
|
|
||||||
// }
|
|
||||||
// }.runTaskLater(Main.plugin, 20L * 1);
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// new BukkitRunnable() {
|
|
||||||
// @Override
|
|
||||||
// public void run() {
|
|
||||||
// Give_UseItem.onGive(player);
|
|
||||||
// }
|
|
||||||
// }.runTaskLater(Main.plugin, 20L * 1);
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
|
||||||
public void onGameModeChange(PlayerGameModeChangeEvent e) {
|
|
||||||
Player player = e.getPlayer();
|
|
||||||
if (!SelectConfig.UseItemGameModeChangeEnable) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
ItemChange.itemChange(player, false);
|
|
||||||
}
|
|
||||||
}.runTaskLater(Main.plugin, SelectConfig.UseItemGameModeChangeDelayInTicks * 1L);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void onWorldChange(PlayerChangedWorldEvent e) {
|
|
||||||
Player player = e.getPlayer();
|
|
||||||
if (!SelectConfig.UseItemWorldChangeEnable) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
new BukkitRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
ItemChange.itemChange(player, false);
|
|
||||||
}
|
|
||||||
}.runTaskLater(Main.plugin, SelectConfig.UseItemWorldChangeDelayInTicks * 1L);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
|
||||||
public void onInteract(PlayerInteractEvent e) {
|
|
||||||
Player p = e.getPlayer();
|
|
||||||
if (SelectConfig.UseItem_Enable) {
|
|
||||||
if (SelectConfig.UseItem_PlayerHead_Enable) {
|
|
||||||
if (e.getItem() != null && p.getItemInHand().getType() == ItemVersion.getHead()) {
|
|
||||||
if (e.getItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
|
||||||
openGUI(e, p);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (e.getItem() != null && p.getItemInHand().getType() == Material.valueOf(SelectConfig.UseItem_Material)) {
|
|
||||||
if (e.getItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
|
||||||
openGUI(e, p);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void openGUI(PlayerInteractEvent e, Player player) {
|
|
||||||
e.setCancelled(true);
|
|
||||||
|
|
||||||
if ((!SelectConfig.disableInfoBySneak) && player.isSneaking()) {
|
|
||||||
Commands.info(player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!legacy()) {
|
|
||||||
if (!topInventoryIsEmpty(player)) return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (UseItem.protection(player, true)) return;
|
|
||||||
|
|
||||||
if (SelectConfig.UseItemGameModeProtection) {
|
|
||||||
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
|
|
||||||
e.setCancelled(true);
|
|
||||||
send.player(player, SelectMessages.UseItemDisabledInGameMode);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
|
|
||||||
e.setCancelled(true);
|
|
||||||
send.player(player, SelectMessages.UseItemDisabledInGameMode);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (SelectConfig.UseItemWorldProtection) {
|
|
||||||
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
|
|
||||||
e.setCancelled(true);
|
|
||||||
send.player(player, SelectMessages.UseItemDisabledInWorld);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
|
|
||||||
e.setCancelled(true);
|
|
||||||
send.player(player, SelectMessages.UseItemDisabledInWorld);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!SelectConfig.UseItem_Permission || player.hasPermission("commandgui.useitem")) {
|
|
||||||
OpenGUI.openGUI(player, SelectConfig.UseItem_OpenGUI, true);
|
|
||||||
} else {
|
|
||||||
player.sendMessage(SelectMessages.NoPermissionForUseItem.replace("[perm]", "commandgui.useitem")
|
|
||||||
.replace("[gui]", SelectConfig.UseItem_OpenGUI));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
|
||||||
public void onItemMoveEvent(InventoryMoveItemEvent e) {
|
|
||||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
|
||||||
if (e.getItem() != null && e.getItem().hasItemMeta() && e.getItem().getItemMeta().hasDisplayName()
|
|
||||||
&& e.getItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
|
||||||
e.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
|
||||||
public void onItemMove(InventoryDragEvent e) {
|
|
||||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
|
||||||
|
|
||||||
if (e.getWhoClicked() instanceof Player) {
|
|
||||||
Player p = (Player) e.getWhoClicked();
|
|
||||||
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
|
|
||||||
&& e.getCursor().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
|
||||||
p.closeInventory();
|
|
||||||
e.setCancelled(true);
|
|
||||||
ItemChange.itemChange(p, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (e.getOldCursor() != null && e.getOldCursor().hasItemMeta() && e.getOldCursor().getItemMeta().hasDisplayName()
|
|
||||||
&& e.getOldCursor().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
|
||||||
p.closeInventory();
|
|
||||||
e.setCancelled(true);
|
|
||||||
ItemChange.itemChange(p, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
|
||||||
public void onItemMove(InventoryClickEvent e) {
|
|
||||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
|
||||||
|
|
||||||
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
|
|
||||||
&& e.getCursor().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
|
||||||
e.setCancelled(true);
|
|
||||||
}
|
|
||||||
if (e.getCurrentItem() != null && e.getCurrentItem().hasItemMeta() && e.getCurrentItem().getItemMeta().hasDisplayName()
|
|
||||||
&& e.getCurrentItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
|
||||||
|
|
||||||
e.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
|
||||||
public void onItemMove(InventoryPickupItemEvent e) {
|
|
||||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
|
||||||
|
|
||||||
if (e.getItem() != null && e.getItem().getItemStack() != null) {
|
|
||||||
ItemStack item = e.getItem().getItemStack();
|
|
||||||
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()
|
|
||||||
&& item.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
|
||||||
e.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
|
||||||
public void onPlace(BlockPlaceEvent e) {
|
|
||||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
|
||||||
|
|
||||||
if (e.getItemInHand() != null && e.getItemInHand().hasItemMeta() && e.getItemInHand().getItemMeta().hasDisplayName()
|
|
||||||
&& e.getItemInHand().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
|
||||||
e.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
|
||||||
public void onDrop(PlayerDropItemEvent e) {
|
|
||||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
|
||||||
|
|
||||||
if (e.getItemDrop() != null && e.getItemDrop().getItemStack() != null) {
|
|
||||||
ItemStack item = e.getItemDrop().getItemStack();
|
|
||||||
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()
|
|
||||||
&& item.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
|
||||||
e.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean legacy() {
|
|
||||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12 || MCVersion.minecraft1_13 || MCVersion.minecraft1_14 || MCVersion.minecraft1_15 || NMSVersion.v1_16_R1) {
|
|
||||||
return true;
|
|
||||||
} else return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean topInventoryIsEmpty(Player p) {
|
|
||||||
return p.getOpenInventory().getTopInventory().isEmpty();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,122 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot;
|
|
||||||
//s<ds
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.Load;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.MySQL;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.plugins.PluginCheck;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
public final class Main extends JavaPlugin {
|
|
||||||
|
|
||||||
public static ArrayList<String> bungeejoinplayers = new ArrayList<>();
|
|
||||||
|
|
||||||
public static File getPath() {
|
|
||||||
return plugin.getDataFolder();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Boolean enable = false;
|
|
||||||
|
|
||||||
public static String prefix = "§8[§4C§9GUI§8]";
|
|
||||||
|
|
||||||
public static String version;
|
|
||||||
|
|
||||||
public static List<String> autor;
|
|
||||||
|
|
||||||
public static Main plugin;
|
|
||||||
public static List plugins;
|
|
||||||
|
|
||||||
public static String update_version = null;
|
|
||||||
public static Boolean PaPi = false;
|
|
||||||
public static Boolean PlotSquaredGUI = false;
|
|
||||||
public static Boolean LuckyBox = false;
|
|
||||||
public static Boolean PlugManGUI = false;
|
|
||||||
|
|
||||||
public static HashMap<String, Gui> guiHashMap = new HashMap<>();
|
|
||||||
public static ArrayList<String> allAliases = new ArrayList<>();
|
|
||||||
|
|
||||||
public static HashMap<String, Function> functionHashMap = new HashMap<>();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onEnable() {
|
|
||||||
plugins = Arrays.asList(getServer().getPluginManager().getPlugins());
|
|
||||||
// Plugin startup logic
|
|
||||||
// Plugin startup logic
|
|
||||||
Logger logger = this.getLogger();
|
|
||||||
plugin = this;
|
|
||||||
autor = plugin.getDescription().getAuthors();
|
|
||||||
version = plugin.getDescription().getVersion();
|
|
||||||
if (pluginNotFound("T2CodeLib", 96388, Util.getRequiredT2CodeLibVersion())) return;
|
|
||||||
getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
|
|
||||||
if (PluginCheck.papi()) {
|
|
||||||
PaPi = true;
|
|
||||||
}
|
|
||||||
Load.onLoad(prefix, autor, version, Util.getSpigot(), Util.getSpigotID(), Util.getDiscord(), Util.getBstatsID());
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void addonLoad() {
|
|
||||||
if (PluginCheck.plotSquaredGUI()) {
|
|
||||||
PlotSquaredGUI = true;
|
|
||||||
addonEnable(Bukkit.getPluginManager().getPlugin("PlotSquaredGUI"));
|
|
||||||
}if (PluginCheck.luckyBox()) {
|
|
||||||
LuckyBox = true;
|
|
||||||
addonEnable(Bukkit.getPluginManager().getPlugin("T2C-LuckyBox"));
|
|
||||||
}
|
|
||||||
if (PluginCheck.plugManGUI()) {
|
|
||||||
PlugManGUI = true;
|
|
||||||
addonEnable(Bukkit.getPluginManager().getPlugin("PlugManGUI"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void addonEnable(Plugin plugin) {
|
|
||||||
send.console(prefix + " §aAddon for: §e" + plugin.getName() + "§7 - Version: " + plugin.getDescription().getVersion() + " §aloaded successfully!");
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Boolean pluginNotFound(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.");
|
|
||||||
Main.plugin.getPluginLoader().disablePlugin(Main.plugin);
|
|
||||||
return true;
|
|
||||||
} else return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Boolean pluginNotFound(String pl, Integer spigotID, double ver) {
|
|
||||||
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.");
|
|
||||||
Main.plugin.getPluginLoader().disablePlugin(Main.plugin);
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
if (Double.parseDouble(Bukkit.getPluginManager().getPlugin(pl).getDescription().getVersion()) < ver) {
|
|
||||||
plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!");
|
|
||||||
Bukkit.getConsoleSender().sendMessage(prefix + " §e" + pl + " §4is out of date! This plugin requires at least version §2" + ver + " §4of §6" + pl + " §4Please update it here: §6https://spigotmc.org/resources/" + pl + "." + spigotID + " §4to use this version of " + plugin.getDescription().getName() + ".");
|
|
||||||
Main.plugin.getPluginLoader().disablePlugin(Main.plugin);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDisable() {
|
|
||||||
// Plugin shutdown logic
|
|
||||||
if (enable) T2CodeTemplate.onDisable(prefix, autor, version, Util.getSpigot(), Util.getDiscord());
|
|
||||||
MySQL.close();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,171 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.cmdManagement;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.Debug;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.t2code.lib.Spigot.Lib.commands.Tab;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.command.Command;
|
|
||||||
import org.bukkit.command.CommandExecutor;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.command.TabCompleter;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class CmdExecuter_GUITab implements CommandExecutor, TabCompleter {
|
|
||||||
private static String prefix = Util.getPrefix();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
|
||||||
if (args.length == 0) {
|
|
||||||
if (!(sender instanceof Player)) {
|
|
||||||
sender.sendMessage(SelectMessages.OnlyForPlayer);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
Player player = (Player) sender;
|
|
||||||
Commands.gui(player);
|
|
||||||
} else {
|
|
||||||
if (args[0].equals("admin")) {
|
|
||||||
if (args.length == 1) {
|
|
||||||
Help.sendHelp(sender, prefix);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (args[1].toLowerCase()) {
|
|
||||||
case "info":
|
|
||||||
case "plugin":
|
|
||||||
case "pl":
|
|
||||||
case "version":
|
|
||||||
case "ver":
|
|
||||||
if (sender.hasPermission("commandgui.command.info")) {
|
|
||||||
Commands.info(sender);
|
|
||||||
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
|
|
||||||
.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.command.info"));
|
|
||||||
break;
|
|
||||||
case "reload":
|
|
||||||
case "rl":
|
|
||||||
if (sender.hasPermission("commandgui.admin")) {
|
|
||||||
Commands.reload(sender);
|
|
||||||
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
|
|
||||||
.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
|
|
||||||
break;
|
|
||||||
case "createdefaultgui":
|
|
||||||
if (sender.hasPermission("commandgui.admin")) {
|
|
||||||
CreateGUI.configCreate();
|
|
||||||
sender.sendMessage(SelectMessages.DefaultGUIcreate.replace("[directory]", Main.getPath() + "/GUIs/default.yml"));
|
|
||||||
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
|
|
||||||
.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
|
|
||||||
break;
|
|
||||||
case "debug":
|
|
||||||
if (sender.hasPermission("commandgui.admin")) {
|
|
||||||
Debug.onDebugFile(sender);
|
|
||||||
/*if (args.length == 2) {
|
|
||||||
if (args[1].equals("config")) {
|
|
||||||
Debug.debugmsg();
|
|
||||||
}
|
|
||||||
if (args[1].equals("2")) {
|
|
||||||
send.debug("2");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
} else Debug.debugmsg();
|
|
||||||
|
|
||||||
*/
|
|
||||||
} else sender.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "give":
|
|
||||||
if (args.length == 3) {
|
|
||||||
if (sender.hasPermission("commandgui.giveitem.other")) {
|
|
||||||
Player target = Bukkit.getPlayer(args[2]);
|
|
||||||
Commands.give(sender, target);
|
|
||||||
} else sender.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui give")
|
|
||||||
.replace("[perm]", "commandgui.command.give"));
|
|
||||||
} else Help.sendHelp(sender, prefix);
|
|
||||||
break;
|
|
||||||
case "help":
|
|
||||||
default:
|
|
||||||
Help.sendHelp(sender, prefix);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (sender instanceof Player) {
|
|
||||||
Player player = (Player) sender;
|
|
||||||
Commands.gui(player, args[0]);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
Help.sendHelp(sender, prefix);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//TabCompleter
|
|
||||||
|
|
||||||
|
|
||||||
public static HashMap<String, String> arg1 = new HashMap<String, String>();
|
|
||||||
|
|
||||||
private static HashMap<String, String> arg2 = new HashMap<String, String>() {{
|
|
||||||
put("reload", "commandgui.admin");
|
|
||||||
put("rl", "commandgui.admin");
|
|
||||||
put("createdefaultgui", "commandgui.admin");
|
|
||||||
put("give", "commandgui.giveitem.other");
|
|
||||||
put("info", "commandgui.command.info");
|
|
||||||
}};
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<String> onTabComplete(CommandSender sender, Command cmd, String s, String[] args) {
|
|
||||||
List<String> list = new ArrayList<>();
|
|
||||||
|
|
||||||
Tab.tab(list, sender, 0, args, arg1);
|
|
||||||
Tab.tab(list, sender, 0, "admin", 1, args, arg2);
|
|
||||||
Tab.tab(list, sender, 1, "give", 2, args, "commandgui.giveitem.other", true);
|
|
||||||
|
|
||||||
// if (args.length == 1) {
|
|
||||||
// for (String command : arg1.keySet()) {
|
|
||||||
// Boolean passend = true;
|
|
||||||
// for (int i = 0; i < args[0].length(); i++) {
|
|
||||||
// if (args[0].length() >= command.length()) {
|
|
||||||
// passend = false;
|
|
||||||
// } else {
|
|
||||||
// if (args[0].charAt(i) != command.charAt(i)) {
|
|
||||||
// passend = false;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (hasPermission(sender, arg1.get(command)) && passend) {
|
|
||||||
// list.add(command);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (args.length > 1) {
|
|
||||||
// if (args[0].toLowerCase().equals("admin")){
|
|
||||||
// return Tab.tab(sender,1,args,arg2);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean hasPermission(CommandSender sender, String permission) {
|
|
||||||
|
|
||||||
if (permission.equals("")) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
String[] Permissions = permission.split(";");
|
|
||||||
for (String perm : Permissions) {
|
|
||||||
if (sender.hasPermission(perm)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,224 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.cmdManagement;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.Obj_Select;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.register.AliasRegister;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.UseItem;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.ConfigCreate;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.LanguagesCreate;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.Permissions;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
public class Commands {
|
|
||||||
public static void info(CommandSender sender) {
|
|
||||||
if (sender instanceof Player) {
|
|
||||||
Player player = (Player) sender;
|
|
||||||
send.player(player, Util.getPrefix() + "§4======= §8[§4Command§9GUI§8] §4=======");
|
|
||||||
send.player(player, Util.getPrefix() + " §2Autor: §6" + String.valueOf(Main.autor).replace("[", "").replace("]", ""));
|
|
||||||
|
|
||||||
if (UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion.equalsIgnoreCase(Main.version)) {
|
|
||||||
send.player(player, Util.getPrefix() + " §2Version: §6" + Main.version);
|
|
||||||
} else {
|
|
||||||
UpdateAPI.sendUpdateMsg(Util.getPrefix(), Util.getSpigot(), Util.getDiscord(), Main.version, UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion, player);
|
|
||||||
}
|
|
||||||
|
|
||||||
send.player(player, Util.getPrefix() + " §2Spigot: §6" + Util.getSpigot());
|
|
||||||
send.player(player, Util.getPrefix() + " §2Discord: §6" + Util.getDiscord());
|
|
||||||
send.player(player, Util.getPrefix() + "§4======= §8[§4Command§9GUI§8] §4=======");
|
|
||||||
} else {
|
|
||||||
send.sender(sender, Util.getPrefix() + "§4======= §8[§4Command§9GUI§8] §4=======");
|
|
||||||
send.sender(sender, Util.getPrefix() + " §2String.valueOf(Main.autor): §6" + String.valueOf(String.valueOf(Main.autor)).replace("[", "").replace("]", ""));
|
|
||||||
|
|
||||||
if (UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion.equalsIgnoreCase(Main.version)) {
|
|
||||||
send.sender(sender, Util.getPrefix() + " §2Version: §6" + Main.version);
|
|
||||||
} else {
|
|
||||||
UpdateAPI.sendUpdateMsg(Util.getPrefix(), Util.getSpigot(), Util.getDiscord(), Main.version, UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion);
|
|
||||||
}
|
|
||||||
|
|
||||||
send.sender(sender, Util.getPrefix() + " §2Spigot: §6" + Util.getSpigot());
|
|
||||||
send.sender(sender, Util.getPrefix() + " §2Discord: §6" + Util.getDiscord());
|
|
||||||
send.sender(sender, Util.getPrefix() + "§4======= §8[§4Command§9GUI§8] §4=======");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void reload(CommandSender sender) {
|
|
||||||
if (sender instanceof Player) sender.sendMessage(SelectMessages.ReloadStart);
|
|
||||||
send.console(Util.getPrefix() + "§8-------------------------------");
|
|
||||||
send.console(Util.getPrefix() + " §6Plugin reload...");
|
|
||||||
send.console(Util.getPrefix() + "§8-------------------------------");
|
|
||||||
|
|
||||||
CmdExecuter_GUITab.arg1.clear();
|
|
||||||
CmdExecuter_GUITab.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info");
|
|
||||||
|
|
||||||
SelectConfig.onSelect();
|
|
||||||
Main.plugin.reloadConfig();
|
|
||||||
if (!Objects.equals(SelectDatabase.getStorage().toString(), SelectConfig.storage)) {
|
|
||||||
if (sender instanceof Player) send.sender(sender, "You have changed the storage medium! To apply this change, you must restart the server!");
|
|
||||||
send.console("You have changed the storage medium! To apply this change, you must restart the server!");
|
|
||||||
}
|
|
||||||
|
|
||||||
LanguagesCreate.langCreate();
|
|
||||||
|
|
||||||
Obj_Select.onSelect();
|
|
||||||
SelectMessages.onSelect(Util.getPrefix());
|
|
||||||
SelectConfig.sound(Util.getPrefix());
|
|
||||||
|
|
||||||
try {
|
|
||||||
AliasRegister.onRegister();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
Permissions.onPermRegister();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (SelectConfig.Bungee) {
|
|
||||||
Bukkit.getMessenger().registerOutgoingPluginChannel(Main.plugin, "commandgui:bungee");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sender instanceof Player) sender.sendMessage(SelectMessages.ReloadEnd);
|
|
||||||
send.console(Util.getPrefix() + "§8-------------------------------");
|
|
||||||
send.console(Util.getPrefix() + " §2Plugin successfully reloaded.");
|
|
||||||
send.console(Util.getPrefix() + "§8-------------------------------");
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void give(CommandSender sender, Player target) {
|
|
||||||
if (Bukkit.getPlayer(target.getName()) != null) {
|
|
||||||
UseItem.giveUseItem(target);
|
|
||||||
send.sender(sender, SelectMessages.Give_Sender.replace("[player]", target.getName()).replace("[item]", SelectConfig.UseItem_Name));
|
|
||||||
send.player(target, SelectMessages.Give_Receiver.replace("[sender]", sender.getName()).replace("[item]", SelectConfig.UseItem_Name));
|
|
||||||
if (SelectConfig.Sound_Give_Enable && SelectConfig.Sound_Enable) {
|
|
||||||
target.playSound(target.getLocation(), SelectConfig.Sound_Give, 3, 1);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
sender.sendMessage(SelectMessages.PlayerNotFond.replace("[player]", target.getName()));
|
|
||||||
if (SelectConfig.Sound_PlayerNotFound_Enable && SelectConfig.Sound_Enable) {
|
|
||||||
if (sender instanceof Player)
|
|
||||||
((Player) sender).playSound(((Player) sender).getLocation(), SelectConfig.Sound_PlayerNotFound, 3, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void itemOn(Player player) {
|
|
||||||
UseItem.removeItem(player);
|
|
||||||
Integer slot = null;
|
|
||||||
if (SelectConfig.UseItem_InventorySlotEnforce) {
|
|
||||||
slot = SelectConfig.UseItem_InventorySlot;
|
|
||||||
} else {
|
|
||||||
if (Events.useItemSlotHashMap.get(player) == null) {
|
|
||||||
slot = SelectConfig.UseItem_InventorySlot;
|
|
||||||
} else {
|
|
||||||
slot = Events.useItemSlotHashMap.get(player);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
send.debug(Main.plugin, String.valueOf(slot));
|
|
||||||
if (player.getInventory().getItem(slot - 1) == null) {
|
|
||||||
SelectDatabase.setItemStatusTrue(player);
|
|
||||||
UseItem.giveUseItem(player);
|
|
||||||
} else {
|
|
||||||
boolean empty = false;
|
|
||||||
for (int i = 0; i < 9; i++) {
|
|
||||||
if (player.getInventory().getItem(i) == null) {
|
|
||||||
empty = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (empty) {
|
|
||||||
SelectDatabase.setItemStatusTrue(player);
|
|
||||||
UseItem.addUseItem(player);
|
|
||||||
send.player(player, SelectMessages.ItemON);
|
|
||||||
} else {
|
|
||||||
player.sendMessage(SelectMessages.NoInventorySpace);
|
|
||||||
if (SelectConfig.Sound_NoInventorySpace_Enable && SelectConfig.Sound_Enable) {
|
|
||||||
player.playSound(player.getLocation(), SelectConfig.Sound_NoInventorySpace, 3, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void itemOff(Player player) {
|
|
||||||
SelectDatabase.setItemStatusFalse(player);
|
|
||||||
UseItem.removeItem(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void onSetSlot(Player player, Integer setSlot) {
|
|
||||||
if (!SelectConfig.UseItem_AllowSetSlot) {
|
|
||||||
player.sendMessage(Util.getPrefix() + " §4Function disabled");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (setSlot < 1) {
|
|
||||||
send.player(player, SelectMessages.ItemSlot_wrongValue);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (setSlot > 9) {
|
|
||||||
send.player(player, SelectMessages.ItemSlot_wrongValue);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Events.useItemHashMap.get(player)) {
|
|
||||||
if (Objects.equals(Events.useItemSlotHashMap.get(player), setSlot)) {
|
|
||||||
player.sendMessage(SelectMessages.ItemSlotAlreadySet.replace("[slot]", setSlot.toString()));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(setSlot - 1) != null) {
|
|
||||||
send.player(player, SelectMessages.ItemSlotNotEmpty.replace("[slot]", setSlot.toString()));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
UseItem.removeItem(player);
|
|
||||||
SelectDatabase.setSlot(player, setSlot);
|
|
||||||
Events.useItemSlotHashMap.replace(player, setSlot);
|
|
||||||
|
|
||||||
if (Events.useItemHashMap.get(player)) {
|
|
||||||
UseItem.giveUseItem(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
send.player(player, SelectMessages.ItemSlot.replace("[slot]", setSlot.toString()));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void gui(Player player) {
|
|
||||||
if (Main.guiHashMap.containsKey(SelectConfig.DefaultGUI)) {
|
|
||||||
Gui gui = Main.guiHashMap.get(SelectConfig.DefaultGUI);
|
|
||||||
if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
|
|
||||||
if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command") || player.hasPermission("commandgui.bypass")) {
|
|
||||||
OpenGUI.openGUI(player, SelectConfig.DefaultGUI, true);
|
|
||||||
} else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui")
|
|
||||||
.replace("[perm]", "commandgui.command"));
|
|
||||||
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.guiName));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void gui(Player player, String arg) {
|
|
||||||
if (Main.guiHashMap.containsKey(arg)) {
|
|
||||||
Gui gui = Main.guiHashMap.get(arg);
|
|
||||||
if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
|
|
||||||
if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command." + gui.key) || player.hasPermission("commandgui.bypass")) {
|
|
||||||
OpenGUI.openGUI(player, arg, true);
|
|
||||||
} else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + gui.key)
|
|
||||||
.replace("[perm]", "commandgui.command." + arg.toLowerCase()));
|
|
||||||
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.key));
|
|
||||||
} else player.sendMessage(SelectMessages.GUInotFound);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,50 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.cmdManagement;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.replace.Replace;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
|
|
||||||
public class Help {
|
|
||||||
private static String prefix = Util.getPrefix();
|
|
||||||
public static void sendHelp(CommandSender sender, String Prefix) {
|
|
||||||
send.sender(sender, Prefix + " §8----- §4Command§9GUI §chelp §8-----");
|
|
||||||
if (sender.hasPermission("commandgui.command")) {
|
|
||||||
Gui gui = Main.guiHashMap.get(SelectConfig.DefaultGUI);
|
|
||||||
send.sender(sender, Prefix + " " + SelectMessages.HelpCgui.replace("[gui]", Replace.replace(prefix,gui.guiName)));
|
|
||||||
for (String alias : Main.allAliases) {
|
|
||||||
if (Main.guiHashMap.get(alias).guiEnable || sender.hasPermission("commandgui.bypass")) {
|
|
||||||
send.sender(sender, Prefix + " " + SelectMessages.HelpOpen.replace("[gui]", alias).replace("[guiname]", Replace.replace(prefix,Main.guiHashMap.get(alias).guiName)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
send.sender(sender, Prefix + " " + SelectMessages.HelpHelp);
|
|
||||||
}
|
|
||||||
if (sender.hasPermission("commandgui.useitem.toggle")) {
|
|
||||||
send.sender(sender, Prefix + " " + SelectMessages.GUIItemHelp_on);
|
|
||||||
send.sender(sender, Prefix + " " + SelectMessages.GUIItemHelp_off);
|
|
||||||
send.sender(sender, Prefix + " " + SelectMessages.GUIItemHelp_Slot);
|
|
||||||
}
|
|
||||||
if (sender.hasPermission("commandgui.command.info")) {
|
|
||||||
send.sender(sender, Prefix + " " + SelectMessages.HelpInfo);
|
|
||||||
}
|
|
||||||
if (sender.hasPermission("commandgui.admin")) {
|
|
||||||
send.sender(sender, Prefix + " " + SelectMessages.HelpCreateDefaultGUI.replace("[directory]", Main.getPath()+ "\\GUIs\\default.yml"));
|
|
||||||
send.sender(sender, Prefix + " " + SelectMessages.HelpReload);
|
|
||||||
}
|
|
||||||
send.sender(sender, Prefix + " §8-------------------------");
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void sendGUIItemHelp(CommandSender sender, String Prefix) {
|
|
||||||
if (sender.hasPermission("commandgui.useitem.toggle")) {
|
|
||||||
send.sender(sender, Prefix + " §8------ §4Command§9GUI§2Item §chelp §8------");
|
|
||||||
send.sender(sender, Prefix + " " + SelectMessages.GUIItemHelp_on);
|
|
||||||
send.sender(sender, Prefix + " " + SelectMessages.GUIItemHelp_off);
|
|
||||||
send.sender(sender, Prefix + " " + SelectMessages.GUIItemHelp_Slot);
|
|
||||||
send.sender(sender, Prefix + " §8------------------------------");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,164 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.config.config;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
|
||||||
import net.t2code.lib.Spigot.Lib.yamlConfiguration.Config;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Arrays;
|
|
||||||
|
|
||||||
|
|
||||||
public class ConfigCreate {
|
|
||||||
|
|
||||||
public static void configCreate() {
|
|
||||||
long long_ = System.currentTimeMillis();
|
|
||||||
if (new File(Main.getPath(), "config.yml").exists()) {
|
|
||||||
if (Main.plugin.getConfig().getBoolean("Plugin.Debug")) send.console(Main.prefix + " §5DEBUG: §6" + " §4config.yml are created / updated...");
|
|
||||||
} else send.console(Main.prefix + " §4config.yml are created...");
|
|
||||||
|
|
||||||
File config = new File(Main.getPath(), "config.yml");
|
|
||||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
|
||||||
|
|
||||||
if (!config.exists()) Config.set("ConfigVersion", Util.getConfigVersion(), yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Plugin.Debug", false, yamlConfiguration);
|
|
||||||
Config.set("Plugin.HelpAlias", true, yamlConfiguration);
|
|
||||||
Config.set("Plugin.language", "english", yamlConfiguration);
|
|
||||||
Config.set("Plugin.Currency", "$", yamlConfiguration);
|
|
||||||
Config.set("Plugin.DefaultGUI", "default", yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Storage.Type", "SQLITE", yamlConfiguration);
|
|
||||||
Config.set("Storage.MySQL.IP", "localhost", yamlConfiguration);
|
|
||||||
Config.set("Storage.MySQL.Port", 3306, yamlConfiguration);
|
|
||||||
Config.set("Storage.MySQL.Database", "database", yamlConfiguration);
|
|
||||||
Config.set("Storage.MySQL.User", "root", yamlConfiguration);
|
|
||||||
Config.set("Storage.MySQL.Password", "password", yamlConfiguration);
|
|
||||||
Config.set("Storage.MySQL.SSL", false, yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("BungeeCord.Enable", false, yamlConfiguration);
|
|
||||||
Config.set("BungeeCord.ThisServer", "server", yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("UseItem.Enable", true, yamlConfiguration);
|
|
||||||
Config.set("UseItem.AllowToggle", true, yamlConfiguration);
|
|
||||||
Config.set("UseItem.AllowSetSlot", true, yamlConfiguration);
|
|
||||||
Config.set("UseItem.BlockMoveAndDrop", true, yamlConfiguration);
|
|
||||||
Config.set("UseItem.OpenGUI", "default", yamlConfiguration);
|
|
||||||
Config.set("UseItem.Permission.NeededToUse", true, yamlConfiguration);
|
|
||||||
Config.set("UseItem.KeepAtCommandClear", true, yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("UseItem.InventorySlot.Slot", 1, yamlConfiguration);
|
|
||||||
Config.set("UseItem.InventorySlot.SlotEnforce", false, yamlConfiguration);
|
|
||||||
Config.set("UseItem.InventorySlot.FreeSlot", false, yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("UseItem.Item.Material", "paper", yamlConfiguration);
|
|
||||||
if (!(MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12)) {
|
|
||||||
Config.set("UseItem.Item.PlayerHead.Enable", false, yamlConfiguration);
|
|
||||||
Config.set("UseItem.Item.PlayerHead.Base64.Enable", false, yamlConfiguration);
|
|
||||||
Config.set("UseItem.Item.PlayerHead.Base64.Base64Value", "", yamlConfiguration);
|
|
||||||
Config.set("UseItem.Item.PlayerHead.PlayerWhoHasOpenedTheGUI", false, yamlConfiguration);
|
|
||||||
Config.set("UseItem.Item.PlayerHead.Playername", "", yamlConfiguration);
|
|
||||||
}
|
|
||||||
Config.set("UseItem.Item.Name", "&bDefault &6GUI", yamlConfiguration);
|
|
||||||
Config.set("UseItem.Item.Lore", Arrays.asList("&eThis is an example GUI"), yamlConfiguration);
|
|
||||||
Config.set("UseItem.Join.GiveOnEveryJoin", true, yamlConfiguration);
|
|
||||||
Config.set("UseItem.Join.GiveOnlyOnFirstJoin", false, yamlConfiguration);
|
|
||||||
|
|
||||||
//convert
|
|
||||||
if (yamlConfiguration.contains("UseItem.Join.Cursor.ToGUIItem.OnEveryLogin")) {
|
|
||||||
Config.set("UseItem.Join.Cursor.ToGUIItem.OnEveryLogin", yamlConfiguration);
|
|
||||||
Config.set("UseItem.Join.Cursor.ToGUIItem.OnLogin.Enable", yamlConfiguration.getBoolean("UseItem.Join.Cursor.ToGUIItem.OnEveryLogin"), yamlConfiguration);
|
|
||||||
}
|
|
||||||
if (yamlConfiguration.contains("UseItem.Join.Cursor.ToGUIItem.OnOnlyFirstLogin")) {
|
|
||||||
Config.set("UseItem.Join.Cursor.ToGUIItem.OnOnlyFirstLogin", yamlConfiguration);
|
|
||||||
Config.set("UseItem.Join.Cursor.ToGUIItem.Spigot.OnOnlyFirstLogin", yamlConfiguration.getBoolean("UseItem.Join.Cursor.ToGUIItem.OnOnlyFirstLogin"), yamlConfiguration);
|
|
||||||
}
|
|
||||||
if (yamlConfiguration.contains("UseItem.Join.Cursor.ToGUIItem.EXPERIMENTELL_ServerChange")) {
|
|
||||||
Config.set("UseItem.Join.Cursor.ToGUIItem.EXPERIMENTELL_ServerChange", yamlConfiguration);
|
|
||||||
Config.set("UseItem.Join.Cursor.ToGUIItem.Bungee.OnServerChange", yamlConfiguration.getBoolean("UseItem.Join.Cursor.ToGUIItem.EXPERIMENTELL_ServerChange"), yamlConfiguration);
|
|
||||||
}
|
|
||||||
|
|
||||||
Config.set("UseItem.Join.Cursor.ToGUIItem.OnLogin.Enable", true, yamlConfiguration);
|
|
||||||
Config.set("UseItem.Join.Cursor.ToGUIItem.Spigot.OnOnlyFirstLogin", true, yamlConfiguration);
|
|
||||||
Config.set("UseItem.Join.Cursor.ToGUIItem.Bungee.OnServerChange", false, yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Advanced.UseItem.GameMode.Change.Enable", true, yamlConfiguration);
|
|
||||||
Config.set("Advanced.UseItem.GameMode.Change.DelayInTicks", 1, yamlConfiguration);
|
|
||||||
Config.set("Advanced.UseItem.GameMode.Protection.Enable", false, yamlConfiguration);
|
|
||||||
Config.set("Advanced.UseItem.GameMode.Protection.RemoveItemWhenItIsDisabled", false, yamlConfiguration);
|
|
||||||
Config.set("Advanced.UseItem.GameMode.Protection.Mode", "blacklist", yamlConfiguration);
|
|
||||||
Config.set("Advanced.UseItem.GameMode.Protection.List", Arrays.asList("CREATIVE", "Spectator"), yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Advanced.UseItem.World.Change.Enable", true, yamlConfiguration);
|
|
||||||
Config.set("Advanced.UseItem.World.Change.DelayInTicks", 1, yamlConfiguration);
|
|
||||||
Config.set("Advanced.UseItem.World.Protection.Enable", false, yamlConfiguration);
|
|
||||||
Config.set("Advanced.UseItem.World.Protection.RemoveItemWhenItIsDisabled", false, yamlConfiguration);
|
|
||||||
Config.set("Advanced.UseItem.World.Protection.Mode", "blacklist", yamlConfiguration);
|
|
||||||
Config.set("Advanced.UseItem.World.Protection.List", Arrays.asList("World1", "World2"), yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Toggle.Items.OnOrYes.Item.Base64.Enable", false, yamlConfiguration);
|
|
||||||
Config.set("Toggle.Items.OnOrYes.Item.Base64.Base64Value", "", yamlConfiguration);
|
|
||||||
Config.set("Toggle.Items.OnOrYes.Item.Material", ItemVersion.getGreenWool().getType().toString(), yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Toggle.Items.OffOrNo.Item.Base64.Enable", false, yamlConfiguration);
|
|
||||||
Config.set("Toggle.Items.OffOrNo.Item.Base64.Base64Value", "", yamlConfiguration);
|
|
||||||
Config.set("Toggle.Items.OffOrNo.Item.Material", ItemVersion.getRedWool().getType().toString(), yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Toggle.Permission.Commands.True", "luckperms user [player] permission set [perm] true", yamlConfiguration);
|
|
||||||
Config.set("Toggle.Permission.Commands.False", "luckperms user [player] permission set [perm] false", yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Placeholder.True", "&2true", yamlConfiguration);
|
|
||||||
Config.set("Placeholder.False", "&4false", yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Sound.Enable", true, yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Sound.OpenInventory.Enable", true, yamlConfiguration);
|
|
||||||
if (MCVersion.minecraft1_8) {
|
|
||||||
Config.set("Sound.OpenInventory.Sound", "CHEST_OPEN", yamlConfiguration);
|
|
||||||
} else Config.set("Sound.OpenInventory.Sound", "BLOCK_CHEST_OPEN", yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Sound.Click.Enable", true, yamlConfiguration);
|
|
||||||
if (MCVersion.minecraft1_8) {
|
|
||||||
Config.set("Sound.Click.Sound", "NOTE_STICKS", yamlConfiguration);
|
|
||||||
} else if (MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
Config.set("Sound.Click.Sound", "BLOCK_NOTE_HAT", yamlConfiguration);
|
|
||||||
} else Config.set("Sound.Click.Sound", "BLOCK_NOTE_BLOCK_HAT", yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Sound.NoMoney.Enable", true, yamlConfiguration);
|
|
||||||
if (MCVersion.minecraft1_8) {
|
|
||||||
Config.set("Sound.NoMoney.Sound", "NOTE_PIANO", yamlConfiguration);
|
|
||||||
} else if (MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
Config.set("Sound.NoMoney.Sound", "BLOCK_NOTE_HARP", yamlConfiguration);
|
|
||||||
} else Config.set("Sound.NoMoney.Sound", "BLOCK_NOTE_BLOCK_HARP", yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Sound.NoInventorySpace.Enable", true, yamlConfiguration);
|
|
||||||
if (MCVersion.minecraft1_8) {
|
|
||||||
Config.set("Sound.NoInventorySpace.Sound", "NOTE_PIANO", yamlConfiguration);
|
|
||||||
} else if (MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
Config.set("Sound.NoInventorySpace.Sound", "BLOCK_NOTE_HARP", yamlConfiguration);
|
|
||||||
} else Config.set("Sound.NoInventorySpace.Sound", "BLOCK_NOTE_BLOCK_HARP", yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Sound.Give.Enable", true, yamlConfiguration);
|
|
||||||
if (MCVersion.minecraft1_8) {
|
|
||||||
Config.set("Sound.Give.Sound", "LEVEL_UP", yamlConfiguration);
|
|
||||||
} else Config.set("Sound.Give.Sound", "ENTITY_PLAYER_LEVELUP", yamlConfiguration);
|
|
||||||
|
|
||||||
Config.set("Sound.PlayerNotFound.Enable", true, yamlConfiguration);
|
|
||||||
if (MCVersion.minecraft1_8) {
|
|
||||||
Config.set("Sound.PlayerNotFound.Sound", "NOTE_PIANO", yamlConfiguration);
|
|
||||||
} else if (MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
Config.set("Sound.PlayerNotFound.Sound", "BLOCK_NOTE_HARP", yamlConfiguration);
|
|
||||||
} else Config.set("Sound.PlayerNotFound.Sound", "BLOCK_NOTE_BLOCK_HARP", yamlConfiguration);
|
|
||||||
|
|
||||||
try {
|
|
||||||
yamlConfiguration.save(config);
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
send.console(Main.prefix + " §2config.yml were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,357 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.config.config;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.configConverter.ConfigConverterUnderV5;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.MySQL;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.StorageType;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
|
||||||
import net.t2code.lib.Spigot.Lib.replace.Replace;
|
|
||||||
import org.bukkit.Sound;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class SelectConfig {
|
|
||||||
public static Boolean Debug;
|
|
||||||
public static Boolean HelpAlias;
|
|
||||||
public static String language;
|
|
||||||
public static String Currency;
|
|
||||||
|
|
||||||
public static String storage;
|
|
||||||
|
|
||||||
public static Boolean Bungee;
|
|
||||||
public static String thisServer;
|
|
||||||
|
|
||||||
public static String DefaultGUI;
|
|
||||||
|
|
||||||
public static Boolean UseItem_Enable;
|
|
||||||
public static Boolean UseItem_AllowToggle;
|
|
||||||
public static Boolean UseItem_AllowSetSlot;
|
|
||||||
public static Boolean UseItem_GiveOnEveryJoin;
|
|
||||||
public static Boolean UseItem_GiveOnlyOnFirstJoin;
|
|
||||||
public static Boolean UseItem_ServerChange;
|
|
||||||
public static Boolean Cursor_ToGUIItem_OnLogin;
|
|
||||||
public static Boolean Cursor_ToGUIItem_OnlyOnFirstLogin;
|
|
||||||
public static Boolean UseItem_BlockMoveAndDrop;
|
|
||||||
public static String UseItem_OpenGUI;
|
|
||||||
public static Boolean UseItem_Permission;
|
|
||||||
public static Boolean UseItem_KeepAtCommandClear;
|
|
||||||
|
|
||||||
public static Boolean UseItemGameModeChangeEnable;
|
|
||||||
public static int UseItemGameModeChangeDelayInTicks;
|
|
||||||
public static Boolean UseItemGameModeProtection;
|
|
||||||
public static Boolean UseItemGameModeRemoveItemWhenItIsDisabled;
|
|
||||||
public static String UseItemGameModeMode;
|
|
||||||
public static List<String> UseItemGameModeList;
|
|
||||||
|
|
||||||
public static Boolean UseItemWorldChangeEnable;
|
|
||||||
public static int UseItemWorldChangeDelayInTicks;
|
|
||||||
public static Boolean UseItemWorldProtection;
|
|
||||||
public static Boolean UseItemWorldRemoveItemWhenItIsDisabled;
|
|
||||||
public static String UseItemWorldMode;
|
|
||||||
public static List<String> UseItemWorldList;
|
|
||||||
|
|
||||||
public static Boolean disableInfoBySneak = false;
|
|
||||||
|
|
||||||
public static Boolean UseItem_InventorySlot_FreeSlot;
|
|
||||||
public static Integer UseItem_InventorySlot;
|
|
||||||
public static Boolean UseItem_InventorySlotEnforce;
|
|
||||||
public static String UseItem_Material;
|
|
||||||
public static Boolean UseItem_PlayerHead_Enable;
|
|
||||||
public static Boolean UseItem_Base64_Enable;
|
|
||||||
public static String UseItem_Base64value;
|
|
||||||
public static Boolean UseItem_PlayerWhoHasOpenedTheGUI;
|
|
||||||
public static String UseItem_PlayerName;
|
|
||||||
public static String UseItem_Name;
|
|
||||||
public static List<String> UseItem_Lore;
|
|
||||||
|
|
||||||
public static Boolean toggleItemOnOrYesBase64;
|
|
||||||
public static String toggleItemOnOrYesBase64Value;
|
|
||||||
public static String toggleItemOnOrYesMaterial;
|
|
||||||
|
|
||||||
public static Boolean toggleItemOffOrNoBase64;
|
|
||||||
public static String toggleItemOffOrNoBase64Value;
|
|
||||||
public static String toggleItemOffOrNoMaterial;
|
|
||||||
|
|
||||||
public static String togglePermTrue;
|
|
||||||
public static String togglePermFalse;
|
|
||||||
|
|
||||||
public static String placeholderTrue;
|
|
||||||
public static String placeholderFalse;
|
|
||||||
|
|
||||||
public static Boolean Sound_Enable = true;
|
|
||||||
|
|
||||||
public static Boolean Sound_OpenInventory_Enable = true;
|
|
||||||
public static Sound Sound_OpenInventory;
|
|
||||||
public static String Sound_OpenInventory_input;
|
|
||||||
|
|
||||||
public static Boolean Sound_Click_Enable = true;
|
|
||||||
public static Sound Sound_Click;
|
|
||||||
public static String Sound_Click_input;
|
|
||||||
|
|
||||||
public static Boolean Sound_NoMoney_Enable = true;
|
|
||||||
public static Sound Sound_NoMoney;
|
|
||||||
public static String Sound_NoMoney_input;
|
|
||||||
|
|
||||||
public static Boolean Sound_NoInventorySpace_Enable = true;
|
|
||||||
public static Sound Sound_NoInventorySpace;
|
|
||||||
public static String Sound_NoInventorySpace_input;
|
|
||||||
|
|
||||||
public static Boolean Sound_Give_Enable = true;
|
|
||||||
public static Sound Sound_Give;
|
|
||||||
public static String Sound_Give_input;
|
|
||||||
|
|
||||||
public static Boolean Sound_PlayerNotFound_Enable = true;
|
|
||||||
public static Sound Sound_PlayerNotFound;
|
|
||||||
public static String Sound_PlayerNotFound_input;
|
|
||||||
|
|
||||||
|
|
||||||
public static void onSelect() {
|
|
||||||
File config = new File(Main.getPath(), "config.yml");
|
|
||||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
|
||||||
|
|
||||||
if (yamlConfiguration.getInt("ConfigVersion") < Util.getConfigVersion() && new File(Main.getPath(), "config.yml").exists()) {
|
|
||||||
send.console(Util.getPrefix() + " §4----------------------");
|
|
||||||
send.console(Util.getPrefix() + " ");
|
|
||||||
send.console(Util.getPrefix() + " §6New features have been added to CommandGUI. The Config is adapted!");
|
|
||||||
send.console(Util.getPrefix() + " ");
|
|
||||||
send.console(Util.getPrefix() + " §4----------------------");
|
|
||||||
if (yamlConfiguration.getInt("ConfigVersion") < 5) {
|
|
||||||
ConfigConverterUnderV5.convert();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Debug = yamlConfiguration.getBoolean("Plugin.Debug");
|
|
||||||
HelpAlias = yamlConfiguration.getBoolean("Plugin.HelpAlias");
|
|
||||||
language = yamlConfiguration.getString("Plugin.language");
|
|
||||||
Currency = yamlConfiguration.getString("Plugin.Currency");
|
|
||||||
DefaultGUI = yamlConfiguration.getString("Plugin.DefaultGUI");
|
|
||||||
storage = yamlConfiguration.getString("Storage.Type").toUpperCase();
|
|
||||||
|
|
||||||
MySQL.ip = yamlConfiguration.getString("Storage.MySQL.IP");
|
|
||||||
MySQL.port = yamlConfiguration.getInt("Storage.MySQL.Port");
|
|
||||||
MySQL.database = yamlConfiguration.getString("Storage.MySQL.Database");
|
|
||||||
MySQL.user = yamlConfiguration.getString("Storage.MySQL.User");
|
|
||||||
MySQL.password = yamlConfiguration.getString("Storage.MySQL.Password");
|
|
||||||
MySQL.SSL = yamlConfiguration.getBoolean("Storage.MySQL.SSL");
|
|
||||||
|
|
||||||
Bungee = yamlConfiguration.getBoolean("BungeeCord.Enable");
|
|
||||||
thisServer = yamlConfiguration.getString("BungeeCord.ThisServer");
|
|
||||||
|
|
||||||
|
|
||||||
UseItem_Enable = yamlConfiguration.getBoolean("UseItem.Enable");
|
|
||||||
UseItem_AllowToggle = yamlConfiguration.getBoolean("UseItem.AllowToggle");
|
|
||||||
UseItem_AllowSetSlot = yamlConfiguration.getBoolean("UseItem.AllowSetSlot");
|
|
||||||
UseItem_BlockMoveAndDrop = yamlConfiguration.getBoolean("UseItem.BlockMoveAndDrop");
|
|
||||||
UseItem_OpenGUI = yamlConfiguration.getString("UseItem.OpenGUI");
|
|
||||||
UseItem_Permission = yamlConfiguration.getBoolean("UseItem.Permission.NeededToUse");
|
|
||||||
UseItem_KeepAtCommandClear = yamlConfiguration.getBoolean("UseItem.KeepAtCommandClear");
|
|
||||||
|
|
||||||
UseItem_InventorySlot_FreeSlot = yamlConfiguration.getBoolean("UseItem.InventorySlot.FreeSlot");
|
|
||||||
UseItem_InventorySlot = yamlConfiguration.getInt("UseItem.InventorySlot.Slot");
|
|
||||||
UseItem_InventorySlotEnforce = yamlConfiguration.getBoolean("UseItem.InventorySlot.SlotEnforce");
|
|
||||||
UseItem_Material = yamlConfiguration.getString("UseItem.Item.Material").toUpperCase();
|
|
||||||
UseItem_PlayerHead_Enable = yamlConfiguration.getBoolean("UseItem.Item.PlayerHead.Enable");
|
|
||||||
UseItem_Base64_Enable = yamlConfiguration.getBoolean("UseItem.Item.PlayerHead.Base64.Enable");
|
|
||||||
UseItem_Base64value = yamlConfiguration.getString("UseItem.Item.PlayerHead.Base64.Base64Value");
|
|
||||||
UseItem_PlayerWhoHasOpenedTheGUI = yamlConfiguration.getBoolean("UseItem.Item.PlayerHead.PlayerWhoHasOpenedTheGUI");
|
|
||||||
UseItem_PlayerName = yamlConfiguration.getString("UseItem.Item.PlayerHead.PlayerName");
|
|
||||||
UseItem_Name = Replace.replace(Util.getPrefix(), yamlConfiguration.getString("UseItem.Item.Name"));
|
|
||||||
UseItem_Lore = yamlConfiguration.getStringList("UseItem.Item.Lore");
|
|
||||||
UseItem_GiveOnEveryJoin = yamlConfiguration.getBoolean("UseItem.Join.GiveOnEveryJoin");
|
|
||||||
UseItem_GiveOnlyOnFirstJoin = yamlConfiguration.getBoolean("UseItem.Join.GiveOnlyOnFirstJoin");
|
|
||||||
Cursor_ToGUIItem_OnLogin = yamlConfiguration.getBoolean("UseItem.Join.Cursor.ToGUIItem.OnLogin.Enable");
|
|
||||||
Cursor_ToGUIItem_OnlyOnFirstLogin = yamlConfiguration.getBoolean("UseItem.Join.Cursor.ToGUIItem.Spigot.OnlyOnFirstLogin");
|
|
||||||
UseItem_ServerChange = yamlConfiguration.getBoolean("UseItem.Join.Cursor.ToGUIItem.Bungee.OnServerChange");
|
|
||||||
|
|
||||||
UseItemGameModeChangeEnable = yamlConfiguration.getBoolean("Advanced.UseItem.GameMode.Change.Enable");
|
|
||||||
UseItemGameModeChangeDelayInTicks = yamlConfiguration.getInt("Advanced.UseItem.GameMode.Change.DelayInTicks");
|
|
||||||
UseItemGameModeProtection = yamlConfiguration.getBoolean("Advanced.UseItem.GameMode.Protection.Enable");
|
|
||||||
UseItemGameModeRemoveItemWhenItIsDisabled = yamlConfiguration.getBoolean("Advanced.UseItem.GameMode.Protection.RemoveItemWhenItIsDisabled");
|
|
||||||
UseItemGameModeMode = yamlConfiguration.getString("Advanced.UseItem.GameMode.Protection.Mode");
|
|
||||||
List<String> gml = new ArrayList<>();
|
|
||||||
for (String gm : yamlConfiguration.getStringList("Advanced.UseItem.GameMode.Protection.List")) {
|
|
||||||
gml.add(gm.toUpperCase());
|
|
||||||
}
|
|
||||||
UseItemGameModeList = gml;
|
|
||||||
|
|
||||||
UseItemWorldChangeEnable = yamlConfiguration.getBoolean("Advanced.UseItem.World.Change.Enable");
|
|
||||||
UseItemWorldChangeDelayInTicks = yamlConfiguration.getInt("Advanced.UseItem.World.Change.DelayInTicks");
|
|
||||||
UseItemWorldProtection = yamlConfiguration.getBoolean("Advanced.UseItem.World.Protection.Enable");
|
|
||||||
UseItemWorldRemoveItemWhenItIsDisabled = yamlConfiguration.getBoolean("Advanced.UseItem.World.Protection.RemoveItemWhenItIsDisabled");
|
|
||||||
UseItemWorldMode = yamlConfiguration.getString("Advanced.UseItem.World.Protection.Mode");
|
|
||||||
UseItemWorldList = yamlConfiguration.getStringList("Advanced.UseItem.World.Protection.List");
|
|
||||||
|
|
||||||
if (yamlConfiguration.get("Advanced.UseItem.DisableInfoBySneak") != null) {
|
|
||||||
disableInfoBySneak = yamlConfiguration.getBoolean("Advanced.UseItem.DisableInfoBySneak");
|
|
||||||
}
|
|
||||||
|
|
||||||
toggleItemOnOrYesBase64 = yamlConfiguration.getBoolean("Toggle.Items.OnOrYes.Item.Base64.Enable");
|
|
||||||
toggleItemOnOrYesBase64Value = yamlConfiguration.getString("Toggle.Items.OnOrYes.Item.Base64.Base64Value");
|
|
||||||
toggleItemOnOrYesMaterial = yamlConfiguration.getString("Toggle.Items.OnOrYes.Item.Material");
|
|
||||||
|
|
||||||
toggleItemOffOrNoBase64 = yamlConfiguration.getBoolean("Toggle.Items.OffOrNo.Item.Base64.Enable");
|
|
||||||
toggleItemOffOrNoBase64Value = yamlConfiguration.getString("Toggle.Items.OffOrNo.Item.Base64.Base64Value");
|
|
||||||
toggleItemOffOrNoMaterial = yamlConfiguration.getString("Toggle.Items.OffOrNo.Item.Material");
|
|
||||||
|
|
||||||
togglePermTrue = yamlConfiguration.getString("Toggle.Permission.Commands.True");
|
|
||||||
togglePermFalse = yamlConfiguration.getString("Toggle.Permission.Commands.False");
|
|
||||||
|
|
||||||
placeholderTrue = yamlConfiguration.getString("Placeholder.True");
|
|
||||||
placeholderFalse = yamlConfiguration.getString("Placeholder.False");
|
|
||||||
|
|
||||||
Sound_Enable = yamlConfiguration.getBoolean("Sound.Enable");
|
|
||||||
Sound_OpenInventory_Enable = yamlConfiguration.getBoolean("Sound.OpenInventory.Enable");
|
|
||||||
Sound_OpenInventory_input = (yamlConfiguration.getString("Sound.OpenInventory.Sound").toUpperCase().replace(".", "_"));
|
|
||||||
Sound_Click_Enable = yamlConfiguration.getBoolean("Sound.Click.Enable");
|
|
||||||
Sound_Click_input = (yamlConfiguration.getString("Sound.Click.Sound").toUpperCase().replace(".", "_"));
|
|
||||||
Sound_NoMoney_Enable = yamlConfiguration.getBoolean("Sound.NoMoney.Enable");
|
|
||||||
Sound_NoMoney_input = (yamlConfiguration.getString("Sound.NoMoney.Sound").toUpperCase().replace(".", "_"));
|
|
||||||
|
|
||||||
Sound_NoInventorySpace_Enable = yamlConfiguration.getBoolean("Sound.NoInventorySpace.Enable");
|
|
||||||
Sound_NoInventorySpace_input = (yamlConfiguration.getString("Sound.NoInventorySpace.Sound").toUpperCase().replace(".", "_"));
|
|
||||||
Sound_Give_Enable = yamlConfiguration.getBoolean("Sound.Give.Enable");
|
|
||||||
Sound_Give_input = (yamlConfiguration.getString("Sound.Give.Sound").toUpperCase().replace(".", "_"));
|
|
||||||
Sound_PlayerNotFound_Enable = yamlConfiguration.getBoolean("Sound.PlayerNotFound.Enable");
|
|
||||||
Sound_PlayerNotFound_input = (yamlConfiguration.getString("Sound.PlayerNotFound.Sound").toUpperCase().replace(".", "_"));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void sound(String Prefix) {
|
|
||||||
String soundOpenInventory;
|
|
||||||
if (MCVersion.minecraft1_8) {
|
|
||||||
soundOpenInventory = "CHEST_OPEN";
|
|
||||||
} else {
|
|
||||||
soundOpenInventory = "BLOCK_CHEST_OPEN";
|
|
||||||
}
|
|
||||||
|
|
||||||
String soundClick;
|
|
||||||
if (MCVersion.minecraft1_8) {
|
|
||||||
soundClick = "NOTE_STICKS";
|
|
||||||
} else if (MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
soundClick = "BLOCK_NOTE_HAT";
|
|
||||||
} else {
|
|
||||||
soundClick = "BLOCK_NOTE_BLOCK_HAT";
|
|
||||||
}
|
|
||||||
|
|
||||||
String soundNoMoney;
|
|
||||||
if (MCVersion.minecraft1_8) {
|
|
||||||
soundNoMoney = "NOTE_PIANO";
|
|
||||||
} else if (MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
soundNoMoney = "BLOCK_NOTE_HARP";
|
|
||||||
} else {
|
|
||||||
soundNoMoney = "BLOCK_NOTE_BLOCK_HARP";
|
|
||||||
}
|
|
||||||
|
|
||||||
String soundNoInventorySpace;
|
|
||||||
if (MCVersion.minecraft1_8) {
|
|
||||||
soundNoInventorySpace = "NOTE_PIANO";
|
|
||||||
} else if (MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
soundNoInventorySpace = "BLOCK_NOTE_BASS";
|
|
||||||
} else {
|
|
||||||
soundNoInventorySpace = "BLOCK_NOTE_BLOCK_GUITAR";
|
|
||||||
}
|
|
||||||
|
|
||||||
String soundGive;
|
|
||||||
if (MCVersion.minecraft1_8) {
|
|
||||||
soundGive = "LEVEL_UP";
|
|
||||||
} else {
|
|
||||||
soundGive = "ENTITY_PLAYER_LEVELUP";
|
|
||||||
}
|
|
||||||
|
|
||||||
String soundPlayerNotFound;
|
|
||||||
if (MCVersion.minecraft1_8) {
|
|
||||||
soundPlayerNotFound = "NOTE_PIANO";
|
|
||||||
} else if (MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
soundPlayerNotFound = "BLOCK_NOTE_HARP";
|
|
||||||
} else {
|
|
||||||
soundPlayerNotFound = "BLOCK_NOTE_BLOCK_HARP";
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
Sound sound_OpenInventory = Sound.valueOf(Sound_OpenInventory_input);
|
|
||||||
if (sound_OpenInventory != null) {
|
|
||||||
Sound_OpenInventory = sound_OpenInventory;
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", Prefix)
|
|
||||||
.replace("[sound]", "§8OpenInventory: §6" + Sound_OpenInventory_input) + "§4\n§4\n§4\n");
|
|
||||||
Sound_OpenInventory = Sound.valueOf(soundOpenInventory);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
Sound sound_Click = Sound.valueOf(Sound_Click_input);
|
|
||||||
if (sound_Click != null) {
|
|
||||||
Sound_Click = sound_Click;
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", Prefix)
|
|
||||||
.replace("[sound]", "§8Click: §6" + Sound_Click_input) + "§4\n§4\n§4\n");
|
|
||||||
Sound_Click = Sound.valueOf(soundClick);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
Sound sound_NoMoney = Sound.valueOf(Sound_NoMoney_input);
|
|
||||||
if (sound_NoMoney != null) {
|
|
||||||
Sound_Click = sound_NoMoney;
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", Prefix)
|
|
||||||
.replace("[sound]", "§8NoMoney: §6" + Sound_NoMoney_input) + "§4\n§4\n§4\n");
|
|
||||||
Sound_NoMoney = Sound.valueOf(soundNoMoney);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
try {
|
|
||||||
Sound sound_NoInventorySpace = Sound.valueOf(Sound_NoInventorySpace_input);
|
|
||||||
if (sound_NoInventorySpace != null) {
|
|
||||||
Sound_NoInventorySpace = sound_NoInventorySpace;
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", Prefix)
|
|
||||||
.replace("[sound]", "§8NoInventorySpace: §6" + Sound_NoInventorySpace_input) + "§4\n§4\n§4\n");
|
|
||||||
Sound_NoInventorySpace = Sound.valueOf(soundNoInventorySpace);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
Sound sound_Give = Sound.valueOf(Sound_Give_input);
|
|
||||||
if (sound_Give != null) {
|
|
||||||
Sound_Give = sound_Give;
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", Prefix)
|
|
||||||
.replace("[sound]", "§8Give: §6" + Sound_Give_input) + "§4\n§4\n§4\n");
|
|
||||||
Sound_Give = Sound.valueOf(soundGive);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
Sound sound_PlayerNotFound = Sound.valueOf(Sound_PlayerNotFound_input);
|
|
||||||
if (sound_PlayerNotFound != null) {
|
|
||||||
Sound_PlayerNotFound = sound_PlayerNotFound;
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", Prefix)
|
|
||||||
.replace("[sound]", "§8PlayerNotFound: §6" + Sound_PlayerNotFound_input) + "§4\n§4\n§4\n");
|
|
||||||
Sound_PlayerNotFound = Sound.valueOf(soundPlayerNotFound);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setConfigVersion() {
|
|
||||||
File config = new File(Main.getPath(), "config.yml");
|
|
||||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
|
||||||
yamlConfiguration.set("ConfigVersion", Util.getConfigVersion());
|
|
||||||
try {
|
|
||||||
yamlConfiguration.save(config);
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,176 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.config.configConverter;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.functions.CreateFunctions;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
|
||||||
import org.apache.commons.io.FileUtils;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ConfigConverterUnderV5 {
|
|
||||||
public static void convert() {
|
|
||||||
renameFolder();
|
|
||||||
send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4----------------------");
|
|
||||||
send.console(Util.getPrefix() + " §7[§5ConfigConvert§7]");
|
|
||||||
send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4Config conversion to the new config structure starts!");
|
|
||||||
send.console(Util.getPrefix() + " §7[§5ConfigConvert§7]");
|
|
||||||
send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4----------------------");
|
|
||||||
File f = new File(Main.getPath() + "/OldConfig/GUIs/Version4");
|
|
||||||
File[] fileArray = f.listFiles();
|
|
||||||
|
|
||||||
for (File configOld : fileArray) {
|
|
||||||
String sub = configOld.getName().substring(configOld.getName().length() - 4);
|
|
||||||
if (sub.equals(".yml")) {
|
|
||||||
YamlConfiguration yamlConfigurationOld = YamlConfiguration.loadConfiguration(configOld);
|
|
||||||
|
|
||||||
File config = new File(Main.getPath(), "GUIs/" + configOld.getName().replace(".yml", "") + ".yml");
|
|
||||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
|
||||||
|
|
||||||
Boolean enable = yamlConfigurationOld.getBoolean("GUI.Enable");
|
|
||||||
Integer lines = yamlConfigurationOld.getInt("GUI.Lines");
|
|
||||||
|
|
||||||
String name = yamlConfigurationOld.getString("GUI.Name");
|
|
||||||
Boolean fillItemEnable = yamlConfigurationOld.getBoolean("GUI.FillItem.Enable");
|
|
||||||
String fillItem;
|
|
||||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
fillItem = yamlConfigurationOld.getString("GUI.FillItem.GlassPaneColor");
|
|
||||||
} else fillItem = yamlConfigurationOld.getString("GUI.FillItem.Item");
|
|
||||||
|
|
||||||
Boolean alias = yamlConfigurationOld.getBoolean("Command.Alias");
|
|
||||||
Boolean aliasPerm = yamlConfigurationOld.getBoolean("Command.Permission.Required");
|
|
||||||
|
|
||||||
setNew(enable, lines, name, fillItemEnable, fillItem, alias, aliasPerm, yamlConfiguration);
|
|
||||||
|
|
||||||
for (String key : yamlConfigurationOld.getConfigurationSection("Slots").getKeys(false)) {
|
|
||||||
Integer slotNumber = yamlConfigurationOld.getInt("Slots." + key + ".Slot");
|
|
||||||
Boolean slotEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Enable");
|
|
||||||
Boolean permRequired = yamlConfigurationOld.getBoolean("Slots." + key + ".Permission.Required");
|
|
||||||
|
|
||||||
Boolean empty = yamlConfigurationOld.getBoolean("Slots." + key + ".Item.Empty");
|
|
||||||
Integer itemAmount = yamlConfigurationOld.getInt("Slots." + key + ".Item.Amount");
|
|
||||||
Boolean playerHeadEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Item.PlayerHead.Enable");
|
|
||||||
Boolean base64Enable = yamlConfigurationOld.getBoolean("Slots." + key + ".Item.PlayerHead.Base64.Enable");
|
|
||||||
String base64Value = yamlConfigurationOld.getString("Slots." + key + ".Item.PlayerHead.Base64.Base64Value");
|
|
||||||
Boolean playerWhoHasOpenedTheGUI = yamlConfigurationOld.getBoolean("Slots." + key + ".Item.PlayerHead.PlayerWhoHasOpenedTheGUI");
|
|
||||||
String playerName = yamlConfigurationOld.getString("Slots." + key + ".Item.PlayerHead.PlayerName");
|
|
||||||
String itemMaterial = yamlConfigurationOld.getString("Slots." + key + ".Item.Material");
|
|
||||||
String itemName = yamlConfigurationOld.getString("Slots." + key + ".Item.Name");
|
|
||||||
List<String> lore = yamlConfigurationOld.getStringList("Slots." + key + ".Item.Lore");
|
|
||||||
Boolean customSoundEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".CustomSound.Enable");
|
|
||||||
Boolean customSoundNoSound = yamlConfigurationOld.getBoolean("Slots." + key + ".CustomSound.NoSound");
|
|
||||||
String customSoundSound = yamlConfigurationOld.getString("Slots." + key + ".CustomSound.Sound");
|
|
||||||
Boolean costEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Cost.Enable");
|
|
||||||
Double price = yamlConfigurationOld.getDouble("Slots." + key + ".Cost.Price");
|
|
||||||
Boolean commandEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Command.Enable");
|
|
||||||
Boolean commandBungeeCommand = yamlConfigurationOld.getBoolean("Slots." + key + ".Command.BungeeCommand");
|
|
||||||
Boolean commandAsConsole = yamlConfigurationOld.getBoolean("Slots." + key + ".Command.CommandAsConsole");
|
|
||||||
List<String> command = yamlConfigurationOld.getStringList("Slots." + key + ".Command.Command");
|
|
||||||
Boolean serverChange = yamlConfigurationOld.getBoolean("Slots." + key + ".ServerChange.Enable");
|
|
||||||
String serverChangeServer = yamlConfigurationOld.getString("Slots." + key + ".ServerChange.Server");
|
|
||||||
Boolean openGUIEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".OpenGUI.Enable");
|
|
||||||
String openGUI = yamlConfigurationOld.getString("Slots." + key + ".OpenGUI.GUI");
|
|
||||||
Boolean togglePermission = yamlConfigurationOld.getBoolean("Slots." + key + ".Toggle.Permission.Enable");
|
|
||||||
String togglePermissionPerm = yamlConfigurationOld.getString("Slots." + key + ".Toggle.Permission.Permission");
|
|
||||||
Boolean toggleUseItem = yamlConfigurationOld.getBoolean("Slots." + key + ".Toggle.UseItem.Enable");
|
|
||||||
Boolean messageEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Message.Enable");
|
|
||||||
List<String> message = yamlConfigurationOld.getStringList("Slots." + key + ".Message.Message");
|
|
||||||
Boolean setConfigEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".SetConfig.Enable");
|
|
||||||
String configFilePath = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.File.Path");
|
|
||||||
String configOptionPath = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.Option.Path");
|
|
||||||
String configOptionPremat = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.Option.Premat");
|
|
||||||
// Boolean ConfigChatInput = ;
|
|
||||||
|
|
||||||
String configStringValueLeft = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.Value.LeftClick.String");
|
|
||||||
Boolean configBooleanValueLeft = yamlConfigurationOld.getBoolean("Slots." + key + ".SetConfig.Value.LeftClick.Boolean");
|
|
||||||
Integer configIntegerValueLeft = yamlConfigurationOld.getInt("Slots." + key + ".SetConfig.Value.LeftClick.Integer");
|
|
||||||
Double configDoubleValueLeft = yamlConfigurationOld.getDouble("Slots." + key + ".SetConfig.Value.LeftClick.Double");
|
|
||||||
List<String> configListValueLeft = yamlConfigurationOld.getStringList("Slots." + key + ".SetConfig.Value.LeftClick.List");
|
|
||||||
|
|
||||||
String configStringValueRight = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.Value.RightClick.String");
|
|
||||||
Boolean configBooleanValueRight = yamlConfigurationOld.getBoolean("Slots." + key + ".SetConfig.Value.RightClick.Boolean");
|
|
||||||
Integer configIntegerValueRight = yamlConfigurationOld.getInt("Slots." + key + ".SetConfig.Value.RightClick.Integer");
|
|
||||||
Double configDoubleValueRight = yamlConfigurationOld.getDouble("Slots." + key + ".SetConfig.Value.RightClick.Double");
|
|
||||||
List<String> configListValueRight = yamlConfigurationOld.getStringList("Slots." + key + ".SetConfig.RightClick.Value.List");
|
|
||||||
|
|
||||||
Boolean pluginReloadEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".SetConfig.PluginReload.Enable");
|
|
||||||
String pluginReloadCommand = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.PluginReload.Command");
|
|
||||||
|
|
||||||
setNew(key, slotNumber, slotEnable, key, permRequired, yamlConfiguration);
|
|
||||||
CreateFunctions.createFunction(key, empty, itemAmount, playerHeadEnable, base64Enable, base64Value, playerWhoHasOpenedTheGUI, playerName, itemMaterial, itemName, lore,
|
|
||||||
customSoundEnable, customSoundNoSound, customSoundSound, costEnable, price, commandEnable, commandBungeeCommand, commandAsConsole, command, serverChange,
|
|
||||||
serverChangeServer, openGUIEnable, openGUI, togglePermission, togglePermissionPerm, toggleUseItem, messageEnable, message, setConfigEnable, configFilePath,
|
|
||||||
configOptionPath, configOptionPremat, configStringValueLeft, configBooleanValueLeft, configIntegerValueLeft, configDoubleValueLeft, configListValueLeft,
|
|
||||||
configStringValueRight, configBooleanValueRight, configIntegerValueRight, configDoubleValueRight, configListValueRight, pluginReloadEnable, pluginReloadCommand);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
yamlConfiguration.save(config);
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4----------------------");
|
|
||||||
send.console(Util.getPrefix() + " §7[§5ConfigConvert§7]");
|
|
||||||
send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4The conversion to the new config structure is completed!");
|
|
||||||
send.console(Util.getPrefix() + " §7[§5ConfigConvert§7]");
|
|
||||||
send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4----------------------");
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void renameFolder() {
|
|
||||||
File dir = new File(Main.getPath() + "/GUIs");
|
|
||||||
File newDir = new File(Main.getPath() + "/OldConfig/GUIs/Version4");
|
|
||||||
|
|
||||||
try {
|
|
||||||
FileUtils.moveDirectory(dir, newDir);
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void setNew(Boolean enable, Integer lines, String name, Boolean fillItemEnable, String fillItem, Boolean alias, Boolean aliasPerm, YamlConfiguration yamlConfiguration) {
|
|
||||||
set("GUI.Enable", enable, yamlConfiguration);
|
|
||||||
set("GUI.Lines", lines, yamlConfiguration);
|
|
||||||
set("GUI.Name", name, yamlConfiguration);
|
|
||||||
set("GUI.FillItem.Enable", fillItemEnable, yamlConfiguration);
|
|
||||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
set("GUI.FillItem.GlassPaneColor", fillItem, yamlConfiguration);
|
|
||||||
} else set("GUI.FillItem.Item", fillItem, yamlConfiguration);
|
|
||||||
|
|
||||||
set("Command.Alias", alias, yamlConfiguration);
|
|
||||||
set("Command.Permission.Required", aliasPerm, yamlConfiguration);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void setNew(String key, Integer slotNumber, Boolean slotEnable, String function, Boolean permRequired, YamlConfiguration yamlConfiguration) {
|
|
||||||
set("Slots." + key + ".Slot", slotNumber, yamlConfiguration);
|
|
||||||
set("Slots." + key + ".Enable", slotEnable, yamlConfiguration);
|
|
||||||
set("Slots." + key + ".Function", function, yamlConfiguration);
|
|
||||||
set("Slots." + key + ".Permission.Required", permRequired, yamlConfiguration);
|
|
||||||
set("Slots." + key + ".Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration);
|
|
||||||
set("Slots." + key + ".Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void set(String path, String value, YamlConfiguration config) {
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void set(String path, Integer value, YamlConfiguration config) {
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void set(String path, Boolean value, YamlConfiguration config) {
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,146 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.config.functions;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class CreateFunctions {
|
|
||||||
public static void create() {
|
|
||||||
createFunction("UseItem", false, 1, false, false, "", false, "", "",
|
|
||||||
"&6Toggle UseItem", Arrays.asList("&bYou currently have the UseItem set to: %commandgui_useitem%"), false, false,
|
|
||||||
"", false, 0.0, false, false, false, Arrays.asList(), false,
|
|
||||||
"", false, "", false, "", true, true,
|
|
||||||
Arrays.asList("&bYour UseItem was set to: %commandgui_useitem%&b."), false, "", "", "String",
|
|
||||||
"", false, 0, 0.0, Arrays.asList(), "", false,
|
|
||||||
0, 0.0, Arrays.asList(), false, "");
|
|
||||||
|
|
||||||
createFunction("SupportDiscord", false, 1, true, true, "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg3M2MxMmJmZmI1MjUxYTBiODhkNWFlNzVjNzI0N2NiMzlhNzVmZjFhODFjYmU0YzhhMzliMzExZGRlZGEifX19",
|
|
||||||
false, "", (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) ? "TNT" : "",
|
|
||||||
"&3Support Discord", Arrays.asList("&8-----------------", "&bIf you need help setting up the plugin,", "&bfeel free to contact me on the Suport Discord.",
|
|
||||||
"&8-----------------", "&eIf you find any errors or bugs,", "&eplease contact me so I can fix them.", "&8-----------------", "&5Discord: §7http://dc.t2code.net"),
|
|
||||||
false, false, "", false, 0.0, false, false,
|
|
||||||
false, Arrays.asList(), false, "", false, "", false, "",
|
|
||||||
false, true, Arrays.asList("&6You can find more information on Discord: &ehttp://dc.t2code.net"), false, "",
|
|
||||||
"", "String", "", false, 0, 0.0, Arrays.asList(),
|
|
||||||
"", false, 0, 0.0, Arrays.asList(), false, "");
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void createFunction(String fileName, Boolean empty, Integer itemAmount, Boolean playerHeadEnable, Boolean base64Enable, String base64Value, Boolean playerWhoHasOpenedTheGUI,
|
|
||||||
String playerName, String itemMaterial, String name, List<String> lore, Boolean customSoundEnable, Boolean customSoundNoSound, String customSoundSound,
|
|
||||||
Boolean costEnable, Double price, Boolean commandEnable, Boolean commandBungeeCommand, Boolean commandAsConsole, List<String> command,
|
|
||||||
Boolean serverChange, String serverChangeServer, Boolean openGUIEnable, String openGUI, Boolean togglePermission, String togglePermissionPerm,
|
|
||||||
Boolean toggleUseItem, Boolean messageEnable, List<String> message, Boolean setConfigEnable, String configFilePath, String configOptionPath,
|
|
||||||
String configOptionPremat, String configStringValueLeft, Boolean configBooleanValueLeft, Integer configIntegerValueLeft, Double configDoubleValueLeft,
|
|
||||||
List<String> configListValueLeft, String configStringValueRight, Boolean configBooleanValueRight, Integer configIntegerValueRight, Double configDoubleValueRight,
|
|
||||||
List<String> configListValueRight, Boolean pluginReloadEnable, String pluginReloadCommand) {
|
|
||||||
long long_ = System.currentTimeMillis();
|
|
||||||
|
|
||||||
File config = new File(Main.getPath(), "Functions/" + fileName + ".yml");
|
|
||||||
int i = 1;
|
|
||||||
while (config.exists()) {
|
|
||||||
config = new File(Main.getPath(), "Functions/" + fileName + "-" + i + ".yml");
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
send.console(Main.prefix + " §4Function GUI file (Functions/" + config.getName() + ") is loaded...");
|
|
||||||
|
|
||||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
|
||||||
|
|
||||||
set("Slots.Function.Item.Empty", empty, yamlConfiguration);
|
|
||||||
set("Slots.Function.Item.Amount", itemAmount, yamlConfiguration);
|
|
||||||
// if (!(MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12)) {
|
|
||||||
set("Slots.Function.Item.PlayerHead.Enable", playerHeadEnable, yamlConfiguration);
|
|
||||||
set("Slots.Function.Item.PlayerHead.Base64.Enable", base64Enable, yamlConfiguration);
|
|
||||||
set("Slots.Function.Item.PlayerHead.Base64.Base64Value", base64Value, yamlConfiguration);
|
|
||||||
set("Slots.Function.Item.PlayerHead.PlayerWhoHasOpenedTheGUI", playerWhoHasOpenedTheGUI, yamlConfiguration);
|
|
||||||
set("Slots.Function.Item.PlayerHead.PlayerName", playerName, yamlConfiguration);
|
|
||||||
// }
|
|
||||||
set("Slots.Function.Item.Material", itemMaterial == null ? "" : itemMaterial, yamlConfiguration);
|
|
||||||
set("Slots.Function.Item.Name", name == null ? "" : name, yamlConfiguration);
|
|
||||||
set("Slots.Function.Item.Lore", lore, yamlConfiguration);
|
|
||||||
set("Slots.Function.CustomSound.Enable", customSoundEnable, yamlConfiguration);
|
|
||||||
set("Slots.Function.CustomSound.NoSound", customSoundNoSound, yamlConfiguration);
|
|
||||||
set("Slots.Function.CustomSound.Sound", customSoundSound == null ? "" : customSoundSound, yamlConfiguration);
|
|
||||||
set("Slots.Function.Cost.Enable", costEnable, yamlConfiguration);
|
|
||||||
set("Slots.Function.Cost.Price", price, yamlConfiguration);
|
|
||||||
set("Slots.Function.Command.Enable", commandEnable, yamlConfiguration);
|
|
||||||
set("Slots.Function.Command.BungeeCommand", commandBungeeCommand, yamlConfiguration);
|
|
||||||
set("Slots.Function.Command.CommandAsConsole", commandAsConsole, yamlConfiguration);
|
|
||||||
set("Slots.Function.Command.Command", command, yamlConfiguration);
|
|
||||||
set("Slots.Function.ServerChange.Enable", serverChange, yamlConfiguration);
|
|
||||||
set("Slots.Function.ServerChange.Server", serverChangeServer == null ? "" : serverChangeServer, yamlConfiguration);
|
|
||||||
set("Slots.Function.OpenGUI.Enable", openGUIEnable, yamlConfiguration);
|
|
||||||
set("Slots.Function.OpenGUI.GUI", openGUI == null ? "" : openGUI, yamlConfiguration);
|
|
||||||
|
|
||||||
set("Slots.Function.Toggle.Permission.Enable", togglePermission, yamlConfiguration);
|
|
||||||
set("Slots.Function.Toggle.Permission.Permission", togglePermissionPerm == null ? "" : togglePermissionPerm, yamlConfiguration);
|
|
||||||
set("Slots.Function.Toggle.UseItem.Enable", toggleUseItem, yamlConfiguration);
|
|
||||||
|
|
||||||
set("Slots.Function.Message.Enable", messageEnable, yamlConfiguration);
|
|
||||||
set("Slots.Function.Message.Message", message, yamlConfiguration);
|
|
||||||
|
|
||||||
set("Slots.Function.SetConfig.Enable", setConfigEnable, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.File.Path", configFilePath == null ? "" : configFilePath, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.Option.Path", configOptionPath == null ? "" : configOptionPath, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.Option.Premat", configOptionPremat == null ? "" : configOptionPremat, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.Value.LeftClick.String", configStringValueLeft == null ? "" : configStringValueLeft, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.Value.LeftClick.Boolean", configBooleanValueLeft, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.Value.LeftClick.Integer", configIntegerValueLeft, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.Value.LeftClick.Double", configDoubleValueLeft, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.Value.LeftClick.List", configListValueLeft, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.Value.RightClick.String", configStringValueRight == null ? "" : configStringValueRight, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.Value.RightClick.Boolean", configBooleanValueRight, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.Value.RightClick.Integer", configIntegerValueRight, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.Value.RightClick.Double", configDoubleValueRight, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.Value.RightClick.List", configListValueRight, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.PluginReload.Enable", pluginReloadEnable, yamlConfiguration);
|
|
||||||
set("Slots.Function.SetConfig.PluginReload.Command", pluginReloadCommand == null ? "" : pluginReloadCommand, yamlConfiguration);
|
|
||||||
|
|
||||||
try {
|
|
||||||
yamlConfiguration.save(config);
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
send.console(Main.prefix + " §2Function file (Functions/" + config.getName() + ") was loaded." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private static void set(String path, String value, YamlConfiguration config) {
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void set(String path, Integer value, YamlConfiguration config) {
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void set(String path, Boolean value, YamlConfiguration config) {
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void set(String path, List value, YamlConfiguration config) {
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void set(String path, Double value, YamlConfiguration config) {
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,72 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.config.gui;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
|
|
||||||
public class CreateGUI {
|
|
||||||
public static void configCreate() {
|
|
||||||
long long_ = System.currentTimeMillis();
|
|
||||||
send.console(Main.prefix + " §4Default GUI file (GUIs/default.yml) is loaded...");
|
|
||||||
File config = new File(Main.getPath(), "GUIs/default.yml");
|
|
||||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
|
||||||
|
|
||||||
set("GUI.Enable", true, yamlConfiguration);
|
|
||||||
set("GUI.Lines", 1, yamlConfiguration);
|
|
||||||
set("GUI.Name", "&5default &9GUI", yamlConfiguration);
|
|
||||||
set("GUI.FillItem.Enable", true, yamlConfiguration);
|
|
||||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
set("GUI.FillItem.GlassPaneColor", 15, yamlConfiguration);
|
|
||||||
} else set("GUI.FillItem.Item", "BLACK_STAINED_GLASS_PANE", yamlConfiguration);
|
|
||||||
|
|
||||||
set("Command.Alias", true, yamlConfiguration);
|
|
||||||
set("Command.Permission.Required", true, yamlConfiguration);
|
|
||||||
|
|
||||||
set("Slots.SupportDiscord.Slot", 4, yamlConfiguration);
|
|
||||||
set("Slots.SupportDiscord.Enable", true, yamlConfiguration);
|
|
||||||
set("Slots.SupportDiscord.Function", "SupportDiscord", yamlConfiguration);
|
|
||||||
set("Slots.SupportDiscord.Permission.Required", false, yamlConfiguration);
|
|
||||||
set("Slots.SupportDiscord.Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration);
|
|
||||||
set("Slots.SupportDiscord.Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration);
|
|
||||||
|
|
||||||
set("Slots.UseItem.Slot", 6, yamlConfiguration);
|
|
||||||
set("Slots.UseItem.Enable", true, yamlConfiguration);
|
|
||||||
set("Slots.UseItem.Function", "UseItem", yamlConfiguration);
|
|
||||||
set("Slots.UseItem.Permission.Required", false, yamlConfiguration);
|
|
||||||
set("Slots.UseItem.Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration);
|
|
||||||
set("Slots.UseItem.Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration);
|
|
||||||
|
|
||||||
|
|
||||||
try {
|
|
||||||
yamlConfiguration.save(config);
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
send.console(Main.prefix + " §2Default GUI file (GUIs/default.yml) was loaded." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void set(String path, String value, YamlConfiguration config) {
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void set(String path, Integer value, YamlConfiguration config) {
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void set(String path, Boolean value, YamlConfiguration config) {
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,219 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.config.languages;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
public class LanguagesCreate {
|
|
||||||
private static Plugin plugin = Main.plugin;
|
|
||||||
|
|
||||||
public static void langCreate() {
|
|
||||||
send.debug(plugin,"§4Language files are created / updated...");
|
|
||||||
Long long_ = Long.valueOf(System.currentTimeMillis());
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* ENGLISH
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
File messagesEN = new File(Main.getPath(), "languages/english_messages.yml");
|
|
||||||
YamlConfiguration yamlConfigurationEN = YamlConfiguration.loadConfiguration(messagesEN);
|
|
||||||
|
|
||||||
set("Plugin.VaultNotSetUp", MSG.EN_VaultNotSetUp, yamlConfigurationEN);
|
|
||||||
set("Plugin.SoundNotFound", MSG.EN_SoundNotFound, yamlConfigurationEN);
|
|
||||||
set("Plugin.OnlyForPlayer", MSG.EN_OnlyForPlayer, yamlConfigurationEN);
|
|
||||||
set("Plugin.DefaultGUI.create", MSG.EN_DefaultGUI, yamlConfigurationEN);
|
|
||||||
set("Plugin.Reload.Start", MSG.EN_ReloadStart, yamlConfigurationEN);
|
|
||||||
set("Plugin.Reload.End", MSG.EN_ReloadEnd, yamlConfigurationEN);
|
|
||||||
|
|
||||||
set("NoPermission.ForCommandGUI", MSG.EN_NoPermission, yamlConfigurationEN);
|
|
||||||
set("NoPermission.ForCommand", MSG.EN_NoPermissionForCommand, yamlConfigurationEN);
|
|
||||||
set("NoPermission.ForUseItem", MSG.EN_NoPermissionForUseItem, yamlConfigurationEN);
|
|
||||||
set("NoPermission.ForItem", MSG.EN_NoPermissionForItem, yamlConfigurationEN);
|
|
||||||
|
|
||||||
set("UseItem.UseItem_ON", MSG.EN_ItemON, yamlConfigurationEN);
|
|
||||||
set("UseItem.UseItem_OFF", MSG.EN_ItemOFF, yamlConfigurationEN);
|
|
||||||
set("UseItem.Change_Slot", MSG.EN_ItemSlot, yamlConfigurationEN);
|
|
||||||
set("UseItem.SlotNotEmpty", MSG.EN_ItemSlotNotEmpty, yamlConfigurationEN);
|
|
||||||
set("UseItem.SlotAlreadySet", MSG.EN_ItemSlotAlreadySet, yamlConfigurationEN);
|
|
||||||
set("UseItem.ItemSlot_wrongValue", MSG.EN_ItemSlot_wrongValue, yamlConfigurationEN);
|
|
||||||
set("UseItem.DisabledInGameMode", MSG.EN_UseItemDisabledInGameMode, yamlConfigurationEN);
|
|
||||||
set("UseItem.DisabledInWorld", MSG.EN_UseItemDisabledInWorld, yamlConfigurationEN);
|
|
||||||
|
|
||||||
set("Cost.Buy_msg", MSG.EN_Buy_msg, yamlConfigurationEN);
|
|
||||||
set("Cost.No_money", MSG.EN_No_money, yamlConfigurationEN);
|
|
||||||
set("Cost.NoInventorySpace", MSG.EN_NoInventorySpace, yamlConfigurationEN);
|
|
||||||
|
|
||||||
set("ServerChange.onServerChange", MSG.EN_onServerChange, yamlConfigurationEN);
|
|
||||||
|
|
||||||
set("GUI.GUInotFound", MSG.EN_GUInotFound, yamlConfigurationEN);
|
|
||||||
set("GUI.GUIisDisabled", MSG.EN_GUIisDisabled, yamlConfigurationEN);
|
|
||||||
|
|
||||||
set("Give.Sender", MSG.EN_GiveSender, yamlConfigurationEN);
|
|
||||||
set("Give.Receiver", MSG.EN_GiveReceiver, yamlConfigurationEN);
|
|
||||||
|
|
||||||
set("Player.PlayerNotFond", MSG.EN_PlayerNotFond, yamlConfigurationEN);
|
|
||||||
set("Player.PlayerNoInventorySpace", MSG.EN_PlayerNoInventorySpace, yamlConfigurationEN);
|
|
||||||
|
|
||||||
set("Help.CGUI", MSG.EN_Help_CGUI, yamlConfigurationEN);
|
|
||||||
set("Help.Help", MSG.EN_Help_Help, yamlConfigurationEN);
|
|
||||||
set("Help.Info", MSG.EN_Help_Info, yamlConfigurationEN);
|
|
||||||
set("Help.Open", MSG.EN_Help_Open, yamlConfigurationEN);
|
|
||||||
set("Help.Give", MSG.EN_Help_Give, yamlConfigurationEN);
|
|
||||||
set("Help.CreateDefaultGUI", MSG.EN_Help_CreateDefaultGUI, yamlConfigurationEN);
|
|
||||||
set("Help.Reload", MSG.EN_Help_Reload, yamlConfigurationEN);
|
|
||||||
set("Help.UseItem_On", MSG.EN_GUIItemHelp_on, yamlConfigurationEN);
|
|
||||||
set("Help.UseItem_Off", MSG.EN_GUIItemHelp_off, yamlConfigurationEN);
|
|
||||||
set("Help.UseItem_Slot", MSG.EN_GUIItemHelp_Slot, yamlConfigurationEN);
|
|
||||||
|
|
||||||
try {
|
|
||||||
yamlConfigurationEN.save(messagesEN);
|
|
||||||
} catch (IOException e) {
|
|
||||||
send.warning(plugin,e.getMessage());
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* GERMAN
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
File messagesDE = new File(Main.getPath(), "languages/german_messages.yml");
|
|
||||||
YamlConfiguration yamlConfigurationDE = YamlConfiguration.loadConfiguration(messagesDE);
|
|
||||||
|
|
||||||
set("Plugin.VaultNotSetUp", MSG.DE_VaultNotSetUp, yamlConfigurationDE);
|
|
||||||
set("Plugin.SoundNotFound", MSG.DE_SoundNotFound, yamlConfigurationDE);
|
|
||||||
set("Plugin.OnlyForPlayer", MSG.DE_OnlyForPlayer, yamlConfigurationDE);
|
|
||||||
set("Plugin.DefaultGUI.create", MSG.DE_DefaultGUI, yamlConfigurationDE);
|
|
||||||
set("Plugin.Reload.Start", MSG.DE_ReloadStart, yamlConfigurationDE);
|
|
||||||
set("Plugin.Reload.End", MSG.DE_ReloadEnd, yamlConfigurationDE);
|
|
||||||
|
|
||||||
set("NoPermission.ForCommandGUI", MSG.DE_NoPermission, yamlConfigurationDE);
|
|
||||||
set("NoPermission.ForCommand", MSG.DE_NoPermissionForCommand, yamlConfigurationDE);
|
|
||||||
set("NoPermission.ForUseItem", MSG.DE_NoPermissionForUseItem, yamlConfigurationDE);
|
|
||||||
set("NoPermission.ForItem", MSG.DE_NoPermissionForItem, yamlConfigurationDE);
|
|
||||||
|
|
||||||
set("UseItem.UseItem_ON", MSG.DE_ItemON, yamlConfigurationDE);
|
|
||||||
set("UseItem.UseItem_OFF", MSG.DE_ItemOFF, yamlConfigurationDE);
|
|
||||||
set("UseItem.Change_Slot", MSG.DE_ItemSlot, yamlConfigurationDE);
|
|
||||||
set("UseItem.SlotNotEmpty", MSG.DE_ItemSlotNotEmpty, yamlConfigurationDE);
|
|
||||||
set("UseItem.SlotAlreadySet", MSG.DE_ItemSlotAlreadySet, yamlConfigurationDE);
|
|
||||||
set("UseItem.ItemSlot_wrongValue", MSG.DE_ItemSlot_wrongValue, yamlConfigurationDE);
|
|
||||||
set("UseItem.DisabledInGameMode", MSG.DE_UseItemDisabledInGameMode, yamlConfigurationDE);
|
|
||||||
set("UseItem.DisabledInWorld", MSG.DE_UseItemDisabledInWorld, yamlConfigurationDE);
|
|
||||||
|
|
||||||
set("Cost.Buy_msg", MSG.DE_Buy_msg, yamlConfigurationDE);
|
|
||||||
set("Cost.No_money", MSG.DE_No_money, yamlConfigurationDE);
|
|
||||||
set("Cost.NoInventorySpace", MSG.DE_NoInventorySpace, yamlConfigurationDE);
|
|
||||||
|
|
||||||
set("ServerChange.onServerChange", MSG.DE_onServerChange, yamlConfigurationDE);
|
|
||||||
|
|
||||||
set("GUI.GUInotFound", MSG.DE_GUInotFound, yamlConfigurationDE);
|
|
||||||
set("GUI.GUIisDisabled", MSG.DE_GUIisDisabled, yamlConfigurationDE);
|
|
||||||
|
|
||||||
set("Give.Sender", MSG.DE_GiveSender, yamlConfigurationDE);
|
|
||||||
set("Give.Receiver", MSG.DE_GiveReceiver, yamlConfigurationDE);
|
|
||||||
|
|
||||||
set("Player.PlayerNotFond", MSG.DE_PlayerNotFond, yamlConfigurationDE);
|
|
||||||
set("Player.PlayerNoInventorySpace", MSG.DE_PlayerNoInventorySpace, yamlConfigurationDE);
|
|
||||||
|
|
||||||
set("Help.CGUI", MSG.DE_Help_CGUI, yamlConfigurationDE);
|
|
||||||
set("Help.Help", MSG.DE_Help_Help, yamlConfigurationDE);
|
|
||||||
set("Help.Info", MSG.DE_Help_Info, yamlConfigurationDE);
|
|
||||||
set("Help.Open", MSG.DE_Help_Open, yamlConfigurationDE);
|
|
||||||
set("Help.Give", MSG.DE_Help_Give, yamlConfigurationDE);
|
|
||||||
set("Help.CreateDefaultGUI", MSG.DE_Help_CreateDefaultGUI, yamlConfigurationDE);
|
|
||||||
set("Help.Reload", MSG.DE_Help_Reload, yamlConfigurationDE);
|
|
||||||
set("Help.UseItem_On", MSG.DE_GUIItemHelp_on, yamlConfigurationDE);
|
|
||||||
set("Help.UseItem_Off", MSG.DE_GUIItemHelp_off, yamlConfigurationDE);
|
|
||||||
set("Help.UseItem_Slot", MSG.DE_GUIItemHelp_Slot, yamlConfigurationDE);
|
|
||||||
|
|
||||||
try {
|
|
||||||
yamlConfigurationDE.save(messagesDE);
|
|
||||||
} catch (IOException e) {
|
|
||||||
send.warning(plugin,e.getMessage());
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* norwegian
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
File messagesNO = new File(Main.getPath(), "languages/norwegian_messages.yml");
|
|
||||||
YamlConfiguration yamlConfigurationNO = YamlConfiguration.loadConfiguration(messagesNO);
|
|
||||||
|
|
||||||
set("Plugin.VaultNotSetUp", MSG.NO_VaultNotSetUp, yamlConfigurationNO);
|
|
||||||
set("Plugin.SoundNotFound", MSG.NO_SoundNotFound, yamlConfigurationNO);
|
|
||||||
set("Plugin.OnlyForPlayer", MSG.NO_OnlyForPlayer, yamlConfigurationNO);
|
|
||||||
set("Plugin.DefaultGUI.create", MSG.NO_DefaultGUI, yamlConfigurationNO);
|
|
||||||
set("Plugin.Reload.Start", MSG.NO_ReloadStart, yamlConfigurationNO);
|
|
||||||
set("Plugin.Reload.End", MSG.NO_ReloadEnd, yamlConfigurationNO);
|
|
||||||
|
|
||||||
set("NoPermission.ForCommandGUI", MSG.NO_NoPermission, yamlConfigurationNO);
|
|
||||||
set("NoPermission.ForCommand", MSG.NO_NoPermissionForCommand, yamlConfigurationNO);
|
|
||||||
set("NoPermission.ForUseItem", MSG.NO_NoPermissionForUseItem, yamlConfigurationNO);
|
|
||||||
set("NoPermission.ForItem", MSG.NO_NoPermissionForItem, yamlConfigurationNO);
|
|
||||||
|
|
||||||
set("UseItem.UseItem_ON", MSG.NO_ItemON, yamlConfigurationNO);
|
|
||||||
set("UseItem.UseItem_OFF", MSG.NO_ItemOFF, yamlConfigurationNO);
|
|
||||||
set("UseItem.Change_Slot", MSG.NO_ItemSlot, yamlConfigurationNO);
|
|
||||||
set("UseItem.SlotNotEmpty", MSG.NO_ItemSlotNotEmpty, yamlConfigurationNO);
|
|
||||||
set("UseItem.SlotAlreadySet", MSG.NO_ItemSlotAlreadySet, yamlConfigurationNO);
|
|
||||||
set("UseItem.ItemSlot_wrongValue", MSG.NO_ItemSlot_wrongValue, yamlConfigurationNO);
|
|
||||||
set("UseItem.DisabledInGameMode", MSG.NO_UseItemDisabledInGameMode, yamlConfigurationNO);
|
|
||||||
set("UseItem.DisabledInWorld", MSG.NO_UseItemDisabledInWorld, yamlConfigurationNO);
|
|
||||||
|
|
||||||
set("Cost.Buy_msg", MSG.NO_Buy_msg, yamlConfigurationNO);
|
|
||||||
set("Cost.No_money", MSG.NO_No_money, yamlConfigurationNO);
|
|
||||||
set("Cost.NoInventorySpace", MSG.NO_NoInventorySpace, yamlConfigurationNO);
|
|
||||||
|
|
||||||
set("ServerChange.onServerChange", MSG.NO_onServerChange, yamlConfigurationNO);
|
|
||||||
|
|
||||||
set("GUI.GUInotFound", MSG.NO_GUInotFound, yamlConfigurationNO);
|
|
||||||
set("GUI.GUIisDisabled", MSG.NO_GUIisDisabled, yamlConfigurationNO);
|
|
||||||
|
|
||||||
set("Give.Sender", MSG.NO_GiveSender, yamlConfigurationNO);
|
|
||||||
set("Give.Receiver", MSG.NO_GiveReceiver, yamlConfigurationNO);
|
|
||||||
|
|
||||||
set("Player.PlayerNotFond", MSG.NO_PlayerNotFond, yamlConfigurationNO);
|
|
||||||
set("Player.PlayerNoInventorySpace", MSG.NO_PlayerNoInventorySpace, yamlConfigurationNO);
|
|
||||||
|
|
||||||
set("Help.CGUI", MSG.NO_Help_CGUI, yamlConfigurationNO);
|
|
||||||
set("Help.Help", MSG.NO_Help_Help, yamlConfigurationNO);
|
|
||||||
set("Help.Info", MSG.NO_Help_Info, yamlConfigurationNO);
|
|
||||||
set("Help.Open", MSG.NO_Help_Open, yamlConfigurationNO);
|
|
||||||
set("Help.Give", MSG.NO_Help_Give, yamlConfigurationNO);
|
|
||||||
set("Help.CreateDefaultGUI", MSG.NO_Help_CreateDefaultGUI, yamlConfigurationNO);
|
|
||||||
set("Help.Reload", MSG.NO_Help_Reload, yamlConfigurationNO);
|
|
||||||
set("Help.UseItem_On", MSG.NO_GUIItemHelp_on, yamlConfigurationNO);
|
|
||||||
set("Help.UseItem_Off", MSG.NO_GUIItemHelp_off, yamlConfigurationNO);
|
|
||||||
set("Help.UseItem_Slot", MSG.NO_GUIItemHelp_Slot, yamlConfigurationNO);
|
|
||||||
|
|
||||||
try {
|
|
||||||
yamlConfigurationNO.save(messagesNO);
|
|
||||||
} catch (IOException e) {
|
|
||||||
send.warning(plugin,e.getMessage());
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
send.console(Main.prefix + " §2Language files were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void set(String path, String value, YamlConfiguration config) {
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,166 +0,0 @@
|
|||||||
// This claas was created by JaTiTV
|
|
||||||
|
|
||||||
// -----------------------------
|
|
||||||
// _____ _____ _ _ _____
|
|
||||||
// / ____/ ____| | | |_ _|
|
|
||||||
// | | | | __| | | | | |
|
|
||||||
// | | | | |_ | | | | | |
|
|
||||||
// | |___| |__| | |__| |_| |_
|
|
||||||
// \_____\_____|\____/|_____|
|
|
||||||
// -----------------------------
|
|
||||||
|
|
||||||
package de.jatitv.commandguiv2.Spigot.config.languages;
|
|
||||||
|
|
||||||
public class MSG {
|
|
||||||
|
|
||||||
// EN
|
|
||||||
public static String EN_VaultNotSetUp = "[prefix] &4Vault / Economy not set up!";
|
|
||||||
public static String EN_SoundNotFound = "[prefix] &4The sound &6[sound] &4was not found! Please check the settings.";
|
|
||||||
public static String EN_OnlyForPlayer = "[prefix] &cThis command is for players only!";
|
|
||||||
public static String EN_DefaultGUI = "[prefix] &2DefaultGUI was created. You can find it in the directory: &e[directory]&2!";
|
|
||||||
public static String EN_ReloadStart = "[prefix] &6Plugin is reloaded...";
|
|
||||||
public static String EN_ReloadEnd = "[prefix] &2Plugin was successfully reloaded.";
|
|
||||||
|
|
||||||
public static String EN_NoPermission = "[prefix] &cYou do not have permission for &4Command&9GUI&c!";
|
|
||||||
public static String EN_NoPermissionForCommand = "[prefix] &cFor &b[cmd] &cyou lack the permission &6[perm]&c!";
|
|
||||||
public static String EN_NoPermissionForUseItem = "[prefix] &cYou lack the permission &6[perm] &cto use the item for the GUI: &6[gui].";
|
|
||||||
public static String EN_NoPermissionForItem = "[prefix] &cFor &b[item] &cyou lack the permission &6[perm]&c!";
|
|
||||||
|
|
||||||
public static String EN_Buy_msg = "[prefix] &2You bought [itemname] &2for &6[price]&2.";
|
|
||||||
public static String EN_No_money = "[prefix] &cYou don't have enough money!";
|
|
||||||
public static String EN_NoInventorySpace = "[prefix] &cYou have no room in your inventory!";
|
|
||||||
|
|
||||||
public static String EN_onServerChange = "[prefix] &2You will be connected to the server &e[server]§2.";
|
|
||||||
|
|
||||||
public static String EN_ItemON = "[prefix] &2You have activated the GUI item.";
|
|
||||||
public static String EN_ItemOFF = "[prefix] &2You have disabled the GUI item.";
|
|
||||||
public static String EN_ItemSlot = "[prefix] &2You have changed the GUI item to slot: &6[slot]&2.";
|
|
||||||
public static String EN_ItemSlotNotEmpty = "[prefix] &6The slot &e[slot] &6is currently occupied!";
|
|
||||||
public static String EN_ItemSlotAlreadySet = "[prefix] &6The slot §e[slot] §6is already set!";
|
|
||||||
public static String EN_ItemSlot_wrongValue = "[prefix] &cThe specified slot must be between 1 and 9!";
|
|
||||||
public static String EN_UseItemDisabledInGameMode = "[prefix] &cThe UseItem is disabled in this GameMode!";
|
|
||||||
public static String EN_UseItemDisabledInWorld = "[prefix] &cThe UseItem is disabled in this World!";
|
|
||||||
|
|
||||||
public static String EN_GUInotFound = "[prefix] &cThe GUI chosen by the does not exist.";
|
|
||||||
public static String EN_GUIisDisabled = "[prefix] &cThe GUI [gui] &cis currently Disabled!";
|
|
||||||
|
|
||||||
public static String EN_GiveSender = "[prefix] &2You have given &6[player] &2an [item] &2!";
|
|
||||||
public static String EN_GiveReceiver = "[prefix] &2You got &2, [item] &2from &6[sender]!";
|
|
||||||
|
|
||||||
public static String EN_PlayerNotFond = "[prefix] &cThe player &6[player] &cwas not found or is not online!";
|
|
||||||
public static String EN_PlayerNoInventorySpace = "[prefix] &6[player] &chas no free space in his inventory!";
|
|
||||||
|
|
||||||
public static String EN_Help_CGUI = "&8''&b/commandgui &8| &b/cgui&8'' &eOpen the default GUI &7(&r[gui]&7)&e.";
|
|
||||||
public static String EN_Help_Open = "&8''&b/commandgui [gui]&8'' &eOpen the GUI: &6[guiname]&e.";
|
|
||||||
public static String EN_Help_Help = "&8''&b/commandguihelp&8'' &eOpen this help.";
|
|
||||||
public static String EN_Help_Info = "&8''&b/commandgui admin info&8'' &eCall the info from &4Command&9GUI &e.";
|
|
||||||
public static String EN_Help_Give = "&8''&b/commandgui admin give &7<player>&8'' &eGive a player the GUI item.";
|
|
||||||
public static String EN_Help_CreateDefaultGUI = "&8''&b/commandgui admin createdefaultgui&8'' &eCreate a default GUI &7([directory])&e.";
|
|
||||||
public static String EN_Help_Reload = "&8''&b/commandgui admin reload&8'' &eReload the plugin.";
|
|
||||||
|
|
||||||
public static String EN_GUIItemHelp_on = "&8''&b/gui-item on&8'' &eActivate the GUIItem for you.";
|
|
||||||
public static String EN_GUIItemHelp_off = "&8''&b/gui-item off&8'' &eDisable the GUIItem for yourself.";
|
|
||||||
public static String EN_GUIItemHelp_Slot = "&8''&b/gui-item slot [slot]&8'' &eSet the slot for GUIItem for you.";
|
|
||||||
|
|
||||||
// DE
|
|
||||||
public static String DE_VaultNotSetUp = "[prefix] &4Vault / Economy nicht eingerichtet!";
|
|
||||||
public static String DE_SoundNotFound = "[prefix] &4Der Sound &6[sound] &4wurde nicht gefunden! Bitte [ue]berpr[ue]fe die Einstellungen.";
|
|
||||||
public static String DE_OnlyForPlayer = "[prefix] &cDieser Command ist nur f[ue]r Spieler!";
|
|
||||||
public static String DE_DefaultGUI = "[prefix] &2DefaultGUI wurde erstellt. Du findst sie im Verzeichnis: &e[directory]&2!";
|
|
||||||
public static String DE_ReloadStart = "[prefix] &6Plugin wird neu geladen...";
|
|
||||||
public static String DE_ReloadEnd = "[prefix] &2Plugin wurde erfolgreich neu geladen.";
|
|
||||||
|
|
||||||
public static String DE_NoPermission = "[prefix] &cDu hast keine Permission f[ue]r &4Command&9GUI&c!";
|
|
||||||
public static String DE_NoPermissionForCommand = "[prefix] &cF[ue]r &b[cmd] &cfehlt dir die Permission &6[perm]&c!";
|
|
||||||
public static String DE_NoPermissionForUseItem = "[prefix] &cDir fehlt die Permission &6[perm] &cum das Item f[ue]r die GUI: &6[gui] &cnutzen zu k[oe]nnen.";
|
|
||||||
public static String DE_NoPermissionForItem = "[prefix] &cF[ue]r &b[item] &cfehlt dir die Permission &6[perm]&c!";
|
|
||||||
|
|
||||||
public static String DE_ItemON = "[prefix] &2Du hast das GUI-Item aktiviert.";
|
|
||||||
public static String DE_ItemOFF = "[prefix] &2Du hast das GUI-Item deaktiviert.";
|
|
||||||
public static String DE_ItemSlot = "[prefix] &2Du hast das GUI-Item auf Slot &6[slot] &2umgestellt.";
|
|
||||||
public static String DE_ItemSlotNotEmpty = "[prefix] &6Der Slot §e[slot] §6ist derzeit belegt!.";
|
|
||||||
public static String DE_ItemSlotAlreadySet = "[prefix] &6Der Slot §e[slot] §6ist bereits eingestellt!";
|
|
||||||
public static String DE_ItemSlot_wrongValue = "[prefix] &cDer angegebene Slot muss sich zwischen 1 und 9 befinden!";
|
|
||||||
public static String DE_UseItemDisabledInGameMode = "[prefix] &cDas UseItem ist in diesem GameMode deaktiviert!";
|
|
||||||
public static String DE_UseItemDisabledInWorld = "[prefix] &cDas UseItem ist in dieser Welt deaktiviert!";
|
|
||||||
|
|
||||||
public static String DE_Buy_msg = "[prefix] &2Du hast dir [itemname] &2f[ue]r &6[price] &2gekauft.";
|
|
||||||
public static String DE_No_money = "[prefix] &cDu hast nicht gen[ue]gend Geld!";
|
|
||||||
public static String DE_NoInventorySpace = "[prefix] &cDu hast keinen Platz in deinem Inventar!";
|
|
||||||
|
|
||||||
public static String DE_onServerChange = "[prefix] &2Du wirst auf den Server §e[server] §2verbunden.";
|
|
||||||
|
|
||||||
public static String DE_GUInotFound = "[prefix] &cDie von die gew[ae]hlte GUI gibt es nicht.";
|
|
||||||
public static String DE_GUIisDisabled = "[prefix] &cDie GUI [gui] &cist derzeit Deaktiviert!";
|
|
||||||
|
|
||||||
public static String DE_GiveSender = "[prefix] &2Du hast &6[player] &2ein [item] &2gegeben!";
|
|
||||||
public static String DE_GiveReceiver = "[prefix] &2Du hast von &6[sender] &2, [item] &2bekommen!";
|
|
||||||
|
|
||||||
public static String DE_PlayerNotFond = "[prefix] &cDer Spieler &6[player] &cwurde nicht gefunden oder ist nicht Online!";
|
|
||||||
public static String DE_PlayerNoInventorySpace = "[prefix] &6[player] &chat keinen freien Platz in seinem Inventar!";
|
|
||||||
|
|
||||||
public static String DE_Help_CGUI = "&8''&b/commandgui &8| &b/cgui&8'' &e[OE]ffne die default GUI &7(&r[gui]&7)&e.";
|
|
||||||
public static String DE_Help_Open = "&8''&b/commandgui [gui]&8'' &e[OE]ffne die GUI: &6[guiname]&e.";
|
|
||||||
public static String DE_Help_Help = "&8''&b/commandguihelp&8'' &e[OE]ffne diese help.";
|
|
||||||
public static String DE_Help_Info = "&8''&b/commandgui admin info&8'' &eRufe die Infos von &4Command&9GUI &eauf.";
|
|
||||||
public static String DE_Help_Give = "&8''&b/commandgui admin give &7<player>&8'' &eGebe einem Spieler das GUI-Item.";
|
|
||||||
public static String DE_Help_CreateDefaultGUI = "&8''&b/commandgui admin createdefaultgui&8'' &eLasse eine default GUI erstellen &7([directory])&e.";
|
|
||||||
public static String DE_Help_Reload = "&8''&b/commandgui admin reload&8'' &eLade das Plugin neu.";
|
|
||||||
|
|
||||||
public static String DE_GUIItemHelp_on = "&8''&b/gui-item on&8'' &eAktiviere f[ue]r dich das GUIItem.";
|
|
||||||
public static String DE_GUIItemHelp_off = "&8''&b/gui-item off&8'' &eDeaktiviere f[ue]r dich das GUIItem.";
|
|
||||||
public static String DE_GUIItemHelp_Slot = "&8''&b/gui-item slot [slot]&8'' &eSetze den Slot für GUIItem für Sie einstellen.";
|
|
||||||
|
|
||||||
|
|
||||||
// FR
|
|
||||||
|
|
||||||
|
|
||||||
// NO
|
|
||||||
public static String NO_VaultNotSetUp = "[prefix] &4Vault / Økonomi har ikke blitt satt opp!";
|
|
||||||
public static String NO_SoundNotFound = "[prefix] &4Lyden &6[sound] &4ble ikke bli funnet! Vennligst sjekk innstillingene.";
|
|
||||||
public static String NO_OnlyForPlayer = "[prefix] &cDenne kommandoen er for spillere kun!";
|
|
||||||
public static String NO_DefaultGUI = "[prefix] &2DefaultGUI har blitt laget. Du kan finne den i mappen: &e[directory]&2!";
|
|
||||||
public static String NO_ReloadStart = "[prefix] &6Pluginet blir relastet...";
|
|
||||||
public static String NO_ReloadEnd = "[prefix] &2Pluginet har blitt lastet inn på nytt.";
|
|
||||||
|
|
||||||
public static String NO_NoPermission = "[prefix] &cDu har ikke tilgang til &4Command&9GUI&c!";
|
|
||||||
public static String NO_NoPermissionForCommand = "[prefix] &cFor &b[cmd] &cmangler du tillatelsen &6[perm]&c!";
|
|
||||||
public static String NO_NoPermissionForUseItem = "[prefix] &cDu mangler tillatelsen &6[perm] &cfor å bruke gjenstanden i GUI: &6[gui].";
|
|
||||||
public static String NO_NoPermissionForItem = "[prefix] &cFor &b[item] &cmangler du tillatelsen &6[perm]&c!";
|
|
||||||
|
|
||||||
public static String NO_ItemON = "[prefix] &2You have activated the GUI item.";
|
|
||||||
public static String NO_ItemOFF = "[prefix] &2You have disabled the GUI item.";
|
|
||||||
public static String NO_ItemSlot = "[prefix] &2You have changed the GUI item to slot: &6[slot]&2.";
|
|
||||||
public static String NO_ItemSlotNotEmpty = "[prefix] &6Plassen &e[slot] &6er opptatt for øyeblikket!";
|
|
||||||
public static String NO_ItemSlotAlreadySet = "[prefix] &6Plassen §e[slot] §6er allerede satt!";
|
|
||||||
public static String NO_ItemSlot_wrongValue = "[prefix] &cDen spesifiserte plassen må være mellom 1 og 9!";
|
|
||||||
public static String NO_UseItemDisabledInGameMode = "[prefix] &cBrukselementet er deaktivert i denne spillmodusen!!";
|
|
||||||
public static String NO_UseItemDisabledInWorld = "[prefix] &cUseItem er deaktivert i denne verden!";
|
|
||||||
|
|
||||||
public static String NO_Buy_msg = "[prefix] &2Du kjøpte [itemname] &2for &6[price]&2.";
|
|
||||||
public static String NO_No_money = "[prefix] &cDu har ikke nok penger!";
|
|
||||||
public static String NO_NoInventorySpace = "[prefix] &cDu har ikke nok plass i inventaret ditt!";
|
|
||||||
|
|
||||||
public static String NO_onServerChange = "[prefix] &2Du vil bli tilkoblet serveren &e[server]&2.";
|
|
||||||
|
|
||||||
public static String NO_GUInotFound = "[prefix] &cGUIen som ble spesifisert finnes ikke.";
|
|
||||||
public static String NO_GUIisDisabled = "[prefix] &cGUIen [gui] &cer slått av for øyeblikket!";
|
|
||||||
|
|
||||||
public static String NO_GiveSender = "[prefix] &2Du har gitt &6[player] &2en [item]&2!";
|
|
||||||
public static String NO_GiveReceiver = "[prefix] &2Du fikk &2, [item] &2fra &6[sender]!";
|
|
||||||
|
|
||||||
public static String NO_PlayerNotFond = "[prefix] &cSpilleren &6[player] &cble ikke funnet eller er ikke pålogget!";
|
|
||||||
public static String NO_PlayerNoInventorySpace = "[prefix] &6[player] &char ikke nok plass i inventaret sitt!";
|
|
||||||
|
|
||||||
public static String NO_Help_CGUI = "&8''&b/commandgui &8| &b/cgui&8'' &eÅpne default GUIen &7(&r[gui]&7)&e.";
|
|
||||||
public static String NO_Help_Open = "&8''&b/commandgui [gui]&8'' &eÅpne GUIen: &6[guiname]&e.";
|
|
||||||
public static String NO_Help_Help = "&8''&b/commandguihelp&8'' &eSender denne hjelpe meldingen.";
|
|
||||||
public static String NO_Help_Info = "&8''&b/commandgui admin info&8'' &eKall informasjon fra &4Command&9GUI&e.";
|
|
||||||
public static String NO_Help_Give = "&8''&b/commandgui admin give &7<player>&8'' &eGi en spiller GUI gjenstanden.";
|
|
||||||
public static String NO_Help_CreateDefaultGUI = "&8''&b/commandgui admin createdefaultgui&8'' &eLag en normalverdi GUI &7([directory])&e.";
|
|
||||||
public static String NO_Help_Reload = "&8''&b/commandgui admin reload&8'' &eLast inn pluginet på nytt.";
|
|
||||||
|
|
||||||
public static String NO_GUIItemHelp_on = "&8''&b/gui-item on&8'' &eAktiverer en GUI gjenstand for deg.";
|
|
||||||
public static String NO_GUIItemHelp_off = "&8''&b/gui-item off&8'' &eDeaktiverer en GUI gjenstand for deg.";
|
|
||||||
public static String NO_GUIItemHelp_Slot = "&8''&b/gui-item slot [slot]&8'' &eSett sporet for GUIItem for deg.";
|
|
||||||
}
|
|
@ -1,138 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.config.languages;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.replace.Replace;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
public class SelectMessages {
|
|
||||||
|
|
||||||
|
|
||||||
public static String selectMSG;
|
|
||||||
|
|
||||||
public static String VaultNotSetUp;
|
|
||||||
public static String SoundNotFound;
|
|
||||||
public static String OnlyForPlayer;
|
|
||||||
public static String DefaultGUIcreate;
|
|
||||||
public static String ReloadStart;
|
|
||||||
public static String ReloadEnd;
|
|
||||||
|
|
||||||
public static String NoPermission;
|
|
||||||
public static String NoPermissionForCommand;
|
|
||||||
public static String NoPermissionForUseItem;
|
|
||||||
public static String NoPermissionForItem;
|
|
||||||
|
|
||||||
public static String ItemON;
|
|
||||||
public static String ItemOFF;
|
|
||||||
public static String ItemSlot;
|
|
||||||
public static String ItemSlotNotEmpty;
|
|
||||||
public static String ItemSlotAlreadySet;
|
|
||||||
public static String ItemSlot_wrongValue;
|
|
||||||
public static String UseItemDisabledInGameMode;
|
|
||||||
public static String UseItemDisabledInWorld;
|
|
||||||
|
|
||||||
public static String Buy_msg;
|
|
||||||
public static String No_money;
|
|
||||||
public static String NoInventorySpace;
|
|
||||||
|
|
||||||
public static String onServerChange;
|
|
||||||
|
|
||||||
public static String GUInotFound;
|
|
||||||
public static String GUIIsDisabled;
|
|
||||||
|
|
||||||
public static String Give_Sender;
|
|
||||||
public static String Give_Receiver;
|
|
||||||
|
|
||||||
public static String PlayerNotFond;
|
|
||||||
public static String PlayerNoInventorySpace;
|
|
||||||
|
|
||||||
public static String HelpCgui;
|
|
||||||
public static String HelpHelp;
|
|
||||||
public static String HelpInfo;
|
|
||||||
public static String HelpOpen;
|
|
||||||
public static String HelpGive;
|
|
||||||
public static String HelpCreateDefaultGUI;
|
|
||||||
public static String HelpReload;
|
|
||||||
public static String GUIItemHelp_on;
|
|
||||||
public static String GUIItemHelp_off;
|
|
||||||
public static String GUIItemHelp_Slot;
|
|
||||||
|
|
||||||
public static void onSelect(String Prefix) {
|
|
||||||
|
|
||||||
send.debug(Main.plugin, "§4Select language...");
|
|
||||||
Long long_ = Long.valueOf(System.currentTimeMillis());
|
|
||||||
|
|
||||||
File msg;
|
|
||||||
|
|
||||||
msg = new File(Main.getPath(), "languages/" + SelectConfig.language + "_messages.yml");
|
|
||||||
if (!msg.isFile()) {
|
|
||||||
send.console(Prefix);
|
|
||||||
send.console(Prefix + " §4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
|
||||||
send.console(Prefix + " §4The selected §c" + SelectConfig.language + " §4language file was not found.");
|
|
||||||
send.console(Prefix + " §6The default language §eEnglish §6is used!");
|
|
||||||
send.console(Prefix + " §4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
|
||||||
send.console(Prefix);
|
|
||||||
msg = new File(Main.getPath(), "languages/" + "english_messages.yml");
|
|
||||||
selectMSG = "english";
|
|
||||||
} else selectMSG = SelectConfig.language;
|
|
||||||
YamlConfiguration yamlConfiguration_msg = YamlConfiguration.loadConfiguration(msg);
|
|
||||||
|
|
||||||
VaultNotSetUp = select("Plugin.VaultNotSetUp", yamlConfiguration_msg);
|
|
||||||
SoundNotFound = select("Plugin.SoundNotFound", yamlConfiguration_msg);
|
|
||||||
OnlyForPlayer = select("Plugin.OnlyForPlayer", yamlConfiguration_msg);
|
|
||||||
DefaultGUIcreate = select("Plugin.DefaultGUI.create", yamlConfiguration_msg);
|
|
||||||
ReloadStart = select("Plugin.Reload.Start", yamlConfiguration_msg);
|
|
||||||
ReloadEnd = select("Plugin.Reload.End", yamlConfiguration_msg);
|
|
||||||
|
|
||||||
NoPermission = select("NoPermission.ForCommandGUI", yamlConfiguration_msg);
|
|
||||||
NoPermissionForCommand = select("NoPermission.ForCommand", yamlConfiguration_msg);
|
|
||||||
NoPermissionForUseItem = select("NoPermission.ForUseItem", yamlConfiguration_msg);
|
|
||||||
NoPermissionForItem = select("NoPermission.ForItem", yamlConfiguration_msg);
|
|
||||||
|
|
||||||
ItemON = select("UseItem.UseItem_ON", yamlConfiguration_msg);
|
|
||||||
ItemOFF = select("UseItem.UseItem_OFF", yamlConfiguration_msg);
|
|
||||||
ItemSlot = select("UseItem.Change_Slot", yamlConfiguration_msg);
|
|
||||||
ItemSlotNotEmpty = select("UseItem.SlotNotEmpty", yamlConfiguration_msg);
|
|
||||||
ItemSlotAlreadySet = select("UseItem.SlotAlreadySet", yamlConfiguration_msg);
|
|
||||||
ItemSlot_wrongValue = select("UseItem.ItemSlot_wrongValue", yamlConfiguration_msg);
|
|
||||||
UseItemDisabledInGameMode =select("UseItem.DisabledInGameMode",yamlConfiguration_msg);
|
|
||||||
UseItemDisabledInWorld =select("UseItem.DisabledInWorld",yamlConfiguration_msg);
|
|
||||||
|
|
||||||
Buy_msg = select("Cost.Buy_msg", yamlConfiguration_msg);
|
|
||||||
No_money = select("Cost.No_money", yamlConfiguration_msg);
|
|
||||||
NoInventorySpace = select("Cost.NoInventorySpace", yamlConfiguration_msg);
|
|
||||||
|
|
||||||
onServerChange = select("ServerChange.onServerChange", yamlConfiguration_msg);
|
|
||||||
|
|
||||||
GUInotFound = select("GUI.GUInotFound", yamlConfiguration_msg);
|
|
||||||
GUIIsDisabled = select("GUI.GUIisDisabled", yamlConfiguration_msg);
|
|
||||||
|
|
||||||
Give_Sender = select("Give.Sender", yamlConfiguration_msg);
|
|
||||||
Give_Receiver = select("Give.Receiver", yamlConfiguration_msg);
|
|
||||||
|
|
||||||
PlayerNotFond = select("Player.PlayerNotFond", yamlConfiguration_msg);
|
|
||||||
PlayerNoInventorySpace = select("Player.PlayerNoInventorySpace", yamlConfiguration_msg);
|
|
||||||
|
|
||||||
HelpCgui = select("Help.CGUI", yamlConfiguration_msg);
|
|
||||||
HelpHelp = select("Help.Help", yamlConfiguration_msg);
|
|
||||||
HelpInfo = select("Help.Info", yamlConfiguration_msg);
|
|
||||||
HelpOpen = select("Help.Open", yamlConfiguration_msg);
|
|
||||||
HelpGive = select("Help.Give", yamlConfiguration_msg);
|
|
||||||
HelpCreateDefaultGUI = select("Help.CreateDefaultGUI", yamlConfiguration_msg);
|
|
||||||
HelpReload = select("Help.Reload", yamlConfiguration_msg);
|
|
||||||
GUIItemHelp_on = select("Help.UseItem_On", yamlConfiguration_msg);
|
|
||||||
GUIItemHelp_off = select("Help.UseItem_Off", yamlConfiguration_msg);
|
|
||||||
GUIItemHelp_Slot = select("Help.UseItem_Slot", yamlConfiguration_msg);
|
|
||||||
|
|
||||||
|
|
||||||
send.console(Prefix + " §2Language successfully selected to: §6" + selectMSG + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
|
|
||||||
}
|
|
||||||
|
|
||||||
private static String select(String path, YamlConfiguration yamlConfiguration){
|
|
||||||
return Replace.replace(Util.getPrefix(),yamlConfiguration.getString(path));
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,122 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.gui;
|
|
||||||
|
|
||||||
import com.mojang.authlib.GameProfile;
|
|
||||||
import com.mojang.authlib.properties.Property;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
|
|
||||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
|
||||||
import net.t2code.lib.Spigot.Lib.replace.Replace;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.inventory.Inventory;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
|
||||||
import org.bukkit.inventory.meta.SkullMeta;
|
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
public class GuiBuilder {
|
|
||||||
|
|
||||||
private static String prefix = Util.getPrefix();
|
|
||||||
|
|
||||||
protected static void item(Function function, Integer slot, Player player, Inventory inventory) {
|
|
||||||
ItemStack item = new ItemStack(Material.valueOf(function.item.toUpperCase().replace(".", "_")));
|
|
||||||
ItemMeta itemMeta = item.getItemMeta();
|
|
||||||
setDisplayNameAndLore(itemMeta, player, function);
|
|
||||||
item.setItemMeta(itemMeta);
|
|
||||||
Integer am;
|
|
||||||
if (function.itemAmount == 0) {
|
|
||||||
am = 1;
|
|
||||||
} else am = function.itemAmount;
|
|
||||||
item.setAmount(am);
|
|
||||||
inventory.setItem(slot, item);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected static void item(String material, Function function,Integer slot, Player player, Inventory inventory) {
|
|
||||||
ItemStack item = new ItemStack(Material.valueOf(material));
|
|
||||||
ItemMeta itemMeta = item.getItemMeta();
|
|
||||||
setDisplayNameAndLore(itemMeta, player, function);
|
|
||||||
item.setItemMeta(itemMeta);
|
|
||||||
Integer am;
|
|
||||||
if (function.itemAmount == 0) {
|
|
||||||
am = 1;
|
|
||||||
} else am = function.itemAmount;
|
|
||||||
item.setAmount(am);
|
|
||||||
inventory.setItem(slot, item);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private static void setDisplayNameAndLore(ItemMeta itemMeta, Player player, Function slot) {
|
|
||||||
if (Main.PaPi) {
|
|
||||||
itemMeta.setDisplayName(Replace.replace(prefix, player, slot.name.replace("[player]", player.getName())));
|
|
||||||
itemMeta.setLore(Replace.replacePrice(prefix, player, slot.lore, slot.price + " " + SelectConfig.Currency));
|
|
||||||
} else {
|
|
||||||
itemMeta.setDisplayName(Replace.replace(prefix, slot.name.replace("[player]", player.getName())));
|
|
||||||
itemMeta.setLore(Replace.replacePrice(prefix, slot.lore, slot.price + " " + SelectConfig.Currency));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected static void base64(String base64Value, Function function, Integer slot, Player player, Inventory inventory) {
|
|
||||||
ItemStack item = ItemVersion.getHeadIS();
|
|
||||||
SkullMeta itemMeta = (SkullMeta) item.getItemMeta();
|
|
||||||
setBase64(itemMeta, base64Value);
|
|
||||||
setDisplayNameAndLore(itemMeta, player, function);
|
|
||||||
item.setItemMeta(itemMeta);
|
|
||||||
Integer am;
|
|
||||||
if (function.itemAmount == 0) {
|
|
||||||
am = 1;
|
|
||||||
} else am = function.itemAmount;
|
|
||||||
item.setAmount(am);
|
|
||||||
inventory.setItem(slot, item);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void setBase64(ItemMeta itemMeta, String base64Value) {
|
|
||||||
GameProfile profile = new GameProfile(UUID.randomUUID(), "");
|
|
||||||
profile.getProperties().put("textures", new Property("textures", base64Value == null ? "" : base64Value));
|
|
||||||
Field profileField;
|
|
||||||
try {
|
|
||||||
profileField = itemMeta.getClass().getDeclaredField("profile");
|
|
||||||
profileField.setAccessible(true);
|
|
||||||
profileField.set(itemMeta, profile);
|
|
||||||
} catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected static void base64(Function function,Integer slot, Player player, Inventory inventory) {
|
|
||||||
base64(function.base64Value, function,slot, player, inventory);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected static void playerHead(Function function, Integer slot,Player player, Inventory inventory, String skullName) {
|
|
||||||
ItemStack item = ItemVersion.getHeadIS();
|
|
||||||
SkullMeta itemMeta = (SkullMeta) item.getItemMeta();
|
|
||||||
setDisplayNameAndLore(itemMeta, player, function);
|
|
||||||
itemMeta.setOwner(skullName);
|
|
||||||
item.setItemMeta(itemMeta);
|
|
||||||
Integer am;
|
|
||||||
if (function.itemAmount == 0) {
|
|
||||||
am = 1;
|
|
||||||
} else am = function.itemAmount;
|
|
||||||
item.setAmount(am);
|
|
||||||
inventory.setItem(slot, item);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void fillItem(Inventory inventory, Gui gui) {
|
|
||||||
ItemStack glass;
|
|
||||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
glass = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, Short.valueOf(gui.guiFillItemItem));
|
|
||||||
} else glass = new ItemStack(Material.valueOf(gui.guiFillItemItem.toUpperCase().replace(".", "_")));
|
|
||||||
ItemMeta itemMetaglass = glass.getItemMeta();
|
|
||||||
itemMetaglass.setDisplayName(" ");
|
|
||||||
glass.setItemMeta(itemMetaglass);
|
|
||||||
glass.setAmount(1);
|
|
||||||
for (int i = 0; i < 9 * gui.guiLines; i++) {
|
|
||||||
inventory.setItem(i, glass);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,151 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.gui;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.GUIListener;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import io.github.solyze.plugmangui.inventories.PluginListGUI;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
|
||||||
import net.t2code.lib.Spigot.Lib.replace.Replace;
|
|
||||||
import net.t2code.luckyBox.api.LuckyBoxAPI;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.inventory.Inventory;
|
|
||||||
import org.bukkit.inventory.InventoryHolder;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
|
|
||||||
public class OpenGUI {
|
|
||||||
private static Plugin plugin = Main.plugin;
|
|
||||||
private static String prefix = Util.getPrefix();
|
|
||||||
|
|
||||||
public static void openGUI(Player player, String guiString, Boolean sound) {
|
|
||||||
Gui gui = Main.guiHashMap.get(guiString);
|
|
||||||
Long long_ = Long.valueOf(System.currentTimeMillis());
|
|
||||||
switch (guiString) {
|
|
||||||
//case "plugin.PlotSquaredGUI":
|
|
||||||
// if (Main.PlotSquaredGUI) {
|
|
||||||
// PlotSquaredGUIapi.openMainGUI(player);
|
|
||||||
// } else {
|
|
||||||
// if (player.hasPermission("commandgui.admin")) {
|
|
||||||
// send.player(player, prefix + " §4PlotSquaredGUI could not be found! §9Please download it here: " +
|
|
||||||
// "§6https://spigotmc.org/resources/plotsquaredgui.77506/");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return; todo
|
|
||||||
case "plugin.PlugManGUI":
|
|
||||||
if (Main.PlugManGUI) {
|
|
||||||
player.openInventory((new PluginListGUI(54, 1)).getInventory());
|
|
||||||
} else {
|
|
||||||
if (player.hasPermission("commandgui.admin")) {
|
|
||||||
send.player(player, prefix + " §4PlugManGUI could not be found! §9Please download it here: " +
|
|
||||||
"§6https://spigotmc.org/resources/plugmangui.87599/");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
case "plugin.T2C-LuckyBox":
|
|
||||||
if (Main.LuckyBox) {
|
|
||||||
LuckyBoxAPI.openShop(player);
|
|
||||||
} else {
|
|
||||||
if (player.hasPermission("commandgui.admin")) {
|
|
||||||
send.player(player, prefix + " §4T2C-LuckyBox could not be found! §9Please download it here: " +
|
|
||||||
"§6https://www.spigotmc.org/resources/luckybox.98154/");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (MCVersion.minecraft1_13) {
|
|
||||||
GUIListener.GUICode = "";
|
|
||||||
} else GUIListener.GUICode = "§6§8§9§r";
|
|
||||||
if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
|
|
||||||
Inventory inventory;
|
|
||||||
if (Main.PaPi) {
|
|
||||||
inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.guiLines, (Replace.replace(prefix, player, GUIListener.GUICode + gui.guiName)));
|
|
||||||
} else inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.guiLines, (Replace.replace(prefix, GUIListener.GUICode + gui.guiName)));
|
|
||||||
|
|
||||||
if (gui.guiFillItemEnable) {
|
|
||||||
GuiBuilder.fillItem(inventory, gui);
|
|
||||||
}
|
|
||||||
for (Slot slot : gui.slots) {
|
|
||||||
Function function = Main.functionHashMap.get(slot.function);
|
|
||||||
if (function == null) {
|
|
||||||
send.error(Main.plugin, "The Function " + slot.function + " in the GUI " + gui.key + " does not exist!");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (slot.permission && !player.hasPermission(slot.permissionToSee)) continue;
|
|
||||||
if (slot.slot < 0 || slot.slot > gui.guiLines * 9) continue;
|
|
||||||
|
|
||||||
if (slot.enable) {
|
|
||||||
if (function.empty) {
|
|
||||||
ItemStack air = new ItemStack(Material.AIR);
|
|
||||||
inventory.setItem(slot.slot, air);
|
|
||||||
} else {
|
|
||||||
if (function.togglePermission) {
|
|
||||||
if (player.hasPermission(function.togglePermissionPerm)) {
|
|
||||||
toggleOn(function, slot.slot, player, inventory);
|
|
||||||
} else {
|
|
||||||
toggleOff(function, slot.slot, player, inventory);
|
|
||||||
}
|
|
||||||
} else if (function.toggleUseItem) {
|
|
||||||
if (Events.useItemHashMap.get(player)) {
|
|
||||||
toggleOn(function, slot.slot, player, inventory);
|
|
||||||
} else {
|
|
||||||
toggleOff(function, slot.slot, player, inventory);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (function.playerHead_Enable) {
|
|
||||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
send.player(player, prefix + "§c Playerheads are only available from version §61.13§c! §7- §bGUI: §6" +
|
|
||||||
Replace.replace(prefix, gui.guiName).toString() + " §bSlot: §6" + (slot.slot + 1) + " §7- " + Replace.replace(prefix, function.name));
|
|
||||||
send.error(plugin, "Playerheads are only available from version 1.13!");
|
|
||||||
send.console(prefix + " §bGUI: §6" + Replace.replace(prefix, gui.guiName).toString() + " §bSlot: §6" +
|
|
||||||
(slot.slot + 1) + " §7- " + Replace.replace(prefix, function.name));
|
|
||||||
} else {
|
|
||||||
if (function.base64_Enable) {
|
|
||||||
GuiBuilder.base64(function, slot.slot, player, inventory);
|
|
||||||
} else {
|
|
||||||
if (function.playerWhoHasOpenedTheGUI) {
|
|
||||||
GuiBuilder.playerHead(function, slot.slot, player, inventory, player.getName());
|
|
||||||
} else {
|
|
||||||
GuiBuilder.playerHead(function, slot.slot, player, inventory, function.playerName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
GuiBuilder.item(function, slot.slot, player, inventory);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (sound) {
|
|
||||||
if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) {
|
|
||||||
player.playSound(player.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
player.openInventory(inventory);
|
|
||||||
send.debug(plugin, "§6" + player.getName() + " §5Open §6" + Replace.replace(prefix, gui.guiName) + " §5" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
|
|
||||||
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", Replace.replace(prefix, gui.guiName)));
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void toggleOn(Function function, Integer slot, Player player, Inventory inventory) {
|
|
||||||
if (SelectConfig.toggleItemOnOrYesBase64) {
|
|
||||||
GuiBuilder.base64(SelectConfig.toggleItemOnOrYesBase64Value, function, slot, player, inventory);
|
|
||||||
} else GuiBuilder.item(SelectConfig.toggleItemOnOrYesMaterial, function, slot, player, inventory);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void toggleOff(Function function, Integer slot, Player player, Inventory inventory) {
|
|
||||||
if (SelectConfig.toggleItemOffOrNoBase64) {
|
|
||||||
GuiBuilder.base64(SelectConfig.toggleItemOffOrNoBase64Value, function, slot, player, inventory);
|
|
||||||
} else GuiBuilder.item(SelectConfig.toggleItemOffOrNoMaterial, function, slot, player, inventory);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,170 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.objects;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUITab;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
public class Obj_Select {
|
|
||||||
public static void onSelect() {
|
|
||||||
onSelectFunction();
|
|
||||||
onSelectGui();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void onSelectGui() {
|
|
||||||
Main.guiHashMap.clear();
|
|
||||||
Main.allAliases.clear();
|
|
||||||
File f = new File(Main.getPath() + "/GUIs/");
|
|
||||||
File[] fileArray = f.listFiles();
|
|
||||||
|
|
||||||
for (File config_gui : fileArray) {
|
|
||||||
String sub = config_gui.getName().substring(config_gui.getName().length() - 4);
|
|
||||||
if (sub.equals(".yml")) {
|
|
||||||
String key = config_gui.getName().replace(".yml", "");
|
|
||||||
Main.allAliases.add(key);
|
|
||||||
YamlConfiguration yamlConfiguration_gui = YamlConfiguration.loadConfiguration(config_gui);
|
|
||||||
|
|
||||||
Boolean guiEnable = yamlConfiguration_gui.getBoolean("GUI.Enable");
|
|
||||||
Integer guiLines = yamlConfiguration_gui.getInt("GUI.Lines");
|
|
||||||
if (yamlConfiguration_gui.getInt("GUI.Lines") > 6) {
|
|
||||||
yamlConfiguration_gui.set("GUI.Lines", 6);
|
|
||||||
}
|
|
||||||
if (yamlConfiguration_gui.getInt("GUI.Lines") < 1) {
|
|
||||||
yamlConfiguration_gui.set("GUI.Lines", 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
String guiName = yamlConfiguration_gui.getString("GUI.Name");
|
|
||||||
Boolean guiFillItemEnable = yamlConfiguration_gui.getBoolean("GUI.FillItem.Enable");
|
|
||||||
String guiFillItemItem;
|
|
||||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
guiFillItemItem = yamlConfiguration_gui.getString("GUI.FillItem.GlassPaneColor");
|
|
||||||
} else guiFillItemItem = yamlConfiguration_gui.getString("GUI.FillItem.Item");
|
|
||||||
|
|
||||||
Boolean commandAliasEnable = yamlConfiguration_gui.getBoolean("Command.Alias");
|
|
||||||
Boolean commandPermission = yamlConfiguration_gui.getBoolean("Command.Permission.Required");
|
|
||||||
|
|
||||||
ArrayList<Slot> slots = new ArrayList<>();
|
|
||||||
for (String slotKey : yamlConfiguration_gui.getConfigurationSection("Slots").getKeys(false)) {
|
|
||||||
Integer slotNumber = yamlConfiguration_gui.getInt("Slots." + slotKey + ".Slot") - 1;
|
|
||||||
Boolean enable = yamlConfiguration_gui.getBoolean("Slots." + slotKey + ".Enable");
|
|
||||||
String function = yamlConfiguration_gui.getString("Slots." + slotKey + ".Function");
|
|
||||||
Function functionCheck = Main.functionHashMap.get(function);
|
|
||||||
if (functionCheck == null) {
|
|
||||||
send.error(Main.plugin, "The Function " + function + " in the GUI " + key + " does not exist!");
|
|
||||||
}
|
|
||||||
Boolean permRequired = yamlConfiguration_gui.getBoolean("Slots." + slotKey + ".Permission.Required");
|
|
||||||
String permSee = yamlConfiguration_gui.getString("Slots." + slotKey + ".Permission.See");
|
|
||||||
String permUse = yamlConfiguration_gui.getString("Slots." + slotKey + ".Permission.Use");
|
|
||||||
|
|
||||||
Slot slot = new Slot(slotNumber, enable, function, permRequired,
|
|
||||||
Objects.requireNonNull(permSee).replace("[function]", key).replace("[slot]", String.valueOf(slotNumber + 1))
|
|
||||||
.replace("[slotname]", slotKey.toLowerCase()),
|
|
||||||
Objects.requireNonNull(permUse).replace("[function]", key).replace("[slot]", String.valueOf(slotNumber + 1))
|
|
||||||
.replace("[slotname]", slotKey.toLowerCase()));
|
|
||||||
slots.add(slot);
|
|
||||||
}
|
|
||||||
Gui gui = new Gui(guiEnable, guiLines, guiName, guiFillItemEnable, guiFillItemItem,
|
|
||||||
key, commandAliasEnable, commandPermission, slots);
|
|
||||||
|
|
||||||
Main.guiHashMap.put(key, gui);
|
|
||||||
CmdExecuter_GUITab.arg1.put(config_gui.getName()
|
|
||||||
.replace(".yml", ""), "commandgui.gui." + key);
|
|
||||||
|
|
||||||
try {
|
|
||||||
yamlConfiguration_gui.save(config_gui);
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void onSelectFunction() {
|
|
||||||
Main.functionHashMap.clear();
|
|
||||||
File f = new File(Main.getPath() + "/Functions/");
|
|
||||||
File[] fileArray = f.listFiles();
|
|
||||||
|
|
||||||
for (File config : fileArray) {
|
|
||||||
String sub = config.getName().substring(config.getName().length() - 4);
|
|
||||||
if (sub.equals(".yml")) {
|
|
||||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
|
||||||
|
|
||||||
String key = config.getName().replace(".yml", "");
|
|
||||||
Boolean empty = yamlConfiguration.getBoolean("Slots.Function.Item.Empty");
|
|
||||||
Integer itemAmount = yamlConfiguration.getInt("Slots.Function.Item.Amount");
|
|
||||||
Boolean playerHead_Enable = yamlConfiguration.getBoolean("Slots.Function.Item.PlayerHead.Enable");
|
|
||||||
Boolean base64_Enable = yamlConfiguration.getBoolean("Slots.Function.Item.PlayerHead.Base64.Enable");
|
|
||||||
String base64Value = yamlConfiguration.getString("Slots.Function.Item.PlayerHead.Base64.Base64Value");
|
|
||||||
Boolean playerWhoHasOpenedTheGUI = yamlConfiguration.getBoolean("Slots.Function.Item.PlayerHead.PlayerWhoHasOpenedTheGUI");
|
|
||||||
String playerName = yamlConfiguration.getString("Slots.Function.Item.PlayerHead.PlayerName");
|
|
||||||
String item = yamlConfiguration.getString("Slots.Function.Item.Material");
|
|
||||||
String name = yamlConfiguration.getString("Slots.Function.Item.Name");
|
|
||||||
List<String> lore = yamlConfiguration.getStringList("Slots.Function.Item.Lore");
|
|
||||||
Boolean customSound_Enable = yamlConfiguration.getBoolean("Slots.Function.CustomSound.Enable");
|
|
||||||
Boolean customSound_NoSound = yamlConfiguration.getBoolean("Slots.Function.CustomSound.NoSound");
|
|
||||||
String customSound_Sound = yamlConfiguration.getString("Slots.Function.CustomSound.Sound");
|
|
||||||
Boolean cost_Enable = yamlConfiguration.getBoolean("Slots.Function.Cost.Enable");
|
|
||||||
Double price = yamlConfiguration.getDouble("Slots.Function.Cost.Price");
|
|
||||||
Boolean command_Enable = yamlConfiguration.getBoolean("Slots.Function.Command.Enable");
|
|
||||||
Boolean command_BungeeCommand = yamlConfiguration.getBoolean("Slots.Function.Command.BungeeCommand");
|
|
||||||
Boolean commandAsConsole = yamlConfiguration.getBoolean("Slots.Function.Command.CommandAsConsole");
|
|
||||||
List<String> command = yamlConfiguration.getStringList("Slots.Function.Command.Command");
|
|
||||||
Boolean serverChange = yamlConfiguration.getBoolean("Slots.Function.ServerChange.Enable");
|
|
||||||
String serverChangeServer = yamlConfiguration.getString("Slots.Function.ServerChange.Server");
|
|
||||||
Boolean openGUI_Enable = yamlConfiguration.getBoolean("Slots.Function.OpenGUI.Enable");
|
|
||||||
String openGUI = yamlConfiguration.getString("Slots.Function.OpenGUI.GUI");
|
|
||||||
Boolean togglePermission = yamlConfiguration.getBoolean("Slots.Function.Toggle.Permission.Enable");
|
|
||||||
String togglePermissionPerm = yamlConfiguration.getString("Slots.Function.Toggle.Permission.Permission");
|
|
||||||
Boolean toggleUseItem = yamlConfiguration.getBoolean("Slots.Function.Toggle.UseItem.Enable");
|
|
||||||
Boolean message_Enable = yamlConfiguration.getBoolean("Slots.Function.Message.Enable");
|
|
||||||
List<String> message = yamlConfiguration.getStringList("Slots.Function.Message.Message");
|
|
||||||
Boolean setConfigEnable = yamlConfiguration.getBoolean("Slots.Function.SetConfig.Enable");
|
|
||||||
String configFilePath = yamlConfiguration.getString("Slots.Function.SetConfig.File.Path");
|
|
||||||
String configOptionPath = yamlConfiguration.getString("Slots.Function.SetConfig.Option.Path");
|
|
||||||
String configOptionPremat = yamlConfiguration.getString("Slots.Function.SetConfig.Option.Premat");
|
|
||||||
// Boolean ConfigChatInput = ;
|
|
||||||
|
|
||||||
String configStringValueLeft = yamlConfiguration.getString("Slots.Function.SetConfig.Value.LeftClick.String");
|
|
||||||
Boolean configBooleanValueLeft = yamlConfiguration.getBoolean("Slots.Function.SetConfig.Value.LeftClick.Boolean");
|
|
||||||
Integer configIntegerValueLeft = yamlConfiguration.getInt("Slots.Function.SetConfig.Value.LeftClick.Integer");
|
|
||||||
Double configDoubleValueLeft = yamlConfiguration.getDouble("Slots.Function.SetConfig.Value.LeftClick.Double");
|
|
||||||
List<String> configListValueLeft = yamlConfiguration.getStringList("Slots.Function.SetConfig.Value.LeftClick.List");
|
|
||||||
|
|
||||||
String configStringValueRight = yamlConfiguration.getString("Slots.Function.SetConfig.Value.RightClick.String");
|
|
||||||
Boolean configBooleanValueRight = yamlConfiguration.getBoolean("Slots.Function.SetConfig.Value.RightClick.Boolean");
|
|
||||||
Integer configIntegerValueRight = yamlConfiguration.getInt("Slots.Function.SetConfig.Value.RightClick.Integer");
|
|
||||||
Double configDoubleValueRight = yamlConfiguration.getDouble("Slots.Function.SetConfig.Value.RightClick.Double");
|
|
||||||
List<String> configListValueRight = yamlConfiguration.getStringList("Slots.Function.SetConfig.RightClick.Value.List");
|
|
||||||
|
|
||||||
|
|
||||||
Boolean pluginReloadEnable = yamlConfiguration.getBoolean("Slots.Function.SetConfig.PluginReload.Enable");
|
|
||||||
String pluginReloadCommand = yamlConfiguration.getString("Slots.Function.SetConfig.PluginReload.Command");
|
|
||||||
|
|
||||||
|
|
||||||
Function function = new Function(key, empty, itemAmount, playerHead_Enable, base64_Enable, base64Value, playerWhoHasOpenedTheGUI, playerName, item, name, lore,
|
|
||||||
customSound_Enable, customSound_NoSound, customSound_Sound, cost_Enable, price, command_Enable, command_BungeeCommand, commandAsConsole, command,
|
|
||||||
serverChange, serverChangeServer, openGUI_Enable, openGUI, togglePermission, togglePermissionPerm, toggleUseItem, message_Enable, message,
|
|
||||||
setConfigEnable, configFilePath, configOptionPath, configOptionPremat, configStringValueLeft, configBooleanValueLeft, configIntegerValueLeft,
|
|
||||||
configDoubleValueLeft, configListValueLeft, configStringValueRight, configBooleanValueRight, configIntegerValueRight, configDoubleValueRight,
|
|
||||||
configListValueRight, pluginReloadEnable, pluginReloadCommand);
|
|
||||||
Main.functionHashMap.put(key, function);
|
|
||||||
|
|
||||||
try {
|
|
||||||
yamlConfiguration.save(config);
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,96 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.system;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class Debug {
|
|
||||||
|
|
||||||
private static Plugin plugin = Main.plugin;
|
|
||||||
public static void debugmsg() {
|
|
||||||
|
|
||||||
|
|
||||||
send.debug(plugin,"§5!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
|
||||||
send.debug(plugin,"§3Bukkit Version: §e" + Bukkit.getBukkitVersion());
|
|
||||||
send.debug(plugin,"§3NMS Version: §e" + Bukkit.getServer().getClass().getPackage().getName().replace("org.bukkit.craftbukkit.", ""));
|
|
||||||
send.debug(plugin,"§3Version: §e" + Bukkit.getVersion());
|
|
||||||
send.debug(plugin,"§3Java: §e" + System.getProperty("java.version"));
|
|
||||||
send.debug(plugin,"§3Worlds: §e" +String.valueOf(Bukkit.getServer().getWorlds()));
|
|
||||||
send.debug(plugin,String.valueOf(Main.plugins));
|
|
||||||
send.debug(plugin,"§5----------------------------------");
|
|
||||||
if (new File(Main.getPath(), "config.yml").exists()) {
|
|
||||||
File f = new File(String.valueOf(Main.getPath()));
|
|
||||||
File f2 = new File(String.valueOf(Main.getPath() + "/GUIs/"));
|
|
||||||
File f3 = new File(String.valueOf(Main.getPath() + "/languages/"));
|
|
||||||
File[] fileArray = f.listFiles();
|
|
||||||
File[] fileArray2 = f2.listFiles();
|
|
||||||
File[] fileArray3 = f3.listFiles();
|
|
||||||
for (File config : fileArray) {
|
|
||||||
send.debug(plugin,String.valueOf(config).replace("plugins/CommandGUI/", ""));
|
|
||||||
}
|
|
||||||
for (File config2 : fileArray2) {
|
|
||||||
send.debug(plugin,String.valueOf(config2).replace("plugins/CommandGUI/", ""));
|
|
||||||
}
|
|
||||||
for (File config3 : fileArray3) {
|
|
||||||
send.debug(plugin,String.valueOf(config3).replace("plugins/CommandGUI/", ""));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
send.debug(plugin,"§5!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void onDebugFile(CommandSender sender){
|
|
||||||
String timeStamp = new SimpleDateFormat("dd_MM_yyyy_HH_mm_ss").format(Calendar.getInstance().getTime());
|
|
||||||
String timeStampcfg = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(Calendar.getInstance().getTime());
|
|
||||||
send.sender(sender, Main.prefix + " §5Debug file was createt: §e" + Main.getPath() + "\\debug\\commandgui_debug_"+ timeStamp +".yml");
|
|
||||||
File debug = new File(Main.getPath(), "debug/commandgui_debug_"+ timeStamp +".yml");
|
|
||||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(debug);
|
|
||||||
|
|
||||||
set("Time", timeStampcfg, yamlConfiguration);
|
|
||||||
set("CommandGUI.Version", String.valueOf(plugin.getDescription().getVersion()), yamlConfiguration);
|
|
||||||
|
|
||||||
set("Server.Bukkit_Version", String.valueOf(Bukkit.getBukkitVersion()), yamlConfiguration);
|
|
||||||
set("Server.NMS_Version", String.valueOf(Bukkit.getServer().getClass().getPackage().getName().replace("org.bukkit.craftbukkit.", "")), yamlConfiguration);
|
|
||||||
set("Server.Version", String.valueOf(Bukkit.getVersion()), yamlConfiguration);
|
|
||||||
set("Server.Java", String.valueOf(System.getProperty("java.version")), yamlConfiguration);
|
|
||||||
set("Server.Worlds", String.valueOf(Bukkit.getServer().getWorlds()), yamlConfiguration);
|
|
||||||
set("Server.Plugins", String.valueOf(Main.plugins) , yamlConfiguration);
|
|
||||||
|
|
||||||
try {
|
|
||||||
yamlConfiguration.save(debug);
|
|
||||||
} catch (IOException e) {
|
|
||||||
send.warning(plugin,e.getMessage());
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void set(String path, String value, YamlConfiguration config){
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private static void set(String path, Integer value, YamlConfiguration config){
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private static void set(String path, Boolean value, YamlConfiguration config){
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private static void set(String path, List value, YamlConfiguration config){
|
|
||||||
if (!config.contains(path)) {
|
|
||||||
config.set(path, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,211 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.system;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.GUIListener;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.EventsFrom110;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUITab;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUIItem;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_Help;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.register.AliasRegister;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.functions.CreateFunctions;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.LanguagesCreate;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.MySQL;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.PluginEvent;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.Obj_Select;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.ConfigCreate;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.SQLITE;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.StorageType;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
|
||||||
import net.t2code.lib.Spigot.Lib.plugins.PluginCheck;
|
|
||||||
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
|
|
||||||
import java.io.*;
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class Load {
|
|
||||||
static Plugin plugin = Main.plugin;
|
|
||||||
|
|
||||||
public static void onLoad(String prefix, List autor, String version, String spigot, int spigotID, String discord, int bstatsID) {
|
|
||||||
|
|
||||||
Long long_ = T2CodeTemplate.onLoadHeader(prefix, autor, version, spigot, discord);
|
|
||||||
try {
|
|
||||||
Debug.debugmsg();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
send.console(prefix + " §8-------------------------------");
|
|
||||||
|
|
||||||
if (!new File(Main.getPath(), "config.yml").exists()) {
|
|
||||||
try {
|
|
||||||
CreateGUI.configCreate();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
CreateFunctions.create();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
ConfigCreate.configCreate();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
SelectConfig.onSelect();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
SelectConfig.setConfigVersion();
|
|
||||||
|
|
||||||
if (SelectConfig.Bungee) {
|
|
||||||
if (!Bukkit.getMessenger().isOutgoingChannelRegistered(plugin, "cgui:bungee")) {
|
|
||||||
send.debug(plugin, "registerOutgoingPluginChannel §ecgui:bungee");
|
|
||||||
Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, "cgui:bungee");
|
|
||||||
}
|
|
||||||
if (!Bukkit.getMessenger().isIncomingChannelRegistered(plugin, "cgui:onlinepl")) {
|
|
||||||
send.debug(plugin, "registerIncomingPluginChannel §ecgui:onlinepl");
|
|
||||||
Bukkit.getMessenger().registerIncomingPluginChannel(plugin, "cgui:onlinepl", new Bungee_Sender_Reciver());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (PluginCheck.papi()) {
|
|
||||||
new Placeholder().register();
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
LanguagesCreate.langCreate();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
Obj_Select.onSelect();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
CmdExecuter_GUITab.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info");
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
SelectMessages.onSelect(prefix);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
SelectConfig.sound(prefix);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
send.console(prefix + " §8-------------------------------");
|
|
||||||
loadStorage(prefix);
|
|
||||||
send.console(prefix + " §8-------------------------------");
|
|
||||||
|
|
||||||
if (Main.PaPi) {
|
|
||||||
send.console(prefix + " §2PlaceholderAPI successfully connected!");
|
|
||||||
} else {
|
|
||||||
send.console(prefix + " §4PlaceholderAPI could not be connected / found!");
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
Permissions.onPermRegister();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (SelectConfig.HelpAlias) {
|
|
||||||
Main.plugin.getCommand("commandguihelp").setExecutor(new CmdExecuter_Help());
|
|
||||||
send.debug(plugin, "CommandRegister: commandguihelp");
|
|
||||||
}
|
|
||||||
Main.plugin.getCommand("commandgui").setExecutor(new CmdExecuter_GUITab());
|
|
||||||
send.debug(plugin, "CommandRegister: commandgui");
|
|
||||||
Main.plugin.getCommand("commandgui-item").setExecutor(new CmdExecuter_GUIItem());
|
|
||||||
send.debug(plugin, "CommandRegister: commandgui-item");
|
|
||||||
|
|
||||||
try {
|
|
||||||
AliasRegister.onRegister();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
Bukkit.getServer().getPluginManager().registerEvents(new GUIListener(), plugin);
|
|
||||||
Bukkit.getServer().getPluginManager().registerEvents(new PluginEvent(), plugin);
|
|
||||||
|
|
||||||
Bukkit.getServer().getPluginManager().registerEvents(new Events(), Main.plugin);
|
|
||||||
|
|
||||||
if (!MCVersion.minecraft1_8 && !MCVersion.minecraft1_9) {
|
|
||||||
Bukkit.getServer().getPluginManager().registerEvents(new EventsFrom110(), plugin);
|
|
||||||
}
|
|
||||||
|
|
||||||
UpdateAPI.onUpdateCheck(plugin, prefix, spigot, spigotID, discord);
|
|
||||||
Metrics.Bstats();
|
|
||||||
Main.addonLoad();
|
|
||||||
T2CodeTemplate.onLoadFooter(prefix, long_);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void loadStorage(String prefix) {
|
|
||||||
try {
|
|
||||||
SelectDatabase.setStorage(StorageType.valueOf(SelectConfig.storage));
|
|
||||||
} catch (Exception ignored) {
|
|
||||||
send.error(Main.plugin, "The storage medium " + SelectConfig.storage + " is not supported!");
|
|
||||||
send.error(Main.plugin, "Storage medium " + StorageType.SQLITE + " is used.");
|
|
||||||
SelectDatabase.setStorage(StorageType.SQLITE);
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (SelectDatabase.getStorage()) {
|
|
||||||
case MYSQL:
|
|
||||||
send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used.");
|
|
||||||
MySQL.main();
|
|
||||||
try {
|
|
||||||
MySQL.query("CREATE TABLE IF NOT EXISTS `gui-item` (" +
|
|
||||||
" `UUID` VARCHAR(191) NOT NULL COLLATE 'utf8mb4_general_ci'," +
|
|
||||||
" `Name` TINYTEXT NOT NULL COLLATE 'utf8mb4_general_ci'," +
|
|
||||||
" `Status` INT(1) NOT NULL DEFAULT '1'," +
|
|
||||||
" `Slot` INT(1) NULL DEFAULT NULL," +
|
|
||||||
" UNIQUE INDEX `UUID` (`UUID`)" +
|
|
||||||
")" +
|
|
||||||
"COLLATE='utf8mb4_general_ci'" +
|
|
||||||
"ENGINE=InnoDB" +
|
|
||||||
";");
|
|
||||||
MySQL.query("ALTER TABLE `gui-item` ADD COLUMN IF NOT EXISTS `Slot` INT(1) NULL DEFAULT NULL AFTER `Status`;");
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case YML:
|
|
||||||
send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used.");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
case SQLITE:
|
|
||||||
send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used.");
|
|
||||||
try {
|
|
||||||
SQLITE.main();
|
|
||||||
SQLITE.query("CREATE TABLE IF NOT EXISTS `gui-item` (" +
|
|
||||||
"UUID TEXT NOT NULL," +
|
|
||||||
"Name TEXT NOT NULL," +
|
|
||||||
"Status INTEGER NOT NULL DEFAULT 1," +
|
|
||||||
"Slot INTEGER," +
|
|
||||||
"PRIMARY KEY(UUID)" +
|
|
||||||
");");
|
|
||||||
} catch (SQLException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,77 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.system;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
|
|
||||||
import net.t2code.lib.Spigot.Lib.register.Register;
|
|
||||||
import org.bukkit.permissions.PermissionDefault;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
|
|
||||||
public class Permissions {
|
|
||||||
private static final Plugin plugin = Main.plugin;
|
|
||||||
|
|
||||||
public static final String key = "commandgui.";
|
|
||||||
public static final String command = key + "command";
|
|
||||||
public static final String info = key + "command.info";
|
|
||||||
public static final String bypass = key + "bypass";
|
|
||||||
public static final String useitemToggle = key + "useitem.toggle";
|
|
||||||
public static final String useitem = key + "useitem";
|
|
||||||
public static final String getGuiItemAtLogin = key + "get.guiitem.at.login";
|
|
||||||
public static final String updatemsg = key + "updatemsgupdatemsg";
|
|
||||||
|
|
||||||
public static final String player = key + "player";
|
|
||||||
public static final String admin = key + "admin";
|
|
||||||
|
|
||||||
public static final PermissionDefault op = PermissionDefault.OP;
|
|
||||||
public static final PermissionDefault notOp = PermissionDefault.NOT_OP;
|
|
||||||
|
|
||||||
public static void onPermRegister() {
|
|
||||||
Register.permission(command, op, plugin);
|
|
||||||
Register.permissionDescription(command, "Required permission to open GUIs via command", plugin);
|
|
||||||
|
|
||||||
Register.permission(getGuiItemAtLogin, op, plugin);
|
|
||||||
Register.permissionDescription(getGuiItemAtLogin, "Only players with this permission will receive the GUI item", plugin);
|
|
||||||
|
|
||||||
Register.permission(useitem, op, plugin);
|
|
||||||
Register.permissionDescription(useitem, "Required permission to use the GUI Item", plugin);
|
|
||||||
|
|
||||||
Register.permission(useitemToggle, op, plugin);
|
|
||||||
Register.permissionDescription(useitemToggle, "Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true)", plugin);
|
|
||||||
|
|
||||||
Register.permission(updatemsg, op, plugin);
|
|
||||||
Register.permissionDescription(updatemsg, "Players with this permission get the update message when joining if an update is available", plugin);
|
|
||||||
|
|
||||||
Register.permission(bypass, op, plugin);
|
|
||||||
Register.permissionDescription(bypass, "Bypass to open disabled GUIs", plugin);
|
|
||||||
|
|
||||||
Register.permission(info, notOp, plugin);
|
|
||||||
Register.permissionDescription(info, "Permission to view CommandGUI info", plugin);
|
|
||||||
|
|
||||||
Register.permission(player, op, command, true, plugin);
|
|
||||||
Register.permission(player, op, getGuiItemAtLogin, true, plugin);
|
|
||||||
Register.permission(player, op, useitem, true, plugin);
|
|
||||||
Register.permission(player, op, useitemToggle, true, plugin);
|
|
||||||
Register.permissionDescription(player, "All permissions from CommandGUI for Player", plugin);
|
|
||||||
|
|
||||||
Register.permission(admin, op, command, true, plugin);
|
|
||||||
Register.permission(admin, op, getGuiItemAtLogin, true, plugin);
|
|
||||||
Register.permission(admin, op, useitem, true, plugin);
|
|
||||||
Register.permission(admin, op, useitemToggle, true, plugin);
|
|
||||||
Register.permission(admin, op, updatemsg, true, plugin);
|
|
||||||
Register.permission(admin, op, bypass, true, plugin);
|
|
||||||
Register.permission(admin, op, info, true, plugin);
|
|
||||||
Register.permissionDescription(admin, "All permissions from CommandGUI", plugin);
|
|
||||||
|
|
||||||
|
|
||||||
for (Gui gui : Main.guiHashMap.values()) {
|
|
||||||
Register.permission("commandgui.command." + gui.key, op, plugin);
|
|
||||||
Register.permission(admin, op, "commandgui.command." + gui.key, true, plugin);
|
|
||||||
for (Slot slot : gui.slots) {
|
|
||||||
Register.permission(slot.permissionToUse, op, plugin);
|
|
||||||
Register.permission(admin, op, slot.permissionToUse, true, plugin);
|
|
||||||
Register.permission(slot.permissionToSee, op, plugin);
|
|
||||||
Register.permission(admin, op, slot.permissionToSee, true, plugin);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
// This claas was created by JaTiTV
|
|
||||||
|
|
||||||
package de.jatitv.commandguiv2.Spigot.system;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
public class Placeholder extends PlaceholderExpansion {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getIdentifier() {
|
|
||||||
return "commandgui";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getAuthor() {
|
|
||||||
return Main.plugin.getDescription().getAuthors().toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getVersion() {
|
|
||||||
return Main.plugin.getDescription().getVersion();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canRegister() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean persist() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String onPlaceholderRequest(Player p, String params) {
|
|
||||||
if (params.contains("useitem_boolean")) {
|
|
||||||
return Events.useItemHashMap.get(p).toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (params.contains("useitem")) {
|
|
||||||
if (Events.useItemHashMap.get(p)) {
|
|
||||||
return SelectConfig.placeholderTrue;
|
|
||||||
} else return SelectConfig.placeholderFalse;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (params.contains("slot")){
|
|
||||||
return Events.useItemSlotHashMap.get(p).toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,149 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.system;
|
|
||||||
|
|
||||||
import com.mojang.authlib.GameProfile;
|
|
||||||
import com.mojang.authlib.properties.Property;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
|
||||||
import net.t2code.lib.Spigot.Lib.replace.Replace;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
|
||||||
import org.bukkit.inventory.meta.SkullMeta;
|
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
public class UseItem {
|
|
||||||
|
|
||||||
|
|
||||||
public static void giveUseItem(Player player) {
|
|
||||||
Integer slot;
|
|
||||||
if (protection(player, false)) return;
|
|
||||||
if (SelectConfig.UseItem_InventorySlotEnforce) {
|
|
||||||
slot = SelectConfig.UseItem_InventorySlot;
|
|
||||||
} else {
|
|
||||||
if (Events.useItemSlotHashMap.get(player) == null) {
|
|
||||||
slot = SelectConfig.UseItem_InventorySlot;
|
|
||||||
} else {
|
|
||||||
slot = Events.useItemSlotHashMap.get(player);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (SelectConfig.UseItem_InventorySlot_FreeSlot) {
|
|
||||||
player.getInventory().addItem(itemStack(player));
|
|
||||||
} else {
|
|
||||||
send.debug(Main.plugin, "setUseItem: " + player.getName() + " Slot: " + Integer.parseInt(String.valueOf(slot - 1)));
|
|
||||||
player.getInventory().setItem(slot - 1, itemStack(player));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void addUseItem(Player player) {
|
|
||||||
if (protection(player, false)) return;
|
|
||||||
if (SelectConfig.UseItem_InventorySlot_FreeSlot) {
|
|
||||||
player.getInventory().addItem(itemStack(player));
|
|
||||||
} else player.getInventory().addItem(itemStack(player));
|
|
||||||
}
|
|
||||||
|
|
||||||
private static ItemStack itemStack(Player player) {
|
|
||||||
ItemStack item = null;
|
|
||||||
if (SelectConfig.UseItem_PlayerHead_Enable) {
|
|
||||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
|
||||||
send.player(player, Main.prefix + "§c Playerheads for UseItem are only available from version §61.13§c!");
|
|
||||||
send.error(Main.plugin, "Playerheads for UseItem are only available from version 1.13!");
|
|
||||||
} else {
|
|
||||||
item = ItemVersion.getHeadIS();
|
|
||||||
SkullMeta playerheadmeta = (SkullMeta) item.getItemMeta();
|
|
||||||
playerheadmeta.setDisplayName(SelectConfig.UseItem_Name);
|
|
||||||
if (SelectConfig.UseItem_Base64_Enable) {
|
|
||||||
if (Main.PaPi) {
|
|
||||||
playerheadmeta.setLore(Replace.replace(Util.getPrefix(), player, SelectConfig.UseItem_Lore));
|
|
||||||
} else playerheadmeta.setLore(Replace.replace(Util.getPrefix(), SelectConfig.UseItem_Lore));
|
|
||||||
GameProfile profile = new GameProfile(UUID.randomUUID(), "");
|
|
||||||
profile.getProperties().put("textures", new Property("textures", SelectConfig.UseItem_Base64value));
|
|
||||||
Field profileField = null;
|
|
||||||
try {
|
|
||||||
profileField = playerheadmeta.getClass().getDeclaredField("profile");
|
|
||||||
profileField.setAccessible(true);
|
|
||||||
profileField.set(playerheadmeta, profile);
|
|
||||||
} catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
String p;
|
|
||||||
if (SelectConfig.UseItem_PlayerWhoHasOpenedTheGUI) {
|
|
||||||
p = player.getName();
|
|
||||||
} else p = SelectConfig.UseItem_PlayerName;
|
|
||||||
playerheadmeta.setOwner(p);
|
|
||||||
if (Main.PaPi) {
|
|
||||||
playerheadmeta.setLore(Replace.replace(Util.getPrefix(), player, SelectConfig.UseItem_Lore));
|
|
||||||
} else playerheadmeta.setLore(Replace.replace(Util.getPrefix(), SelectConfig.UseItem_Lore));
|
|
||||||
}
|
|
||||||
item.setItemMeta(playerheadmeta);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
item = new ItemStack(Material.valueOf(SelectConfig.UseItem_Material));
|
|
||||||
ItemMeta itemMeta = item.getItemMeta();
|
|
||||||
itemMeta.setDisplayName(SelectConfig.UseItem_Name);
|
|
||||||
if (Main.PaPi) {
|
|
||||||
itemMeta.setLore(Replace.replace(Util.getPrefix(), player, SelectConfig.UseItem_Lore));
|
|
||||||
} else itemMeta.setLore(Replace.replace(Util.getPrefix(), SelectConfig.UseItem_Lore));
|
|
||||||
item.setItemMeta(itemMeta);
|
|
||||||
item.setAmount(1);
|
|
||||||
}
|
|
||||||
return item;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean protection(Player player, Boolean interact) {
|
|
||||||
if (SelectConfig.UseItemGameModeProtection) {
|
|
||||||
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
|
|
||||||
if (interact) {
|
|
||||||
send.player(player, SelectMessages.UseItemDisabledInGameMode);
|
|
||||||
} else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
|
|
||||||
if (interact) {
|
|
||||||
send.player(player, SelectMessages.UseItemDisabledInGameMode);
|
|
||||||
} else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (SelectConfig.UseItemWorldProtection) {
|
|
||||||
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
|
|
||||||
if (interact) {
|
|
||||||
send.player(player, SelectMessages.UseItemDisabledInWorld);
|
|
||||||
} else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
|
|
||||||
if (interact) {
|
|
||||||
send.player(player, SelectMessages.UseItemDisabledInWorld);
|
|
||||||
} else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void removeItem(Player player) {
|
|
||||||
send.debug(Main.plugin, "World disabled: " + player.getName() + " " + player.getWorld().toString());
|
|
||||||
for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) {
|
|
||||||
ItemStack itm = player.getInventory().getItem(iam);
|
|
||||||
if (itm != null) {
|
|
||||||
if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) {
|
|
||||||
if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
|
||||||
player.getInventory().remove(itm);
|
|
||||||
player.updateInventory();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.system.database;
|
|
||||||
|
|
||||||
public enum StorageType {
|
|
||||||
MYSQL,
|
|
||||||
SQLITE,
|
|
||||||
YML
|
|
||||||
}
|
|
@ -1,39 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2;
|
|
||||||
|
|
||||||
public class Util {
|
|
||||||
private static Integer configVersion = 5;
|
|
||||||
private static double requiredT2CodeLibVersion = 10.3;
|
|
||||||
private static String Prefix = "§8[§4C§9GUI§8]";
|
|
||||||
private static Integer SpigotID = 90671;
|
|
||||||
private static Integer BstatsID = 10840;
|
|
||||||
private static String Spigot = "https://www.spigotmc.org/resources/" + SpigotID;
|
|
||||||
private static String Discord = "http://dc.t2code.net";
|
|
||||||
|
|
||||||
public static double getRequiredT2CodeLibVersion() {
|
|
||||||
return requiredT2CodeLibVersion;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getPrefix() {
|
|
||||||
return Prefix;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Integer getSpigotID() {
|
|
||||||
return SpigotID;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Integer getBstatsID() {
|
|
||||||
return BstatsID;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getSpigot() {
|
|
||||||
return Spigot;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getDiscord() {
|
|
||||||
return Discord;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Integer getConfigVersion() {
|
|
||||||
return configVersion;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,97 +0,0 @@
|
|||||||
package de.jatitv.commandguiv2.api;
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.ItemChange;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.Help;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.Permissions;
|
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
|
|
||||||
public class CGuiAPI {
|
|
||||||
public static Boolean JoinDisable = false;
|
|
||||||
|
|
||||||
public static void onItemChange(Player player) {
|
|
||||||
ItemChange.itemChange(player, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean hasUseItemInMainHand(Player player) {
|
|
||||||
ItemStack item = player.getInventory().getItemInMainHand();
|
|
||||||
return item.hasItemMeta() && item.getItemMeta().hasDisplayName()
|
|
||||||
&& item.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean hasUseItemInOffHand(Player player) {
|
|
||||||
ItemStack item = player.getInventory().getItemInOffHand();
|
|
||||||
return item.hasItemMeta() && item.getItemMeta().hasDisplayName()
|
|
||||||
&& item.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void onItemChange(Player player, Boolean setCursor) {
|
|
||||||
ItemChange.itemChange(player, setCursor);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void disableItemGiveOnJoin(Boolean disableItemGiveOnJoin) {
|
|
||||||
send.debug(Main.plugin, "CGuiAPI: " + disableItemGiveOnJoin);
|
|
||||||
JoinDisable = disableItemGiveOnJoin;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Boolean selectPlayerItemEnable(Player player) {
|
|
||||||
return Events.useItemHashMap.get(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Integer selectPlayerItemSlot(Player player) {
|
|
||||||
return Events.useItemSlotHashMap.get(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setPlayerItemEnable(Player player, Boolean value) {
|
|
||||||
if (value) {
|
|
||||||
SelectDatabase.setItemStatusTrue(player);
|
|
||||||
} else SelectDatabase.setItemStatusFalse(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setPlayerItemSlot(Player player, Integer value) {
|
|
||||||
SelectDatabase.setSlot(player, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void openDefaultGUI(Player player) {
|
|
||||||
Commands.gui(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void openGUI(Player player, String GUI_CommandName) {
|
|
||||||
Commands.gui(player, GUI_CommandName);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void sendHelp(CommandSender sender) {
|
|
||||||
Help.sendHelp(sender, Main.prefix);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void sendPluginInfo(CommandSender sender) {
|
|
||||||
if (sender.hasPermission(Permissions.info)) {
|
|
||||||
Commands.info(sender);
|
|
||||||
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
|
|
||||||
.replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.info));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void createDefaultGUI(CommandSender sender) {
|
|
||||||
if (sender.hasPermission(Permissions.admin)) {
|
|
||||||
CreateGUI.configCreate();
|
|
||||||
sender.sendMessage(SelectMessages.DefaultGUIcreate.replace("[directory]", Main.getPath() + "\\GUIs\\default.yml"));
|
|
||||||
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
|
|
||||||
.replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void reload(CommandSender sender) {
|
|
||||||
if (sender.hasPermission(Permissions.admin)) {
|
|
||||||
Commands.reload(sender);
|
|
||||||
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
|
|
||||||
.replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin));
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,148 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Function;
|
||||||
|
import net.t2code.commandguiv2.Spigot.system.Load;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Gui;
|
||||||
|
import net.t2code.commandguiv2.Spigot.database.MySQL;
|
||||||
|
import net.t2code.commandguiv2.Spigot.system.Plugman;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Template;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.plugins.T2C_PluginCheck;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
public final class Main extends JavaPlugin {
|
||||||
|
|
||||||
|
public static ArrayList<String> proxyJoinPlayers = new ArrayList<>();
|
||||||
|
|
||||||
|
public static File getPath() {
|
||||||
|
return plugin.getDataFolder();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Boolean enable = false;
|
||||||
|
public static Boolean legacy = false;
|
||||||
|
|
||||||
|
public static String version;
|
||||||
|
|
||||||
|
public static List<String> autor;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private static Main plugin;
|
||||||
|
|
||||||
|
public static Boolean PaPi = false;
|
||||||
|
public static Boolean PlotSquaredGUI = false;
|
||||||
|
public static Boolean LuckyBox = false;
|
||||||
|
public static Boolean PlugManGUI = false;
|
||||||
|
|
||||||
|
public static HashMap<String, Gui> guiHashMap = new HashMap<>();
|
||||||
|
public static ArrayList<String> allAliases = new ArrayList<>();
|
||||||
|
|
||||||
|
public static HashMap<String, Function> functionHashMap = new HashMap<>();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEnable() {
|
||||||
|
// Plugin startup logic
|
||||||
|
plugin = this;
|
||||||
|
autor = this.getDescription().getAuthors();
|
||||||
|
version = this.getDescription().getVersion();
|
||||||
|
if (pluginNotFound("T2CodeLib", 96388, Util.getRequiredT2CodeLibVersion())) return;
|
||||||
|
if (T2C_McVersion.isMc1_8() || T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12() || T2C_McVersion.isMc1_13() ||
|
||||||
|
T2C_McVersion.isMc1_14() || T2C_McVersion.isMc1_15() || T2C_McVersion.isNms1_16_R1()) {
|
||||||
|
legacy = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (T2C_PluginCheck.pluginCheck("CommandGUI")) {
|
||||||
|
T2C_Send.error( plugin, "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||||
|
T2C_Send.error( plugin,"");
|
||||||
|
T2C_Send.error( plugin,"An older version of the plugin T2C-CommandGUI was found!");
|
||||||
|
T2C_Send.error( plugin,"This plugin is now called T2C-CommandGUI and no longer CommandGUI!");
|
||||||
|
T2C_Send.error( plugin,"Please remove the older version (CommandGUI)!");
|
||||||
|
T2C_Send.error( plugin,this.getName() + " version: " + this.getDescription().getVersion() + " could not be loaded!");
|
||||||
|
T2C_Send.error( plugin,"");
|
||||||
|
T2C_Send.error( plugin,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||||
|
Main.plugin.getPluginLoader().disablePlugin(Main.plugin);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
|
||||||
|
if (T2C_PluginCheck.papi()) {
|
||||||
|
PaPi = true;
|
||||||
|
}
|
||||||
|
Load.onLoad(Util.getPrefix(), autor, version, Util.getSpigot(), Util.getSpigotID(), Util.getDiscord(), Util.getBstatsID());
|
||||||
|
enable = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void addonLoad() {
|
||||||
|
if (T2C_PluginCheck.plotSquaredGUI()) {
|
||||||
|
PlotSquaredGUI = true;
|
||||||
|
addonEnable(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("PlotSquaredGUI")));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (T2C_PluginCheck.luckyBox()) {
|
||||||
|
LuckyBox = true;
|
||||||
|
addonEnable(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("T2C-LuckyBox")));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (T2C_PluginCheck.plugManGUI()) {
|
||||||
|
PlugManGUI = true;
|
||||||
|
addonEnable(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("PlugManGUI")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void addonEnable(Plugin plugin) {
|
||||||
|
T2C_Send.console(Util.getPrefix() + " §aAddon for: §e" + plugin.getName() + "§7 - Version: " + plugin.getDescription().getVersion() + " §aloaded successfully!");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Boolean pluginNotFound(String pl, Integer spigotID, String ver) {
|
||||||
|
if (Bukkit.getPluginManager().getPlugin(pl) == null) {
|
||||||
|
plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!");
|
||||||
|
Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §e" + pl + " §4could not be found. Please download it here: "
|
||||||
|
+ "§6https://spigotmc.org/resources/" + pl + "." + spigotID + " §4to be able to use this plugin.");
|
||||||
|
Main.plugin.getPluginLoader().disablePlugin(Main.plugin);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
String plVer = Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(pl)).getDescription().getVersion();
|
||||||
|
if (ver.contains("_")) {
|
||||||
|
if (!plVer.equals(ver)) {
|
||||||
|
plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!");
|
||||||
|
Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §e" + pl + " §4is out of date! This plugin requires the version §2"
|
||||||
|
+ ver + " §4of §6" + pl + " §4Please use this version! Please download it here or contact us in Discord: §6https://spigotmc.org/resources/"
|
||||||
|
+ pl + "." + spigotID + " Or contact us in Discord: http://dc.t2code.net");
|
||||||
|
Main.plugin.getPluginLoader().disablePlugin(Main.plugin);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
String[] split = plVer.split("_");
|
||||||
|
if (Double.parseDouble(split[0]) < Double.parseDouble(ver)) {
|
||||||
|
plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!");
|
||||||
|
Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §e" + pl + " §4is out of date! This plugin requires at least version §2"
|
||||||
|
+ ver + " §4of §6" + pl + " §4Please update it here: §6https://spigotmc.org/resources/" + pl + "." + spigotID
|
||||||
|
+ " §4to use this version of " + plugin.getDescription().getName() + ".");
|
||||||
|
Main.plugin.getPluginLoader().disablePlugin(Main.plugin);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sendTryCatch(Class c, StackTraceElement line) {
|
||||||
|
T2C_Send.error(plugin,c.getName() + " Line: " + line.getLineNumber());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDisable() {
|
||||||
|
// Plugin shutdown logic
|
||||||
|
if (enable) T2C_Template.onDisable(Util.getPrefix(), plugin);
|
||||||
|
Plugman.unLoad();
|
||||||
|
MySQL.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,117 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.cmdManagement;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.gui.GuiFile;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.commands.T2C_Tab;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandExecutor;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.command.TabCompleter;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class CmdExecuter_GUI implements CommandExecutor, TabCompleter {
|
||||||
|
private static String prefix = Util.getPrefix();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
|
if (args.length == 0) {
|
||||||
|
if (!(sender instanceof Player)) {
|
||||||
|
sender.sendMessage(Languages.VALUES.OnlyForPlayer.getValue().toString());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Player player = (Player) sender;
|
||||||
|
Commands.gui(player);
|
||||||
|
} else {
|
||||||
|
if (args[0].equals(Config.VALUES.adminSubCommand.getValue().toString())) {
|
||||||
|
if (args.length == 1) {
|
||||||
|
Help.sendHelp(sender, prefix);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (args[1].toLowerCase()) {
|
||||||
|
case "info":
|
||||||
|
case "plugin":
|
||||||
|
case "pl":
|
||||||
|
case "version":
|
||||||
|
case "ver":
|
||||||
|
if (sender.hasPermission("commandgui.command.info")) {
|
||||||
|
Commands.info(sender);
|
||||||
|
} else sender.sendMessage(Languages.VALUES.NoPermissionForCommand.getValue().toString()
|
||||||
|
.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.command.info"));
|
||||||
|
break;
|
||||||
|
case "reload":
|
||||||
|
case "rl":
|
||||||
|
if (sender.hasPermission("commandgui.admin")) {
|
||||||
|
Commands.reload(sender);
|
||||||
|
} else sender.sendMessage(Languages.VALUES.NoPermissionForCommand.getValue().toString()
|
||||||
|
.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
|
||||||
|
break;
|
||||||
|
case "createdefaultgui":
|
||||||
|
if (sender.hasPermission("commandgui.admin")) {
|
||||||
|
GuiFile.createDefault(true);
|
||||||
|
sender.sendMessage(Languages.VALUES.DefaultGUIcreate.getValue().toString().replace("[directory]", Main.getPath() + "/GUIs/default.yml"));
|
||||||
|
} else sender.sendMessage(Languages.VALUES.NoPermissionForCommand.getValue().toString()
|
||||||
|
.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
|
||||||
|
break;
|
||||||
|
case "give":
|
||||||
|
if (args.length == 3) {
|
||||||
|
if (sender.hasPermission("commandgui.giveitem.other")) {
|
||||||
|
Player target = Bukkit.getPlayer(args[2]);
|
||||||
|
Commands.give(sender, target);
|
||||||
|
} else sender.sendMessage(Languages.VALUES.NoPermissionForCommand.getValue().toString().replace("[cmd]", "/commandgui give")
|
||||||
|
.replace("[perm]", "commandgui.command.give"));
|
||||||
|
} else Help.sendHelp(sender, prefix);
|
||||||
|
break;
|
||||||
|
case "help":
|
||||||
|
default:
|
||||||
|
Help.sendHelp(sender, prefix);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!args[0].equalsIgnoreCase("updateinfo")) {
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
Player player = (Player) sender;
|
||||||
|
Commands.gui(player, args[0]);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Help.sendHelp(sender, prefix);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//TabCompleter
|
||||||
|
|
||||||
|
public static HashMap<String, String> arg1 = new HashMap<String, String>();
|
||||||
|
|
||||||
|
private static HashMap<String, String> arg2 = new HashMap<String, String>() {{
|
||||||
|
put("reload", "commandgui.admin");
|
||||||
|
put("rl", "commandgui.admin");
|
||||||
|
put("createdefaultgui", "commandgui.admin");
|
||||||
|
put("give", "commandgui.giveitem.other");
|
||||||
|
put("info", "commandgui.command.info");
|
||||||
|
}};
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> onTabComplete(CommandSender sender, Command cmd, String s, String[] args) {
|
||||||
|
List<String> list = new ArrayList<>();
|
||||||
|
|
||||||
|
T2C_Tab.tab(list, sender, 0, args, arg1);
|
||||||
|
T2C_Tab.tab(list, sender, 0, Config.VALUES.adminSubCommand.getValue().toString(), 1, args, arg2);
|
||||||
|
T2C_Tab.tab(list, sender, 1, "give", 2, args, "commandgui.giveitem.other", true);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,9 +1,9 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.cmdManagement;
|
package net.t2code.commandguiv2.Spigot.cmdManagement;
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
import de.jatitv.commandguiv2.Util;
|
import net.t2code.commandguiv2.Util;
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -19,16 +19,16 @@ public class CmdExecuter_GUIItem implements CommandExecutor, TabCompleter {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
Player player = (Player) sender;
|
|
||||||
if (sender.hasPermission("commandgui.useitem.toggle")) {
|
if (sender.hasPermission("commandgui.useitem.toggle")) {
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
if (SelectConfig.UseItem_AllowToggle) {
|
if ((boolean)Config.VALUES.useItemAllowToggle.getValue()) {
|
||||||
Help.sendGUIItemHelp(sender, prefix);
|
Help.sendGUIItemHelp(sender);
|
||||||
} else send.sender(sender, "§4UseItem toggle is disabled!");// todo
|
} else T2C_Send.sender(sender, "§4UseItem toggle is disabled!");//todo in lang file
|
||||||
} else {
|
} else {
|
||||||
if (args.length == 1 || args.length == 2) {
|
if (args.length == 1 || args.length == 2) {
|
||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
if (SelectConfig.UseItem_AllowToggle) {
|
Player player = (Player) sender;
|
||||||
|
if ((boolean) Config.VALUES.useItemAllowToggle.getValue()) {
|
||||||
switch (args[0].toLowerCase()) {
|
switch (args[0].toLowerCase()) {
|
||||||
case "on":
|
case "on":
|
||||||
Commands.itemOn(player);
|
Commands.itemOn(player);
|
||||||
@ -41,21 +41,21 @@ public class CmdExecuter_GUIItem implements CommandExecutor, TabCompleter {
|
|||||||
try {
|
try {
|
||||||
Commands.onSetSlot(player, Integer.valueOf(args[1]));
|
Commands.onSetSlot(player, Integer.valueOf(args[1]));
|
||||||
} catch (Exception e5) {
|
} catch (Exception e5) {
|
||||||
send.player(player, SelectMessages.ItemSlot_wrongValue);
|
T2C_Send.player(player, Languages.VALUES.ItemSlot_wrongValue.getValue().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
} else send.player(player, "§4Use: §7/gui-item slot [slot]");
|
} else T2C_Send.player(player, "§4Use: §7/gui-item slot [slot]"); //todo in lang file
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
Help.sendHelp(player, prefix);
|
Help.sendHelp(player, prefix);
|
||||||
|
|
||||||
}
|
}
|
||||||
} else send.sender(sender, "§4UseItem toggle is disabled!");// todo
|
} else T2C_Send.sender(sender, "§4UseItem toggle is disabled!");//todo in lang file
|
||||||
} else sender.sendMessage(SelectMessages.OnlyForPlayer);
|
} else sender.sendMessage(Languages.VALUES.OnlyForPlayer.getValue().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else sender.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui-item")
|
} else sender.sendMessage(Languages.VALUES.NoPermissionForCommand.getValue().toString().replace("[cmd]", "/commandgui-item")
|
||||||
.replace("[perm]", "commandgui.useitem.toggle"));
|
.replace("[perm]", "commandgui.useitem.toggle"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -65,7 +65,7 @@ public class CmdExecuter_GUIItem implements CommandExecutor, TabCompleter {
|
|||||||
private static HashMap<String, String> arg1 = new HashMap<String, String>() {{
|
private static HashMap<String, String> arg1 = new HashMap<String, String>() {{
|
||||||
put("on", "commandgui.useitem.toggle");
|
put("on", "commandgui.useitem.toggle");
|
||||||
put("off", "commandgui.useitem.toggle");
|
put("off", "commandgui.useitem.toggle");
|
||||||
if (SelectConfig.UseItem_AllowSetSlot) {
|
if ((boolean)Config.VALUES.useItemAllowSetSlot.getValue()) {
|
||||||
put("slot", "commandgui.useitem.toggle");
|
put("slot", "commandgui.useitem.toggle");
|
||||||
}
|
}
|
||||||
}};
|
}};
|
||||||
@ -74,7 +74,7 @@ public class CmdExecuter_GUIItem implements CommandExecutor, TabCompleter {
|
|||||||
public List<String> onTabComplete(CommandSender sender, Command cmd, String s, String[] args) {
|
public List<String> onTabComplete(CommandSender sender, Command cmd, String s, String[] args) {
|
||||||
List<String> list = new ArrayList<>();
|
List<String> list = new ArrayList<>();
|
||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
if (SelectConfig.UseItem_AllowToggle) {
|
if ((boolean)Config.VALUES.useItemAllowToggle.getValue()) {
|
||||||
Player p = (Player) sender;
|
Player p = (Player) sender;
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
for (String command : arg1.keySet()) {
|
for (String command : arg1.keySet()) {
|
@ -1,6 +1,6 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.cmdManagement;
|
package net.t2code.commandguiv2.Spigot.cmdManagement;
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
import net.t2code.commandguiv2.Util;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
@ -0,0 +1,201 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.cmdManagement;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.functions.FunctionsFile;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.gui.GuiFile;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
|
import net.t2code.commandguiv2.Spigot.useItem.Events;
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Gui;
|
||||||
|
import net.t2code.commandguiv2.Spigot.cmdManagement.register.AliasRegister;
|
||||||
|
import net.t2code.commandguiv2.Spigot.gui.OpenGUI;
|
||||||
|
import net.t2code.commandguiv2.Spigot.useItem.UseItem;
|
||||||
|
import net.t2code.commandguiv2.Spigot.system.Permissions;
|
||||||
|
import net.t2code.commandguiv2.Spigot.database.SelectDatabase;
|
||||||
|
import net.t2code.commandguiv2.Spigot.sound.Sound;
|
||||||
|
import net.t2code.commandguiv2.Spigot.enums.SoundEnum;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Template;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class Commands {
|
||||||
|
public static void info(CommandSender sender) {
|
||||||
|
T2C_Template.sendInfo(sender, Main.getPlugin(), Util.getSpigotID(), Util.getDiscord(), Util.getInfoText());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void reload(CommandSender sender) {
|
||||||
|
Bukkit.getScheduler().runTaskAsynchronously(Main.getPlugin(), new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (sender instanceof Player) sender.sendMessage(Languages.VALUES.ReloadStart.getValue().toString());
|
||||||
|
T2C_Send.console(Util.getPrefix() + "§8-------------------------------");
|
||||||
|
T2C_Send.console(Util.getPrefix() + " §6Plugin reload...");
|
||||||
|
T2C_Send.console(Util.getPrefix() + "§8-------------------------------");
|
||||||
|
Config.set(true);
|
||||||
|
Main.getPlugin().reloadConfig();
|
||||||
|
|
||||||
|
CmdExecuter_GUI.arg1.clear();
|
||||||
|
CmdExecuter_GUI.arg1.put(Config.VALUES.adminSubCommand.getValue().toString(), "commandgui.admin;commandgui.giveitem.other;commandgui.command.info");
|
||||||
|
|
||||||
|
if (!Objects.equals(SelectDatabase.getStorage().toString(), Config.VALUES.storage.getValue().toString())) {
|
||||||
|
if (sender instanceof Player) T2C_Send.sender(sender, "You have changed the storage medium! To apply this change, you must restart the server!");
|
||||||
|
T2C_Send.warning(Main.getPlugin(), "You have changed the storage medium! To apply this change, you must restart the server!");
|
||||||
|
}
|
||||||
|
|
||||||
|
FunctionsFile.select(true);
|
||||||
|
GuiFile.set(true);
|
||||||
|
Languages.set(true);
|
||||||
|
Config.checkSounds();
|
||||||
|
|
||||||
|
try {
|
||||||
|
AliasRegister.onRegister(true);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
Permissions.onPermRegister();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (T2C_Main.isProxy()) {
|
||||||
|
Bukkit.getMessenger().registerOutgoingPluginChannel(Main.getPlugin(), "commandgui:bungee");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sender instanceof Player) sender.sendMessage(Languages.VALUES.ReloadEnd.getValue().toString());
|
||||||
|
T2C_Send.console(Util.getPrefix() + "§8-------------------------------");
|
||||||
|
T2C_Send.console(Util.getPrefix() + " §2Plugin successfully reloaded.");
|
||||||
|
T2C_Send.console(Util.getPrefix() + "§8-------------------------------");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void give(CommandSender sender, Player target) {
|
||||||
|
if (Bukkit.getPlayer(target.getName()) != null) {
|
||||||
|
UseItem.giveUseItem(target);
|
||||||
|
T2C_Send.sender(sender, Languages.VALUES.Give_Sender.getValue().toString().replace("[player]", target.getName()).replace("[item]", Config.VALUES.useItemName.getValue().toString()));
|
||||||
|
T2C_Send.player(target, Languages.VALUES.Give_Receiver.getValue().toString().replace("[sender]", sender.getName()).replace("[item]", Config.VALUES.useItemName.getValue().toString()));
|
||||||
|
Sound.play(target, SoundEnum.Give);
|
||||||
|
} else {
|
||||||
|
sender.sendMessage(Languages.VALUES.PlayerNotFond.getValue().toString().replace("[player]", target.getName()));
|
||||||
|
if (sender instanceof Player) Sound.play((Player) sender, SoundEnum.PlayerNotFound);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void itemOn(Player player) {
|
||||||
|
UseItem.removeItem(player);
|
||||||
|
Integer slot = null;
|
||||||
|
if ((boolean) Config.VALUES.useItemInventorySlotEnforce.getValue()) {
|
||||||
|
slot = (int) Config.VALUES.useItemInventorySlot.getValue();
|
||||||
|
} else {
|
||||||
|
slot = Events.useItemSlotHashMap.get(player.getName());
|
||||||
|
}
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), String.valueOf(slot));
|
||||||
|
if (player.getInventory().getItem(slot - 1) == null) {
|
||||||
|
SelectDatabase.setItemStatusTrue(player);
|
||||||
|
UseItem.giveUseItem(player);
|
||||||
|
} else {
|
||||||
|
boolean empty = false;
|
||||||
|
for (int i = 0; i < 9; i++) {
|
||||||
|
if (player.getInventory().getItem(i) == null) {
|
||||||
|
empty = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (empty) {
|
||||||
|
SelectDatabase.setItemStatusTrue(player);
|
||||||
|
UseItem.addUseItem(player);
|
||||||
|
T2C_Send.player(player, Languages.VALUES.ItemON);
|
||||||
|
} else {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.NoInventorySpace);
|
||||||
|
Sound.play(player, SoundEnum.NoInventorySpace);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void itemOff(Player player) {
|
||||||
|
SelectDatabase.setItemStatusFalse(player);
|
||||||
|
UseItem.removeItem(player);
|
||||||
|
T2C_Send.player(player, Languages.VALUES.ItemOFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void onSetSlot(Player player, Integer setSlot) {
|
||||||
|
if (!(boolean) Config.VALUES.useItemAllowSetSlot.getValue()) {
|
||||||
|
T2C_Send.player(player, Util.getPrefix() + " §4Function disabled");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (setSlot < 1) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.ItemSlot_wrongValue);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (setSlot > 9) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.ItemSlot_wrongValue);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Events.useItemHashMap.get(player.getName())) {
|
||||||
|
if (Objects.equals(Events.useItemSlotHashMap.get(player.getName()), setSlot)) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.ItemSlotAlreadySet.getValue().toString().replace("[slot]", setSlot.toString()));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((boolean) Config.VALUES.useItemInventorySlotEnforce.getValue() || player.getInventory().getItem(setSlot - 1) != null) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.ItemSlotNotEmpty.getValue().toString().replace("[slot]", setSlot.toString()));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
UseItem.removeItem(player);
|
||||||
|
SelectDatabase.setSlot(player, setSlot);
|
||||||
|
Events.useItemSlotHashMap.replace(player.getName(), setSlot);
|
||||||
|
|
||||||
|
if (Events.useItemHashMap.get(player.getName())) {
|
||||||
|
UseItem.giveUseItem(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
T2C_Send.player(player, Languages.VALUES.ItemSlot.getValue().toString().replace("[slot]", setSlot.toString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void gui(Player player) {
|
||||||
|
if (Main.guiHashMap.containsKey(Config.VALUES.defaultGUI.getValue().toString())) {
|
||||||
|
Gui gui = Main.guiHashMap.get(Config.VALUES.defaultGUI.getValue().toString());
|
||||||
|
if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
|
||||||
|
if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command") || player.hasPermission("commandgui.bypass")) {
|
||||||
|
OpenGUI.openGUI(player, Config.VALUES.defaultGUI.toString(), true);
|
||||||
|
} else T2C_Send.player(player, Languages.VALUES.NoPermissionForCommand.getValue().toString().replace("[cmd]", "/commandgui")
|
||||||
|
.replace("[perm]", "commandgui.command"));
|
||||||
|
} else T2C_Send.player(player, Languages.VALUES.GUIIsDisabled.getValue().toString().replace("[gui]", gui.guiName));
|
||||||
|
} else {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.guiNotFound.getValue().toString());
|
||||||
|
T2C_Send.error(Main.getPlugin(), "");
|
||||||
|
T2C_Send.console(Util.getPrefix()+ " <red>The gui <gold>[gui]</gold> that the player <gold>[player]</gold> wanted to open does not exist!".replace("[gui]", Config.VALUES.defaultGUI.getValue().toString()).replace("[player]", player.getName())); //todo in lang
|
||||||
|
T2C_Send.error(Main.getPlugin(), "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void gui(Player player, String arg) {
|
||||||
|
Gui gui = Main.guiHashMap.get(arg);
|
||||||
|
if (gui == null) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.guiNotFound.getValue().toString());
|
||||||
|
T2C_Send.error(Main.getPlugin(), "");
|
||||||
|
T2C_Send.console(Util.getPrefix()+ " <red>The gui <gold>[gui]</gold> that the player <gold>[player]</gold> wanted to open does not exist!".replace("[gui]", arg).replace("[player]", player.getName())); //todo in lang
|
||||||
|
T2C_Send.error(Main.getPlugin(), "");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
|
||||||
|
if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command." + gui.key) || player.hasPermission("commandgui.bypass")) {
|
||||||
|
OpenGUI.openGUI(player, arg, true);
|
||||||
|
} else T2C_Send.player(player, Languages.VALUES.NoPermissionForCommand.getValue().toString().replace("[cmd]", "/commandgui " + gui.key)
|
||||||
|
.replace("[perm]", "commandgui.command." + arg.toLowerCase()));
|
||||||
|
} else T2C_Send.player(player, Languages.VALUES.GUIIsDisabled.getValue().toString().replace("[gui]", gui.key));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,112 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.cmdManagement;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Gui;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Replace;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class Help {
|
||||||
|
private static final String prefix = Util.getPrefix();
|
||||||
|
|
||||||
|
public static void sendHelp(CommandSender sender, String Prefix) {
|
||||||
|
Gui gui = Main.guiHashMap.get(Config.VALUES.defaultGUI.getValue().toString());
|
||||||
|
|
||||||
|
T2C_Send.sender(sender, Prefix + " §8----- §4Command§9GUI §chelp §8-----");
|
||||||
|
cgui(sender, gui);
|
||||||
|
open(sender);
|
||||||
|
help(sender);
|
||||||
|
gUIItemHelp(sender);
|
||||||
|
info(sender);
|
||||||
|
give(sender);
|
||||||
|
createDefaultGUI(sender);
|
||||||
|
reload(sender);
|
||||||
|
T2C_Send.sender(sender, Prefix + " §8-------------------------");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static void cgui(CommandSender sender, Gui gui) {
|
||||||
|
if (!sender.hasPermission("commandgui.command")) return;
|
||||||
|
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
T2C_Send.player((Player) sender, prefix + " " + Languages.VALUES.PlayerHelpCgui.getValue().toString().replace("[gui]", T2C_Replace.replace(prefix, gui.guiName)));
|
||||||
|
} else T2C_Send.sender(sender, prefix + " " + Languages.VALUES.HelpCgui.getValue().toString().replace("[gui]", T2C_Replace.replace(prefix, gui.guiName)));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void open(CommandSender sender) {
|
||||||
|
if (!sender.hasPermission("commandgui.command")) return;
|
||||||
|
|
||||||
|
for (String alias : Main.allAliases) {
|
||||||
|
if (Main.guiHashMap.get(alias).guiEnable || sender.hasPermission("commandgui.bypass")) {
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
T2C_Send.player((Player) sender, prefix + " " + Languages.VALUES.PlayerHelpOpen.getValue().toString().replace("[gui]", alias).replace("[guiname]", T2C_Replace.replace(prefix, Main.guiHashMap.get(alias).guiName)));
|
||||||
|
} else
|
||||||
|
T2C_Send.sender(sender, prefix + " " + Languages.VALUES.HelpOpen.getValue().toString().replace("[gui]", alias).replace("[guiname]", T2C_Replace.replace(prefix, Main.guiHashMap.get(alias).guiName)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void help(CommandSender sender) {
|
||||||
|
if (!sender.hasPermission("commandgui.command")) return;
|
||||||
|
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
T2C_Send.player((Player) sender, prefix + " " + Languages.VALUES.PlayerHelpHelp);
|
||||||
|
} else T2C_Send.sender(sender, prefix + " " + Languages.VALUES.HelpHelp);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void info(CommandSender sender) {
|
||||||
|
if (!sender.hasPermission("commandgui.command.info")) return;
|
||||||
|
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
T2C_Send.player((Player) sender, prefix + " " + Languages.VALUES.PlayerHelpInfo);
|
||||||
|
} else T2C_Send.sender(sender, prefix + " " + Languages.VALUES.HelpInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void give(CommandSender sender) {
|
||||||
|
if (!sender.hasPermission("commandgui.admin")) return;
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
T2C_Send.player((Player) sender, prefix + " " + Languages.VALUES.PlayerHelpGive);
|
||||||
|
} else T2C_Send.sender(sender, prefix + " " + Languages.VALUES.HelpGive);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void createDefaultGUI(CommandSender sender) {
|
||||||
|
if (!sender.hasPermission("commandgui.admin")) return;
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
T2C_Send.player((Player) sender, prefix + " " + Languages.VALUES.PlayerHelpCreateDefaultGUI.getValue().toString().replace("[directory]", Main.getPath() + "\\GUIs\\default.yml"));
|
||||||
|
} else T2C_Send.sender(sender, prefix + " " + Languages.VALUES.HelpCreateDefaultGUI.getValue().toString().replace("[directory]", Main.getPath() + "\\GUIs\\default.yml"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void reload(CommandSender sender) {
|
||||||
|
if (!sender.hasPermission("commandgui.admin")) return;
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
T2C_Send.player((Player) sender, prefix + " " + Languages.VALUES.PlayerHelpReload);
|
||||||
|
} else T2C_Send.sender(sender, prefix + " " + Languages.VALUES.HelpReload);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void gUIItemHelp(CommandSender sender) {
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
T2C_Send.player((Player) sender, prefix + " " + Languages.VALUES.PlayerGUIItemHelp_on);
|
||||||
|
} else T2C_Send.sender(sender, prefix + " " + Languages.VALUES.GUIItemHelp_on);
|
||||||
|
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
T2C_Send.player((Player) sender, prefix + " " + Languages.VALUES.PlayerGUIItemHelp_off);
|
||||||
|
} else T2C_Send.sender(sender, prefix + " " + Languages.VALUES.GUIItemHelp_off);
|
||||||
|
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
T2C_Send.player((Player) sender, prefix + " " + Languages.VALUES.PlayerGUIItemHelp_Slot);
|
||||||
|
} else T2C_Send.sender(sender, prefix + " " + Languages.VALUES.GUIItemHelp_Slot);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sendGUIItemHelp(CommandSender sender) {
|
||||||
|
if (sender.hasPermission("commandgui.useitem.toggle")) {
|
||||||
|
T2C_Send.sender(sender, prefix + " §8------ §4Command§9GUI§2Item §chelp §8------");
|
||||||
|
gUIItemHelp(sender);
|
||||||
|
T2C_Send.sender(sender, prefix + " §8------------------------------");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,24 +1,23 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.cmdManagement.register;
|
package net.t2code.commandguiv2.Spigot.cmdManagement.register;
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
import de.jatitv.commandguiv2.Util;
|
import net.t2code.commandguiv2.Util;
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Template;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.CommandMap;
|
import org.bukkit.command.CommandMap;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
|
||||||
|
|
||||||
public class AliasRegister {
|
public class AliasRegister {
|
||||||
public static void onRegister() {
|
public static void onRegister(boolean isReload) {
|
||||||
Plugin plugin = Main.plugin;
|
Plugin plugin = Main.getPlugin();
|
||||||
send.debug(plugin, Bukkit.getServer().getClass().getPackage().getName());
|
T2C_Debug.debug(plugin, Bukkit.getServer().getClass().getPackage().getName());
|
||||||
File f = new File(Main.getPath() + "/GUIs/");
|
|
||||||
File[] fileArray = f.listFiles();
|
|
||||||
if (Main.allAliases.toString().equals("[]")) {
|
if (Main.allAliases.toString().equals("[]")) {
|
||||||
send.console(Util.getSpigot() + " §4No GUI files available");
|
T2C_Send.sendStartTextCenter(Util.getPrefix(),"§4No GUI files available",isReload);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (String alias : Main.allAliases) {
|
for (String alias : Main.allAliases) {
|
||||||
@ -26,15 +25,12 @@ public class AliasRegister {
|
|||||||
if (Main.guiHashMap.get(alias).commandAliasEnable) {
|
if (Main.guiHashMap.get(alias).commandAliasEnable) {
|
||||||
try {
|
try {
|
||||||
final Field bukkitCommandMap = Bukkit.getServer().getClass().getDeclaredField("commandMap");
|
final Field bukkitCommandMap = Bukkit.getServer().getClass().getDeclaredField("commandMap");
|
||||||
|
|
||||||
bukkitCommandMap.setAccessible(true);
|
bukkitCommandMap.setAccessible(true);
|
||||||
CommandMap commandMap = (CommandMap) bukkitCommandMap.get(Bukkit.getServer());
|
CommandMap commandMap = (CommandMap) bukkitCommandMap.get(Bukkit.getServer());
|
||||||
|
commandMap.register(Main.getPlugin().getName(), new RegisterCommand(alias));
|
||||||
commandMap.register(alias, new RegisterCommand(alias));
|
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
//Register.register(alias, plugin);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,16 +1,18 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.cmdManagement.register;
|
package net.t2code.commandguiv2.Spigot.cmdManagement.register;
|
||||||
|
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
|
import net.t2code.commandguiv2.Spigot.objects.Gui;
|
||||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
import net.t2code.commandguiv2.Spigot.gui.OpenGUI;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class RegisterCommand extends Command {
|
public class RegisterCommand extends Command {
|
||||||
private String alias;
|
private final String alias;
|
||||||
|
|
||||||
public RegisterCommand(String alias) {
|
public RegisterCommand(String alias) {
|
||||||
super(alias);
|
super(alias);
|
||||||
@ -18,7 +20,7 @@ public class RegisterCommand extends Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
|
public boolean execute(@NotNull CommandSender sender, @NotNull String commandLabel, String[] args) {
|
||||||
|
|
||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
Player player = (Player) sender;
|
Player player = (Player) sender;
|
||||||
@ -26,9 +28,9 @@ public class RegisterCommand extends Command {
|
|||||||
if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
|
if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
|
||||||
if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command." + alias) || player.hasPermission("commandgui.bypass")) {
|
if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command." + alias) || player.hasPermission("commandgui.bypass")) {
|
||||||
OpenGUI.openGUI(player, alias, true);
|
OpenGUI.openGUI(player, alias, true);
|
||||||
} else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + alias)
|
} else T2C_Send.player(player, Languages.VALUES.NoPermissionForCommand.getValue().toString().replace("[cmd]", "/commandgui " + alias)
|
||||||
.replace("[perm]", "commandgui.command." + alias));
|
.replace("[perm]", "commandgui.command." + alias));
|
||||||
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.guiName));
|
} else T2C_Send.player(player,Languages.VALUES.GUIIsDisabled.getValue().toString().replace("[gui]", gui.guiName));
|
||||||
} else sender.sendMessage("§8[§6Command§9GUI§8] §cThis command is only for players!");
|
} else sender.sendMessage("§8[§6Command§9GUI§8] §cThis command is only for players!");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
@ -0,0 +1,676 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.config.config;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.items.T2C_ItemVersion;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.yaml.T2C_ConfigWriter;
|
||||||
|
import net.t2code.t2codelib.util.T2C_ConfigItem;
|
||||||
|
import net.t2code.t2codelib.util.T2C_LanguageEnum;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Config {
|
||||||
|
|
||||||
|
public static enum VALUES implements T2C_ConfigItem {
|
||||||
|
|
||||||
|
debug("plugin.debug", false, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
updateCheckOnJoin("plugin.updateCheck.onJoin", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
updateCheckSeePreReleaseUpdates("plugin.updateCheck.seePreReleaseUpdates", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
updateCheckTimeInterval("plugin.updateCheck.timeInterval", 60, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
helpAlias("plugin.helpAlias", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
adminSubCommand("plugin.adminSubCommand", "admin", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
language("plugin.language", T2C_LanguageEnum.english, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
currency("plugin.currency", "$", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
defaultGUI("plugin.defaultGUI", "default", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
prefix("plugin.prefix", "&8[&4C&9GUI&8]", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
storage("storage.type", Main.legacy ? "YML" : "SQLITE", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("Speichermöglichkeiten: YML, SQLITE, MYSQL"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
mysqlIp("storage.mysql.ip", "localhost", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
mysqlPort("storage.mysql.port", 3306, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
mysqlDatabase("storage.mysql.database", "database", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
mysqlUser("storage.mysql.user", "user", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
mysqlPassword("storage.mysql.password", "password", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
mysqlSSL("storage.mysql.ssl", false, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
useItemEnable("useItem.enable", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
useItemAllowToggle("useItem.allowToggle", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
useItemAllowSetSlot("useItem.allowSetSlot", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
useItemBlockMoveAndDrop("useItem.blockMoveAndDrop", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
useItemOpenGUI("useItem.openGUI", "default", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
useItemPermissionNeeded("useItem.permission.neededToUse", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
useItemKeepAtCommandClear("useItem.keepAtCommandClear", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
|
||||||
|
useItemInventorySlot("useItem.inventorySlot.slot", 1, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
useItemInventorySlotEnforce("useItem.inventorySlot.slotEnforce", false, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
useItemInventorySlotFreeSlot("useItem.inventorySlot.freeSlot", false, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
useItemMaterial("useItem.item.material", "paper", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
useItemPlayerHeadEnable(isHead() ? "useItem.item.playerHead.enable" : null, false, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemBase64Enable(isHead() ? "useItem.item.playerHead.base64.enable" : null, false, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemBase64value(isHead() ? "useItem.item.playerHead.base64.base64value" : null, "", true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemPlayerWhoHasOpenedTheGUI(isHead() ? "useItem.item.playerHead.playerWhoHasOpenedTheGUI" : null, false, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemPlayerName(isHead() ? "useItem.item.playerHead.playerName" : null, "", true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemName("useItem.item.name", "&bDefault &6GUI", true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemLore("useItem.item.lore", List.of("&eThis is an example GUI"), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemGiveOnEveryJoin("useItem.Join.GiveOnEveryJoin", true, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemGiveOnlyOnFirstJoin("useItem.join.giveOnlyOnFirstJoin", false, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
cursorToGUIItemOnLogin("useItem.join.cursor.toGUIItem.onLogin.enable", true, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
cursorToGUIItemOnlyOnFirstLogin("useItem.join.cursor.toGUIItem.onlyOnFirstLogin", true, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
cursorUseItemServerChange("useItem.join.cursor.toGUIItem.onServerChange", false, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
toggleItemOnOrYesBase64("toggle.items.onOrYes.item.base64.enable", false, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
toggleItemOnOrYesBase64Value("toggle.items.onOrYes.item.base64.base64value", "", true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
toggleItemOnOrYesMaterial("toggle.items.onOrYes.item.material", Main.legacy ? "WOOL,5" : T2C_ItemVersion.getGreenWool().getType().toString(), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
toggleItemOffOrNoBase64("toggle.items.offOrNo.item.base64.enable", false, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
toggleItemOffOrNoBase64Value("toggle.items.offOrNo.item.base64.base64value", "", true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
toggleItemOffOrNoMaterial("toggle.items.offOrNo.item.material", Main.legacy ? "WOOL,14" : T2C_ItemVersion.getRedWool().getType().toString(), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
togglePermTrue("toggle.permission.commands.true", "luckperms user [player] permission set [perm] true", true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
togglePermFalse("toggle.permission.commands.false", "luckperms user [player] permission set [perm] false", true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
placeholderTrue("placeholder.true", "&2true", true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
placeholderFalse("placeholder.false", "&4false", true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
|
||||||
|
soundEnable("sound.enable", true, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
soundOpenInventoryEnable("sound.openInventory.enable", true, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
soundOpenInventory("sound.openInventory.sound", getSoundOpenInventory(), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
soundClickEnable("sound.click.enable", true, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
soundClick("sound.click.sound", getSoundClick(), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
soundNoMoneyEnable("sound.noMoney.enable", true, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
soundNoMoney("sound.noMoney.sound", getSoundNoMoney(), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
soundNoInventorySpaceEnable("sound.noInventorySpace.enable", true, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
soundNoInventorySpace("sound.noInventorySpace.sound", getSoundNoInventorySpace(), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
soundGiveEnable("sound.give.enable", true, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
soundGive("sound.give.sound", getSoundGive(), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
soundPlayerNotFoundEnable("sound.playerNotFound.enable", true, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
soundPlayerNotFound("sound.playerNotFound.sound", getSoundPlayerNotFound(), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
|
||||||
|
useItemGameModeChangeEnable("advanced.useItem.gameMode.change.enable", true, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemGameModeChangeDelayInTicks("advanced.useItem.gameMode.change.delayInTicks", 1, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemGameModeProtection("advanced.useItem.gameMode.protection.enable", false, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemGameModeRemoveItemWhenItIsDisabled("advanced.useItem.gameMode.protection.removeItemWhenItIsDisabled", false, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemGameModeMode("advanced.useItem.gameMode.protection.mode", "blacklist", true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
useItemGameModeList("advanced.useItem.gameMode.protection.list", List.of("CREATIVE", "SPECTATOR"), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
useItemWorldChangeEnable("advanced.useItem.world.change.enable", true, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemWorldChangeDelayInTicks("advanced.useItem.world.change.delayInTicks", 1, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemWorldProtection("advanced.useItem.world.protection.enable", false, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemWorldRemoveItemWhenItIsDisabled("advanced.useItem.world.protection.removeItemWhenItIsDisabled", false, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemWorldMode("advanced.useItem.world.protection.mode", List.of("CREATIVE", "Spectator"), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
useItemWorldList("advanced.useItem.world.protection.list", List.of("World1", "World2"), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
|
||||||
|
// if (yamlConfiguration.get("advanced.UseItem.DisableInfoBySneak") != null) {
|
||||||
|
// disableInfoBySneak = yamlConfiguration.getBoolean("advanced.UseItem.DisableInfoBySneak");
|
||||||
|
// }
|
||||||
|
disableInfoBySneak("advanced.useItem.disableInfoBySneak", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
useItemItemBlockBlacklist("advanced.useItem.itemBlockBlacklist", getItemBlockBlacklist(), true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
;
|
||||||
|
private final String path;
|
||||||
|
private Object value;
|
||||||
|
private final boolean forceSet;
|
||||||
|
private final HashMap<T2C_LanguageEnum, List<String>> comments;
|
||||||
|
|
||||||
|
VALUES(String path, Object value, boolean forceSet, HashMap<T2C_LanguageEnum, List<String>> comments) {
|
||||||
|
this.path = path;
|
||||||
|
this.value = value;
|
||||||
|
this.forceSet = forceSet;
|
||||||
|
this.comments = comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPath() {
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getForceSet() {
|
||||||
|
return forceSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HashMap<T2C_LanguageEnum, List<String>> getComments() {
|
||||||
|
return comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getLanguagePath() {
|
||||||
|
return language.path;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setValue(Object newValue) {
|
||||||
|
value = newValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void set(boolean isReload) {
|
||||||
|
T2C_ConfigWriter.createConfig(Util.getPrefix(), new File(Main.getPath(), "config.yml"), VALUES.values(), isReload, Util.getConfigLogo());
|
||||||
|
Util.replace(VALUES.prefix);
|
||||||
|
Util.replace(VALUES.useItemName);
|
||||||
|
Util.replace(VALUES.useItemLore);
|
||||||
|
Util.replace(VALUES.placeholderFalse);
|
||||||
|
Util.replace(VALUES.placeholderTrue);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isHead() {
|
||||||
|
if (!(T2C_McVersion.isMc1_8() || T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12())) {
|
||||||
|
return true;
|
||||||
|
} else return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getSoundOpenInventory() {
|
||||||
|
if (T2C_McVersion.isMc1_8()) {
|
||||||
|
return "CHEST_OPEN";
|
||||||
|
}
|
||||||
|
return "BLOCK_CHEST_OPEN";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getSoundClick() {
|
||||||
|
if (T2C_McVersion.isMc1_8()) {
|
||||||
|
return "NOTE_STICKS";
|
||||||
|
} else if (T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12()) {
|
||||||
|
return "BLOCK_NOTE_HAT";
|
||||||
|
}
|
||||||
|
return "BLOCK_NOTE_BLOCK_HAT";
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getSoundNoMoney() {
|
||||||
|
if (T2C_McVersion.isMc1_8()) {
|
||||||
|
return "NOTE_PIANO";
|
||||||
|
} else if (T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12()) {
|
||||||
|
return "BLOCK_NOTE_HARP";
|
||||||
|
}
|
||||||
|
return "BLOCK_NOTE_BLOCK_HARP";
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getSoundNoInventorySpace() {
|
||||||
|
if (T2C_McVersion.isMc1_8()) {
|
||||||
|
return "NOTE_PIANO";
|
||||||
|
} else if (T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12()) {
|
||||||
|
return "BLOCK_NOTE_BASS";
|
||||||
|
}
|
||||||
|
return "BLOCK_NOTE_BLOCK_GUITAR";
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getSoundGive() {
|
||||||
|
if (T2C_McVersion.isMc1_8()) {
|
||||||
|
return "LEVEL_UP";
|
||||||
|
}
|
||||||
|
return "ENTITY_PLAYER_LEVELUP";
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getSoundPlayerNotFound() {
|
||||||
|
if (T2C_McVersion.isMc1_8()) {
|
||||||
|
return "NOTE_PIANO";
|
||||||
|
} else if (T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12()) {
|
||||||
|
return "BLOCK_NOTE_HARP";
|
||||||
|
} else {
|
||||||
|
return "BLOCK_NOTE_BLOCK_HARP";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static List<String> getItemBlockBlacklist() {
|
||||||
|
List<String> materialList = Arrays.asList("BUTTON", "DOOR", "FENCE", "CHEST", "FURNACE", "NOTE_BLOCK", "CRAFTING_TABLE", "WORKBENCH",
|
||||||
|
"ANVIL", "LOOM", "COMPOSTER", "BARREL", "SMOKER", "BLAST_FURNACE", "CARTOGRAPHY_TABLE", "FLETCHING_TABLE", "GRINDSTONE",
|
||||||
|
"SMITHING_TABLE", "STONECUTTER", "HOPPER", "DISPENSER", "DROPPER", "REPEATER", "COMPARATOR", "LEVER", "DAYLIGHT_DETECTOR", "BREWING_STAND", "TRAPDOOR", "BEACON"
|
||||||
|
);
|
||||||
|
|
||||||
|
List<String> materialBlacklist = new ArrayList<>();
|
||||||
|
for (Material material : Material.values()) {
|
||||||
|
for (String target : materialList) {
|
||||||
|
if (material.toString().contains(target)) {
|
||||||
|
materialBlacklist.add(material.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return materialBlacklist;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkSounds() {
|
||||||
|
checkSound(VALUES.soundOpenInventory, getSoundOpenInventory());
|
||||||
|
checkSound(VALUES.soundClick, getSoundOpenInventory());
|
||||||
|
checkSound(VALUES.soundNoMoney, getSoundOpenInventory());
|
||||||
|
checkSound(VALUES.soundNoInventorySpace, getSoundOpenInventory());
|
||||||
|
checkSound(VALUES.soundGive, getSoundOpenInventory());
|
||||||
|
checkSound(VALUES.soundPlayerNotFound, getSoundOpenInventory());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkSound(VALUES item, String defaultSound) {
|
||||||
|
try {
|
||||||
|
item.setValue(Sound.valueOf(item.value.toString()).toString());
|
||||||
|
} catch (Exception e) {
|
||||||
|
T2C_Send.console("§4\n§4\n§4\n" + Languages.VALUES.SoundNotFound.getValue().toString().replace("[prefix]", Util.getPrefix())
|
||||||
|
.replace("[sound]", "§8" + item.getPath() + item.value.toString()) + "§4\n§4\n§4\n");
|
||||||
|
item.setValue(Sound.valueOf(defaultSound).toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,676 @@
|
|||||||
|
// This class was created by JaTiTV.
|
||||||
|
|
||||||
|
package net.t2code.commandguiv2.Spigot.config.functions;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.enums.EcoEnum;
|
||||||
|
import net.t2code.commandguiv2.Spigot.enums.FunctionItemEnum;
|
||||||
|
import net.t2code.commandguiv2.Spigot.enums.FunctionVoteEnum;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Function;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.yaml.T2C_ConfigWriter;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||||
|
import net.t2code.t2codelib.util.T2C_ConfigItem;
|
||||||
|
import net.t2code.t2codelib.util.T2C_LanguageEnum;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class FunctionsFile {
|
||||||
|
public enum VALUES implements T2C_ConfigItem {
|
||||||
|
empty("Slots.Function.Item.Empty", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
itemAmount("Slots.Function.Item.Amount", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
playerHeadEnable("Slots.Function.Item.PlayerHead.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
base64Enable("Slots.Function.Item.PlayerHead.Base64.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
base64Value("Slots.Function.Item.PlayerHead.Base64.Base64Value", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
playerWhoHasOpenedTheGUI("Slots.Function.Item.PlayerHead.PlayerWhoHasOpenedTheGUI", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
playerName("Slots.Function.Item.PlayerHead.PlayerName", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
itemMaterial("Slots.Function.Item.Material", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
name("Slots.Function.Item.Name", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
lore("Slots.Function.Item.Lore", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
noPermMessageEnable("Slots.Function.NoPermission.Message.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
customNoPermMessage("Slots.Function.NoPermission.Message.CustomNoPermMessage", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
noPermLoreEnable("Slots.Function.NoPermission.Item.Lore.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
noPermLore("Slots.Function.NoPermission.Item.Lore.Lore", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
customSoundEnable("Slots.Function.CustomSound.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
customSoundNoSound("Slots.Function.CustomSound.NoSound", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
customSoundSound("Slots.Function.CustomSound.Sound", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
costEnable("Slots.Function.Cost.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
ecoModule("Slots.Function.Cost.EcoModule", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
ecoItem("Slots.Function.Cost.Item", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
ecoVotePoints("Slots.Function.Cost.VotePoints", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
ecoPrice("Slots.Function.Cost.Price", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
commandEnable("Slots.Function.Command.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
commandBungeeCommand("Slots.Function.Command.BungeeCommand", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
commandAsConsole("Slots.Function.Command.CommandAsConsole", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
command("Slots.Function.Command.Command", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
serverChange("Slots.Function.ServerChange.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
serverChangeServer("Slots.Function.ServerChange.Server", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
openGUIEnable("Slots.Function.OpenGUI.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
openGUI("Slots.Function.OpenGUI.GUI", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
closeGUI("Slots.Function.CloseGUI.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
togglePermission("Slots.Function.Toggle.Permission.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
togglePermissionPerm("Slots.Function.Toggle.Permission.Permission", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
toggleUseItem("Slots.Function.Toggle.UseItem.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
messageEnable("Slots.Function.Message.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
message("Slots.Function.Message.Message", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
setConfigEnable("Slots.Function.SetConfig.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
configFilePath("Slots.Function.SetConfig.File.Path", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
configOptionPath("Slots.Function.SetConfig.Option.Path", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
configOptionPremat("Slots.Function.SetConfig.Option.Premat", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
|
||||||
|
configStringValueLeft("Slots.Function.SetConfig.Value.LeftClick.String", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
configBooleanValueLeft("Slots.Function.SetConfig.Value.LeftClick.Boolean", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
configIntegerValueLeft("Slots.Function.SetConfig.Value.LeftClick.Integer", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
configDoubleValueLeft("Slots.Function.SetConfig.Value.LeftClick.Double", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
configListValueLeft("Slots.Function.SetConfig.Value.LeftClick.List", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
configStringValueRight("Slots.Function.SetConfig.Value.RightClick.String", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
configBooleanValueRight("Slots.Function.SetConfig.Value.RightClick.Boolean", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
configIntegerValueRight("Slots.Function.SetConfig.Value.RightClick.Integer", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
configDoubleValueRight("Slots.Function.SetConfig.Value.RightClick.Double", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
configListValueRight("Slots.Function.SetConfig.Value.RightClick.List", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
|
||||||
|
pluginReloadEnable("Slots.Function.SetConfig.PluginReload.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
pluginReloadCommand("Slots.Function.SetConfig.PluginReload.Command", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
functionVotePoints("Slots.Function.FunctionVotePoints.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
|
||||||
|
functionVotePointsMode("Slots.Function.FunctionVotePoints.Mode", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
|
||||||
|
functionVotePointsAmount("Slots.Function.FunctionVotePoints.Amount", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
functionItem("Slots.Function.FunctionItem.Enable", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
|
||||||
|
functionItemMode("Slots.Function.FunctionItem.Mode", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
|
||||||
|
functionItemItem("Slots.Function.FunctionItem.Item", null, true,
|
||||||
|
new HashMap<>() {
|
||||||
|
{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
private final String path;
|
||||||
|
private Object value;
|
||||||
|
private final boolean forceSet;
|
||||||
|
private final HashMap<T2C_LanguageEnum, List<String>> comments;
|
||||||
|
|
||||||
|
VALUES(String path, Object value, boolean forceSet, HashMap<T2C_LanguageEnum, List<String>> comments) {
|
||||||
|
this.path = path;
|
||||||
|
this.value = value;
|
||||||
|
this.forceSet = forceSet;
|
||||||
|
this.comments = comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPath() {
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getForceSet() {
|
||||||
|
return forceSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HashMap<T2C_LanguageEnum, List<String>> getComments() {
|
||||||
|
return comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getLanguagePath() {
|
||||||
|
return Config.VALUES.language.getValue().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setValue(Object newValue) {
|
||||||
|
value = newValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void select(boolean isReload) {
|
||||||
|
Main.functionHashMap.clear();
|
||||||
|
File f = new File(Main.getPath() + "/Functions/");
|
||||||
|
File[] fileArray = f.listFiles();
|
||||||
|
|
||||||
|
assert fileArray != null;
|
||||||
|
for (File file : fileArray) {
|
||||||
|
String sub = file.getName().substring(file.getName().length() - 4);
|
||||||
|
if (sub.equals(".yml")) {
|
||||||
|
|
||||||
|
T2C_ConfigWriter.createConfig(Util.getPrefix(), file, VALUES.values(), isReload, Util.getConfigLogo());
|
||||||
|
|
||||||
|
EcoEnum ecoModule = null;
|
||||||
|
if (VALUES.ecoModule.value != null) {
|
||||||
|
try {
|
||||||
|
ecoModule = EcoEnum.valueOf(VALUES.ecoModule.value.toString().toUpperCase());
|
||||||
|
} catch (Exception ex) {
|
||||||
|
T2C_Send.error(Main.getPlugin(), "The EcoModule " + VALUES.ecoModule.value.toString().toUpperCase() + " in the function file "
|
||||||
|
+ file.getName() + " does not exist. Please use one of the supported modules. (VAULT, ITEM, VOTEPOINTS)");
|
||||||
|
}
|
||||||
|
} else ecoModule = EcoEnum.VAULT;
|
||||||
|
|
||||||
|
FunctionVoteEnum functionVotePointsMode = null;
|
||||||
|
if (VALUES.functionVotePointsMode.value != null) {
|
||||||
|
try {
|
||||||
|
functionVotePointsMode = FunctionVoteEnum.valueOf(VALUES.functionVotePointsMode.value.toString().toUpperCase());
|
||||||
|
} catch (Exception ex) {
|
||||||
|
T2C_Send.error(Main.getPlugin(), "The VotePoints Mode " + VALUES.functionVotePointsMode.value.toString().toUpperCase() + " in the function file "
|
||||||
|
+ file.getName() + " does not exist. Please use one of the supported modules. (ADD, REMOVE)");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FunctionItemEnum functionItemMode = null;
|
||||||
|
if (VALUES.functionItemMode.value != null) {
|
||||||
|
try {
|
||||||
|
functionItemMode = FunctionItemEnum.valueOf(VALUES.functionItemMode.value.toString().toUpperCase());
|
||||||
|
} catch (Exception ex) {
|
||||||
|
T2C_Send.error(Main.getPlugin(), "The Item Mode " + VALUES.functionItemMode.value.toString().toUpperCase() + " in the function file "
|
||||||
|
+ f.getName() + " does not exist. Please use one of the supported modules. (ADD, REMOVE)");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Util.replace(VALUES.name);
|
||||||
|
Util.replace(VALUES.lore);
|
||||||
|
Util.replace(VALUES.noPermLore);
|
||||||
|
Util.replace(VALUES.message);
|
||||||
|
|
||||||
|
String key = file.getName().replace(".yml", "");
|
||||||
|
Function function = new Function(key, (boolean) VALUES.empty.value, (int) VALUES.itemAmount.value, (boolean) VALUES.playerHeadEnable.value, (boolean) VALUES.base64Enable.value,
|
||||||
|
VALUES.base64Value.value.toString(), (boolean) VALUES.playerWhoHasOpenedTheGUI.value, VALUES.playerName.value.toString(), VALUES.itemMaterial.value.toString(),
|
||||||
|
VALUES.name.value.toString(), (List<String>) VALUES.lore.value, (boolean) VALUES.noPermMessageEnable.value, VALUES.customNoPermMessage.value.toString(),
|
||||||
|
(boolean) VALUES.noPermLoreEnable.value, (List<String>) VALUES.noPermLore.value, (boolean) VALUES.customSoundEnable.value, (boolean) VALUES.customSoundNoSound.value,
|
||||||
|
VALUES.customSoundSound.value.toString(), (boolean) VALUES.costEnable.value, ecoModule, VALUES.ecoItem.value.toString(),
|
||||||
|
(int) VALUES.ecoVotePoints.value, (double) VALUES.ecoPrice.value, (boolean) VALUES.commandEnable.value, (boolean) VALUES.commandBungeeCommand.value,
|
||||||
|
(boolean) VALUES.commandAsConsole.value, (List<String>) VALUES.command.value, (boolean) VALUES.serverChange.value, VALUES.serverChangeServer.value.toString(),
|
||||||
|
(boolean) VALUES.openGUIEnable.value, VALUES.openGUI.value.toString(), (boolean) VALUES.closeGUI.value, (boolean) VALUES.togglePermission.value,
|
||||||
|
VALUES.togglePermissionPerm.value.toString(), (boolean) VALUES.toggleUseItem.value, (boolean) VALUES.messageEnable.value, (List<String>) VALUES.message.value,
|
||||||
|
(boolean) VALUES.setConfigEnable.value, VALUES.configFilePath.value.toString(), VALUES.configOptionPath.value.toString(), VALUES.configOptionPremat.value.toString(),
|
||||||
|
VALUES.configStringValueLeft.value.toString(), (boolean) VALUES.configBooleanValueLeft.value, (int) VALUES.configIntegerValueLeft.value, (double) VALUES.configDoubleValueLeft.value,
|
||||||
|
(List<String>) VALUES.configListValueLeft.value, VALUES.configStringValueRight.value.toString(), (boolean) VALUES.configBooleanValueRight.value, (int) VALUES.configIntegerValueRight.value,
|
||||||
|
(double) VALUES.configDoubleValueRight.value, (List<String>) VALUES.configListValueRight.value, (boolean) VALUES.pluginReloadEnable.value, VALUES.pluginReloadCommand.value.toString(),
|
||||||
|
(boolean) VALUES.functionVotePoints.value, functionVotePointsMode, (int) VALUES.functionVotePointsAmount.value, (boolean) VALUES.functionItem.value,
|
||||||
|
functionItemMode, VALUES.functionItemItem.value.toString());
|
||||||
|
Main.functionHashMap.put(key, function);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void createDefault(boolean isReload) {
|
||||||
|
createFunction("useItem", isReload,false, 1, false, false, "", false, "", "",
|
||||||
|
"&6Toggle UseItem", List.of("&bYou currently have the UseItem set to: %commandgui_useitem%"), true, "", true,
|
||||||
|
List.of("&8-----------------", "&4No Permission for this Function", "&8-----------------"), false, false,
|
||||||
|
"", false, "VAULT", "DIRT;5", 0, 0.0, false, false, false, List.of(), false,
|
||||||
|
"", false, "", false, false, "", true, true,
|
||||||
|
List.of("&bYour UseItem was set to: %commandgui_useitem%&b."), false, "", "", "String",
|
||||||
|
"", false, 0, 0.0, List.of(), "", false,
|
||||||
|
0, 0.0, List.of(), false, "",
|
||||||
|
false, FunctionVoteEnum.ADD, 0, false, FunctionItemEnum.REMOVE, "DIRT;5");
|
||||||
|
|
||||||
|
|
||||||
|
List<String> dclist;
|
||||||
|
if (T2C_Main.getMmIsLoad()) {
|
||||||
|
dclist = List.of("<dark_gray>[<dark_red>T<gray>2</gray>Code</dark_red>]</dark_gray> <gold><hover:show_text:'<color:#7289da>http://dc.t2code.net</color>'><click:open_url:'http://dc.t2code.net'>You can find more information on Discord</click></hover></gold>");
|
||||||
|
} else dclist = List.of("&6You can find more information on Discord: &ehttp://dc.t2code.net");
|
||||||
|
|
||||||
|
|
||||||
|
createFunction("supportDiscord",isReload, false, 1, true, true, "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg3M2MxMmJmZmI1MjUxYTBiODhkNWFlNzVjNzI0N2NiMzlhNzVmZjFhODFjYmU0YzhhMzliMzExZGRlZGEifX19",
|
||||||
|
false, "", "",
|
||||||
|
"&3Support Discord", List.of("&8-----------------", "&bIf you need help setting up the plugin,", "&bfeel free to contact me on the Suport Discord.",
|
||||||
|
"&8-----------------", "&eIf you find any errors or bugs,", "&eplease contact me so I can fix them.", "&8-----------------", "&5Discord: §7http://dc.t2code.net"),
|
||||||
|
true, "", true, Arrays.asList("&8-----------------", "&4No Permission for this Function", "&8-----------------"),
|
||||||
|
false, false, "", false, "VAULT", "DIRT;5", 0, 0.0, false, false,
|
||||||
|
false, List.of(), false, "", false, "", false, false, "",
|
||||||
|
false, true, dclist, false, "",
|
||||||
|
"", "String", "", false, 0, 0.0, List.of(),
|
||||||
|
"", false, 0, 0.0, List.of(), false, "",
|
||||||
|
false, FunctionVoteEnum.ADD, 0, false, FunctionItemEnum.REMOVE, "DIRT;5");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void createFunction(String fileName, boolean isReload,Boolean empty, Integer itemAmount, Boolean playerHeadEnable, Boolean base64Enable, String base64Value, Boolean playerWhoHasOpenedTheGUI,
|
||||||
|
String playerName, String itemMaterial, String name, List<String> lore, Boolean noPermMessageEnable, String customNoPermMessage, Boolean noPermLoreEnable, List<String> noPermLore, Boolean customSoundEnable, Boolean customSoundNoSound, String customSoundSound,
|
||||||
|
Boolean costEnable, String ecoModule, String ecoItem, Integer ecoVotePoints, Double ecoPrice, Boolean commandEnable, Boolean commandBungeeCommand,
|
||||||
|
Boolean commandAsConsole, List<String> command, Boolean serverChange, String serverChangeServer, Boolean openGUIEnable, String openGUI, Boolean closeGUI,
|
||||||
|
Boolean togglePermission, String togglePermissionPerm, Boolean toggleUseItem, Boolean messageEnable, List<String> message, Boolean setConfigEnable,
|
||||||
|
String configFilePath, String configOptionPath, String configOptionPremat, String configStringValueLeft, Boolean configBooleanValueLeft,
|
||||||
|
Integer configIntegerValueLeft, Double configDoubleValueLeft, List<String> configListValueLeft, String configStringValueRight,
|
||||||
|
Boolean configBooleanValueRight, Integer configIntegerValueRight, Double configDoubleValueRight, List<String> configListValueRight,
|
||||||
|
Boolean pluginReloadEnable, String pluginReloadCommand, Boolean functionVotePoints, FunctionVoteEnum functionVotePointsMode,
|
||||||
|
Integer functionVotePointsAmount, Boolean functionItem, FunctionItemEnum functionItemMode, String functionItemItem) {
|
||||||
|
VALUES.empty.setValue(empty);
|
||||||
|
VALUES.itemAmount.setValue(itemAmount);
|
||||||
|
VALUES.playerHeadEnable.setValue(playerHeadEnable);
|
||||||
|
VALUES.base64Enable.setValue(base64Enable);
|
||||||
|
VALUES.base64Value.setValue(base64Value);
|
||||||
|
VALUES.playerWhoHasOpenedTheGUI.setValue(playerWhoHasOpenedTheGUI);
|
||||||
|
VALUES.playerName.setValue(playerName);
|
||||||
|
// }
|
||||||
|
VALUES.itemMaterial.setValue(itemMaterial == null ? "" : itemMaterial);
|
||||||
|
VALUES.name.setValue(name == null ? "" : name);
|
||||||
|
VALUES.lore.setValue(lore);
|
||||||
|
VALUES.noPermMessageEnable.setValue(noPermMessageEnable);
|
||||||
|
VALUES.customNoPermMessage.setValue(customNoPermMessage);
|
||||||
|
VALUES.noPermLoreEnable.setValue(noPermLoreEnable);
|
||||||
|
VALUES.noPermLore.setValue(noPermLore);
|
||||||
|
VALUES.customSoundEnable.setValue(customSoundEnable);
|
||||||
|
VALUES.customSoundNoSound.setValue(customSoundNoSound);
|
||||||
|
VALUES.customSoundSound.setValue(customSoundSound == null ? "" : customSoundSound);
|
||||||
|
VALUES.costEnable.setValue(costEnable);
|
||||||
|
VALUES.ecoModule.setValue(ecoModule);
|
||||||
|
VALUES.ecoItem.setValue(ecoItem);
|
||||||
|
VALUES.ecoVotePoints.setValue(ecoVotePoints);
|
||||||
|
VALUES.ecoPrice.setValue(ecoPrice);
|
||||||
|
VALUES.commandEnable.setValue(commandEnable);
|
||||||
|
VALUES.commandBungeeCommand.setValue(commandBungeeCommand);
|
||||||
|
VALUES.commandAsConsole.setValue(commandAsConsole);
|
||||||
|
VALUES.command.setValue(command);
|
||||||
|
VALUES.serverChange.setValue(serverChange);
|
||||||
|
VALUES.serverChangeServer.setValue(serverChangeServer == null ? "" : serverChangeServer);
|
||||||
|
VALUES.openGUIEnable.setValue(openGUIEnable);
|
||||||
|
VALUES.openGUI.setValue(openGUI == null ? "" : openGUI);
|
||||||
|
VALUES.closeGUI.setValue(closeGUI);
|
||||||
|
|
||||||
|
VALUES.togglePermission.setValue(togglePermission);
|
||||||
|
VALUES.togglePermissionPerm.setValue(togglePermissionPerm == null ? "" : togglePermissionPerm);
|
||||||
|
VALUES.toggleUseItem.setValue(toggleUseItem);
|
||||||
|
|
||||||
|
VALUES.messageEnable.setValue(messageEnable);
|
||||||
|
VALUES.message.setValue(message);
|
||||||
|
|
||||||
|
VALUES.setConfigEnable.setValue(setConfigEnable);
|
||||||
|
VALUES.configFilePath.setValue(configFilePath == null ? "" : configFilePath);
|
||||||
|
VALUES.configOptionPath.setValue(configOptionPath == null ? "" : configOptionPath);
|
||||||
|
VALUES.configOptionPremat.setValue(configOptionPremat == null ? "" : configOptionPremat);
|
||||||
|
VALUES.configStringValueLeft.setValue(configStringValueLeft == null ? "" : configStringValueLeft);
|
||||||
|
VALUES.configBooleanValueLeft.setValue(configBooleanValueLeft);
|
||||||
|
VALUES.configIntegerValueLeft.setValue(configIntegerValueLeft);
|
||||||
|
VALUES.configDoubleValueLeft.setValue(configDoubleValueLeft);
|
||||||
|
VALUES.configListValueLeft.setValue(configListValueLeft);
|
||||||
|
VALUES.configStringValueRight.setValue(configStringValueRight == null ? "" : configStringValueRight);
|
||||||
|
VALUES.configBooleanValueRight.setValue(configBooleanValueRight);
|
||||||
|
VALUES.configIntegerValueRight.setValue(configIntegerValueRight);
|
||||||
|
VALUES.configDoubleValueRight.setValue(configDoubleValueRight);
|
||||||
|
VALUES.configListValueRight.setValue(configListValueRight);
|
||||||
|
VALUES.pluginReloadEnable.setValue(pluginReloadEnable);
|
||||||
|
VALUES.pluginReloadCommand.setValue(pluginReloadCommand == null ? "" : pluginReloadCommand);
|
||||||
|
|
||||||
|
VALUES.functionVotePoints.setValue(functionVotePoints);
|
||||||
|
VALUES.functionVotePointsMode.setValue(functionVotePointsMode.toString());
|
||||||
|
VALUES.functionVotePointsAmount.setValue(functionVotePointsAmount);
|
||||||
|
|
||||||
|
VALUES.functionItem.setValue(functionItem);
|
||||||
|
VALUES.functionItemMode.setValue(functionItemMode.toString());
|
||||||
|
VALUES.functionItemItem.setValue(functionItemItem);
|
||||||
|
|
||||||
|
File file = new File(Main.getPath(), "Functions/" + fileName + ".yml");
|
||||||
|
int i = 1;
|
||||||
|
while (file.exists()) {
|
||||||
|
file = new File(Main.getPath(), "Functions/" + fileName + "-" + i + ".yml");
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
T2C_ConfigWriter.createConfig(Util.getPrefix(), file, VALUES.values(), isReload, Util.getConfigLogo());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,245 @@
|
|||||||
|
// This class was created by JaTiTV.
|
||||||
|
|
||||||
|
package net.t2code.commandguiv2.Spigot.config.gui;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUI;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Function;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Gui;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Slot;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.yaml.T2C_ConfigWriter;
|
||||||
|
import net.t2code.t2codelib.util.T2C_ConfigItem;
|
||||||
|
import net.t2code.t2codelib.util.T2C_LanguageEnum;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class GuiFile {
|
||||||
|
|
||||||
|
public enum VALUES implements T2C_ConfigItem {
|
||||||
|
|
||||||
|
guiEnable("GUI.Enable", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
guiLines("GUI.Lines", 1, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
guiName("GUI.Name", "&5default &9GUI", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
guiFillItemEnable("GUI.FillItem.Enable", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
guiFillItemItem(isGlassColor() ? "GUI.FillItem.GlassPaneColor" : "GUI.FillItem.Item", isGlassColor() ? 15 : "BLACK_STAINED_GLASS_PANE", true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
commandAliasEnable("Command.Alias", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
commandPermission("Command.Permission.Required", true, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
slotSection("Slots", null, true,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
slotDiscordNumber("Slots.SupportDiscord.Slot", 4, false,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
slotDiscordEnable("Slots.SupportDiscord.Enable", true, false,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
slotDiscordFunction("Slots.SupportDiscord.Function", "supportDiscord", false,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
slotDiscordPermRequired("Slots.SupportDiscord.Permission.Required", false, false,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
slotDiscordPermSee("Slots.SupportDiscord.Permission.See", "commandgui.gui.[function].slot.[slot].see", false,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
slotDiscordPermUse("Slots.SupportDiscord.Permission.Use", "commandgui.gui.[function].slot.[slot].use", false,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
slotUseItemNumber("Slots.UseItem.Slot", 6, false,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
slotUseItemEnable("Slots.UseItem.Enable", true, false,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
slotUseItemFunction("Slots.UseItem.Function", "useItem", false,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
slotUseItemPermRequired("Slots.UseItem.Permission.Required", false, false,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
slotUseItemPermSee("Slots.UseItem.Permission.See", "commandgui.gui.[function].slot.[slot].see", false,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
slotUseItemPermUse("Slots.UseItem.Permission.Use", "commandgui.gui.[function].slot.[slot].use", false,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
;
|
||||||
|
|
||||||
|
private final String path;
|
||||||
|
private Object value;
|
||||||
|
private final boolean forceSet;
|
||||||
|
private final HashMap<T2C_LanguageEnum, List<String>> comments;
|
||||||
|
|
||||||
|
VALUES(String path, Object value, boolean forceSet, HashMap<T2C_LanguageEnum, List<String>> comments) {
|
||||||
|
this.path = path;
|
||||||
|
this.value = value;
|
||||||
|
this.forceSet = forceSet;
|
||||||
|
this.comments = comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPath() {
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getForceSet() {
|
||||||
|
return forceSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HashMap<T2C_LanguageEnum, List<String>> getComments() {
|
||||||
|
return comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getLanguagePath() {
|
||||||
|
return Config.VALUES.language.getValue().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setValue(Object newValue) {
|
||||||
|
value = newValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isGlassColor() {
|
||||||
|
if (T2C_McVersion.isMc1_8() || T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void createDefault(boolean isReload) {
|
||||||
|
File file = new File(Main.getPath(), "GUIs/default.yml");
|
||||||
|
T2C_ConfigWriter.createConfig(Util.getPrefix(), file, VALUES.values(), isReload, Util.getConfigLogo());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void set(boolean isReload) {
|
||||||
|
Main.guiHashMap.clear();
|
||||||
|
Main.allAliases.clear();
|
||||||
|
File f = new File(Main.getPath() + "/GUIs/");
|
||||||
|
f.mkdirs();
|
||||||
|
File[] fileArray = f.listFiles();
|
||||||
|
|
||||||
|
for (File file : fileArray) {
|
||||||
|
String sub = file.getName().substring(file.getName().length() - 4);
|
||||||
|
if (sub.equals(".yml")) {
|
||||||
|
T2C_ConfigWriter.createConfig(Util.getPrefix(), file, VALUES.values(), isReload, Util.getConfigLogo());
|
||||||
|
String guiName = file.getName().replace(".yml", "");
|
||||||
|
Main.allAliases.add(guiName);
|
||||||
|
|
||||||
|
Util.replace(VALUES.guiName);
|
||||||
|
|
||||||
|
Gui gui = new Gui(
|
||||||
|
(boolean) VALUES.guiEnable.value,
|
||||||
|
(int) VALUES.guiLines.value,
|
||||||
|
VALUES.guiName.value.toString(),
|
||||||
|
(boolean) VALUES.guiFillItemEnable.value,
|
||||||
|
VALUES.guiFillItemItem.value.toString(),
|
||||||
|
guiName,
|
||||||
|
(boolean) VALUES.commandAliasEnable.value,
|
||||||
|
(boolean) VALUES.commandPermission.value,
|
||||||
|
getSlots(file, guiName));
|
||||||
|
Main.guiHashMap.put(guiName, gui);
|
||||||
|
CmdExecuter_GUI.arg1.put(file.getName()
|
||||||
|
.replace(".yml", ""), "commandgui.gui." + guiName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ArrayList<Slot> getSlots(File file, String guiName) {
|
||||||
|
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(file);
|
||||||
|
ArrayList<Slot> slots = new ArrayList<>();
|
||||||
|
for (String key : yamlConfiguration.getConfigurationSection(VALUES.slotSection.getPath()).getKeys(false)) {
|
||||||
|
int slotNumber = yamlConfiguration.getInt("Slots." + key + ".Slot") - 1;
|
||||||
|
Boolean enable = yamlConfiguration.getBoolean("Slots." + key + ".Enable");
|
||||||
|
String function = yamlConfiguration.getString("Slots." + key + ".Function");
|
||||||
|
Function functionCheck = Main.functionHashMap.get(function);
|
||||||
|
if (functionCheck == null) {
|
||||||
|
T2C_Send.error(Main.getPlugin(), "The Function " + function + " in the GUI " + guiName + " does not exist!");
|
||||||
|
}
|
||||||
|
Boolean permRequired = yamlConfiguration.getBoolean("Slots." + key + ".Permission.Required");
|
||||||
|
String permSee = yamlConfiguration.getString("Slots." + key + ".Permission.See");
|
||||||
|
String permUse = yamlConfiguration.getString("Slots." + key + ".Permission.Use");
|
||||||
|
|
||||||
|
Slot slot = new Slot(slotNumber, enable, function, permRequired,
|
||||||
|
permSee.replace("[function]", guiName).replace("[slot]", String.valueOf(slotNumber + 1))
|
||||||
|
.replace("[slotname]", key.toLowerCase()),
|
||||||
|
permUse.replace("[function]", guiName).replace("[slot]", String.valueOf(slotNumber + 1))
|
||||||
|
.replace("[slotname]", key.toLowerCase()));
|
||||||
|
slots.add(slot);
|
||||||
|
}
|
||||||
|
return slots;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,624 @@
|
|||||||
|
// This class was created by JaTiTV.
|
||||||
|
|
||||||
|
package net.t2code.commandguiv2.Spigot.config.languages;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Replace;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.yaml.T2C_LanguageWriter;
|
||||||
|
import net.t2code.t2codelib.util.T2C_ConfigItemLanguages;
|
||||||
|
import net.t2code.t2codelib.util.T2C_LanguageEnum;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
public class Languages {
|
||||||
|
public enum VALUES implements T2C_ConfigItemLanguages {
|
||||||
|
|
||||||
|
VaultNotSetUp("Plugin.VaultNotSetUp", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_red>Vault / Economy nicht eingerichtet!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_red>Vault / Economy not set up!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
SoundNotFound("Plugin.SoundNotFound", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_red>Der Sound <gold>[sound] <dark_red>wurde nicht gefunden! Bitte überprüfe die Einstellungen."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_red>The sound <gold>[sound] <dark_red>was not found! Please check the settings."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
OnlyForPlayer("Plugin.OnlyForPlayer", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Dieser Command ist nur für Spieler!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <red>This command is for players only!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
DefaultGUIcreate("Plugin.DefaultGUI.create", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_green>DefaultGUI wurde erstellt. Du findest sie im Verzeichnis: <yellow>[directory]<dark_green>!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>DefaultGUI was created. You can find it in the directory: <yellow>[directory]<dark_green>!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
ReloadStart("Plugin.Reload.Start", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <gold>Plugin wird neu geladen..."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <gold>Plugin is reloaded..."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
ReloadEnd("Plugin.Reload.End", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Du hast keine Permission für <dark_red>Command<blue>GUI<red>!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>Plugin was successfully reloaded."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
NoPermission("NoPermission.ForCommandGUI", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Du hast keine Permission für <dark_red>Command<blue>GUI<red>!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <red>You do not have permission for <dark_red>Command<blue>GUI<red>!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
NoPermissionForCommand("NoPermission.ForCommand", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Für <aqua>[cmd] <red>fehlt dir die Permission <gold>[perm]<red>!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <red>For <aqua>[cmd] <red>you lack the permission <gold>[perm]<red>!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
NoPermissionForUseItem("NoPermission.ForUseItem", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Dir fehlt die Permission <gold>[perm] <red>um das Item für die GUI: <gold>[gui] <red>nutzen zu können."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <red>You lack the permission <gold>[perm] <red>to use the item for the GUI: <gold>[gui]."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
NoPermissionForItem("NoPermission.ForItem", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Für <aqua>[item] <red>fehlt dir die Permission <gold>[perm]<red>!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <red>For <aqua>[item] <red>you lack the permission <gold>[perm]<red>!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
ItemON("UseItem.UseItem_ON", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_green>Du hast das GUI-Item aktiviert."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>You have activated the GUI item."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
ItemOFF("UseItem.UseItem_OFF", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_green>Du hast das GUI-Item deaktiviert."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>You have disabled the GUI item."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
ItemSlot("UseItem.Change_Slot", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_green>Du hast das GUI-Item auf Slot <gold>[slot] <dark_green>umgestellt."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>You have changed the GUI item to slot: <gold>[slot]<dark_green>."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
ItemSlotNotEmpty("UseItem.SlotNotEmpty", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <gold>Der Slot §e[slot] §6ist derzeit belegt!."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <gold>The slot <yellow>[slot] <gold>is currently occupied!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
ItemSlotAlreadySet("UseItem.SlotAlreadySet", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <gold>Der Slot §e[slot] §6ist bereits eingestellt!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <gold>The slot §e[slot] §6is already set!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
ItemSlot_wrongValue("UseItem.ItemSlot_wrongValue", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Der angegebene Slot muss sich zwischen 1 und 9 befinden!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <red>The specified slot must be between 1 and 9!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
UseItemDisabledInGameMode("UseItem.DisabledInGameMode", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Das UseItem ist in diesem GameMode deaktiviert!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <red>The UseItem is disabled in this GameMode!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
UseItemDisabledInWorld("UseItem.DisabledInWorld", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Das UseItem ist in dieser Welt deaktiviert!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <red>The UseItem is disabled in this World!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
Buy_msg("Cost.Buy_msg", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_green>Du hast dir [itemname] <dark_green>für <gold>[price] <dark_green>gekauft."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>You bought [itemname] <dark_green>for <gold>[price]<dark_green>."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
noMoney("Cost.noMoney", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<red>Du benötigst [price].'>[prefix] <red>Du hast nicht genügend Geld!</hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<red>You need: <gold>[price]<red>.'>[prefix] <red>You don't have enough money!</hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
noMoneyItem("Cost.noItem", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<red>Du benötigst: <gold>[amount]<red>.'>[prefix] <red>Du hast nicht genügend Items von <gold>[item] <red>im Inventar!</hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<red>You need: <gold>[amount]<red>.'>[prefix] <red>You don't have enough items of <gold>[item] <red>in your inventory!</hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
noMoneyVote("Cost.noVote", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<red>Du benötigst: <gold>[amount]<red>.'>[prefix] <red>Du hast nicht genügend Vote Punkte!</hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<red>You need: <gold>[amount]<red>.'>[prefix] <red>You do not have enough vote points!</hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
NoInventorySpace("Cost.NoInventorySpace", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Du hast keinen Platz in deinem Inventar!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <red>You have no room in your inventory!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
onServerChange("ServerChange.onServerChange", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_green>Du wirst auf den Server §e[server] §2verbunden."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>You will be connected to the server <yellow>[server]§2."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
guiNotFound("GUI.GUInotFound", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Die von die gew[ae]hlte GUI gibt es nicht."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <red>The GUI chosen by the does not exist."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
GUIIsDisabled("GUI.GUIisDisabled", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Die GUI [gui] <red>ist derzeit Deaktiviert!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <red>The GUI [gui] <red>is currently Disabled!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
Give_Sender("Give.Sender", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_green>Du hast <gold>[player] <dark_green>ein [item] <dark_green>gegeben!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>You have given <gold>[player] <dark_green>an [item] <dark_green>!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
Give_Receiver("Give.Receiver", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_green>Du hast von <gold>[sender] <dark_green>, [item] <dark_green>bekommen!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>You got <dark_green>, [item] <dark_green>from <gold>[sender]!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
PlayerNotFond("Player.PlayerNotFond", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <red>Der Spieler <gold>[player] <red>wurde nicht gefunden oder ist nicht Online!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <red>The player <gold>[player] <red>was not found or is not online!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
PlayerNoInventorySpace("Player.PlayerNoInventorySpace", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <gold>[player] <red>hat keinen freien Platz in seinem Inventar!"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <gold>[player] <red>has no free space in his inventory!"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
functionItemAdd("FunctionItem.Add", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_green>Dir wurden <gold>[amount] [item] <dark_green>in dein Inventar gelegt."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>You have <gold>[amount] [item] <dark_green>placed in your inventory."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
functionItemRemove("FunctionItem.Remove", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_green>Dir wurden <gold>[amount] [item] <dark_green>entfernt."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>You have been <gold>[amount] [item] <dark_green>removed."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
functionItemRemoveError("FunctionItem.RemoveError", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<red>Du benötigst <gold>[amount] [item]<red>!'>[prefix] <red>Du hast nicht so viele Items!</hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<red>You need <gold>[amount] [item]<red>!'>[prefix] <red>You don't have so many items!</hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
functionVoteAdd("FunctionVote.Add", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_green>Dir wurden <gold>[amount] <dark_green>Vote Punkte gegeben."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>You were given <gold>[amount] <dark_green>Vote points."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
functionVoteRemove("FunctionVote.Remove", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("[prefix] <dark_green>Dir wurden <gold>[amount] <dark_green>Vote Punkte entfernt."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("[prefix] <dark_green>You have been removed <gold>[amount] <dark_green>Vote points."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
functionVoteRemoveError("FunctionVote.RemoveError", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<red>Du benötigst <gold>[amount]<red>!'>[prefix] <red>Du hast nicht so viele VotePunkte!</hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<red>You need <gold>[amount]<red>!'>[prefix] <red>You don't have so many VotePoints!</hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
HelpCgui("Help.CGUI", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<dark_gray>''<aqua>/commandgui <dark_gray>| <aqua>/cgui<dark_gray>'' <yellow>Öffne die default GUI <gray>(<yellow>[gui]<gray>)<yellow>."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<dark_gray>''<aqua>/commandgui <dark_gray>| <aqua>/cgui<dark_gray>'' <yellow>Open the default GUI <gray>(<yellow>[gui]<gray>)<yellow>."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
HelpHelp("Help.Help", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<dark_gray>''<aqua>/commandguihelp<dark_gray>'' <yellow>Öffne diese help."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<dark_gray>''<aqua>/commandguihelp<dark_gray>'' <yellow>Open this help."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
HelpInfo("Help.Info", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<dark_gray>''<aqua>/commandgui admin info<dark_gray>'' <yellow>Rufe die Infos von <dark_red>Command<blue>GUI <yellow>auf."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<dark_gray>''<aqua>/commandgui admin info<dark_gray>'' <yellow>Call the info from <dark_red>Command<blue>GUI <yellow>."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
HelpOpen("Help.Open", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<dark_gray>''<aqua>/commandgui [gui]<dark_gray>'' <yellow>Öffne die GUI: <gold>[guiname]<yellow>."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<dark_gray>''<aqua>/commandgui [gui]<dark_gray>'' <yellow>Open the GUI: <gold>[guiname]<yellow>."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
HelpGive("Help.Give", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<dark_gray>''<aqua>/commandgui admin give <gray><player><dark_gray>'' <yellow>Gebe einem Spieler das GUI-Item."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<dark_gray>''<aqua>/commandgui admin give <gray><player><dark_gray>'' <yellow>Give a player the GUI item."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
HelpCreateDefaultGUI("Help.CreateDefaultGUI", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<dark_gray>''<aqua>/commandgui admin createdefaultgui<dark_gray>'' <yellow>Lasse eine default GUI erstellen <gray>([directory])<yellow>."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<dark_gray>''<aqua>/commandgui admin createdefaultgui<dark_gray>'' <yellow>Create a default GUI <gray>([directory])<yellow>."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
HelpReload("Help.Reload", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<dark_gray>''<aqua>/commandgui admin reload<dark_gray>'' <yellow>Lade das Plugin neu."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<dark_gray>''<aqua>/commandgui admin reload<dark_gray>'' <yellow>Reload the plugin."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
GUIItemHelp_on("Help.UseItem_On", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<dark_gray>''<aqua>/gui-item on<dark_gray>'' <yellow>Aktiviere für dich das GUIItem."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<dark_gray>''<aqua>/gui-item on<dark_gray>'' <yellow>Activate the GUIItem for you."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
GUIItemHelp_off("Help.UseItem_Off", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<dark_gray>''<aqua>/gui-item off<dark_gray>'' <yellow>Deaktiviere für dich das GUIItem."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<dark_gray>''<aqua>/gui-item off<dark_gray>'' <yellow>Disable the GUIItem for yourself."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
GUIItemHelp_Slot("Help.UseItem_Slot", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<dark_gray>''<aqua>/gui-item slot <gray><slot><dark_gray>'' <yellow>Stelle den Slot ein, auf den du das GUIItem haben möchtest."));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<dark_gray>''<aqua>/gui-item slot <gray><slot><dark_gray>'' <yellow>Set the slot where you want to have the GUIItem."));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
PlayerHelpCgui("Help.Player.CGUI", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<yellow>Öffne die default GUI <gray>(<yellow>[gui]<gray>)<yellow>.'><click:suggest_command:'/commandgui'><aqua>/commandgui <dark_gray>| <aqua>/cgui</click></hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<yellow>Open the default GUI <gray>(<yellow>[gui]<gray>)<yellow>.'><click:suggest_command:'/commandgui'><aqua>/commandgui <dark_gray>| <aqua>/cgui</click></hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
PlayerHelpHelp("Help.Player.Help", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<yellow>Öffne die GUI: <gold>[guiname]<yellow>.'><click:suggest_command:'/commandgui'><aqua>/commandgui [gui]</click></hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<yellow>Open the GUI: <gold>[guiname]<yellow>.'><click:suggest_command:'/commandgui'><aqua>/commandgui [gui]</click></hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
PlayerHelpInfo("Help.Player.Info", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<yellow>Öffne diese help.'><click:suggest_command:'/commandguihelp'><aqua>/commandguihelp</click></hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<yellow>Open this help.'><click:suggest_command:'/commandguihelp'><aqua>/commandguihelp</click></hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
PlayerHelpOpen("Help.Player.Open", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<yellow>Rufe die Infos von <dark_red>Command<blue>GUI <yellow>auf.'><click:suggest_command:'/commandgui admin info'><aqua>/commandgui admin info</click></hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<yellow>Call the info from <dark_red>Command<blue>GUI <yellow>'><click:suggest_command:'/commandgui admin info'><aqua>/commandgui admin info</click></hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
PlayerHelpGive("Help.Player.Give", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<yellow>Gebe einem Spieler das GUI-Item.'><click:suggest_command:'/commandgui admin give'><aqua>/commandgui admin give <gray><player></click></hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<yellow>Give a player the GUI item.'><click:suggest_command:'/commandgui admin give'><aqua>/commandgui admin give <gray><player></click></hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
PlayerHelpCreateDefaultGUI("Help.Player.CreateDefaultGUI", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<yellow>Lasse eine default GUI erstellen <gray>([directory])<yellow>.'><click:suggest_command:'/commandgui admin createdefaultgui'><aqua>/commandgui admin createdefaultgui</click></hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<yellow>Create a default GUI <gray>([directory])<yellow>.'><click:suggest_command:'/commandgui admin createdefaultgui'><aqua>/commandgui admin createdefaultgui</click></hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
PlayerHelpReload("Help.Player.Reload", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<yellow>Lade das Plugin neu.'><click:suggest_command:'/commandgui admin reload'><aqua>/commandgui admin reload</click></hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<yellow>Reload the plugin.'><click:suggest_command:'/commandgui admin reload'><aqua>/commandgui admin reload</click></hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
PlayerGUIItemHelp_on("Help.Player.UseItem_On", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<yellow>Aktiviere für dich das GUIItem.'><click:suggest_command:'/gui-item on'><aqua>/gui-item on</click></hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<yellow>Activate the GUIItem for you.'><click:suggest_command:'/gui-item on'><aqua>/gui-item on</click></hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
PlayerGUIItemHelp_off("Help.Player.UseItem_Off", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<yellow>Deaktiviere für dich das GUIItem.'><click:suggest_command:'/gui-item off'><aqua>/gui-item off</click></hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<yellow>Disable the GUIItem for yourself.'><click:suggest_command:'/gui-item off'><aqua>/gui-item off</click></hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
|
||||||
|
PlayerGUIItemHelp_Slot("Help.Player.UseItem_Slot", null,
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of("<hover:show_text:'<yellow>Stelle den Slot ein, auf den du das GUIItem haben möchtest.'><click:suggest_command:'/gui-item slot'><aqua>/gui-item slot <gray><slot></click></hover>"));
|
||||||
|
put(T2C_LanguageEnum.english, List.of("<hover:show_text:'<yellow>Set the slot where you want to have the GUIItem.'><click:suggest_command:'/gui-item slot'><aqua>/gui-item slot <gray><slot></click></hover>"));
|
||||||
|
}},
|
||||||
|
new HashMap<>() {{
|
||||||
|
put(T2C_LanguageEnum.german, List.of());
|
||||||
|
put(T2C_LanguageEnum.english, List.of());
|
||||||
|
}}),
|
||||||
|
;
|
||||||
|
|
||||||
|
private final String path;
|
||||||
|
private Object value;
|
||||||
|
private final HashMap<T2C_LanguageEnum, List<String>> lang;
|
||||||
|
private final HashMap<T2C_LanguageEnum, List<String>> comments;
|
||||||
|
|
||||||
|
VALUES(String path, Object value, HashMap<T2C_LanguageEnum, List<String>> lang, HashMap<T2C_LanguageEnum, List<String>> comments) {
|
||||||
|
this.path = path;
|
||||||
|
this.value = value;
|
||||||
|
this.lang = lang;
|
||||||
|
this.comments = comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPath() {
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getValue() {
|
||||||
|
if (value == null) {
|
||||||
|
return lang.get(T2C_LanguageEnum.english);
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HashMap<T2C_LanguageEnum, List<String>> getLanguage() {
|
||||||
|
return lang;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HashMap<T2C_LanguageEnum, List<String>> getComments() {
|
||||||
|
return comments;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setValue(Object newValue) {
|
||||||
|
value = T2C_Replace.replace(Config.VALUES.prefix.getValue().toString(), newValue.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void set(boolean isReload) {
|
||||||
|
T2C_LanguageWriter.createConfig(Util.getPrefix(), Main.getPath(), VALUES.values(), Config.VALUES.language.getValue().toString(), isReload, Util.getConfigLogo());
|
||||||
|
}
|
||||||
|
}
|
@ -1,9 +1,12 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.system.database;
|
package net.t2code.commandguiv2.Spigot.database;
|
||||||
|
|
||||||
import com.zaxxer.hikari.HikariConfig;
|
import com.zaxxer.hikari.HikariConfig;
|
||||||
import com.zaxxer.hikari.HikariDataSource;
|
import com.zaxxer.hikari.HikariDataSource;
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
@ -12,13 +15,7 @@ import java.util.Calendar;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class MySQL {
|
public class MySQL {
|
||||||
public static String ip = "localhost";
|
|
||||||
public static Integer port = 3306;
|
|
||||||
public static String database;
|
|
||||||
public static String user = "root";
|
|
||||||
public static String password = "";
|
|
||||||
protected static String url;
|
|
||||||
public static Boolean SSL;
|
|
||||||
private static final HikariConfig config = new HikariConfig();
|
private static final HikariConfig config = new HikariConfig();
|
||||||
private static HikariDataSource ds;
|
private static HikariDataSource ds;
|
||||||
|
|
||||||
@ -26,56 +23,60 @@ public class MySQL {
|
|||||||
long long_ = System.currentTimeMillis();
|
long long_ = System.currentTimeMillis();
|
||||||
Calendar now = Calendar.getInstance();
|
Calendar now = Calendar.getInstance();
|
||||||
ZoneId timeZone = now.getTimeZone().toZoneId();
|
ZoneId timeZone = now.getTimeZone().toZoneId();
|
||||||
send.debug(Main.plugin, "Server TimeZone is : " + timeZone);
|
T2C_Debug.debug(Main.getPlugin(), "Server TimeZone is : " + timeZone);
|
||||||
try {
|
try {
|
||||||
config.setJdbcUrl("jdbc:mysql://" + ip + ":" + port + "/" + database + "?useJDBCCompliantTimezoneShift=true&allowMultiQueries=true&useLegacyDatetimeCode=false&autoReconnect=true&serverTimezone=" + timeZone + "&useSSL=" + SSL);
|
config.setJdbcUrl("jdbc:mysql://" + Config.VALUES.mysqlIp.getValue().toString() + ":" + Config.VALUES.mysqlPort.getValue().toString() + "/" + Config.VALUES.mysqlDatabase.getValue().toString()
|
||||||
config.setUsername(user);
|
+ "?useJDBCCompliantTimezoneShift=true&allowMultiQueries=true&useLegacyDatetimeCode=false&autoReconnect=true&serverTimezone=" + timeZone
|
||||||
config.setPassword(password);
|
+ "&useSSL=" + Config.VALUES.mysqlSSL.getValue().toString());
|
||||||
|
config.setUsername(Config.VALUES.mysqlUser.getValue().toString());
|
||||||
|
config.setPassword(Config.VALUES.mysqlPassword.getValue().toString());
|
||||||
config.addDataSourceProperty("cachePrepStmts", "true");
|
config.addDataSourceProperty("cachePrepStmts", "true");
|
||||||
config.addDataSourceProperty("prepStmtCacheSize", "250");
|
config.addDataSourceProperty("prepStmtCacheSize", "250");
|
||||||
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
|
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
|
||||||
ds = new HikariDataSource(config);
|
ds = new HikariDataSource(config);
|
||||||
send.console(Main.prefix + " §2MYSQL successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
T2C_Send.sendStartTextCenter(Util.getPrefix(),"§2MYSQL successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms",false);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
send.console(Main.prefix + " §4MYSQL not connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
T2C_Send.sendStartTextCenter(Util.getPrefix(),"§4MYSQL not connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms",false);
|
||||||
send.error(Main.plugin, ex.getMessage() + " --- " + (System.currentTimeMillis() - long_) + "ms");
|
T2C_Send.error(Main.getPlugin(), ex.getMessage() + " --- " + (System.currentTimeMillis() - long_) + "ms");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((boolean) Config.VALUES.debug.getValue() || Main.version.toLowerCase().contains("dev") || Main.version.toLowerCase().contains("beta") || Main.version.toLowerCase().contains("snapshot")) {
|
||||||
|
try {
|
||||||
|
T2C_Send.error(Main.getPlugin(), "MySQL DEBUG:");
|
||||||
|
Connection con = ds.getConnection();
|
||||||
|
DatabaseMetaData dbmd = con.getMetaData();
|
||||||
|
T2C_Debug.debugmsg(Main.getPlugin(), "§6Metadata of the database:");
|
||||||
|
T2C_Debug.debugmsg(Main.getPlugin(), "§6DB: §e" + dbmd.getDatabaseProductName());
|
||||||
|
T2C_Debug.debugmsg(Main.getPlugin(), "§6Version: §e" + dbmd.getDatabaseProductVersion());
|
||||||
|
T2C_Debug.debugmsg(Main.getPlugin(), "§6Driver: §e" + dbmd.getDriverName());
|
||||||
|
T2C_Debug.debugmsg(Main.getPlugin(), "§6Driver MajorVersion: §e" + dbmd.getDriverMajorVersion() + "." + dbmd.getDriverMinorVersion());
|
||||||
|
T2C_Debug.debugmsg(Main.getPlugin(), "§6Driver Version: §e" + dbmd.getDriverVersion());
|
||||||
|
con.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//Bukkit.getConsoleSender().sendMessage((System.currentTimeMillis() - long_) + "ms");
|
//Bukkit.getConsoleSender().sendMessage((System.currentTimeMillis() - long_) + "ms");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void query(String query) {
|
public static void query(String query) throws SQLException {
|
||||||
|
if (ds == null) {
|
||||||
if (ds == null){
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
send.debug(Main.plugin, query);
|
T2C_Debug.debug(Main.getPlugin(), query);
|
||||||
try (Connection con = ds.getConnection()) {
|
Connection con = ds.getConnection();
|
||||||
Statement stmt = con.createStatement();
|
Statement stmt = con.createStatement();
|
||||||
stmt.execute(query);
|
stmt.execute(query);
|
||||||
stmt.close();
|
stmt.close();
|
||||||
} catch (SQLException e) {
|
con.close();
|
||||||
System.err.println(e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void query(ArrayList<String> queryList) {
|
|
||||||
try (Connection con = ds.getConnection()) {
|
|
||||||
Statement stmt = con.createStatement();
|
|
||||||
for (String query : queryList) {
|
|
||||||
send.debug(Main.plugin, query);
|
|
||||||
stmt.addBatch(query);
|
|
||||||
}
|
|
||||||
stmt.executeBatch();
|
|
||||||
stmt.close();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
System.err.println(e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static HashMap<String, ArrayList<String>> selectAll(String query) {
|
public static HashMap<String, ArrayList<String>> selectAll(String query) {
|
||||||
send.debug(Main.plugin, query);
|
T2C_Debug.debug(Main.getPlugin(), query);
|
||||||
HashMap<String, ArrayList<String>> Result = new HashMap<>();
|
HashMap<String, ArrayList<String>> Result = new HashMap<>();
|
||||||
try (Connection con = ds.getConnection()) {
|
try (Connection con = ds.getConnection()) {
|
||||||
Statement stmt = con.createStatement();
|
Statement stmt = con.createStatement();
|
||||||
@ -97,7 +98,7 @@ public class MySQL {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String select(String query) {
|
public static String select(String query) {
|
||||||
send.debug(Main.plugin, query);
|
T2C_Debug.debug(Main.getPlugin(), query);
|
||||||
String Ausgabe = "";
|
String Ausgabe = "";
|
||||||
try (Connection con = ds.getConnection()) {
|
try (Connection con = ds.getConnection()) {
|
||||||
Statement stmt = con.createStatement();
|
Statement stmt = con.createStatement();
|
||||||
@ -114,7 +115,7 @@ public class MySQL {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static int count(String query) {
|
public static int count(String query) {
|
||||||
send.debug(Main.plugin, query);
|
T2C_Debug.debug(Main.getPlugin(), query);
|
||||||
int count = 0;
|
int count = 0;
|
||||||
try (Connection con = ds.getConnection()) {
|
try (Connection con = ds.getConnection()) {
|
||||||
Statement stmt = con.createStatement();
|
Statement stmt = con.createStatement();
|
||||||
@ -131,7 +132,7 @@ public class MySQL {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static ArrayList<String> selectRow(String query) {
|
public static ArrayList<String> selectRow(String query) {
|
||||||
send.debug(Main.plugin, query);
|
T2C_Debug.debug(Main.getPlugin(), query);
|
||||||
ArrayList<String> Result = new ArrayList<>();
|
ArrayList<String> Result = new ArrayList<>();
|
||||||
try (Connection con = ds.getConnection()) {
|
try (Connection con = ds.getConnection()) {
|
||||||
Statement stmt = con.createStatement();
|
Statement stmt = con.createStatement();
|
@ -1,8 +1,9 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.system.database;
|
package net.t2code.commandguiv2.Spigot.database;
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
import de.jatitv.commandguiv2.Util;
|
import net.t2code.commandguiv2.Util;
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -20,15 +21,15 @@ public class SQLITE {
|
|||||||
if (!directory.exists()) {
|
if (!directory.exists()) {
|
||||||
directory.mkdir();
|
directory.mkdir();
|
||||||
}
|
}
|
||||||
url = "jdbc:sqlite:" + Main.plugin.getDataFolder() + "/Storage/data.db";
|
url = "jdbc:sqlite:" + Main.getPlugin().getDataFolder() + "/Storage/data.db";
|
||||||
con = DriverManager.getConnection(url);
|
con = DriverManager.getConnection(url);
|
||||||
Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §2SQLITE successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
T2C_Send.sendStartTextCenter(Util.getPrefix(),"§2SQLITE successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms",false);
|
||||||
DatabaseMetaData dbmd = con.getMetaData();
|
DatabaseMetaData dbmd = con.getMetaData();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void query(String query) {
|
public static void query(String query) {
|
||||||
|
|
||||||
send.debug(Main.plugin, query);
|
T2C_Debug.debug(Main.getPlugin(), query);
|
||||||
try {
|
try {
|
||||||
Statement stmt = con.createStatement();
|
Statement stmt = con.createStatement();
|
||||||
stmt.execute(query);
|
stmt.execute(query);
|
||||||
@ -42,7 +43,7 @@ public class SQLITE {
|
|||||||
try {
|
try {
|
||||||
Statement stmt = con.createStatement();
|
Statement stmt = con.createStatement();
|
||||||
for (String query : queryList) {
|
for (String query : queryList) {
|
||||||
send.debug(Main.plugin, query);
|
T2C_Debug.debug(Main.getPlugin(), query);
|
||||||
stmt.addBatch(query);
|
stmt.addBatch(query);
|
||||||
}
|
}
|
||||||
stmt.executeBatch();
|
stmt.executeBatch();
|
||||||
@ -54,7 +55,7 @@ public class SQLITE {
|
|||||||
|
|
||||||
|
|
||||||
public static HashMap<String, ArrayList<String>> selectAll(String query) {
|
public static HashMap<String, ArrayList<String>> selectAll(String query) {
|
||||||
send.debug(Main.plugin, query);
|
T2C_Debug.debug(Main.getPlugin(), query);
|
||||||
HashMap<String, ArrayList<String>> Result = new HashMap<>();
|
HashMap<String, ArrayList<String>> Result = new HashMap<>();
|
||||||
try {
|
try {
|
||||||
Statement stmt = con.createStatement();
|
Statement stmt = con.createStatement();
|
||||||
@ -76,7 +77,7 @@ public class SQLITE {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String select(String query) {
|
public static String select(String query) {
|
||||||
send.debug(Main.plugin, query);
|
T2C_Debug.debug(Main.getPlugin(), query);
|
||||||
String Ausgabe = "";
|
String Ausgabe = "";
|
||||||
try {
|
try {
|
||||||
Statement stmt = con.createStatement();
|
Statement stmt = con.createStatement();
|
||||||
@ -93,7 +94,7 @@ public class SQLITE {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static int count(String query) {
|
public static int count(String query) {
|
||||||
send.debug(Main.plugin, query);
|
T2C_Debug.debug(Main.getPlugin(), query);
|
||||||
int count = 0;
|
int count = 0;
|
||||||
try {
|
try {
|
||||||
Statement stmt = con.createStatement();
|
Statement stmt = con.createStatement();
|
||||||
@ -110,7 +111,7 @@ public class SQLITE {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static ArrayList<String> selectRow(String query) {
|
public static ArrayList<String> selectRow(String query) {
|
||||||
send.debug(Main.plugin, query);
|
T2C_Debug.debug(Main.getPlugin(), query);
|
||||||
ArrayList<String> Result = new ArrayList<>();
|
ArrayList<String> Result = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
Statement stmt = con.createStatement();
|
Statement stmt = con.createStatement();
|
@ -1,25 +1,33 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.system.database;
|
package net.t2code.commandguiv2.Spigot.database;
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
|
import net.t2code.commandguiv2.Spigot.useItem.Events;
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.enums.StorageEnum;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
public class SelectDatabase {
|
public class SelectDatabase {
|
||||||
|
|
||||||
private static StorageType Storage;
|
private static StorageEnum Storage;
|
||||||
|
|
||||||
public static StorageType getStorage() {
|
public static StorageEnum getStorage() {
|
||||||
return Storage;
|
return Storage;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setStorage(StorageType storage) {
|
public static void setStorage(StorageEnum storage) {
|
||||||
Storage = storage;
|
Storage = storage;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void nameCheck(Player player) {
|
public static void nameCheck(Player player) {
|
||||||
switch (Storage) {
|
switch (Storage) {
|
||||||
case MYSQL:
|
case MYSQL:
|
||||||
|
try {
|
||||||
MySQL.query("UPDATE `gui-item` SET Name='" + player.getName() + "' WHERE UUID='" + player.getUniqueId() + "';");
|
MySQL.query("UPDATE `gui-item` SET Name='" + player.getName() + "' WHERE UUID='" + player.getUniqueId() + "';");
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Main.sendTryCatch(SelectDatabase.class, e.getStackTrace()[0]);
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case YML:
|
case YML:
|
||||||
|
|
||||||
@ -34,8 +42,13 @@ public class SelectDatabase {
|
|||||||
public static void setSlot(Player player, Integer slot) {
|
public static void setSlot(Player player, Integer slot) {
|
||||||
switch (Storage) {
|
switch (Storage) {
|
||||||
case MYSQL:
|
case MYSQL:
|
||||||
|
try {
|
||||||
MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Slot`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
|
MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Slot`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
|
||||||
+ "','" + slot + "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Slot` = '" + slot + "';");
|
+ "','" + slot + "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Slot` = '" + slot + "';");
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Main.sendTryCatch(SelectDatabase.class, e.getStackTrace()[0]);
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case YML:
|
case YML:
|
||||||
YML.setGuiitemSlot(player, slot);
|
YML.setGuiitemSlot(player, slot);
|
||||||
@ -49,11 +62,16 @@ public class SelectDatabase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void setItemStatusTrue(Player player) {
|
public static void setItemStatusTrue(Player player) {
|
||||||
Events.useItemHashMap.replace(player, true);
|
Events.useItemHashMap.replace(player.getName(), true);
|
||||||
switch (Storage) {
|
switch (Storage) {
|
||||||
case MYSQL:
|
case MYSQL:
|
||||||
|
try {
|
||||||
MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
|
MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
|
||||||
+ "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '1';");
|
+ "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '1';");
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Main.sendTryCatch(SelectDatabase.class, e.getStackTrace()[0]);
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case YML:
|
case YML:
|
||||||
YML.setGuiitemOn(player);
|
YML.setGuiitemOn(player);
|
||||||
@ -67,11 +85,16 @@ public class SelectDatabase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void setItemStatusFalse(Player player) {
|
public static void setItemStatusFalse(Player player) {
|
||||||
Events.useItemHashMap.replace(player, false);
|
Events.useItemHashMap.replace(player.getName(), false);
|
||||||
switch (Storage) {
|
switch (Storage) {
|
||||||
case MYSQL:
|
case MYSQL:
|
||||||
|
try {
|
||||||
MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Status`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
|
MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Status`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
|
||||||
+ "', '0') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '0';");
|
+ "', '0') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '0';");
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Main.sendTryCatch(SelectDatabase.class, e.getStackTrace()[0]);
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case YML:
|
case YML:
|
||||||
YML.setGuiitemOff(player);
|
YML.setGuiitemOff(player);
|
@ -1,7 +1,7 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.system.database;
|
package net.t2code.commandguiv2.Spigot.database;
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
@ -11,7 +11,7 @@ import java.io.IOException;
|
|||||||
|
|
||||||
public class YML {
|
public class YML {
|
||||||
|
|
||||||
private static final Plugin plugin = Main.plugin;
|
private static final Plugin plugin = Main.getPlugin();
|
||||||
|
|
||||||
public static File storage = new File(Main.getPath(), "Storage/gui-item.yml");
|
public static File storage = new File(Main.getPath(), "Storage/gui-item.yml");
|
||||||
public static YamlConfiguration yamlConfigurationStorage = YamlConfiguration.loadConfiguration(storage);
|
public static YamlConfiguration yamlConfigurationStorage = YamlConfiguration.loadConfiguration(storage);
|
||||||
@ -56,11 +56,11 @@ public class YML {
|
|||||||
|
|
||||||
|
|
||||||
public static Integer selectSlot(Player player) {
|
public static Integer selectSlot(Player player) {
|
||||||
send.debug(plugin, "yml-1");
|
T2C_Debug.debug(plugin, "yml-1");
|
||||||
if (!yamlConfigurationStorage.contains(String.valueOf(player.getUniqueId()))) return null;
|
if (!yamlConfigurationStorage.contains(String.valueOf(player.getUniqueId()))) return null;
|
||||||
if (yamlConfigurationStorage.getString(player.getUniqueId() + ".Slot") == null) return null;
|
if (yamlConfigurationStorage.getString(player.getUniqueId() + ".Slot") == null) return null;
|
||||||
send.debug(plugin, "yml-2");
|
T2C_Debug.debug(plugin, "yml-2");
|
||||||
send.debug(plugin, String.valueOf(yamlConfigurationStorage.getInt(player.getUniqueId() + ".Slot")));
|
T2C_Debug.debug(plugin, String.valueOf(yamlConfigurationStorage.getInt(player.getUniqueId() + ".Slot")));
|
||||||
return yamlConfigurationStorage.getInt(player.getUniqueId() + ".Slot");
|
return yamlConfigurationStorage.getInt(player.getUniqueId() + ".Slot");
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.enums;
|
||||||
|
|
||||||
|
public enum EcoEnum {
|
||||||
|
VAULT, MONEY,
|
||||||
|
ITEM,
|
||||||
|
VOTEPOINTS
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
package net.t2code.commandguiv2.Spigot.enums;
|
||||||
|
|
||||||
|
public enum FunctionItemEnum {
|
||||||
|
REMOVE, ADD
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.enums;
|
||||||
|
|
||||||
|
public enum FunctionVoteEnum {
|
||||||
|
REMOVE, ADD
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.enums;
|
||||||
|
|
||||||
|
public enum SoundEnum {
|
||||||
|
OpenInventory,
|
||||||
|
Click,
|
||||||
|
NoMoney,
|
||||||
|
NoInventorySpace,
|
||||||
|
Give,
|
||||||
|
PlayerNotFound
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.enums;
|
||||||
|
|
||||||
|
public enum StorageEnum {
|
||||||
|
MYSQL,
|
||||||
|
SQLITE,
|
||||||
|
YML
|
||||||
|
}
|
@ -0,0 +1,384 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.gui;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
|
import net.t2code.commandguiv2.Spigot.listener.ServerChange;
|
||||||
|
import net.t2code.commandguiv2.Spigot.useItem.Events;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Function;
|
||||||
|
import net.t2code.commandguiv2.Spigot.cmdManagement.Commands;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Slot;
|
||||||
|
import net.t2code.commandguiv2.Spigot.listener.Bungee_Sender_Reciver;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Gui;
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.system.Placeholder;
|
||||||
|
import net.t2code.commandguiv2.Spigot.sound.Sound;
|
||||||
|
import net.t2code.commandguiv2.Spigot.enums.SoundEnum;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.eco.T2C_Eco;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.items.T2C_ItemVersion;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Replace;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.system.config.config.T2C_LibConfig;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.inventory.ClickType;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class GUIListener implements Listener {
|
||||||
|
|
||||||
|
private static String prefix = Util.getPrefix();
|
||||||
|
public static String GUICode;
|
||||||
|
private static Plugin plugin = Main.getPlugin();
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onInventoryClick(InventoryClickEvent e) {
|
||||||
|
Player player = (Player) e.getWhoClicked();
|
||||||
|
if (e.getInventory() == null) return;
|
||||||
|
if (e.getCurrentItem() == null) return;
|
||||||
|
for (Gui gui : Main.guiHashMap.values()) {
|
||||||
|
if (player.getOpenInventory().getTitle().equals(T2C_Replace.replace(prefix, GUICode + gui.guiName))
|
||||||
|
|| (Main.PaPi && player.getOpenInventory().getTitle().equals(T2C_Replace.replace(prefix, player, GUICode + gui.guiName)))) {
|
||||||
|
e.setCancelled(true);
|
||||||
|
if (player.getOpenInventory().getTopInventory() != e.getClickedInventory()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for (Slot slot : gui.slots) {
|
||||||
|
execute(e, slot, player, gui);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void execute(InventoryClickEvent e, Slot slot, Player player, Gui gui) {
|
||||||
|
if (e.getSlot() != slot.slot) return;
|
||||||
|
Function function = Main.functionHashMap.get(slot.function);
|
||||||
|
if (slot.permission && !player.hasPermission(slot.permissionToSee)) return;
|
||||||
|
if (function.closeGUI_Enable) closeGUI(player);
|
||||||
|
if (slot.permission && !player.hasPermission(slot.permissionToUse)) {
|
||||||
|
if (function.noPermMessageEnable) {
|
||||||
|
if (function.customNoPermMessage == null || function.customNoPermMessage.equals("")) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.NoPermissionForItem.getValue().toString().replace("[item]", T2C_Replace.replace(prefix, function.name))
|
||||||
|
.replace("[perm]", slot.permissionToUse));
|
||||||
|
} else T2C_Send.player(player, function.customNoPermMessage.replace("[item]", T2C_Replace.replace(prefix, function.name))
|
||||||
|
.replace("[perm]", slot.permissionToUse));
|
||||||
|
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (e.getCurrentItem().getType() == T2C_ItemVersion.getHead() || e.getCurrentItem().getType() == T2C_ItemVersion.getGreenWool().getType() ||
|
||||||
|
e.getCurrentItem().getType() == T2C_ItemVersion.getRedWool().getType() ||
|
||||||
|
e.getCurrentItem().getType() == Material.valueOf(function.item.toUpperCase().replace(".", "_"))) {
|
||||||
|
if (!slot.enable) return;
|
||||||
|
if (function.cost_Enable) {
|
||||||
|
if (functions(function)) {
|
||||||
|
eco(e, slot, player, gui, function);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
execute(function, slot, player, e, gui);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean functions(Function function) {
|
||||||
|
if (function.togglePermission) return true;
|
||||||
|
if (function.toggleUseItem) return true;
|
||||||
|
if (function.command_Enable) return true;
|
||||||
|
if (function.openGUI_Enable) return true;
|
||||||
|
if (function.closeGUI_Enable) return true;
|
||||||
|
if (function.message_Enable) return true;
|
||||||
|
if (function.serverChange) return true;
|
||||||
|
if (function.setConfigEnable) return true;
|
||||||
|
if (function.functionVotePoints) return true;
|
||||||
|
return function.functionItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void execute(Function function, Slot slot, Player player, InventoryClickEvent e, Gui gui) {
|
||||||
|
if (function.togglePermission) togglePerm(function, gui, player);
|
||||||
|
if (function.toggleUseItem) toggleUseItem(player, gui);
|
||||||
|
if (function.command_Enable) command(function, player);
|
||||||
|
if (function.openGUI_Enable) openGUI(function, player);
|
||||||
|
if (function.message_Enable) message(function, player);
|
||||||
|
if (function.serverChange) serverChange(function, player);
|
||||||
|
if (function.setConfigEnable) setConfig(function, player, e);
|
||||||
|
if (function.functionVotePoints) votePoints(e, function, player);
|
||||||
|
if (function.functionItem) item(function, player);
|
||||||
|
try {
|
||||||
|
Sound.play(player, SoundEnum.Click, function, slot, gui);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
throw new RuntimeException(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void command(Function slot, Player player) {
|
||||||
|
player.closeInventory();
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (slot.command_BungeeCommand) {
|
||||||
|
if ((boolean) T2C_LibConfig.VALUES.proxy.getValue()) {
|
||||||
|
for (String cmd : slot.command) {
|
||||||
|
Bungee_Sender_Reciver.sendToBungee(player, cmd.replace("[player]", player.getName()), slot.commandAsConsole);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
T2C_Send.console(prefix + " §4To use bungee commands, enable the Bungee option in the config.");
|
||||||
|
T2C_Send.player(player, prefix + " §4To use bungee commands, enable the Bungee option in the config.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (String cmd : slot.command) {
|
||||||
|
if (slot.commandAsConsole) {
|
||||||
|
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd.replace("[player]", player.getName()));
|
||||||
|
} else player.chat("/" + cmd.replace("[player]", player.getName()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}.runTaskLater(plugin, 2L);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void openGUI(Function slot, Player player) {
|
||||||
|
player.closeInventory();
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
OpenGUI.openGUI(player, slot.openGUI, true);
|
||||||
|
}
|
||||||
|
}.runTaskLater(plugin, 1L);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void closeGUI(Player player){
|
||||||
|
player.closeInventory();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void message(Function slot, Player player) {
|
||||||
|
player.closeInventory();
|
||||||
|
for (String msg : slot.message) {
|
||||||
|
if (Main.PaPi) {
|
||||||
|
if (slot.cost_Enable) {
|
||||||
|
T2C_Send.player(player, T2C_Replace.replacePrice(prefix, player, Placeholder.replace(msg, player), slot.price + " " + Config.VALUES.currency.getValue().toString()));
|
||||||
|
} else T2C_Send.player(player, T2C_Replace.replace(prefix, player, Placeholder.replace(msg, player)));
|
||||||
|
} else {
|
||||||
|
if (slot.cost_Enable) {
|
||||||
|
T2C_Send.player(player, T2C_Replace.replacePrice(prefix, Placeholder.replace(msg, player), slot.price + " " + Config.VALUES.currency.getValue().toString()));
|
||||||
|
} else T2C_Send.player(player, T2C_Replace.replace(prefix, Placeholder.replace(msg, player)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void serverChange(Function slot, Player player) {
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
player.closeInventory();
|
||||||
|
}
|
||||||
|
}.runTaskLater(plugin, 1L);
|
||||||
|
T2C_Send.player(player, Languages.VALUES.onServerChange.getValue().toString().replace("[server]", slot.serverChangeServer));
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
ServerChange.send(player, slot.serverChangeServer);
|
||||||
|
}
|
||||||
|
}.runTaskLater(Main.getPlugin(), 20L);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setConfig(Function slot, Player player, InventoryClickEvent e) {
|
||||||
|
File config = new File(slot.configFilePath);
|
||||||
|
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
||||||
|
|
||||||
|
if (e.getClick() == ClickType.LEFT) {
|
||||||
|
switch (slot.configOptionPremat) {
|
||||||
|
case "String":
|
||||||
|
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configStringValueLeft);
|
||||||
|
break;
|
||||||
|
case "Boolean":
|
||||||
|
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configBooleanValueLeft);
|
||||||
|
break;
|
||||||
|
case "Integer":
|
||||||
|
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configIntegerValueLeft);
|
||||||
|
break;
|
||||||
|
case "Double":
|
||||||
|
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configDoubleValueLeft);
|
||||||
|
break;
|
||||||
|
case "List":
|
||||||
|
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configListValueLeft);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
T2C_Send.player(player, "§cCheck the Option §6SetConfig/Option/Premat"); //todo
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (e.getClick() == ClickType.RIGHT) {
|
||||||
|
switch (slot.configOptionPremat) {
|
||||||
|
case "String":
|
||||||
|
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configStringValueRight);
|
||||||
|
break;
|
||||||
|
case "Boolean":
|
||||||
|
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configBooleanValueRight);
|
||||||
|
break;
|
||||||
|
case "Integer":
|
||||||
|
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configIntegerValueRight);
|
||||||
|
break;
|
||||||
|
case "Double":
|
||||||
|
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configDoubleValueRight);
|
||||||
|
break;
|
||||||
|
case "List":
|
||||||
|
yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configListValueRight);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
T2C_Send.player(player, "§cCheck the Option §6SetConfig/Option/Premat"); //todo
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
yamlConfiguration.save(config);
|
||||||
|
} catch (IOException tac) {
|
||||||
|
tac.printStackTrace();
|
||||||
|
}
|
||||||
|
if (slot.pluginReloadEnable) {
|
||||||
|
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), slot.pluginReloadCommand);
|
||||||
|
}
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
player.closeInventory();
|
||||||
|
}
|
||||||
|
}.runTaskLater(plugin, 1L);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void togglePerm(Function function, Gui gui, Player player) {
|
||||||
|
if (player.hasPermission(function.togglePermissionPerm)) {
|
||||||
|
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), Config.VALUES.togglePermFalse.getValue().toString().replace("[player]", player.getName()).replace("[perm]", function.togglePermissionPerm));
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
player.closeInventory();
|
||||||
|
OpenGUI.openGUI(player, gui.key, false);
|
||||||
|
}
|
||||||
|
}.runTaskLater(plugin, 4L);
|
||||||
|
} else
|
||||||
|
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), Config.VALUES.togglePermTrue.getValue().toString().replace("[player]", player.getName()).replace("[perm]", function.togglePermissionPerm));
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
player.closeInventory();
|
||||||
|
OpenGUI.openGUI(player, gui.key, false);
|
||||||
|
}
|
||||||
|
}.runTaskLater(plugin, 4L);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void toggleUseItem(Player player, Gui gui) {
|
||||||
|
if (!(boolean)Config.VALUES.useItemAllowToggle.getValue()) {
|
||||||
|
T2C_Send.sender(player, "§4UseItem toggle is disabled!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (Events.useItemHashMap.get(player.getName())) {
|
||||||
|
Commands.itemOff(player);
|
||||||
|
} else {
|
||||||
|
Commands.itemOn(player);
|
||||||
|
}
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
player.closeInventory();
|
||||||
|
OpenGUI.openGUI(player, gui.key, false);
|
||||||
|
}
|
||||||
|
}.runTaskLater(plugin, 2L);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void votePoints(InventoryClickEvent e, Function function, Player player) {
|
||||||
|
player.closeInventory();
|
||||||
|
switch (function.functionVotePointsMode) {
|
||||||
|
case ADD:
|
||||||
|
T2C_Eco.votePointsAdd(prefix, player, function.functionVotePointsAmount);
|
||||||
|
T2C_Send.player(player, Languages.VALUES.functionVoteAdd.getValue().toString().replace("[amount]", function.functionVotePointsAmount.toString()));
|
||||||
|
break;
|
||||||
|
case REMOVE:
|
||||||
|
if (T2C_Eco.votePointsRemove(prefix, player, function.functionVotePointsAmount)) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.functionVoteRemove.getValue().toString().replace("[amount]", function.functionVotePointsAmount.toString()));
|
||||||
|
} else T2C_Send.player(player, Languages.VALUES.functionVoteRemoveError.getValue().toString().replace("[amount]", function.functionVotePointsAmount.toString()));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void item(Function function, Player player) {
|
||||||
|
String[] item = function.functionItemItem.split(";");
|
||||||
|
player.closeInventory();
|
||||||
|
switch (function.functionItemMode) {
|
||||||
|
case ADD:
|
||||||
|
T2C_Eco.itemAdd(player, new ItemStack(Material.valueOf(item[0])), Integer.parseInt(item[1]));
|
||||||
|
T2C_Send.player(player, Languages.VALUES.functionItemAdd.getValue().toString().replace("[amount]", item[1]).replace("[item]", item[0]));
|
||||||
|
break;
|
||||||
|
case REMOVE:
|
||||||
|
if (T2C_Eco.itemRemove(player, item[0], Integer.parseInt(item[1]))) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.functionItemRemove.getValue().toString().replace("[amount]", item[1]).replace("[item]", item[0]));
|
||||||
|
|
||||||
|
} else T2C_Send.player(player, Languages.VALUES.functionItemRemoveError.getValue().toString().replace("[amount]", item[1]));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void eco(InventoryClickEvent e, Slot slot, Player player, Gui gui, Function function) {
|
||||||
|
switch (function.ecoModule) {
|
||||||
|
case ITEM:
|
||||||
|
String[] item = function.ecoItem.split(";");
|
||||||
|
if (!T2C_Eco.itemRemove(player, item[0], Integer.parseInt(item[1]))) {
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
player.closeInventory();
|
||||||
|
}
|
||||||
|
}.runTaskLater(plugin, 1L);
|
||||||
|
T2C_Send.player(player, Languages.VALUES.noMoneyItem.getValue().toString().replace("[item]", item[0]).replace("[amount]", item[1]));
|
||||||
|
Sound.play(player, SoundEnum.NoMoney);
|
||||||
|
} else {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.Buy_msg.getValue().toString().replace("[itemname]", T2C_Replace.replace(prefix, function.name))
|
||||||
|
.replace("[price]", item[1] + " " + item[0]));
|
||||||
|
execute(function, slot, player, e, gui);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case VOTEPOINTS:
|
||||||
|
if (T2C_Eco.votePointsRemove(prefix, player, function.votePoints)) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.Buy_msg.getValue().toString().replace("[itemname]", T2C_Replace.replace(prefix, function.name))
|
||||||
|
.replace("[price]", function.votePoints + " VotePoints"));
|
||||||
|
execute(function, slot, player, e, gui);
|
||||||
|
} else {
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
player.closeInventory();
|
||||||
|
}
|
||||||
|
}.runTaskLater(plugin, 1L);
|
||||||
|
T2C_Send.player(player, Languages.VALUES.noMoneyVote.getValue().toString().replace("[amount]", function.votePoints.toString()));
|
||||||
|
Sound.play(player, SoundEnum.NoMoney);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case VAULT:
|
||||||
|
case MONEY:
|
||||||
|
if (T2C_Eco.moneyRemove(prefix, player, function.price)) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.Buy_msg.getValue().toString().replace("[itemname]", T2C_Replace.replace(prefix, function.name))
|
||||||
|
.replace("[price]", function.price + " " + Config.VALUES.currency.getValue().toString()));
|
||||||
|
execute(function, slot, player, e, gui);
|
||||||
|
} else {
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
player.closeInventory();
|
||||||
|
}
|
||||||
|
}.runTaskLater(plugin, 1L);
|
||||||
|
T2C_Send.player(player, T2C_Replace.replacePrice(prefix, Languages.VALUES.noMoney.getValue().toString(), String.valueOf(function.price)));
|
||||||
|
Sound.play(player, SoundEnum.NoMoney);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,126 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.gui;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Gui;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Function;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Slot;
|
||||||
|
import net.t2code.commandguiv2.Spigot.system.Placeholder;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.items.T2C_ItemBuilder;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.items.T2C_ItemVersion;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Replace;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.inventory.Inventory;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
import org.bukkit.inventory.meta.SkullMeta;
|
||||||
|
|
||||||
|
public class GuiBuilder {
|
||||||
|
|
||||||
|
private static String prefix = Util.getPrefix();
|
||||||
|
|
||||||
|
protected static void item(Slot slot, Player player, Inventory inventory) {
|
||||||
|
Function function = Main.functionHashMap.get(slot.function);
|
||||||
|
ItemStack item;
|
||||||
|
if (Main.legacy && function.item.toUpperCase().contains(",")) {
|
||||||
|
String[] split = function.item.toUpperCase().split(",");
|
||||||
|
item = new ItemStack(Material.valueOf(split[0]), 1, Short.parseShort(split[1]));
|
||||||
|
} else item = new ItemStack(Material.valueOf(function.item.toUpperCase().replace(".", "_")));
|
||||||
|
ItemMeta itemMeta = item.getItemMeta();
|
||||||
|
setDisplayNameAndLore(itemMeta, player, slot);
|
||||||
|
item.setItemMeta(itemMeta);
|
||||||
|
Integer am;
|
||||||
|
if (function.itemAmount == 0) {
|
||||||
|
am = 1;
|
||||||
|
} else am = function.itemAmount;
|
||||||
|
item.setAmount(am);
|
||||||
|
inventory.setItem(slot.slot, item);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static void item(String material, Slot slot, Player player, Inventory inventory) {
|
||||||
|
Function function = Main.functionHashMap.get(slot.function);
|
||||||
|
ItemStack item;
|
||||||
|
if (Main.legacy && material.contains(",")) {
|
||||||
|
String[] split = material.split(",");
|
||||||
|
item = new ItemStack(Material.valueOf(split[0]), 1, Short.parseShort(split[1]));
|
||||||
|
} else item = new ItemStack(Material.valueOf(material));
|
||||||
|
ItemMeta itemMeta = item.getItemMeta();
|
||||||
|
setDisplayNameAndLore(itemMeta, player, slot);
|
||||||
|
item.setItemMeta(itemMeta);
|
||||||
|
Integer am;
|
||||||
|
if (function.itemAmount == 0) {
|
||||||
|
am = 1;
|
||||||
|
} else am = function.itemAmount;
|
||||||
|
item.setAmount(am);
|
||||||
|
inventory.setItem(slot.slot, item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static void setDisplayNameAndLore(ItemMeta itemMeta, Player player, Slot slot) {
|
||||||
|
Function function = Main.functionHashMap.get(slot.function);
|
||||||
|
if (Main.PaPi) {
|
||||||
|
itemMeta.setDisplayName(T2C_Replace.replace(prefix, player, Placeholder.replace(function.name, player)));
|
||||||
|
if (slot.permission && !player.hasPermission(slot.permissionToUse) && function.noPermLoreEnable) {
|
||||||
|
itemMeta.setLore(T2C_Replace.replacePrice(prefix, player, Placeholder.replace(function.noPermLore, player), function.price + " " + Config.VALUES.currency.getValue().toString()));
|
||||||
|
} else itemMeta.setLore(T2C_Replace.replacePrice(prefix, player, Placeholder.replace(function.lore, player), function.price + " " + Config.VALUES.currency.getValue().toString()));
|
||||||
|
} else {
|
||||||
|
itemMeta.setDisplayName(T2C_Replace.replace(prefix, Placeholder.replace(function.name, player)));
|
||||||
|
if (slot.permission && !player.hasPermission(slot.permissionToUse) && function.noPermLoreEnable) {
|
||||||
|
itemMeta.setLore(T2C_Replace.replacePrice(prefix, Placeholder.replace(function.noPermLore, player), function.price + " " + Config.VALUES.currency.getValue().toString()));
|
||||||
|
} else itemMeta.setLore(T2C_Replace.replacePrice(prefix, Placeholder.replace(function.lore, player), function.price + " " + Config.VALUES.currency.getValue().toString()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static void base64(String base64Value, Slot slot, Player player, Inventory inventory) {
|
||||||
|
Function function = Main.functionHashMap.get(slot.function);
|
||||||
|
ItemStack item = T2C_ItemBuilder.base64(base64Value);
|
||||||
|
SkullMeta itemMeta = (SkullMeta) item.getItemMeta();
|
||||||
|
setDisplayNameAndLore(itemMeta, player, slot);
|
||||||
|
item.setItemMeta(itemMeta);
|
||||||
|
Integer am;
|
||||||
|
if (function.itemAmount == 0) {
|
||||||
|
am = 1;
|
||||||
|
} else am = function.itemAmount;
|
||||||
|
item.setAmount(am);
|
||||||
|
inventory.setItem(slot.slot, item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected static void base64(Slot slot, Player player, Inventory inventory) {
|
||||||
|
Function function = Main.functionHashMap.get(slot.function);
|
||||||
|
base64(function.base64Value, slot, player, inventory);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static void playerHead(Slot slot, Player player, Inventory inventory, String skullName) {
|
||||||
|
Function function = Main.functionHashMap.get(slot.function);
|
||||||
|
ItemStack item = T2C_ItemVersion.getHeadIS();
|
||||||
|
SkullMeta itemMeta = (SkullMeta) item.getItemMeta();
|
||||||
|
setDisplayNameAndLore(itemMeta, player, slot);
|
||||||
|
itemMeta.setOwner(skullName);
|
||||||
|
item.setItemMeta(itemMeta);
|
||||||
|
Integer am;
|
||||||
|
if (function.itemAmount == 0) {
|
||||||
|
am = 1;
|
||||||
|
} else am = function.itemAmount;
|
||||||
|
item.setAmount(am);
|
||||||
|
inventory.setItem(slot.slot, item);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void fillItem(Inventory inventory, Gui gui) {
|
||||||
|
ItemStack glass;
|
||||||
|
if (T2C_McVersion.isMc1_8() || T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12()) {
|
||||||
|
glass = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, Short.parseShort(gui.guiFillItemItem));
|
||||||
|
} else glass = new ItemStack(Material.valueOf(gui.guiFillItemItem.toUpperCase().replace(".", "_")));
|
||||||
|
ItemMeta itemMetaglass = glass.getItemMeta();
|
||||||
|
itemMetaglass.setDisplayName(" ");
|
||||||
|
glass.setItemMeta(itemMetaglass);
|
||||||
|
glass.setAmount(1);
|
||||||
|
for (int i = 0; i < 9 * gui.guiLines; i++) {
|
||||||
|
inventory.setItem(i, glass);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,158 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.gui;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
|
import net.t2code.commandguiv2.Spigot.system.Permissions;
|
||||||
|
import net.t2code.commandguiv2.Spigot.useItem.Events;
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Function;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Gui;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Slot;
|
||||||
|
import net.t2code.commandguiv2.Spigot.sound.Sound;
|
||||||
|
import net.t2code.commandguiv2.Spigot.enums.SoundEnum;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import io.github.solyze.plugmangui.inventories.PluginListGUI;
|
||||||
|
import net.t2code.luckyBox.api.LuckyBoxAPI;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Replace;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.inventory.Inventory;
|
||||||
|
import org.bukkit.inventory.InventoryHolder;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
public class OpenGUI {
|
||||||
|
private static final Plugin plugin = Main.getPlugin();
|
||||||
|
private static final String prefix = Util.getPrefix();
|
||||||
|
|
||||||
|
public static void openGUI(Player player, String guiString, Boolean sound) {
|
||||||
|
if (!Main.guiHashMap.containsKey(guiString)) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.guiNotFound.getValue().toString());
|
||||||
|
T2C_Send.error(Main.getPlugin(), "");
|
||||||
|
T2C_Send.console(Util.getPrefix() + " <red>The gui <gold>[gui]</gold> that the player <gold>[player]</gold> wanted to open does not exist!".replace("[gui]", guiString).replace("[player]", player.getName()));
|
||||||
|
T2C_Send.error(Main.getPlugin(), "");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Gui gui = Main.guiHashMap.get(guiString);
|
||||||
|
|
||||||
|
long long_ = System.currentTimeMillis();
|
||||||
|
switch (guiString) {
|
||||||
|
//case "plugin.PlotSquaredGUI":
|
||||||
|
// if (Main.PlotSquaredGUI) {
|
||||||
|
// PlotSquaredGUIapi.openMainGUI(player);
|
||||||
|
// } else {
|
||||||
|
// if (player.hasPermission("commandgui.admin")) {
|
||||||
|
// send.player(player, prefix + " §4PlotSquaredGUI could not be found! §9Please download it here: " +
|
||||||
|
// "§6https://spigotmc.org/resources/plotsquaredgui.77506/");
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return; todo
|
||||||
|
case "plugin.PlugManGUI":
|
||||||
|
if (Main.PlugManGUI) {
|
||||||
|
player.openInventory((new PluginListGUI(54, 1)).getInventory());
|
||||||
|
} else {
|
||||||
|
if (player.hasPermission(Permissions.admin)) {
|
||||||
|
T2C_Send.player(player, prefix + " §4PlugManGUI could not be found! §9Please download it here: " +
|
||||||
|
"§6https://spigotmc.org/resources/plugmangui.87599/");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
case "plugin.T2C-LuckyBox":
|
||||||
|
if (Main.LuckyBox) {
|
||||||
|
LuckyBoxAPI.openShop(player);
|
||||||
|
} else {
|
||||||
|
if (player.hasPermission(Permissions.admin)) {
|
||||||
|
T2C_Send.player(player, prefix + " §4T2C-LuckyBox could not be found! §9Please download it here: " +
|
||||||
|
"§6https://www.spigotmc.org/resources/luckybox.98154/");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (T2C_McVersion.isMc1_13()) {
|
||||||
|
GUIListener.GUICode = "";
|
||||||
|
} else GUIListener.GUICode = "§6§8§9§r";
|
||||||
|
if (gui.guiEnable || player.hasPermission(Permissions.updatemsg)) {
|
||||||
|
Inventory inventory;
|
||||||
|
if (Main.PaPi) {
|
||||||
|
inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.guiLines, (T2C_Replace.replace(prefix, player, GUIListener.GUICode + gui.guiName)));
|
||||||
|
} else inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.guiLines, (T2C_Replace.replace(prefix, GUIListener.GUICode + gui.guiName)));
|
||||||
|
|
||||||
|
if (gui.guiFillItemEnable) {
|
||||||
|
GuiBuilder.fillItem(inventory, gui);
|
||||||
|
}
|
||||||
|
for (Slot slot : gui.slots) {
|
||||||
|
try {
|
||||||
|
Function function = Main.functionHashMap.get(slot.function);
|
||||||
|
if (function == null) {
|
||||||
|
T2C_Send.error(Main.getPlugin(), "The Function " + slot.function + " in the GUI " + gui.key + " does not exist!");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (slot.permission && !player.hasPermission(slot.permissionToSee)) continue;
|
||||||
|
if (slot.slot < 0 || slot.slot > gui.guiLines * 9) continue;
|
||||||
|
|
||||||
|
if (slot.enable) {
|
||||||
|
if (function.empty) {
|
||||||
|
ItemStack air = new ItemStack(Material.AIR);
|
||||||
|
inventory.setItem(slot.slot, air);
|
||||||
|
} else {
|
||||||
|
if (function.togglePermission) {
|
||||||
|
if (player.hasPermission(function.togglePermissionPerm)) {
|
||||||
|
toggleOn(function, slot, player, inventory);
|
||||||
|
} else {
|
||||||
|
toggleOff(function, slot, player, inventory);
|
||||||
|
}
|
||||||
|
} else if (function.toggleUseItem) {
|
||||||
|
if (Events.useItemHashMap.get(player.getName())) {
|
||||||
|
toggleOn(function, slot, player, inventory);
|
||||||
|
} else {
|
||||||
|
toggleOff(function, slot, player, inventory);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (function.playerHead_Enable) {
|
||||||
|
if (function.base64_Enable) {
|
||||||
|
GuiBuilder.base64(slot, player, inventory);
|
||||||
|
} else {
|
||||||
|
if (function.playerWhoHasOpenedTheGUI) {
|
||||||
|
GuiBuilder.playerHead(slot, player, inventory, player.getName());
|
||||||
|
} else {
|
||||||
|
GuiBuilder.playerHead(slot, player, inventory, function.playerName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
GuiBuilder.item(slot, player, inventory);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
ItemStack air = new ItemStack(Material.AIR);
|
||||||
|
inventory.setItem(slot.slot, air);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if (sound) {
|
||||||
|
Sound.play(player, SoundEnum.OpenInventory);
|
||||||
|
}
|
||||||
|
player.openInventory(inventory);
|
||||||
|
T2C_Debug.debug(plugin, "§6" + player.getName() + " §5Open §6" + T2C_Replace.replace(prefix, gui.guiName) + " §5" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||||
|
} else T2C_Send.player(player, Languages.VALUES.GUIIsDisabled.getValue().toString().replace("[gui]", T2C_Replace.replace(prefix, gui.guiName)));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void toggleOn(Function function, Slot slot, Player player, Inventory inventory) {
|
||||||
|
if ((boolean) Config.VALUES.toggleItemOnOrYesBase64.getValue()) {
|
||||||
|
GuiBuilder.base64(Config.VALUES.toggleItemOnOrYesBase64Value.getValue().toString(), slot, player, inventory);
|
||||||
|
} else GuiBuilder.item(Config.VALUES.toggleItemOnOrYesMaterial.getValue().toString(), slot, player, inventory);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void toggleOff(Function function, Slot slot, Player player, Inventory inventory) {
|
||||||
|
if ((boolean) Config.VALUES.toggleItemOffOrNoBase64.getValue()) {
|
||||||
|
GuiBuilder.base64(Config.VALUES.toggleItemOffOrNoBase64Value.getValue().toString(), slot, player, inventory);
|
||||||
|
} else GuiBuilder.item(Config.VALUES.toggleItemOffOrNoMaterial.getValue().toString(), slot, player, inventory);
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,8 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.system;
|
package net.t2code.commandguiv2.Spigot.listener;
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -16,12 +17,12 @@ public class Bungee_Sender_Reciver implements PluginMessageListener {
|
|||||||
DataOutputStream output = new DataOutputStream(stream);
|
DataOutputStream output = new DataOutputStream(stream);
|
||||||
try {
|
try {
|
||||||
if (console) {
|
if (console) {
|
||||||
output.writeUTF("cgui-Console");
|
output.writeUTF("T2Code-Console");
|
||||||
} else {
|
} else {
|
||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
output.writeUTF(sender.getName());
|
output.writeUTF(sender.getName());
|
||||||
} else {
|
} else {
|
||||||
output.writeUTF("cgui-Console");
|
output.writeUTF("T2Code-Console");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
output.writeUTF(information);
|
output.writeUTF(information);
|
||||||
@ -30,10 +31,10 @@ public class Bungee_Sender_Reciver implements PluginMessageListener {
|
|||||||
}
|
}
|
||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
Player player = (Player) sender;
|
Player player = (Player) sender;
|
||||||
player.sendPluginMessage(Main.plugin, "cgui:bungee", stream.toByteArray());
|
player.sendPluginMessage(Main.getPlugin(), "t2c:bcmd", stream.toByteArray());
|
||||||
}else {
|
}else {
|
||||||
for(Player player : Bukkit.getOnlinePlayers()){
|
for(Player player : Bukkit.getOnlinePlayers()){
|
||||||
player.sendPluginMessage(Main.plugin, "cgui:bungee", stream.toByteArray());
|
player.sendPluginMessage(Main.getPlugin(), "t2c:bcmd", stream.toByteArray());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -42,21 +43,21 @@ public class Bungee_Sender_Reciver implements PluginMessageListener {
|
|||||||
@Override
|
@Override
|
||||||
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
|
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
|
||||||
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(message));
|
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(message));
|
||||||
send.debug(Main.plugin,"stream: "+stream.toString());
|
T2C_Debug.debug(Main.getPlugin(),"stream: "+stream.toString());
|
||||||
try {
|
try {
|
||||||
String subChannel = stream.readUTF();
|
String subChannel = stream.readUTF();
|
||||||
String input = stream.readUTF();
|
String input = stream.readUTF();
|
||||||
send.debug(Main.plugin,"subChannel: " +subChannel);
|
T2C_Debug.debug(Main.getPlugin(),"subChannel: " +subChannel);
|
||||||
send.debug(Main.plugin,"input: " +input);
|
T2C_Debug.debug(Main.getPlugin(),"input: " +input);
|
||||||
switch (subChannel) {
|
switch (subChannel) {
|
||||||
case "join":
|
case "join":
|
||||||
Main.bungeejoinplayers.add(input);
|
Main.proxyJoinPlayers.add(input);
|
||||||
break;
|
break;
|
||||||
case "left":
|
case "left":
|
||||||
Main.bungeejoinplayers.remove(input);
|
Main.proxyJoinPlayers.remove(input);
|
||||||
break;
|
break;
|
||||||
case "clear":
|
case "clear":
|
||||||
Main.bungeejoinplayers.clear();
|
Main.proxyJoinPlayers.clear();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
@ -0,0 +1,24 @@
|
|||||||
|
// This claas was created by JaTiTV
|
||||||
|
|
||||||
|
package net.t2code.commandguiv2.Spigot.listener;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.database.SelectDatabase;
|
||||||
|
import net.t2code.commandguiv2.Spigot.system.Permissions;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.update.T2C_UpdateAPI;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerLoginEvent;
|
||||||
|
|
||||||
|
public class PluginEvent implements Listener {
|
||||||
|
private static String prefix = Util.getPrefix();
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onJoinEvent(PlayerLoginEvent event) {
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
SelectDatabase.nameCheck(player);
|
||||||
|
T2C_UpdateAPI.join(Main.getPlugin(),prefix, Permissions.updatemsg, event.getPlayer(), Util.getSpigotID(), Util.getDiscord());
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.Listener;
|
package net.t2code.commandguiv2.Spigot.listener;
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
@ -8,7 +8,6 @@ import java.io.DataOutputStream;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class ServerChange {
|
public class ServerChange {
|
||||||
|
|
||||||
public static void send(Player player, String server){
|
public static void send(Player player, String server){
|
||||||
ByteArrayOutputStream b = new ByteArrayOutputStream();
|
ByteArrayOutputStream b = new ByteArrayOutputStream();
|
||||||
DataOutputStream out = new DataOutputStream(b);
|
DataOutputStream out = new DataOutputStream(b);
|
||||||
@ -18,6 +17,6 @@ public class ServerChange {
|
|||||||
} catch (IOException i) {
|
} catch (IOException i) {
|
||||||
i.printStackTrace();
|
i.printStackTrace();
|
||||||
}
|
}
|
||||||
player.sendPluginMessage(Main.plugin, "BungeeCord", b.toByteArray());
|
player.sendPluginMessage(Main.getPlugin(), "BungeeCord", b.toByteArray());
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,4 +1,8 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.objects.functions;
|
package net.t2code.commandguiv2.Spigot.objects;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.enums.EcoEnum;
|
||||||
|
import net.t2code.commandguiv2.Spigot.enums.FunctionItemEnum;
|
||||||
|
import net.t2code.commandguiv2.Spigot.enums.FunctionVoteEnum;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -14,11 +18,18 @@ public class Function {
|
|||||||
public String playerName;
|
public String playerName;
|
||||||
public String item;
|
public String item;
|
||||||
public String name;
|
public String name;
|
||||||
public List lore;
|
public List<String> lore;
|
||||||
|
public Boolean noPermMessageEnable;
|
||||||
|
public String customNoPermMessage;
|
||||||
|
public Boolean noPermLoreEnable;
|
||||||
|
public List<String> noPermLore;
|
||||||
public Boolean customSound_Enable;
|
public Boolean customSound_Enable;
|
||||||
public Boolean customSound_NoSound;
|
public Boolean customSound_NoSound;
|
||||||
public String customSound_Sound;
|
public String customSound_Sound;
|
||||||
public Boolean cost_Enable;
|
public Boolean cost_Enable;
|
||||||
|
public EcoEnum ecoModule;
|
||||||
|
public String ecoItem;
|
||||||
|
public Integer votePoints;
|
||||||
public Double price;
|
public Double price;
|
||||||
public Boolean command_Enable;
|
public Boolean command_Enable;
|
||||||
public Boolean command_BungeeCommand;
|
public Boolean command_BungeeCommand;
|
||||||
@ -28,6 +39,7 @@ public class Function {
|
|||||||
public List<String> command;
|
public List<String> command;
|
||||||
public Boolean openGUI_Enable;
|
public Boolean openGUI_Enable;
|
||||||
public String openGUI;
|
public String openGUI;
|
||||||
|
public Boolean closeGUI_Enable;
|
||||||
public Boolean togglePermission;
|
public Boolean togglePermission;
|
||||||
public String togglePermissionPerm;
|
public String togglePermissionPerm;
|
||||||
public Boolean toggleUseItem;
|
public Boolean toggleUseItem;
|
||||||
@ -37,7 +49,6 @@ public class Function {
|
|||||||
public String configFilePath;
|
public String configFilePath;
|
||||||
public String configOptionPath;
|
public String configOptionPath;
|
||||||
public String configOptionPremat;
|
public String configOptionPremat;
|
||||||
// public Boolean ConfigChatInput;
|
|
||||||
|
|
||||||
public String configStringValueLeft;
|
public String configStringValueLeft;
|
||||||
public Boolean configBooleanValueLeft;
|
public Boolean configBooleanValueLeft;
|
||||||
@ -54,6 +65,12 @@ public class Function {
|
|||||||
|
|
||||||
public Boolean pluginReloadEnable;
|
public Boolean pluginReloadEnable;
|
||||||
public String pluginReloadCommand;
|
public String pluginReloadCommand;
|
||||||
|
public Boolean functionVotePoints;
|
||||||
|
public FunctionVoteEnum functionVotePointsMode;
|
||||||
|
public Integer functionVotePointsAmount;
|
||||||
|
public Boolean functionItem;
|
||||||
|
public FunctionItemEnum functionItemMode;
|
||||||
|
public String functionItemItem;
|
||||||
|
|
||||||
public Function(String key,
|
public Function(String key,
|
||||||
Boolean empty,
|
Boolean empty,
|
||||||
@ -66,10 +83,17 @@ public class Function {
|
|||||||
String item,
|
String item,
|
||||||
String name,
|
String name,
|
||||||
List<String> lore,
|
List<String> lore,
|
||||||
|
Boolean noPermMessageEnable,
|
||||||
|
String customNoPermMessage,
|
||||||
|
Boolean noPermLoreEnable,
|
||||||
|
List<String> noPermLore,
|
||||||
Boolean customSound_Enable,
|
Boolean customSound_Enable,
|
||||||
Boolean customSound_NoSound,
|
Boolean customSound_NoSound,
|
||||||
String customSound_Sound,
|
String customSound_Sound,
|
||||||
Boolean cost_Enable,
|
Boolean cost_Enable,
|
||||||
|
EcoEnum ecoModule,
|
||||||
|
String ecoItem,
|
||||||
|
Integer votePoints,
|
||||||
Double price,
|
Double price,
|
||||||
Boolean command_Enable,
|
Boolean command_Enable,
|
||||||
Boolean command_BungeeCommand,
|
Boolean command_BungeeCommand,
|
||||||
@ -79,6 +103,7 @@ public class Function {
|
|||||||
String serverChangeServer,
|
String serverChangeServer,
|
||||||
Boolean openGUI_Enable,
|
Boolean openGUI_Enable,
|
||||||
String openGUI,
|
String openGUI,
|
||||||
|
Boolean closeGUI,
|
||||||
Boolean togglePermission,
|
Boolean togglePermission,
|
||||||
String togglePermissionPerm,
|
String togglePermissionPerm,
|
||||||
Boolean toggleUseItem,
|
Boolean toggleUseItem,
|
||||||
@ -102,7 +127,13 @@ public class Function {
|
|||||||
List<String> configListValueRight,
|
List<String> configListValueRight,
|
||||||
|
|
||||||
Boolean pluginReloadEnable,
|
Boolean pluginReloadEnable,
|
||||||
String pluginReloadCommand) {
|
String pluginReloadCommand,
|
||||||
|
Boolean functionVotePoints,
|
||||||
|
FunctionVoteEnum functionVotePointsMode,
|
||||||
|
Integer functionVotePointsAmount,
|
||||||
|
Boolean functionItem,
|
||||||
|
FunctionItemEnum functionItemMode,
|
||||||
|
String functionItemItem) {
|
||||||
this.key = key;
|
this.key = key;
|
||||||
this.empty = empty;
|
this.empty = empty;
|
||||||
this.itemAmount = itemAmount;
|
this.itemAmount = itemAmount;
|
||||||
@ -114,10 +145,17 @@ public class Function {
|
|||||||
this.item = item;
|
this.item = item;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.lore = lore;
|
this.lore = lore;
|
||||||
|
this.noPermMessageEnable = noPermMessageEnable;
|
||||||
|
this.customNoPermMessage = customNoPermMessage;
|
||||||
|
this.noPermLoreEnable = noPermLoreEnable;
|
||||||
|
this.noPermLore = noPermLore;
|
||||||
this.customSound_Enable = customSound_Enable;
|
this.customSound_Enable = customSound_Enable;
|
||||||
this.customSound_NoSound = customSound_NoSound;
|
this.customSound_NoSound = customSound_NoSound;
|
||||||
this.customSound_Sound = customSound_Sound;
|
this.customSound_Sound = customSound_Sound;
|
||||||
this.cost_Enable = cost_Enable;
|
this.cost_Enable = cost_Enable;
|
||||||
|
this.ecoModule = ecoModule;
|
||||||
|
this.ecoItem = ecoItem;
|
||||||
|
this.votePoints = votePoints;
|
||||||
this.price = price;
|
this.price = price;
|
||||||
this.command_Enable = command_Enable;
|
this.command_Enable = command_Enable;
|
||||||
this.command_BungeeCommand = command_BungeeCommand;
|
this.command_BungeeCommand = command_BungeeCommand;
|
||||||
@ -127,6 +165,7 @@ public class Function {
|
|||||||
this.serverChangeServer = serverChangeServer;
|
this.serverChangeServer = serverChangeServer;
|
||||||
this.openGUI_Enable = openGUI_Enable;
|
this.openGUI_Enable = openGUI_Enable;
|
||||||
this.openGUI = openGUI;
|
this.openGUI = openGUI;
|
||||||
|
this.closeGUI_Enable =closeGUI;
|
||||||
this.togglePermission = togglePermission;
|
this.togglePermission = togglePermission;
|
||||||
this.togglePermissionPerm = togglePermissionPerm;
|
this.togglePermissionPerm = togglePermissionPerm;
|
||||||
this.toggleUseItem = toggleUseItem;
|
this.toggleUseItem = toggleUseItem;
|
||||||
@ -154,6 +193,13 @@ public class Function {
|
|||||||
this.pluginReloadEnable = pluginReloadEnable;
|
this.pluginReloadEnable = pluginReloadEnable;
|
||||||
this.pluginReloadCommand = pluginReloadCommand;
|
this.pluginReloadCommand = pluginReloadCommand;
|
||||||
|
|
||||||
|
this.functionVotePoints = functionVotePoints;
|
||||||
|
this.functionVotePointsMode = functionVotePointsMode;
|
||||||
|
this.functionVotePointsAmount = functionVotePointsAmount;
|
||||||
|
this.functionItem = functionItem;
|
||||||
|
this.functionItemMode = functionItemMode;
|
||||||
|
this.functionItemItem = functionItemItem;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,6 +1,4 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.objects.guis;
|
package net.t2code.commandguiv2.Spigot.objects;
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
@ -11,7 +9,6 @@ public class Gui {
|
|||||||
public Boolean guiFillItemEnable;
|
public Boolean guiFillItemEnable;
|
||||||
public String guiFillItemItem;
|
public String guiFillItemItem;
|
||||||
|
|
||||||
|
|
||||||
public String key;
|
public String key;
|
||||||
public Boolean commandAliasEnable;
|
public Boolean commandAliasEnable;
|
||||||
public Boolean commandPermissionEnable;
|
public Boolean commandPermissionEnable;
|
@ -1,4 +1,4 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.objects.slots;
|
package net.t2code.commandguiv2.Spigot.objects;
|
||||||
|
|
||||||
public class Slot {
|
public class Slot {
|
||||||
|
|
@ -0,0 +1,66 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.sound;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Function;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Gui;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Slot;
|
||||||
|
import net.t2code.commandguiv2.Spigot.enums.SoundEnum;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class Sound {
|
||||||
|
private static String prefix = Util.getPrefix();
|
||||||
|
|
||||||
|
public static void play(Player player, SoundEnum soundEnum) {
|
||||||
|
if (!(boolean) Config.VALUES.soundEnable.getValue()) return;
|
||||||
|
try {
|
||||||
|
play(player, soundEnum, null, null, null);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void play(Player player, SoundEnum soundEnum, Function function, Slot slot, Gui gui) throws Exception {
|
||||||
|
if (!(boolean) Config.VALUES.soundEnable.getValue()) return;
|
||||||
|
switch (soundEnum) {
|
||||||
|
case OpenInventory:
|
||||||
|
if (!(boolean)Config.VALUES.soundOpenInventoryEnable.getValue()) return;
|
||||||
|
player.playSound(player.getLocation(), org.bukkit.Sound.valueOf( Config.VALUES.soundOpenInventory.getValue().toString().replace(".", "_")), 3, 1);
|
||||||
|
break;
|
||||||
|
case Click:
|
||||||
|
if (!(boolean)Config.VALUES.soundClickEnable.getValue()) return;
|
||||||
|
if (!function.customSound_Enable) {
|
||||||
|
player.playSound(player.getLocation(),org.bukkit.Sound.valueOf( Config.VALUES.soundClick.getValue().toString().replace(".", "_")), 3, 1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (function.customSound_NoSound) return;
|
||||||
|
try {
|
||||||
|
player.playSound(player.getLocation(), org.bukkit.Sound.valueOf(function.customSound_Sound.toUpperCase().replace(".", "_")), 3, 1);
|
||||||
|
} catch (Exception e1) {
|
||||||
|
T2C_Send.console("§4\n§4\n§4\n" + Languages.VALUES.SoundNotFound.getValue().toString().replace("[prefix]", prefix)
|
||||||
|
.replace("[sound]", "§6GUI: §e" + gui.key + " §6Function: §e" + function.key + "§r §6Slot: §e" + (slot.slot + 1) + " §6CustomSound: §9" + function.customSound_Sound));
|
||||||
|
player.playSound(player.getLocation(), Config.VALUES.soundClick.getValue().toString(), 3, 1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NoMoney:
|
||||||
|
if (!(boolean)Config.VALUES.soundNoMoneyEnable.getValue()) return;
|
||||||
|
player.playSound(player.getLocation(), org.bukkit.Sound.valueOf(Config.VALUES.soundNoMoney.getValue().toString().replace(".", "_")), 3, 1);
|
||||||
|
break;
|
||||||
|
case NoInventorySpace:
|
||||||
|
if (!(boolean)Config.VALUES.soundNoInventorySpaceEnable.getValue()) return;
|
||||||
|
player.playSound(player.getLocation(),org.bukkit.Sound.valueOf( Config.VALUES.soundNoInventorySpace.getValue().toString().replace(".", "_")), 3, 1);
|
||||||
|
break;
|
||||||
|
case Give:
|
||||||
|
if (!(boolean)Config.VALUES.soundGiveEnable.getValue()) return;
|
||||||
|
player.playSound(player.getLocation(), org.bukkit.Sound.valueOf(Config.VALUES.soundGive.getValue().toString().replace(".", "_")), 3, 1);
|
||||||
|
break;
|
||||||
|
case PlayerNotFound:
|
||||||
|
if (!(boolean)Config.VALUES.soundPlayerNotFoundEnable.getValue()) return;
|
||||||
|
player.playSound(player.getLocation(),org.bukkit.Sound.valueOf( Config.VALUES.soundPlayerNotFound.getValue().toString().replace(".", "_")), 3, 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,51 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.system;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class Debug {
|
||||||
|
|
||||||
|
private static final Plugin plugin = Main.getPlugin();
|
||||||
|
|
||||||
|
public static void debugmsg() {
|
||||||
|
T2C_Debug.debug(plugin, "§5!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||||
|
T2C_Debug.debug(plugin, "§3Bukkit Version: §e" + Bukkit.getBukkitVersion());
|
||||||
|
T2C_Debug.debug(plugin, "§3NMS Version: §e" + Bukkit.getServer().getClass().getPackage().getName().replace("org.bukkit.craftbukkit.", ""));
|
||||||
|
T2C_Debug.debug(plugin, "§3Version: §e" + Bukkit.getVersion());
|
||||||
|
T2C_Debug.debug(plugin, "§3Java: §e" + System.getProperty("java.version"));
|
||||||
|
T2C_Debug.debug(plugin, "§3Worlds: §e" + String.valueOf(Bukkit.getServer().getWorlds()));
|
||||||
|
T2C_Debug.debug(plugin, String.valueOf(Arrays.asList(Main.getPlugin().getServer().getPluginManager().getPlugins())));
|
||||||
|
T2C_Debug.debug(plugin, "§5----------------------------------");
|
||||||
|
if (new File(Main.getPath(), "config.yml").exists()) {
|
||||||
|
File f = new File(String.valueOf(Main.getPath()));
|
||||||
|
File f2 = new File(String.valueOf(Main.getPath() + "/GUIs/"));
|
||||||
|
File f3 = new File(String.valueOf(Main.getPath() + "/languages/"));
|
||||||
|
File[] fileArray = f.listFiles();
|
||||||
|
File[] fileArray2 = f2.listFiles();
|
||||||
|
File[] fileArray3 = f3.listFiles();
|
||||||
|
if (fileArray != null) {
|
||||||
|
for (File config : fileArray) {
|
||||||
|
T2C_Debug.debug(plugin, String.valueOf(config).replace("plugins/CommandGUI/", ""));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (fileArray2 != null) {
|
||||||
|
for (File config2 : fileArray2) {
|
||||||
|
T2C_Debug.debug(plugin, String.valueOf(config2).replace("plugins/CommandGUI/", ""));
|
||||||
|
}
|
||||||
|
} else T2C_Debug.debug(plugin, "No GUI files available");
|
||||||
|
|
||||||
|
if (fileArray3 != null) {
|
||||||
|
for (File config3 : fileArray3) {
|
||||||
|
T2C_Debug.debug(plugin, String.valueOf(config3).replace("plugins/CommandGUI/", ""));
|
||||||
|
}
|
||||||
|
} else T2C_Debug.debug(plugin, "No language files available");
|
||||||
|
|
||||||
|
}
|
||||||
|
T2C_Debug.debug(plugin, "§5!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,169 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.system;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.functions.FunctionsFile;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.gui.GuiFile;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
|
import net.t2code.commandguiv2.Spigot.gui.GUIListener;
|
||||||
|
import net.t2code.commandguiv2.Spigot.listener.Bungee_Sender_Reciver;
|
||||||
|
import net.t2code.commandguiv2.Spigot.useItem.EventsFrom110;
|
||||||
|
import net.t2code.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUI;
|
||||||
|
import net.t2code.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUIItem;
|
||||||
|
import net.t2code.commandguiv2.Spigot.cmdManagement.CmdExecuter_Help;
|
||||||
|
import net.t2code.commandguiv2.Spigot.cmdManagement.register.AliasRegister;
|
||||||
|
import net.t2code.commandguiv2.Spigot.database.MySQL;
|
||||||
|
import net.t2code.commandguiv2.Spigot.listener.PluginEvent;
|
||||||
|
import net.t2code.commandguiv2.Spigot.useItem.Events;
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.database.SQLITE;
|
||||||
|
import net.t2code.commandguiv2.Spigot.database.SelectDatabase;
|
||||||
|
import net.t2code.commandguiv2.Spigot.enums.StorageEnum;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Template;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.plugins.T2C_PluginCheck;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.update.T2C_UpdateAPI;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.system.config.config.T2C_LibConfig;
|
||||||
|
import net.t2code.t2codelib.util.T2C_Util;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Load {
|
||||||
|
static Plugin plugin = Main.getPlugin();
|
||||||
|
|
||||||
|
public static void onLoad(String prefix, List<String> autor, String version, String spigot, int spigotID, String discord, int bstatsID) {
|
||||||
|
|
||||||
|
long long_ = T2C_Template.onLoadHeader(prefix, autor, version, spigot, discord);
|
||||||
|
|
||||||
|
Debug.debugmsg();
|
||||||
|
|
||||||
|
if (!new File(Main.getPath(), "config.yml").exists()) {
|
||||||
|
GuiFile.createDefault(false);
|
||||||
|
FunctionsFile.createDefault(false);
|
||||||
|
}
|
||||||
|
Config.set(false);
|
||||||
|
|
||||||
|
if ((boolean) T2C_LibConfig.VALUES.proxy.getValue()) {
|
||||||
|
if (!Bukkit.getMessenger().isOutgoingChannelRegistered(plugin, T2C_Util.getPluginChannel_ProxyCommand())) {
|
||||||
|
T2C_Debug.debug(plugin, "registerOutgoingPluginChannel §e" + T2C_Util.getPluginChannel_ProxyCommand());
|
||||||
|
Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, T2C_Util.getPluginChannel_ProxyCommand());
|
||||||
|
}
|
||||||
|
if (!Bukkit.getMessenger().isIncomingChannelRegistered(plugin, T2C_Util.getPluginChannel_CGUIOnlinePlayers())) {
|
||||||
|
T2C_Debug.debug(plugin, "registerIncomingPluginChannel §e" + T2C_Util.getPluginChannel_CGUIOnlinePlayers());
|
||||||
|
Bukkit.getMessenger().registerIncomingPluginChannel(plugin, T2C_Util.getPluginChannel_CGUIOnlinePlayers(), new Bungee_Sender_Reciver());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (T2C_PluginCheck.papi()) {
|
||||||
|
new Papi().register();
|
||||||
|
}
|
||||||
|
|
||||||
|
FunctionsFile.select(false);
|
||||||
|
GuiFile.set(false);
|
||||||
|
|
||||||
|
Languages.set(false);
|
||||||
|
Config.checkSounds();
|
||||||
|
|
||||||
|
CmdExecuter_GUI.arg1.put(Config.VALUES.adminSubCommand.getValue().toString(), Permissions.admin + ";" + Permissions.giveItemOther + ";" + Permissions.info);
|
||||||
|
|
||||||
|
T2C_Template.onLoadSeparateStroke(Util.getPrefix());
|
||||||
|
loadStorage(prefix);
|
||||||
|
T2C_Template.onLoadSeparateStroke(Util.getPrefix());
|
||||||
|
|
||||||
|
if (Main.PaPi) {
|
||||||
|
T2C_Send.sendStartTextCenter(Util.getPrefix(),"§2PlaceholderAPI successfully connected!",false);
|
||||||
|
} else {
|
||||||
|
T2C_Send.sendStartTextCenter(Util.getPrefix(),"§4PlaceholderAPI could not be connected / found!",false);
|
||||||
|
}
|
||||||
|
|
||||||
|
Permissions.onPermRegister();
|
||||||
|
|
||||||
|
if ((boolean) Config.VALUES.helpAlias.getValue()) {
|
||||||
|
Main.getPlugin().getCommand("commandguihelp").setExecutor(new CmdExecuter_Help());
|
||||||
|
T2C_Debug.debug(plugin, "CommandRegister: commandguihelp");
|
||||||
|
}
|
||||||
|
Main.getPlugin().getCommand("commandgui").setExecutor(new CmdExecuter_GUI());
|
||||||
|
T2C_Debug.debug(plugin, "CommandRegister: commandgui");
|
||||||
|
Main.getPlugin().getCommand("commandgui-item").setExecutor(new CmdExecuter_GUIItem());
|
||||||
|
T2C_Debug.debug(plugin, "CommandRegister: commandgui-item");
|
||||||
|
|
||||||
|
AliasRegister.onRegister(false);
|
||||||
|
|
||||||
|
Bukkit.getServer().getPluginManager().registerEvents(new GUIListener(), plugin);
|
||||||
|
Bukkit.getServer().getPluginManager().registerEvents(new PluginEvent(), plugin);
|
||||||
|
|
||||||
|
Bukkit.getServer().getPluginManager().registerEvents(new Events(), Main.getPlugin());
|
||||||
|
|
||||||
|
if (!T2C_McVersion.isMc1_8() && !T2C_McVersion.isMc1_9()) {
|
||||||
|
Bukkit.getServer().getPluginManager().registerEvents(new EventsFrom110(), plugin);
|
||||||
|
}
|
||||||
|
|
||||||
|
T2C_UpdateAPI.onUpdateCheck(plugin, prefix, Util.getGit(), spigotID, discord
|
||||||
|
, (boolean) Config.VALUES.updateCheckOnJoin.getValue(), (boolean) Config.VALUES.updateCheckSeePreReleaseUpdates.getValue(), (int) Config.VALUES.updateCheckTimeInterval.getValue());
|
||||||
|
Metrics.Bstats();
|
||||||
|
Main.addonLoad();
|
||||||
|
T2C_Template.onLoadFooter(prefix, long_);
|
||||||
|
Plugman.load();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void loadStorage(String prefix) {
|
||||||
|
try {
|
||||||
|
SelectDatabase.setStorage(StorageEnum.valueOf(Config.VALUES.storage.getValue().toString()));
|
||||||
|
} catch (Exception ignored) {
|
||||||
|
T2C_Send.error(plugin, "The storage medium " + Config.VALUES.storage.getValue().toString() + " is not supported!");
|
||||||
|
T2C_Send.error(plugin, "Storage medium " + StorageEnum.SQLITE + " is used.");
|
||||||
|
SelectDatabase.setStorage(StorageEnum.SQLITE);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (SelectDatabase.getStorage()) {
|
||||||
|
case MYSQL:
|
||||||
|
T2C_Send.sendStartTextCenter(prefix,"§2Storage medium §6" + SelectDatabase.getStorage() + " §2is used.",false);
|
||||||
|
MySQL.main();
|
||||||
|
try {
|
||||||
|
MySQL.query("CREATE TABLE IF NOT EXISTS `gui-item` (" +
|
||||||
|
" `UUID` VARCHAR(191) NOT NULL COLLATE 'utf8mb4_general_ci'," +
|
||||||
|
" `Name` TINYTEXT NOT NULL COLLATE 'utf8mb4_general_ci'," +
|
||||||
|
" `Status` INT(1) NOT NULL DEFAULT '1'," +
|
||||||
|
" `Slot` INT(1) NULL DEFAULT NULL," +
|
||||||
|
" UNIQUE INDEX `UUID` (`UUID`)" +
|
||||||
|
")" +
|
||||||
|
"COLLATE='utf8mb4_general_ci'" +
|
||||||
|
"ENGINE=InnoDB" +
|
||||||
|
";");
|
||||||
|
} catch (Exception e) {
|
||||||
|
Main.sendTryCatch(Load.class, e.getStackTrace()[0]);
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
MySQL.query("ALTER TABLE `gui-item` ADD COLUMN `Slot` INT(1) NULL DEFAULT NULL AFTER `Status`;");
|
||||||
|
} catch (SQLException e) {
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case YML:
|
||||||
|
T2C_Send.sendStartTextCenter(prefix,"§2Storage medium §6" + SelectDatabase.getStorage() + " §2is used.",false);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
case SQLITE:
|
||||||
|
T2C_Send.sendStartTextCenter(prefix,"§2Storage medium §6" + SelectDatabase.getStorage() + " §2is used.",false);
|
||||||
|
try {
|
||||||
|
SQLITE.main();
|
||||||
|
SQLITE.query("CREATE TABLE IF NOT EXISTS `gui-item` (" +
|
||||||
|
"UUID TEXT NOT NULL," +
|
||||||
|
"Name TEXT NOT NULL," +
|
||||||
|
"Status INTEGER NOT NULL DEFAULT 1," +
|
||||||
|
"Slot INTEGER," +
|
||||||
|
"PRIMARY KEY(UUID)" +
|
||||||
|
");");
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,13 +1,11 @@
|
|||||||
// This claas was created by JaTiTV
|
// This claas was created by JaTiTV
|
||||||
|
|
||||||
|
|
||||||
package de.jatitv.commandguiv2.Spigot.system;
|
package net.t2code.commandguiv2.Spigot.system;
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.Main;
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
import net.t2code.commandguiv2.Spigot.database.SelectDatabase;
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
import net.t2code.commandguiv2.Util;
|
||||||
import de.jatitv.commandguiv2.Spigot.system.database.StorageType;
|
|
||||||
import de.jatitv.commandguiv2.Util;
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -35,7 +33,7 @@ public class Metrics {
|
|||||||
|
|
||||||
public static void Bstats() {
|
public static void Bstats() {
|
||||||
int pluginId = Util.getBstatsID(); // <-- Replace with the id of your plugin!
|
int pluginId = Util.getBstatsID(); // <-- Replace with the id of your plugin!
|
||||||
Metrics metrics = new Metrics(Main.plugin, pluginId);
|
Metrics metrics = new Metrics(Main.getPlugin(), pluginId);
|
||||||
metrics.addCustomChart(new DrilldownPie("storage_type_mysql", () -> {
|
metrics.addCustomChart(new DrilldownPie("storage_type_mysql", () -> {
|
||||||
Map<String, Map<String, Integer>> map = new HashMap<>();
|
Map<String, Map<String, Integer>> map = new HashMap<>();
|
||||||
String storage = SelectDatabase.getStorage().toString();
|
String storage = SelectDatabase.getStorage().toString();
|
@ -0,0 +1,51 @@
|
|||||||
|
// This claas was created by JaTiTV
|
||||||
|
|
||||||
|
package net.t2code.commandguiv2.Spigot.system;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class Papi extends PlaceholderExpansion {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getIdentifier() {
|
||||||
|
return "commandgui";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getAuthor() {
|
||||||
|
return Main.getPlugin().getDescription().getAuthors().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getVersion() {
|
||||||
|
return Main.getPlugin().getDescription().getVersion();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canRegister() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean persist() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onPlaceholderRequest(Player p, String params) {
|
||||||
|
if (params.contains("useitem_boolean")) {
|
||||||
|
Placeholder.useitem_boolean(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (params.contains("useitem")) {
|
||||||
|
Placeholder.useitem(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (params.contains("slot")) {
|
||||||
|
Placeholder.slot(p);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,80 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.system;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Gui;
|
||||||
|
import net.t2code.commandguiv2.Spigot.objects.Slot;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.register.T2C_Register;
|
||||||
|
import org.bukkit.permissions.PermissionDefault;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
public class Permissions {
|
||||||
|
private static final Plugin plugin = Main.getPlugin();
|
||||||
|
|
||||||
|
public static final String key = "commandgui.";
|
||||||
|
public static final String command = key + "command";
|
||||||
|
public static final String info = key + "command.info";
|
||||||
|
public static final String bypass = key + "bypass";
|
||||||
|
public static final String useitemToggle = key + "useitem.toggle";
|
||||||
|
public static final String useitem = key + "useitem";
|
||||||
|
public static final String getGuiItemAtLogin = key + "get.guiitem.at.login";
|
||||||
|
public static final String giveItemOther = key + "giveitem.other";
|
||||||
|
public static final String updatemsg = key + "updatemsg";
|
||||||
|
|
||||||
|
public static final String player = key + "player";
|
||||||
|
public static final String admin = key + "admin";
|
||||||
|
|
||||||
|
public static final PermissionDefault op = PermissionDefault.OP;
|
||||||
|
public static final PermissionDefault notOp = PermissionDefault.NOT_OP;
|
||||||
|
|
||||||
|
public static void onPermRegister() {
|
||||||
|
T2C_Register.permission(command, op, plugin);
|
||||||
|
T2C_Register.permissionDescription(command, "Required permission to open GUIs via command", plugin);
|
||||||
|
|
||||||
|
T2C_Register.permission(getGuiItemAtLogin, op, plugin);
|
||||||
|
T2C_Register.permission(giveItemOther, op, plugin);
|
||||||
|
T2C_Register.permissionDescription(getGuiItemAtLogin, "Only players with this permission will receive the GUI item", plugin);
|
||||||
|
|
||||||
|
T2C_Register.permission(useitem, op, plugin);
|
||||||
|
T2C_Register.permissionDescription(useitem, "Required permission to use the GUI Item", plugin);
|
||||||
|
|
||||||
|
T2C_Register.permission(useitemToggle, op, plugin);
|
||||||
|
T2C_Register.permissionDescription(useitemToggle, "Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true)", plugin);
|
||||||
|
|
||||||
|
T2C_Register.permission(updatemsg, op, plugin);
|
||||||
|
T2C_Register.permissionDescription(updatemsg, "Players with this permission get the update message when joining if an update is available", plugin);
|
||||||
|
|
||||||
|
T2C_Register.permission(bypass, op, plugin);
|
||||||
|
T2C_Register.permissionDescription(bypass, "Bypass to open disabled GUIs", plugin);
|
||||||
|
|
||||||
|
T2C_Register.permission(info, notOp, plugin);
|
||||||
|
T2C_Register.permissionDescription(info, "Permission to view T2C-CommandGUI info", plugin);
|
||||||
|
|
||||||
|
T2C_Register.permission(player, op, command, true, plugin);
|
||||||
|
T2C_Register.permission(player, op, getGuiItemAtLogin, true, plugin);
|
||||||
|
T2C_Register.permission(player, op, useitem, true, plugin);
|
||||||
|
T2C_Register.permission(player, op, useitemToggle, true, plugin);
|
||||||
|
T2C_Register.permissionDescription(player, "All permissions from T2C-CommandGUI for Player", plugin);
|
||||||
|
|
||||||
|
T2C_Register.permission(admin, op, command, true, plugin);
|
||||||
|
T2C_Register.permission(admin, op, getGuiItemAtLogin, true, plugin);
|
||||||
|
T2C_Register.permission(admin, op, giveItemOther, true, plugin);
|
||||||
|
T2C_Register.permission(admin, op, useitem, true, plugin);
|
||||||
|
T2C_Register.permission(admin, op, useitemToggle, true, plugin);
|
||||||
|
T2C_Register.permission(admin, op, updatemsg, true, plugin);
|
||||||
|
T2C_Register.permission(admin, op, bypass, true, plugin);
|
||||||
|
T2C_Register.permission(admin, op, info, true, plugin);
|
||||||
|
T2C_Register.permissionDescription(admin, "All permissions from T2C-CommandGUI", plugin);
|
||||||
|
|
||||||
|
|
||||||
|
for (Gui gui : Main.guiHashMap.values()) {
|
||||||
|
T2C_Register.permission(command + "." + gui.key, op, plugin);
|
||||||
|
T2C_Register.permission(admin, op, command + "." + gui.key, true, plugin);
|
||||||
|
for (Slot slot : gui.slots) {
|
||||||
|
T2C_Register.permission(slot.permissionToUse, op, plugin);
|
||||||
|
T2C_Register.permission(admin, op, slot.permissionToUse, true, plugin);
|
||||||
|
T2C_Register.permission(slot.permissionToSee, op, plugin);
|
||||||
|
T2C_Register.permission(admin, op, slot.permissionToSee, true, plugin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,38 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.system;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.useItem.Events;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Placeholder {
|
||||||
|
public static String useitem(Player p) {
|
||||||
|
if (Events.useItemHashMap.get(p.getName())) {
|
||||||
|
return Config.VALUES.placeholderTrue.getValue().toString();
|
||||||
|
} else return Config.VALUES.placeholderFalse.getValue().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String useitem_boolean(Player p) {
|
||||||
|
return Events.useItemHashMap.get(p.getName()).toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String slot(Player p) {
|
||||||
|
return Events.useItemSlotHashMap.get(p.getName()).toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String replace(String input, Player player) {
|
||||||
|
return input.replace("[player]", player.getName()).replace("%commandgui_useitem%", useitem(player))
|
||||||
|
.replace("%commandgui_useitem_boolean%", useitem_boolean(player)).replace("%commandgui_useitem_slot%", slot(player));
|
||||||
|
}
|
||||||
|
public static List<String> replace(List<String> input, Player player) {
|
||||||
|
ArrayList<String> rp = new ArrayList<String>();
|
||||||
|
|
||||||
|
for (String s : input) {
|
||||||
|
rp.add(s.replace("[player]", player.getName()).replace("%commandgui_useitem%", useitem(player))
|
||||||
|
.replace("%commandgui_useitem_boolean%", useitem_boolean(player)).replace("%commandgui_useitem_slot%", slot(player)));
|
||||||
|
}
|
||||||
|
return rp;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
// This class was created by JaTiTV.
|
||||||
|
|
||||||
|
package net.t2code.commandguiv2.Spigot.system;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.cmdManagement.Commands;
|
||||||
|
import net.t2code.commandguiv2.Spigot.useItem.Events;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class Plugman {
|
||||||
|
|
||||||
|
public static void load(){
|
||||||
|
for (Player player : Bukkit.getOnlinePlayers()){
|
||||||
|
Events.joinPlayer(player);
|
||||||
|
Commands.itemOn(player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void unLoad(){
|
||||||
|
for (Player player : Bukkit.getOnlinePlayers()){
|
||||||
|
Commands.itemOff(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,366 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.useItem;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.cmdManagement.Commands;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
|
import net.t2code.commandguiv2.Spigot.gui.OpenGUI;
|
||||||
|
import net.t2code.commandguiv2.Spigot.database.SelectDatabase;
|
||||||
|
import net.t2code.commandguiv2.api.CGuiAPI;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.items.T2C_ItemVersion;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.block.BlockPlaceEvent;
|
||||||
|
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.event.inventory.InventoryDragEvent;
|
||||||
|
import org.bukkit.event.inventory.InventoryMoveItemEvent;
|
||||||
|
import org.bukkit.event.inventory.InventoryPickupItemEvent;
|
||||||
|
import org.bukkit.event.player.*;
|
||||||
|
import org.bukkit.event.server.ServerCommandEvent;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class Events implements Listener {
|
||||||
|
|
||||||
|
public static HashMap<String, Boolean> useItemHashMap = new HashMap<>();
|
||||||
|
public static HashMap<String, Integer> useItemSlotHashMap = new HashMap<>();
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onJoin(PlayerJoinEvent e) {
|
||||||
|
joinPlayer(e.getPlayer());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void joinPlayer(Player player) {
|
||||||
|
useItemHashMap.put(player.getName(), SelectDatabase.selectItemStatus(player));
|
||||||
|
Integer i = SelectDatabase.selectSlot(player);
|
||||||
|
useItemSlotHashMap.put(player.getName(), Objects.requireNonNullElseGet(i, () -> (int) Config.VALUES.useItemInventorySlot.getValue()));
|
||||||
|
|
||||||
|
if (CGuiAPI.JoinDisable) {
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "JoinDisable");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (player.hasPermission("commandgui.get.guiitem.at.login")) {
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "itemChange: " + player.getName());
|
||||||
|
ItemChange.itemChange(player, true);
|
||||||
|
}
|
||||||
|
}.runTaskLater(Main.getPlugin(), 20L);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onQuit(PlayerQuitEvent e) {
|
||||||
|
useItemHashMap.remove(e.getPlayer().getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
|
public void onDeathDrop(PlayerDeathEvent e) {
|
||||||
|
Player player = e.getEntity().getPlayer();
|
||||||
|
assert player != null;
|
||||||
|
UseItem.removeItem(player);
|
||||||
|
if (!e.getDrops().isEmpty()) {
|
||||||
|
Iterator var3 = (new ArrayList(e.getDrops())).iterator();
|
||||||
|
while (var3.hasNext()) {
|
||||||
|
ItemStack items = (ItemStack) var3.next();
|
||||||
|
if (items != null && items.hasItemMeta() && Objects.requireNonNull(items.getItemMeta()).hasDisplayName()
|
||||||
|
&& items.getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
e.getDrops().remove(items);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
|
public void onRespawn(PlayerRespawnEvent e) {
|
||||||
|
Player player = e.getPlayer();
|
||||||
|
if ((boolean) Config.VALUES.useItemEnable.getValue()) {
|
||||||
|
ItemChange.itemChange(player, false);
|
||||||
|
//if (!(boolean)Config.VALUES.useItem_AllowToggle || Select_Database.selectItemStatus(player)) {
|
||||||
|
// if ((boolean)Config.VALUES.useItem_GiveOnlyOnFirstJoin) {
|
||||||
|
// if (!player.hasPlayedBefore()) {
|
||||||
|
// new BukkitRunnable() {
|
||||||
|
// @Override
|
||||||
|
// public void run() {
|
||||||
|
// Give_UseItem.onGive(player);
|
||||||
|
// }
|
||||||
|
// }.runTaskLater(Main.getPlugin(), 20L * 1);
|
||||||
|
// }
|
||||||
|
// } else {
|
||||||
|
// new BukkitRunnable() {
|
||||||
|
// @Override
|
||||||
|
// public void run() {
|
||||||
|
// Give_UseItem.onGive(player);
|
||||||
|
// }
|
||||||
|
// }.runTaskLater(Main.getPlugin(), 20L * 1);
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
|
public void onGameModeChange(PlayerGameModeChangeEvent e) {
|
||||||
|
Player player = e.getPlayer();
|
||||||
|
if (!(boolean) Config.VALUES.useItemGameModeChangeEnable.getValue()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
ItemChange.itemChange(player, false);
|
||||||
|
}
|
||||||
|
}.runTaskLater(Main.getPlugin(), (int) Config.VALUES.useItemGameModeChangeDelayInTicks.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onWorldChange(PlayerChangedWorldEvent e) {
|
||||||
|
Player player = e.getPlayer();
|
||||||
|
if (!(boolean) Config.VALUES.useItemWorldChangeEnable.getValue()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
ItemChange.itemChange(player, false);
|
||||||
|
}
|
||||||
|
}.runTaskLater(Main.getPlugin(), (int) Config.VALUES.useItemWorldChangeDelayInTicks.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
|
public void onInteract(PlayerInteractEvent e) {
|
||||||
|
Player p = e.getPlayer();
|
||||||
|
if (!p.isSneaking()) {
|
||||||
|
for (String material : (List<String>) Config.VALUES.useItemItemBlockBlacklist.getValue()) {
|
||||||
|
if (e.getClickedBlock() != null) {
|
||||||
|
if (e.getClickedBlock().getType() == Material.valueOf(material)) return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((boolean) Config.VALUES.useItemEnable.getValue()) {
|
||||||
|
if ((boolean) Config.VALUES.useItemPlayerHeadEnable.getValue()) {
|
||||||
|
if (e.getItem() != null && p.getItemInHand().getType() == T2C_ItemVersion.getHead()) {
|
||||||
|
if (e.getItem().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
openGUI(e, p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (e.getItem() != null && p.getItemInHand().getType() == Material.valueOf(Config.VALUES.useItemMaterial.getValue().toString().toUpperCase())) {
|
||||||
|
if (e.getItem().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
openGUI(e, p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void openGUI(PlayerInteractEvent e, Player player) {
|
||||||
|
e.setCancelled(true);
|
||||||
|
|
||||||
|
if (Config.VALUES.disableInfoBySneak.getValue() != null && (!(boolean) Config.VALUES.disableInfoBySneak.getValue()) && player.isSneaking()) {
|
||||||
|
Commands.info(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Main.legacy) {
|
||||||
|
if (!topInventoryIsEmpty(player)) return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (UseItem.protection(player, true)) return;
|
||||||
|
|
||||||
|
if ((boolean) Config.VALUES.useItemGameModeProtection.getValue()) {
|
||||||
|
if (Config.VALUES.useItemGameModeMode.getValue().toString().equalsIgnoreCase("blacklist") && ((List<String>) Config.VALUES.useItemGameModeList.getValue()).contains(player.getGameMode().toString())) {
|
||||||
|
e.setCancelled(true);
|
||||||
|
T2C_Send.player(player, Languages.VALUES.UseItemDisabledInGameMode);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (Config.VALUES.useItemGameModeMode.getValue().toString().equalsIgnoreCase("whitelist") && !((List<String>) Config.VALUES.useItemGameModeList.getValue()).contains(player.getGameMode().toString())) {
|
||||||
|
e.setCancelled(true);
|
||||||
|
T2C_Send.player(player, Languages.VALUES.UseItemDisabledInGameMode);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((boolean) Config.VALUES.useItemWorldProtection.getValue()) {
|
||||||
|
if (Config.VALUES.useItemWorldMode.getValue().toString().equalsIgnoreCase("blacklist") && ((List<String>) Config.VALUES.useItemWorldList.getValue()).contains(player.getWorld().getName())) {
|
||||||
|
e.setCancelled(true);
|
||||||
|
T2C_Send.player(player, Languages.VALUES.UseItemDisabledInWorld);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (Config.VALUES.useItemWorldMode.getValue().toString().equalsIgnoreCase("whitelist") && !((List<String>) Config.VALUES.useItemWorldList.getValue()).contains(player.getWorld().getName())) {
|
||||||
|
e.setCancelled(true);
|
||||||
|
T2C_Send.player(player, Languages.VALUES.UseItemDisabledInWorld);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(boolean) Config.VALUES.useItemPermissionNeeded.getValue() || player.hasPermission("commandgui.useitem")) {
|
||||||
|
OpenGUI.openGUI(player, Config.VALUES.useItemOpenGUI.getValue().toString(), true);
|
||||||
|
} else {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.NoPermissionForUseItem.getValue().toString().replace("[perm]", "commandgui.useitem")
|
||||||
|
.replace("[gui]", Config.VALUES.useItemOpenGUI.getValue().toString()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
|
public void onItemMoveEvent(InventoryMoveItemEvent e) {
|
||||||
|
if (!(boolean) Config.VALUES.useItemBlockMoveAndDrop.getValue() || !(boolean) Config.VALUES.useItemEnable.getValue()) return;
|
||||||
|
if (e.getItem() != null && e.getItem().hasItemMeta() && e.getItem().getItemMeta().hasDisplayName()
|
||||||
|
&& e.getItem().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
e.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
|
public void onItemMove(InventoryDragEvent e) {
|
||||||
|
if (!(boolean) Config.VALUES.useItemBlockMoveAndDrop.getValue() || !(boolean) Config.VALUES.useItemEnable.getValue()) return;
|
||||||
|
|
||||||
|
if (e.getWhoClicked() instanceof Player) {
|
||||||
|
Player p = (Player) e.getWhoClicked();
|
||||||
|
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
|
||||||
|
&& e.getCursor().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
p.closeInventory();
|
||||||
|
e.setCancelled(true);
|
||||||
|
ItemChange.itemChange(p, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.getOldCursor() != null && e.getOldCursor().hasItemMeta() && e.getOldCursor().getItemMeta().hasDisplayName()
|
||||||
|
&& e.getOldCursor().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
p.closeInventory();
|
||||||
|
e.setCancelled(true);
|
||||||
|
ItemChange.itemChange(p, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||||
|
public void onItemMove(InventoryClickEvent e) {
|
||||||
|
if (!(boolean) Config.VALUES.useItemBlockMoveAndDrop.getValue() || !(boolean) Config.VALUES.useItemEnable.getValue()) return;
|
||||||
|
|
||||||
|
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
|
||||||
|
&& e.getCursor().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
e.setCancelled(true);
|
||||||
|
}
|
||||||
|
if (e.getCurrentItem() != null && e.getCurrentItem().hasItemMeta() && e.getCurrentItem().getItemMeta().hasDisplayName()
|
||||||
|
&& e.getCurrentItem().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
|
||||||
|
e.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
|
||||||
|
public void onItemMove2(InventoryClickEvent e) {
|
||||||
|
if (!(boolean) Config.VALUES.useItemBlockMoveAndDrop.getValue() || !(boolean) Config.VALUES.useItemEnable.getValue()) return;
|
||||||
|
|
||||||
|
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
|
||||||
|
&& e.getCursor().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
e.setCancelled(true);
|
||||||
|
}
|
||||||
|
if (e.getCurrentItem() != null && e.getCurrentItem().hasItemMeta() && e.getCurrentItem().getItemMeta().hasDisplayName()
|
||||||
|
&& e.getCurrentItem().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
|
||||||
|
e.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
|
public void onItemMove(InventoryPickupItemEvent e) {
|
||||||
|
if (!(boolean) Config.VALUES.useItemBlockMoveAndDrop.getValue() || !(boolean) Config.VALUES.useItemEnable.getValue()) return;
|
||||||
|
|
||||||
|
if (e.getItem() != null && e.getItem().getItemStack() != null) {
|
||||||
|
ItemStack item = e.getItem().getItemStack();
|
||||||
|
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()
|
||||||
|
&& item.getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
e.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
|
public void onPlace(BlockPlaceEvent e) {
|
||||||
|
if (!(boolean) Config.VALUES.useItemBlockMoveAndDrop.getValue() || !(boolean) Config.VALUES.useItemEnable.getValue()) return;
|
||||||
|
if (e.getItemInHand() != null && e.getItemInHand().hasItemMeta() && e.getItemInHand().getItemMeta().hasDisplayName()
|
||||||
|
&& e.getItemInHand().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
e.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
|
public void onDrop(PlayerDropItemEvent e) {
|
||||||
|
if (!(boolean) Config.VALUES.useItemBlockMoveAndDrop.getValue() || !(boolean) Config.VALUES.useItemEnable.getValue()) return;
|
||||||
|
|
||||||
|
if (e.getItemDrop() != null && e.getItemDrop().getItemStack() != null) {
|
||||||
|
ItemStack item = e.getItemDrop().getItemStack();
|
||||||
|
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()
|
||||||
|
&& item.getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
e.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean topInventoryIsEmpty(Player p) {
|
||||||
|
return p.getOpenInventory().getTopInventory().isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onClearServer(ServerCommandEvent event) {
|
||||||
|
if ((boolean) Config.VALUES.useItemKeepAtCommandClear.getValue()) {
|
||||||
|
if (event.getCommand().contains("clear " + event.getCommand().replace("/", "").replace("clear ", ""))) {
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
Player player = Bukkit.getPlayer(event.getCommand().replace("/", "").replace("clear ", ""));
|
||||||
|
if (player == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
clearGive(player);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}.runTaskLater(Main.getPlugin(), 1L);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onClearPlayer(PlayerCommandPreprocessEvent event) {
|
||||||
|
if ((boolean) Config.VALUES.useItemKeepAtCommandClear.getValue()) {
|
||||||
|
if (event.getMessage().toLowerCase().contains("clear")) {
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
clearGive(event.getPlayer());
|
||||||
|
}
|
||||||
|
}.runTaskLater(Main.getPlugin(), 1L);
|
||||||
|
}
|
||||||
|
if (event.getMessage().toLowerCase().contains("clear " + event.getMessage().toLowerCase().replace("/", "").replace("clear ", ""))) {
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
clearGive(Bukkit.getPlayer(event.getMessage().toLowerCase().replace("/", "").replace("clear ", "")));
|
||||||
|
}
|
||||||
|
}.runTaskLater(Main.getPlugin(), 1L);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void clearGive(Player player) {
|
||||||
|
ItemChange.itemChange(player, false);
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,6 @@
|
|||||||
package de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener;
|
package net.t2code.commandguiv2.Spigot.useItem;
|
||||||
|
|
||||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
@ -12,29 +11,27 @@ public class EventsFrom110 implements Listener {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onHandSwap(PlayerSwapHandItemsEvent e) {
|
public void onHandSwap(PlayerSwapHandItemsEvent e) {
|
||||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9) return;
|
if (!(boolean) Config.VALUES.useItemBlockMoveAndDrop.getValue() || !(boolean)Config.VALUES.useItemEnable.getValue()) return;
|
||||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
|
||||||
if (e.getMainHandItem() != null && e.getMainHandItem().hasItemMeta() && e.getMainHandItem().getItemMeta().hasDisplayName()
|
if (e.getMainHandItem() != null && e.getMainHandItem().hasItemMeta() && e.getMainHandItem().getItemMeta().hasDisplayName()
|
||||||
&& e.getMainHandItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
&& e.getMainHandItem().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
}
|
}
|
||||||
if (e.getOffHandItem() != null && e.getOffHandItem().hasItemMeta() && e.getOffHandItem().getItemMeta().hasDisplayName()
|
if (e.getOffHandItem() != null && e.getOffHandItem().hasItemMeta() && e.getOffHandItem().getItemMeta().hasDisplayName()
|
||||||
&& e.getOffHandItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
&& e.getOffHandItem().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onItemMove(PlayerSwapHandItemsEvent e) {
|
public void onItemMove(PlayerSwapHandItemsEvent e) {
|
||||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9) return;
|
if (!(boolean)Config.VALUES.useItemBlockMoveAndDrop.getValue() || !(boolean)Config.VALUES.useItemEnable.getValue()) return;
|
||||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
|
||||||
Player p = e.getPlayer();
|
Player p = e.getPlayer();
|
||||||
if (e.getOffHandItem() != null && e.getOffHandItem().hasItemMeta() && e.getOffHandItem().getItemMeta().hasDisplayName()
|
if (e.getOffHandItem() != null && e.getOffHandItem().hasItemMeta() && e.getOffHandItem().getItemMeta().hasDisplayName()
|
||||||
&& e.getOffHandItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
&& e.getOffHandItem().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
p.closeInventory();
|
p.closeInventory();
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
}
|
}
|
||||||
if (e.getMainHandItem() != null && e.getMainHandItem().hasItemMeta() && e.getMainHandItem().getItemMeta().hasDisplayName()
|
if (e.getMainHandItem() != null && e.getMainHandItem().hasItemMeta() && e.getMainHandItem().getItemMeta().hasDisplayName()
|
||||||
&& e.getMainHandItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
&& e.getMainHandItem().getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
p.closeInventory();
|
p.closeInventory();
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
}
|
}
|
@ -0,0 +1,112 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.useItem;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
public class ItemChange {
|
||||||
|
public static void itemChange(Player player, Boolean setCursor) {
|
||||||
|
Integer slot;
|
||||||
|
if ((boolean)Config.VALUES.useItemInventorySlotEnforce.getValue()) {
|
||||||
|
slot = (int)Config.VALUES.useItemInventorySlot.getValue();
|
||||||
|
} else {
|
||||||
|
slot = Events.useItemSlotHashMap.get(player.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(boolean)Config.VALUES.useItemEnable.getValue()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
UseItem.removeItem(player);
|
||||||
|
if (UseItem.protection(player, false)) return;
|
||||||
|
if ((boolean) Config.VALUES.useItemGiveOnlyOnFirstJoin.getValue()) {
|
||||||
|
if (!(boolean) Config.VALUES.useItemAllowToggle.getValue() || Events.useItemHashMap.get(player.getName())) {
|
||||||
|
if (!player.hasPlayedBefore()) {
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
UseItem.giveUseItem(player);
|
||||||
|
if (setCursor) {
|
||||||
|
setCursor(player, slot);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}.runTaskLater(Main.getPlugin(), 1L * 1);
|
||||||
|
if ((boolean)Config.VALUES.cursorToGUIItemOnlyOnFirstLogin.getValue() || (boolean)Config.VALUES.cursorToGUIItemOnLogin.getValue()) {
|
||||||
|
player.getInventory().setHeldItemSlot(slot - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "GiveOnlyOnFirstJoin: " + player.getName());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!(boolean)Config.VALUES.useItemGiveOnEveryJoin.getValue()) {
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "!GiveOnEveryJoin: " + player.getName());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
Boolean pln = Events.useItemHashMap.get(player.getName());
|
||||||
|
if (pln == null) return;
|
||||||
|
if (!(boolean) Config.VALUES.useItemAllowToggle.getValue() || pln) {
|
||||||
|
if ((boolean) Config.VALUES.useItemInventorySlotEnforce.getValue() || player.getInventory().getItem(slot - 1) == null) {
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "Give: " + player.getName());
|
||||||
|
UseItem.giveUseItem(player);
|
||||||
|
if (setCursor) {
|
||||||
|
setCursor(player, slot);
|
||||||
|
}
|
||||||
|
} else if ((boolean) Config.VALUES.useItemInventorySlotFreeSlot.getValue()) {
|
||||||
|
boolean empty = false;
|
||||||
|
for (int i = 0; i < 9; i++) {
|
||||||
|
if (player.getInventory().getItem(i) == null) {
|
||||||
|
empty = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (empty) {
|
||||||
|
UseItem.addUseItem(player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}.runTaskLater(Main.getPlugin(), 1L * 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setCursor(Player player, int slot) {
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "setCursor 1 Player: " + player.getName());
|
||||||
|
|
||||||
|
if (!(boolean)Config.VALUES.cursorToGUIItemOnLogin.getValue()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "setCursor 2 Player: " + player.getName());
|
||||||
|
if ((boolean)Config.VALUES.cursorToGUIItemOnlyOnFirstLogin.getValue()) {
|
||||||
|
if (!player.hasPlayedBefore()) {
|
||||||
|
player.getInventory().setHeldItemSlot(slot - 1);
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "setCursor 3 Player: " + player.getName());
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "setCursor 4 Player: " + player.getName());
|
||||||
|
if (!T2C_Main.isBungee()) {
|
||||||
|
player.getInventory().setHeldItemSlot(slot - 1);
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "setCursor 5 Player: " + player.getName());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "setCursor 6 Player: " + player.getName());
|
||||||
|
if ((boolean)Config.VALUES.cursorUseItemServerChange.getValue()) {
|
||||||
|
player.getInventory().setHeldItemSlot(slot - 1);
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "setCursor 7 Player: " + player.getName());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "setCursor 8 Player: " + player.getName());
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "setCursor bungeejoinplayers: " + Main.proxyJoinPlayers);
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "setCursor Player: " + player.getName());
|
||||||
|
if (Main.proxyJoinPlayers.contains(player.getName())) {
|
||||||
|
player.getInventory().setHeldItemSlot(slot - 1);
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "setCursor 9 Player: " + player.getName());
|
||||||
|
Main.proxyJoinPlayers.remove(player.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,133 @@
|
|||||||
|
package net.t2code.commandguiv2.Spigot.useItem;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.items.T2C_ItemBuilder;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.items.T2C_ItemVersion;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Replace;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
import org.bukkit.inventory.meta.SkullMeta;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class UseItem {
|
||||||
|
public static void giveUseItem(Player player) {
|
||||||
|
Integer slot;
|
||||||
|
if (protection(player, false)) return;
|
||||||
|
if ((boolean)Config.VALUES.useItemInventorySlotEnforce.getValue()) {
|
||||||
|
slot = (int)Config.VALUES.useItemInventorySlot.getValue();
|
||||||
|
} else {
|
||||||
|
slot = Events.useItemSlotHashMap.get(player.getName());
|
||||||
|
}
|
||||||
|
if ((boolean)Config.VALUES.useItemInventorySlotFreeSlot.getValue()) {
|
||||||
|
player.getInventory().addItem(itemStack(player));
|
||||||
|
} else {
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "setUseItem: " + player.getName() + " Slot: " + Integer.parseInt(String.valueOf(slot - 1)));
|
||||||
|
player.getInventory().setItem(slot - 1, itemStack(player));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void addUseItem(Player player) {
|
||||||
|
if (protection(player, false)) return;
|
||||||
|
if ((boolean)Config.VALUES.useItemInventorySlotFreeSlot.getValue()) {
|
||||||
|
player.getInventory().addItem(itemStack(player));
|
||||||
|
} else player.getInventory().addItem(itemStack(player));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ItemStack itemStack(Player player) {
|
||||||
|
ItemStack item = null;
|
||||||
|
if ((boolean)Config.VALUES.useItemPlayerHeadEnable.getValue()) {
|
||||||
|
if (T2C_McVersion.isMc1_8() || T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12()) {
|
||||||
|
T2C_Send.player(player, Util.getPrefix() + "§c Playerheads for UseItem are only available from version §61.13§c!");
|
||||||
|
T2C_Send.error(Main.getPlugin(), "Playerheads for UseItem are only available from version 1.13!");
|
||||||
|
} else {
|
||||||
|
|
||||||
|
SkullMeta playerheadmeta = null;
|
||||||
|
|
||||||
|
if ((boolean)Config.VALUES.useItemBase64Enable.getValue()) {
|
||||||
|
item = T2C_ItemBuilder.base64( Config.VALUES.useItemBase64value.getValue().toString());
|
||||||
|
playerheadmeta = (SkullMeta) item.getItemMeta();
|
||||||
|
} else {
|
||||||
|
item = T2C_ItemVersion.getHeadIS();
|
||||||
|
playerheadmeta = (SkullMeta) item.getItemMeta();
|
||||||
|
String p;
|
||||||
|
if ((boolean)Config.VALUES.useItemPlayerWhoHasOpenedTheGUI.getValue()) {
|
||||||
|
p = player.getName();
|
||||||
|
} else p = Config.VALUES.useItemPlayerName.getValue().toString();
|
||||||
|
playerheadmeta.setOwner(p);
|
||||||
|
}
|
||||||
|
if (Main.PaPi) {
|
||||||
|
playerheadmeta.setLore(T2C_Replace.replace(Util.getPrefix(), player, (List<String>) Config.VALUES.useItemLore.getValue()));
|
||||||
|
} else playerheadmeta.setLore(T2C_Replace.replace(Util.getPrefix(), (List<String>) Config.VALUES.useItemLore.getValue()));
|
||||||
|
playerheadmeta.setDisplayName(Config.VALUES.useItemName.getValue().toString());
|
||||||
|
item.setItemMeta(playerheadmeta);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
item = new ItemStack(Material.valueOf(Config.VALUES.useItemMaterial.getValue().toString().toUpperCase()));
|
||||||
|
ItemMeta itemMeta = item.getItemMeta();
|
||||||
|
itemMeta.setDisplayName(Config.VALUES.useItemName.getValue().toString());
|
||||||
|
if (Main.PaPi) {
|
||||||
|
itemMeta.setLore(T2C_Replace.replace(Util.getPrefix(), player, (List<String>) Config.VALUES.useItemLore.getValue()));
|
||||||
|
} else itemMeta.setLore(T2C_Replace.replace(Util.getPrefix(), (List<String>) Config.VALUES.useItemLore.getValue()));
|
||||||
|
item.setItemMeta(itemMeta);
|
||||||
|
item.setAmount(1);
|
||||||
|
}
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean protection(Player player, Boolean interact) {
|
||||||
|
if ((boolean)Config.VALUES.useItemGameModeProtection.getValue()) {
|
||||||
|
if ((boolean)Config.VALUES.useItemGameModeMode.getValue().toString().equalsIgnoreCase("blacklist") && ((List<String>)Config.VALUES.useItemGameModeList.getValue()).contains(player.getGameMode().toString())) {
|
||||||
|
if (interact) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.UseItemDisabledInGameMode);
|
||||||
|
} else if (!(boolean)Config.VALUES.useItemGameModeRemoveItemWhenItIsDisabled.getValue()) removeItem(player);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (Config.VALUES.useItemGameModeMode.getValue().toString().equalsIgnoreCase("whitelist") && !((List<String>)Config.VALUES.useItemGameModeList.getValue()).contains(player.getGameMode().toString())) {
|
||||||
|
if (interact) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.UseItemDisabledInGameMode);
|
||||||
|
} else if (!(boolean)Config.VALUES.useItemGameModeRemoveItemWhenItIsDisabled.getValue()) removeItem(player);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((boolean)Config.VALUES.useItemWorldProtection.getValue()) {
|
||||||
|
if (Config.VALUES.useItemWorldMode.getValue().toString().equalsIgnoreCase("blacklist") && ((List<String>)Config.VALUES.useItemWorldList.getValue()).contains(player.getWorld().getName())) {
|
||||||
|
if (interact) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.UseItemDisabledInWorld);
|
||||||
|
} else if (!(boolean)Config.VALUES.useItemWorldRemoveItemWhenItIsDisabled.getValue()) removeItem(player);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (Config.VALUES.useItemWorldMode.getValue().toString().equalsIgnoreCase("whitelist") && !((List<String>)Config.VALUES.useItemWorldList.getValue()).contains(player.getWorld().getName())) {
|
||||||
|
if (interact) {
|
||||||
|
T2C_Send.player(player, Languages.VALUES.UseItemDisabledInWorld);
|
||||||
|
} else if (!(boolean)Config.VALUES.useItemWorldRemoveItemWhenItIsDisabled.getValue()) removeItem(player);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void removeItem(Player player) {
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "World disabled: " + player.getName() + " " + player.getWorld().toString());
|
||||||
|
for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) {
|
||||||
|
ItemStack itm = player.getInventory().getItem(iam);
|
||||||
|
if (itm != null) {
|
||||||
|
if (itm.getType() == Material.valueOf(Config.VALUES.useItemMaterial.getValue().toString().toUpperCase()) || itm.getType() == T2C_ItemVersion.getHead()) {
|
||||||
|
if (itm.getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString())) {
|
||||||
|
player.getInventory().remove(itm);
|
||||||
|
player.updateInventory();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,50 @@
|
|||||||
|
package net.t2code.commandguiv2;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Replace;
|
||||||
|
import net.t2code.t2codelib.util.T2C_ConfigItem;
|
||||||
|
import net.t2code.t2codelib.util.T2C_Util;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Util {
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private static final String infoText = "";
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private static final String requiredT2CodeLibVersion = "16.7";
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private static final String prefix = "§8[§4C§9GUI§8]";
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private static final Integer spigotID = 90671;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private static final String git = "JaTiTV/T2C-CommandGUI";
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private static final Integer bstatsID = 10840;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private static final String spigot = "https://www.spigotmc.org/resources/" + getSpigotID();
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private static final String discord = "http://dc.t2code.net";
|
||||||
|
|
||||||
|
public static String[] getConfigLogo() {
|
||||||
|
ArrayList<String> arrayList = new ArrayList<>(T2C_Util.getConfigT2CodeLogo());
|
||||||
|
arrayList.addAll(Arrays.asList("", "# Spigot: " + spigot));
|
||||||
|
return arrayList.toArray(new String[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void replace(T2C_ConfigItem item) {
|
||||||
|
if (item.getValue() instanceof List) {
|
||||||
|
item.setValue(T2C_Replace.replace(Config.VALUES.prefix.getValue().toString(), (List<String>) item.getValue()));
|
||||||
|
} else item.setValue(T2C_Replace.replace(Config.VALUES.prefix.getValue().toString(), item.getValue().toString()));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,100 @@
|
|||||||
|
package net.t2code.commandguiv2.api;
|
||||||
|
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.config.Config;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.gui.GuiFile;
|
||||||
|
import net.t2code.commandguiv2.Spigot.config.languages.Languages;
|
||||||
|
import net.t2code.commandguiv2.Spigot.useItem.ItemChange;
|
||||||
|
import net.t2code.commandguiv2.Spigot.useItem.Events;
|
||||||
|
import net.t2code.commandguiv2.Spigot.Main;
|
||||||
|
import net.t2code.commandguiv2.Spigot.cmdManagement.Commands;
|
||||||
|
import net.t2code.commandguiv2.Spigot.cmdManagement.Help;
|
||||||
|
import net.t2code.commandguiv2.Spigot.system.Permissions;
|
||||||
|
import net.t2code.commandguiv2.Spigot.database.SelectDatabase;
|
||||||
|
import net.t2code.commandguiv2.Util;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class CGuiAPI {
|
||||||
|
public static Boolean JoinDisable = false;
|
||||||
|
|
||||||
|
public static void onItemChange(Player player) {
|
||||||
|
onItemChange(player,false);
|
||||||
|
}
|
||||||
|
public static void onItemChange(Player player, Boolean setCursor) {
|
||||||
|
ItemChange.itemChange(player, setCursor);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean hasUseItemInMainHand(@NotNull Player player) {
|
||||||
|
ItemStack item = player.getInventory().getItemInMainHand();
|
||||||
|
return item.hasItemMeta() && Objects.requireNonNull(item.getItemMeta()).hasDisplayName()
|
||||||
|
&& item.getItemMeta().getDisplayName().equals( Config.VALUES.useItemName.getValue().toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean hasUseItemInOffHand(@NotNull Player player) {
|
||||||
|
ItemStack item = player.getInventory().getItemInOffHand();
|
||||||
|
return item.hasItemMeta() && Objects.requireNonNull(item.getItemMeta()).hasDisplayName()
|
||||||
|
&& item.getItemMeta().getDisplayName().equals(Config.VALUES.useItemName.getValue().toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void disableItemGiveOnJoin(Boolean disableItemGiveOnJoin) {
|
||||||
|
T2C_Debug.debug(Main.getPlugin(), "CGuiAPI: " + disableItemGiveOnJoin);
|
||||||
|
JoinDisable = disableItemGiveOnJoin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Boolean selectPlayerItemEnable(@NotNull Player player) {
|
||||||
|
return Events.useItemHashMap.get(player.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Integer selectPlayerItemSlot(@NotNull Player player) {
|
||||||
|
return Events.useItemSlotHashMap.get(player.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setPlayerItemEnable(Player player, @NotNull Boolean value) {
|
||||||
|
if (value) {
|
||||||
|
SelectDatabase.setItemStatusTrue(player);
|
||||||
|
} else SelectDatabase.setItemStatusFalse(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setPlayerItemSlot(Player player, Integer value) {
|
||||||
|
SelectDatabase.setSlot(player, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void openDefaultGUI(Player player) {
|
||||||
|
Commands.gui(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void openGUI(Player player, String GUI_CommandName) {
|
||||||
|
Commands.gui(player, GUI_CommandName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sendHelp(CommandSender sender) {
|
||||||
|
Help.sendHelp(sender, Util.getPrefix());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sendPluginInfo(@NotNull CommandSender sender) {
|
||||||
|
if (sender.hasPermission(Permissions.info)) {
|
||||||
|
Commands.info(sender);
|
||||||
|
} else sender.sendMessage(Languages.VALUES.NoPermissionForCommand.getValue().toString()
|
||||||
|
.replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.info));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void createDefaultGUI(@NotNull CommandSender sender) {
|
||||||
|
if (sender.hasPermission(Permissions.admin)) {
|
||||||
|
GuiFile.createDefault(true);
|
||||||
|
sender.sendMessage(Languages.VALUES.DefaultGUIcreate.getValue().toString().replace("[directory]", Main.getPath() + "\\GUIs\\default.yml"));
|
||||||
|
} else sender.sendMessage(Languages.VALUES.NoPermissionForCommand.getValue().toString()
|
||||||
|
.replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void reload(@NotNull CommandSender sender) {
|
||||||
|
if (sender.hasPermission(Permissions.admin)) {
|
||||||
|
Commands.reload(sender);
|
||||||
|
} else sender.sendMessage(Languages.VALUES.NoPermissionForCommand.getValue().toString()
|
||||||
|
.replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,214 @@
|
|||||||
|
#####################################################
|
||||||
|
## To add another Function just create a new file. ##
|
||||||
|
#####################################################
|
||||||
|
|
||||||
|
Slots:
|
||||||
|
Function:
|
||||||
|
Item:
|
||||||
|
# Here you can create an empty slot.
|
||||||
|
# Note: When this is enabled, no functions will work.
|
||||||
|
Empty: false
|
||||||
|
# Here you can set the number of items
|
||||||
|
Amount: 1
|
||||||
|
PlayerHead:
|
||||||
|
# Here you can set if the item should be a player head
|
||||||
|
Enable: false
|
||||||
|
Base64:
|
||||||
|
# Here you can specify whether a Base64 player header should be used
|
||||||
|
Enable: false
|
||||||
|
# Here you can set the Base64 Value.
|
||||||
|
# You can find the Base64 Value for example on https://minecraft-heads.com.
|
||||||
|
Base64Value: ''
|
||||||
|
# Here you can set whether the player head should be used by the player who has opened the GUI.
|
||||||
|
PlayerWhoHasOpenedTheGUI: false
|
||||||
|
# Here you can set a specific player from which the player head should be used
|
||||||
|
PlayerName: ''
|
||||||
|
# Here you can set a Minecraft material to be used. This is ignored when PlayerHead is used
|
||||||
|
Material: 'DIRT'
|
||||||
|
# Here you set the DisplayName of the item
|
||||||
|
Name: 'Item Title'
|
||||||
|
# Here you set the lore of the item
|
||||||
|
Lore:
|
||||||
|
- '&8-----------------'
|
||||||
|
- '&bLine 1'
|
||||||
|
- '&bLine 2'
|
||||||
|
- '&8-----------------'
|
||||||
|
NoPermission:
|
||||||
|
Message:
|
||||||
|
# Here you can define if a message should be displayed when clicking on the function but not having a permission
|
||||||
|
Enable: true
|
||||||
|
# Here you can set a custom No Permission message for this function. If you want to use the default message, just leave this blank.
|
||||||
|
#
|
||||||
|
# You can use Minecraft custom color codes: https://minecraft.fandom.com/de/wiki/Formatierungscodes
|
||||||
|
# You can use the hover module from T2Code:
|
||||||
|
# You can add a hover and/or clickable feature to all messages sent to players.
|
||||||
|
# Use /*/ to separate the message.
|
||||||
|
# Use [nl] to set a line break in a message or hover.
|
||||||
|
# Hover message: <message >/*/<hover>
|
||||||
|
# Message with hover and click function: <message >/*/<hover>/*/<action>/*/<actionValue>
|
||||||
|
# Message only with click function: <message >/*//*/<action>/*/<actionValue>
|
||||||
|
# Action:
|
||||||
|
# - OPEN_URL - Opens a URL under the path specified in ActionValue.
|
||||||
|
# - OPEN_FILE - Opens a file under the path specified by ActionValue.
|
||||||
|
# - RUN_COMMAND - Runs the command specified by ActionValue.
|
||||||
|
# - SUGGEST_COMMAND - Inserts the string specified in ActionValue into the player text box.
|
||||||
|
# - CHANGE_PAGE - Changes to the page number in a book specified by ActionValue.
|
||||||
|
# - COPY_TO_CLIPBOARD - Copies the string specified by ActionValue to the player's clipboard.
|
||||||
|
# You can also use MiniMessage:
|
||||||
|
# Wiki: https://docs.adventure.kyori.net/minimessage/format.html
|
||||||
|
# WebUI: https://webui.adventure.kyori.net
|
||||||
|
CustomNoPermMessage: ''
|
||||||
|
Item:
|
||||||
|
Lore:
|
||||||
|
# Here you can select whether an extra lore should be displayed if you do not have permission for this function.
|
||||||
|
Enable: true
|
||||||
|
# Here you can set an extra lore that will be displayed if you do not have permission for this action.
|
||||||
|
Lore:
|
||||||
|
- '&8-----------------'
|
||||||
|
- '&4No Permission for this Function'
|
||||||
|
- '&8-----------------'
|
||||||
|
CustomSound:
|
||||||
|
# Here you can set whether a specific sound or the default sound from the config.yml should be used.
|
||||||
|
Enable: false
|
||||||
|
# Here you can deactivate the sound for this item. CustomSound must be activated for this!
|
||||||
|
NoSound: false
|
||||||
|
# Here you set the custom sound
|
||||||
|
Sound: ''
|
||||||
|
Cost:
|
||||||
|
# Here you can specify whether the function should cost or not
|
||||||
|
Enable: false
|
||||||
|
# Here you set which economy mode should be used.
|
||||||
|
# Use 'VAULT' / 'MONEY' for money via vault.
|
||||||
|
# Use 'ITEM' to pay with items.
|
||||||
|
# Use 'VOTEPOINTS' to pay with vote points from VotingPlugin (https://spigotmc.org/resources/votingplugin.15358/).
|
||||||
|
EcoModule: VAULT
|
||||||
|
# Set the item and the quantity for the ITEM mode here. (ITEM;AMOUNT)
|
||||||
|
Item: DIRT;5
|
||||||
|
# Set here the VotePoints for the VOTEPOINTS mode.
|
||||||
|
VotePoints: 0
|
||||||
|
# Set the money here for the mode VAULT or MONEY
|
||||||
|
Price: 0.0
|
||||||
|
Command:
|
||||||
|
# Here you can enable or disable the Command function
|
||||||
|
# Placeholder: [player] = PlayerName
|
||||||
|
Enable: false
|
||||||
|
# Here you can specify if this command should be executed on the bugee
|
||||||
|
BungeeCommand: false
|
||||||
|
# Here you can set if the command should be executed from the console
|
||||||
|
# Example: You can also create a store with this command.
|
||||||
|
# /give [player] stone | So all commands can be executed even those for which the player has no permission.
|
||||||
|
CommandAsConsole: false
|
||||||
|
# Here you can set commands. Several commands are also possible.
|
||||||
|
# They are processed from top to bottom and executed one after the other!
|
||||||
|
Command:
|
||||||
|
- 'command 1'
|
||||||
|
- 'command 2'
|
||||||
|
ServerChange:
|
||||||
|
# Here you can enable or disable the function ServerChange
|
||||||
|
# To use this function the function BungeeCord must be activated in the conig.yml and the plugin must be installed on the proxy!
|
||||||
|
Enable: false
|
||||||
|
# # Here you can say which server the player should be moved to.
|
||||||
|
Server: ''
|
||||||
|
OpenGUI:
|
||||||
|
# Here you can enable or disable the OpenGUI feature
|
||||||
|
Enable: false
|
||||||
|
# Here you can set which GUI should be opened.
|
||||||
|
# Use the file name of the GUI without .yml
|
||||||
|
GUI: ''
|
||||||
|
CloseGUI:
|
||||||
|
# Here you can set a function to close the GUI.
|
||||||
|
Enable: false
|
||||||
|
Toggle:
|
||||||
|
# Here you can enable a feature that allows players to give or remove permissions to each other
|
||||||
|
# The commands for the permission plugin can be set in the config (default for LuckPerms)
|
||||||
|
Permission:
|
||||||
|
# Activate this function here
|
||||||
|
Enable: false
|
||||||
|
# Set the permission here
|
||||||
|
Permission: ''
|
||||||
|
UseItem:
|
||||||
|
# When this function is enabled, players can toggle the UseItem on and off.
|
||||||
|
# For this function 'UseItem.AllowToggle' must be activated in config.yml!
|
||||||
|
Enable: false
|
||||||
|
Message:
|
||||||
|
# Here you can enable or disable the Message function
|
||||||
|
Enable: false
|
||||||
|
# Here you can set the messages to be sent to the player
|
||||||
|
# Placeholder: [player] = PlayerName | [prefix] = PluginPrefix | [price] = price if function Cost is activated
|
||||||
|
#
|
||||||
|
# You can use Minecraft custom color codes: https://minecraft.fandom.com/de/wiki/Formatierungscodes
|
||||||
|
# You can use the hover module from T2Code:
|
||||||
|
# You can add a hover and/or clickable feature to all messages sent to players.
|
||||||
|
# Use /*/ to separate the message.
|
||||||
|
# Use [nl] to set a line break in a message or hover.
|
||||||
|
# Hover message: <message >/*/<hover>
|
||||||
|
# Message with hover and click function: <message >/*/<hover>/*/<action>/*/<actionValue>
|
||||||
|
# Message only with click function: <message >/*//*/<action>/*/<actionValue>
|
||||||
|
# Action:
|
||||||
|
# - OPEN_URL - Opens a URL under the path specified in ActionValue.
|
||||||
|
# - OPEN_FILE - Opens a file under the path specified by ActionValue.
|
||||||
|
# - RUN_COMMAND - Runs the command specified by ActionValue.
|
||||||
|
# - SUGGEST_COMMAND - Inserts the string specified in ActionValue into the player text box.
|
||||||
|
# - CHANGE_PAGE - Changes to the page number in a book specified by ActionValue.
|
||||||
|
# - COPY_TO_CLIPBOARD - Copies the string specified by ActionValue to the player's clipboard.
|
||||||
|
# You can also use MiniMessage:
|
||||||
|
# Wiki: https://docs.adventure.kyori.net/minimessage/format.html
|
||||||
|
# WebUI: https://webui.adventure.kyori.net
|
||||||
|
Message:
|
||||||
|
- 'Message line 1'
|
||||||
|
- 'Message line 2'
|
||||||
|
SetConfig:
|
||||||
|
# Here you can enable or disable the SetConfig function
|
||||||
|
Enable: false
|
||||||
|
File:
|
||||||
|
# Here you define in which file something should be changed
|
||||||
|
# Example at this file: 'plugins/CommandGUI/GUIs/default.yml'.
|
||||||
|
Path: ''
|
||||||
|
Option:
|
||||||
|
# Here you set the option to be changed
|
||||||
|
# Example on the option of this example slots: 'Slots.Example.Slot'
|
||||||
|
Path: ''
|
||||||
|
# Here you set which format should be set
|
||||||
|
# String = text in one line
|
||||||
|
# Boolean = true / false
|
||||||
|
# Integer = numbers without comma
|
||||||
|
# Double = number with comma | Please use . as comma
|
||||||
|
# List = text with multiple lines (- 'hi')
|
||||||
|
Premat: String
|
||||||
|
Value:
|
||||||
|
# Here you can set which value should be set when you click with the left mouse button.
|
||||||
|
LeftClick:
|
||||||
|
String: ''
|
||||||
|
Boolean: false
|
||||||
|
Integer: 0
|
||||||
|
Double: 0.0
|
||||||
|
List: []
|
||||||
|
# Here you set which value should be set when clicking with the right mouse button
|
||||||
|
RightClick:
|
||||||
|
String: ''
|
||||||
|
Boolean: false
|
||||||
|
Integer: 0
|
||||||
|
Double: 0.0
|
||||||
|
List: []
|
||||||
|
PluginReload:
|
||||||
|
# Here you can set if the plugin to which a file was changed should be reloaded directly
|
||||||
|
Enable: false
|
||||||
|
# Here you set the reload command to be used
|
||||||
|
# The command is executed by the console! No / is needed!
|
||||||
|
Command: ''
|
||||||
|
FunctionVotePoints:
|
||||||
|
# With this function you can give or subtract VotePoints from VotingPlugin to a player.
|
||||||
|
Enable: false
|
||||||
|
# Use to add: ADD
|
||||||
|
# Use to subtract: REMOVE
|
||||||
|
Mode: ADD
|
||||||
|
# Set the number of vote points to be subtracted / added here
|
||||||
|
Amount: 0
|
||||||
|
FunctionItem:
|
||||||
|
# With this function you can give or remove items to a player
|
||||||
|
Enable: false
|
||||||
|
# Use to add: ADD
|
||||||
|
# Use to subtract: REMOVE
|
||||||
|
Mode: REMOVE
|
||||||
|
# Enter the item (material) and the number behind it. Separate them with ; (ITEM;AMOUNT)
|
||||||
|
Item: DIRT;5
|
51
CommandGUI V2/src/main/resources/GUIs/guiDeclaration.yml
Normal file
51
CommandGUI V2/src/main/resources/GUIs/guiDeclaration.yml
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
################################################
|
||||||
|
## To add another GUI just create a new file. ##
|
||||||
|
################################################
|
||||||
|
|
||||||
|
GUI:
|
||||||
|
# Enable or disable the GUI
|
||||||
|
Enable: true
|
||||||
|
# Set the lines of the GUI here (1-6)
|
||||||
|
Lines: 1
|
||||||
|
# Here you set the display name of the GUI
|
||||||
|
Name: '&5default &9GUI'
|
||||||
|
FillItem:
|
||||||
|
# Activate or deactivate the FillItem here
|
||||||
|
Enable: true
|
||||||
|
# Here you can set the FillItem
|
||||||
|
Item: BLACK_STAINED_GLASS_PANE
|
||||||
|
|
||||||
|
# Here you set the settings for the alias
|
||||||
|
Command:
|
||||||
|
# Here you can enable or disable the alias of the GUI. The alias is the file name without .yml
|
||||||
|
Alias: true
|
||||||
|
Permission:
|
||||||
|
# Set here if a permission is needed for the alias or not. | Permission: commandgui.command.<alias>
|
||||||
|
Required: true
|
||||||
|
|
||||||
|
# Here you set the functions and slots
|
||||||
|
Slots:
|
||||||
|
# Here is an example of a slot
|
||||||
|
# To add another slot just copy the block. IMPORTANT: The slot name must not be duplicated (Slots.<name>).
|
||||||
|
function1:
|
||||||
|
# Here you set which slot the item / function should be in
|
||||||
|
Slot: 4
|
||||||
|
# Here you can activate and deactivate the slot
|
||||||
|
Enable: true
|
||||||
|
# Here you specify which function this slot should perform
|
||||||
|
Function: function1
|
||||||
|
Permission:
|
||||||
|
# Here you can set if a permission is needed to use this function.
|
||||||
|
Required: false
|
||||||
|
# Placeholder: [function] which function is used | [slot] is the slot number | [slotname] is the name of the key (Slots.KEY)
|
||||||
|
See: commandgui.gui.[function].slot.[slot].see
|
||||||
|
Use: commandgui.gui.[function].slot.[slot].use
|
||||||
|
function2:
|
||||||
|
Slot: 6
|
||||||
|
Enable: true
|
||||||
|
Function: function2
|
||||||
|
Permission:
|
||||||
|
Required: false
|
||||||
|
See: commandgui.gui.[function].slot.[slot].see
|
||||||
|
Use: commandgui.gui.[function].slot.[slot].use
|
@ -1,4 +0,0 @@
|
|||||||
name: CommandGUI
|
|
||||||
version: ${project.version}
|
|
||||||
main: de.jatitv.commandguiv2.Bungee.BMain
|
|
||||||
author: JaTiTV
|
|
313
CommandGUI V2/src/main/resources/configDeclaration.yml
Normal file
313
CommandGUI V2/src/main/resources/configDeclaration.yml
Normal file
@ -0,0 +1,313 @@
|
|||||||
|
|
||||||
|
#########################################
|
||||||
|
## Please do not change ConfigVersion! ##
|
||||||
|
#########################################
|
||||||
|
ConfigVersion: 7
|
||||||
|
|
||||||
|
Plugin:
|
||||||
|
# Here you can set the debug mode of the plugin.
|
||||||
|
# It is recommended not to activate this on productive systems. Only if it is really needed!
|
||||||
|
Debug: false
|
||||||
|
updateCheck:
|
||||||
|
# In this option you can set if players with the permission 'commandgui.updatemsg' will get an update message on join when an update for the plugin is available.
|
||||||
|
onJoin: true
|
||||||
|
# In this option you can set whether you want to receive and display beta and snapshot versions in the update check.
|
||||||
|
seePreReleaseUpdates: true
|
||||||
|
# In this option you can set the time interval in minutes in which updates should be checked.
|
||||||
|
timeInterval: 60
|
||||||
|
# Here you can set whether the Helpalias command (/commandguihelp) should be activated.
|
||||||
|
# If this is changed the server MUST be restarted to change this!
|
||||||
|
HelpAlias: true
|
||||||
|
# Here you set which subcommand should be for the admin functions.
|
||||||
|
# (/commandgui 'admin' reload)
|
||||||
|
AdminSubCommand: admin
|
||||||
|
# here you set the language to be used
|
||||||
|
language: english
|
||||||
|
# Here you set the character or word that will be used as currency
|
||||||
|
Currency: $
|
||||||
|
# Here you set which GUI should be opened at '/commandgui' / '/gui'.
|
||||||
|
DefaultGUI: default
|
||||||
|
|
||||||
|
Storage:
|
||||||
|
# Set here if MySQL, SQLITE or YML should be used as storage.
|
||||||
|
Type: SQLITE
|
||||||
|
# Enter here the access data to the database you want to use, if you use MySQL
|
||||||
|
MySQL:
|
||||||
|
IP: localhost
|
||||||
|
Port: 3306
|
||||||
|
Database: database
|
||||||
|
User: root
|
||||||
|
Password: password
|
||||||
|
SSL: false
|
||||||
|
|
||||||
|
UseItem:
|
||||||
|
# Set here if the UseItem is to be used in use
|
||||||
|
Enable: true
|
||||||
|
# Set here if players are allowed to enable or disable the UseItem with '/gui-item <on/off>'.
|
||||||
|
# Permission 'commandgui.useitem.toggle' is additionally required
|
||||||
|
AllowToggle: true
|
||||||
|
# Set here if players are allowed to change the slot in the inventory where the UseItem is located with '/gui-item <slot>'.
|
||||||
|
# Permission 'commandgui.useitem.toggle' is additionally required
|
||||||
|
AllowSetSlot: true
|
||||||
|
# Set here if the dropping of the UseItem should be blocked
|
||||||
|
BlockMoveAndDrop: true
|
||||||
|
# Set here which GUI should open the UseItem
|
||||||
|
OpenGUI: default
|
||||||
|
Permission:
|
||||||
|
# Set here if the permission 'commandgui.useitem' is required to use the UseItem
|
||||||
|
NeededToUse: true
|
||||||
|
# Set here if the UseItem should stay in the inventory with the '/clear' command
|
||||||
|
KeepAtCommandClear: true
|
||||||
|
InventorySlot:
|
||||||
|
# Set here on which slot the UseItem should be located by default
|
||||||
|
Slot: 1
|
||||||
|
# Set here if the slot should be forced even if another item is on this slot (also the set slot of the player).
|
||||||
|
# NOTE: The item that was on this slot before will be deleted.
|
||||||
|
SlotEnforce: false
|
||||||
|
# Set here if the UseItem should be placed on another free slot, if the selected slot (also the set slot of the player) is occupied.
|
||||||
|
FreeSlot: false
|
||||||
|
# Set here the item that should be used as UseItem
|
||||||
|
Item:
|
||||||
|
# Set here which material should be used as UseItem
|
||||||
|
Material: paper
|
||||||
|
PlayerHead:
|
||||||
|
# Set here if a PlayerHead should be used as UseItem
|
||||||
|
Enable: false
|
||||||
|
Base64:
|
||||||
|
# Set here if a Base64 PlayerHead should be used as UseItem
|
||||||
|
Enable: false
|
||||||
|
# Here you can set the Base64 Value.
|
||||||
|
# You can find the Base64 Value for example on https://minecraft-heads.com.
|
||||||
|
Base64Value: ''
|
||||||
|
# Here you can set whether the player head should be used as a UseItem by the player
|
||||||
|
PlayerWhoHasOpenedTheGUI: false
|
||||||
|
# Here you can set a player name whose head should be used as UseItem
|
||||||
|
Playername: ''
|
||||||
|
# Set the DisplayName of the UseItem here
|
||||||
|
Name: '&6GUI UseItem'
|
||||||
|
# Set the lore of the UseItem here
|
||||||
|
Lore:
|
||||||
|
- 'Lore line 1'
|
||||||
|
- 'Lore line 2'
|
||||||
|
Join:
|
||||||
|
# Set here if the UseItem should be given at every server join
|
||||||
|
GiveOnEveryJoin: true
|
||||||
|
# Set here if the UseItem should only be given to the server at the first join of the player.
|
||||||
|
GiveOnlyOnFirstJoin: false
|
||||||
|
Cursor:
|
||||||
|
ToGUIItem:
|
||||||
|
OnLogin:
|
||||||
|
# Here you define whether the UseItem should be selected when joining the server.
|
||||||
|
Enable: true
|
||||||
|
Spigot:
|
||||||
|
# Set here if the UseItem should only be selected at the first join
|
||||||
|
OnOnlyFirstLogin: true
|
||||||
|
Bungee:
|
||||||
|
# Set here if the UseItem should be selected even if you change the server of the bungee network.
|
||||||
|
# The option BungeeCord must be activated for this!
|
||||||
|
OnServerChange: false
|
||||||
|
|
||||||
|
Toggle:
|
||||||
|
# Set the items to be used with the Toggle function here
|
||||||
|
Items:
|
||||||
|
# Set here the item that should be used if you have the permission or the UseItem is active.
|
||||||
|
OnOrYes:
|
||||||
|
Item:
|
||||||
|
Base64:
|
||||||
|
# Set here if a Base64 head should be used
|
||||||
|
Enable: false
|
||||||
|
# Here you can set the Base64 Value.
|
||||||
|
# You can find the Base64 Value for example on https://minecraft-heads.com.
|
||||||
|
Base64Value: ''
|
||||||
|
# Set the material to be used here
|
||||||
|
Material: GREEN_WOOL
|
||||||
|
# Set here the item to be used if you have the permission or the UseItem is disabled
|
||||||
|
OffOrNo:
|
||||||
|
Item:
|
||||||
|
Base64:
|
||||||
|
# Set here if a Base64 head should be used
|
||||||
|
Enable: false
|
||||||
|
# Here you can set the Base64 Value.
|
||||||
|
# You can find the Base64 Value for example on https://minecraft-heads.com.
|
||||||
|
Base64Value: ''
|
||||||
|
# Set the material to be used here
|
||||||
|
Material: RED_WOOL
|
||||||
|
Permission:
|
||||||
|
# Set here the commands to be used for Toggle.Permission
|
||||||
|
Commands:
|
||||||
|
'True': luckperms user [player] permission set [perm] true
|
||||||
|
'False': luckperms user [player] permission set [perm] false
|
||||||
|
|
||||||
|
# Set the design of the placeholders here
|
||||||
|
Placeholder:
|
||||||
|
# Placeholder for true / enabled
|
||||||
|
'True': '&2true'
|
||||||
|
# Placeholder for false / disabled
|
||||||
|
'False': '&4false'
|
||||||
|
|
||||||
|
Sound:
|
||||||
|
# Here you can disable all sounds
|
||||||
|
Enable: true
|
||||||
|
# Set here At which action which sound should be played or none at all
|
||||||
|
OpenInventory:
|
||||||
|
Enable: true
|
||||||
|
Sound: BLOCK_CHEST_OPEN
|
||||||
|
Click:
|
||||||
|
Enable: true
|
||||||
|
Sound: BLOCK_NOTE_BLOCK_HAT
|
||||||
|
NoMoney:
|
||||||
|
Enable: true
|
||||||
|
Sound: BLOCK_NOTE_BLOCK_HARP
|
||||||
|
NoInventorySpace:
|
||||||
|
Enable: true
|
||||||
|
Sound: BLOCK_NOTE_BLOCK_HARP
|
||||||
|
Give:
|
||||||
|
Enable: true
|
||||||
|
Sound: ENTITY_PLAYER_LEVELUP
|
||||||
|
PlayerNotFound:
|
||||||
|
Enable: true
|
||||||
|
Sound: BLOCK_NOTE_BLOCK_HARP
|
||||||
|
|
||||||
|
Advanced:
|
||||||
|
UseItem:
|
||||||
|
GameMode:
|
||||||
|
Change:
|
||||||
|
# Set here if the UseItem should be reset when the GameMode is changed.
|
||||||
|
Enable: true
|
||||||
|
# Set the delay with which the UseItem should be reset (time in Minecraft ticks. 20 is one second).
|
||||||
|
DelayInTicks: 1
|
||||||
|
Protection:
|
||||||
|
# Set here in which gamemode the UseItem may be used
|
||||||
|
Enable: false
|
||||||
|
# Set here if the UseItem should be removed if you are in a not allowed Gamemode
|
||||||
|
RemoveItemWhenItIsDisabled: false
|
||||||
|
# Set here if a 'blacklist' or 'whitelist' should be used
|
||||||
|
Mode: blacklist
|
||||||
|
# Set the GameMode list here
|
||||||
|
List:
|
||||||
|
- CREATIVE
|
||||||
|
- Spectator
|
||||||
|
World:
|
||||||
|
Change:
|
||||||
|
# This specifies whether the UseItem should be reset when the world is changed.
|
||||||
|
Enable: true
|
||||||
|
# Set the delay with which the UseItem should be reset (time in Minecraft ticks. 20 is one second).
|
||||||
|
DelayInTicks: 1
|
||||||
|
Protection:
|
||||||
|
# Set here in which world the UseItem may be used
|
||||||
|
Enable: false
|
||||||
|
# Here you specify whether the UseItem should be removed if you are in a world that is not permitted
|
||||||
|
RemoveItemWhenItIsDisabled: false
|
||||||
|
# Set here if a 'blacklist' or 'whitelist' should be used
|
||||||
|
Mode: blacklist
|
||||||
|
# Set the worlds here
|
||||||
|
List:
|
||||||
|
- World1
|
||||||
|
- World2
|
||||||
|
# Set here for which blocks the UseItem is blocked and the function of the block you are looking at should be used.
|
||||||
|
ItemBlockBlacklist:
|
||||||
|
- CHEST
|
||||||
|
- CRAFTING_TABLE
|
||||||
|
- FURNACE
|
||||||
|
- OAK_FENCE
|
||||||
|
- SPRUCE_FENCE
|
||||||
|
- BIRCH_FENCE
|
||||||
|
- JUNGLE_FENCE
|
||||||
|
- ACACIA_FENCE
|
||||||
|
- DARK_OAK_FENCE
|
||||||
|
- MANGROVE_FENCE
|
||||||
|
- CRIMSON_FENCE
|
||||||
|
- WARPED_FENCE
|
||||||
|
- NETHER_BRICK_FENCE
|
||||||
|
- ENDER_CHEST
|
||||||
|
- BEACON
|
||||||
|
- ANVIL
|
||||||
|
- CHIPPED_ANVIL
|
||||||
|
- DAMAGED_ANVIL
|
||||||
|
- REPEATER
|
||||||
|
- COMPARATOR
|
||||||
|
- HOPPER
|
||||||
|
- DISPENSER
|
||||||
|
- DROPPER
|
||||||
|
- LEVER
|
||||||
|
- DAYLIGHT_DETECTOR
|
||||||
|
- TRAPPED_CHEST
|
||||||
|
- NOTE_BLOCK
|
||||||
|
- STONE_BUTTON
|
||||||
|
- POLISHED_BLACKSTONE_BUTTON
|
||||||
|
- OAK_BUTTON
|
||||||
|
- SPRUCE_BUTTON
|
||||||
|
- BIRCH_BUTTON
|
||||||
|
- JUNGLE_BUTTON
|
||||||
|
- ACACIA_BUTTON
|
||||||
|
- DARK_OAK_BUTTON
|
||||||
|
- MANGROVE_BUTTON
|
||||||
|
- CRIMSON_BUTTON
|
||||||
|
- WARPED_BUTTON
|
||||||
|
- IRON_DOOR
|
||||||
|
- OAK_DOOR
|
||||||
|
- SPRUCE_DOOR
|
||||||
|
- BIRCH_DOOR
|
||||||
|
- JUNGLE_DOOR
|
||||||
|
- ACACIA_DOOR
|
||||||
|
- DARK_OAK_DOOR
|
||||||
|
- MANGROVE_DOOR
|
||||||
|
- CRIMSON_DOOR
|
||||||
|
- WARPED_DOOR
|
||||||
|
- IRON_TRAPDOOR
|
||||||
|
- IRON_TRAPDOOR
|
||||||
|
- OAK_TRAPDOOR
|
||||||
|
- OAK_TRAPDOOR
|
||||||
|
- SPRUCE_TRAPDOOR
|
||||||
|
- SPRUCE_TRAPDOOR
|
||||||
|
- BIRCH_TRAPDOOR
|
||||||
|
- BIRCH_TRAPDOOR
|
||||||
|
- JUNGLE_TRAPDOOR
|
||||||
|
- JUNGLE_TRAPDOOR
|
||||||
|
- ACACIA_TRAPDOOR
|
||||||
|
- ACACIA_TRAPDOOR
|
||||||
|
- DARK_OAK_TRAPDOOR
|
||||||
|
- DARK_OAK_TRAPDOOR
|
||||||
|
- MANGROVE_TRAPDOOR
|
||||||
|
- MANGROVE_TRAPDOOR
|
||||||
|
- CRIMSON_TRAPDOOR
|
||||||
|
- CRIMSON_TRAPDOOR
|
||||||
|
- WARPED_TRAPDOOR
|
||||||
|
- WARPED_TRAPDOOR
|
||||||
|
- OAK_FENCE_GATE
|
||||||
|
- SPRUCE_FENCE_GATE
|
||||||
|
- BIRCH_FENCE_GATE
|
||||||
|
- JUNGLE_FENCE_GATE
|
||||||
|
- ACACIA_FENCE_GATE
|
||||||
|
- DARK_OAK_FENCE_GATE
|
||||||
|
- MANGROVE_FENCE_GATE
|
||||||
|
- CRIMSON_FENCE_GATE
|
||||||
|
- WARPED_FENCE_GATE
|
||||||
|
- CHEST_MINECART
|
||||||
|
- FURNACE_MINECART
|
||||||
|
- HOPPER_MINECART
|
||||||
|
- OAK_CHEST_BOAT
|
||||||
|
- SPRUCE_CHEST_BOAT
|
||||||
|
- BIRCH_CHEST_BOAT
|
||||||
|
- JUNGLE_CHEST_BOAT
|
||||||
|
- ACACIA_CHEST_BOAT
|
||||||
|
- DARK_OAK_CHEST_BOAT
|
||||||
|
- MANGROVE_CHEST_BOAT
|
||||||
|
- LEATHER_CHESTPLATE
|
||||||
|
- CHAINMAIL_CHESTPLATE
|
||||||
|
- IRON_CHESTPLATE
|
||||||
|
- DIAMOND_CHESTPLATE
|
||||||
|
- GOLDEN_CHESTPLATE
|
||||||
|
- NETHERITE_CHESTPLATE
|
||||||
|
- BREWING_STAND
|
||||||
|
- LOOM
|
||||||
|
- COMPOSTER
|
||||||
|
- BARREL
|
||||||
|
- SMOKER
|
||||||
|
- BLAST_FURNACE
|
||||||
|
- BLAST_FURNACE
|
||||||
|
- CARTOGRAPHY_TABLE
|
||||||
|
- FLETCHING_TABLE
|
||||||
|
- GRINDSTONE
|
||||||
|
- SMITHING_TABLE
|
||||||
|
- STONECUTTER
|
@ -1,16 +1,11 @@
|
|||||||
name: CommandGUI
|
name: T2C-CommandGUI
|
||||||
version: ${project.version}
|
version: ${project.version}
|
||||||
main: de.jatitv.commandguiv2.Spigot.Main
|
main: net.t2code.commandguiv2.Spigot.Main
|
||||||
api-version: 1.13
|
api-version: 1.13
|
||||||
prefix: CommandGUI
|
prefix: T2C-CommandGUI
|
||||||
authors: [ JaTiTV ]
|
authors: [ JaTiTV ]
|
||||||
|
|
||||||
softdepend:
|
softdepend:
|
||||||
- T2CodeLib
|
- T2CodeLib
|
||||||
- Vault
|
|
||||||
- PlaceholderAPI
|
|
||||||
- PlotSquaredGUI
|
|
||||||
- PlugManGUI
|
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
commandgui:
|
commandgui:
|
||||||
@ -20,53 +15,4 @@ commands:
|
|||||||
description: CommandGUI Help
|
description: CommandGUI Help
|
||||||
aliases: [cguihelp, guihelp]
|
aliases: [cguihelp, guihelp]
|
||||||
commandgui-item:
|
commandgui-item:
|
||||||
aliases: [gui-item]
|
aliases: [gui-item, useitem]
|
||||||
|
|
||||||
|
|
||||||
#permissions:
|
|
||||||
# commandgui.admin:
|
|
||||||
# description: All permissions from CommandGUI
|
|
||||||
# default: op
|
|
||||||
# children:
|
|
||||||
# commandgui.command: true
|
|
||||||
# commandgui.get.guiitem.at.login: true
|
|
||||||
# commandgui.useitem: true
|
|
||||||
# commandgui.useitem.toggle: true
|
|
||||||
# commandgui.updatemsg: true
|
|
||||||
# commandgui.bypass: true
|
|
||||||
# commandgui.command.info: true
|
|
||||||
# commandgui.command.give: true
|
|
||||||
#
|
|
||||||
# commandgui.player:
|
|
||||||
# description: All permissions from CommandGUI
|
|
||||||
# default: op
|
|
||||||
# children:
|
|
||||||
# commandgui.command: true
|
|
||||||
# commandgui.get.guiitem.at.login: true
|
|
||||||
# commandgui.useitem: true
|
|
||||||
# commandgui.useitem.toggle: true
|
|
||||||
#
|
|
||||||
# commandgui.updatemsg:
|
|
||||||
# description: Players with this permission get the update message when joining if an update is available
|
|
||||||
# default: op
|
|
||||||
# commandgui.command:
|
|
||||||
# description: Required permission to open GUIs via command
|
|
||||||
# default: op
|
|
||||||
# commandgui.get.guiitem.at.login:
|
|
||||||
# description: Only players with this permission will receive the GUI item
|
|
||||||
# default: op
|
|
||||||
# commandgui.useitem:
|
|
||||||
# description: Required permission to use the GUI Item
|
|
||||||
# default: op
|
|
||||||
# commandgui.useitem.toggle:
|
|
||||||
# description: Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true)
|
|
||||||
# default: op
|
|
||||||
# commandgui.bypass:
|
|
||||||
# description: Bypass to open disabled GUIs
|
|
||||||
# default: op
|
|
||||||
# commandgui.command.info:
|
|
||||||
# description: Permission to view CommandGUI info
|
|
||||||
# default: not op
|
|
||||||
# commandgui.command.give:
|
|
||||||
# description: Kommend in V2.1.0
|
|
||||||
# default: op
|
|
@ -27,6 +27,9 @@ Slots:
|
|||||||
Sound: ''
|
Sound: ''
|
||||||
Cost:
|
Cost:
|
||||||
Enable: false
|
Enable: false
|
||||||
|
EcoModule: VAULT
|
||||||
|
Item: DIRT;5
|
||||||
|
VotePoints: 0
|
||||||
Price: 0.0
|
Price: 0.0
|
||||||
Command:
|
Command:
|
||||||
Enable: false
|
Enable: false
|
||||||
@ -72,3 +75,11 @@ Slots:
|
|||||||
PluginReload:
|
PluginReload:
|
||||||
Enable: false
|
Enable: false
|
||||||
Command: ''
|
Command: ''
|
||||||
|
FunctionVotePoints:
|
||||||
|
Enable: false
|
||||||
|
Mode: ADD
|
||||||
|
Amount: 0
|
||||||
|
FunctionItem:
|
||||||
|
Enable: false
|
||||||
|
Mode: REMOVE
|
||||||
|
Item: DIRT;5
|
||||||
|
@ -20,6 +20,9 @@ Slots:
|
|||||||
Sound: ''
|
Sound: ''
|
||||||
Cost:
|
Cost:
|
||||||
Enable: false
|
Enable: false
|
||||||
|
EcoModule: VAULT
|
||||||
|
Item: DIRT;5
|
||||||
|
VotePoints: 0
|
||||||
Price: 0.0
|
Price: 0.0
|
||||||
Command:
|
Command:
|
||||||
Enable: false
|
Enable: false
|
||||||
@ -65,3 +68,11 @@ Slots:
|
|||||||
PluginReload:
|
PluginReload:
|
||||||
Enable: false
|
Enable: false
|
||||||
Command: ''
|
Command: ''
|
||||||
|
FunctionVotePoints:
|
||||||
|
Enable: false
|
||||||
|
Mode: ADD
|
||||||
|
Amount: 0
|
||||||
|
FunctionItem:
|
||||||
|
Enable: false
|
||||||
|
Mode: REMOVE
|
||||||
|
Item: DIRT;5
|
||||||
|
158
Defaultconfig/Functions/functionDeclaration.yml
Normal file
158
Defaultconfig/Functions/functionDeclaration.yml
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
#####################################################
|
||||||
|
## To add another Function just create a new file. ##
|
||||||
|
#####################################################
|
||||||
|
|
||||||
|
Slots:
|
||||||
|
Function:
|
||||||
|
Item:
|
||||||
|
# Here you can create an empty slot.
|
||||||
|
# Note: When this is enabled, no functions will work.
|
||||||
|
Empty: false
|
||||||
|
# Here you can set the number of items
|
||||||
|
Amount: 1
|
||||||
|
PlayerHead:
|
||||||
|
# Here you can set if the item should be a player head
|
||||||
|
Enable: false
|
||||||
|
Base64:
|
||||||
|
# Here you can specify whether a Base64 player header should be used
|
||||||
|
Enable: false
|
||||||
|
# Here you can set the Base64 Value.
|
||||||
|
# You can find the Base64 Value for example on https://minecraft-heads.com.
|
||||||
|
Base64Value: ''
|
||||||
|
# Here you can set whether the player head should be used by the player who has opened the GUI.
|
||||||
|
PlayerWhoHasOpenedTheGUI: false
|
||||||
|
# Here you can set a specific player from which the player head should be used
|
||||||
|
PlayerName: ''
|
||||||
|
# Here you can set a Minecraft material to be used. This is ignored when PlayerHead is used
|
||||||
|
Material: 'DIRT'
|
||||||
|
# Here you set the DisplayName of the item
|
||||||
|
Name: 'Item Title'
|
||||||
|
# Here you set the lore of the item
|
||||||
|
Lore:
|
||||||
|
- '&8-----------------'
|
||||||
|
- '&bLine 1'
|
||||||
|
- '&bLine 2'
|
||||||
|
- '&8-----------------'
|
||||||
|
CustomSound:
|
||||||
|
# Here you can set whether a specific sound or the default sound from the config.yml should be used.
|
||||||
|
Enable: false
|
||||||
|
# Here you can deactivate the sound for this item. CustomSound must be activated for this!
|
||||||
|
NoSound: false
|
||||||
|
# Here you set the custom sound
|
||||||
|
Sound: ''
|
||||||
|
Cost:
|
||||||
|
# Here you can specify whether the function should cost or not
|
||||||
|
Enable: false
|
||||||
|
# Here you set which economy mode should be used.
|
||||||
|
# Use 'VAULT' / 'MONEY' for money via vault.
|
||||||
|
# Use 'ITEM' to pay with items.
|
||||||
|
# Use 'VOTEPOINTS' to pay with vote points from VotingPlugin (https://spigotmc.org/resources/votingplugin.15358/).
|
||||||
|
EcoModule: VAULT
|
||||||
|
# Set the item and the quantity for the ITEM mode here. (ITEM;AMOUNT)
|
||||||
|
Item: DIRT;5
|
||||||
|
# Set here the VotePoints for the VOTEPOINTS mode.
|
||||||
|
VotePoints: 0
|
||||||
|
# Set the money here for the mode VAULT or MONEY
|
||||||
|
Price: 0.0
|
||||||
|
Command:
|
||||||
|
# Here you can enable or disable the Command function
|
||||||
|
# Placeholder: [player] = PlayerName
|
||||||
|
Enable: false
|
||||||
|
# Here you can specify if this command should be executed on the bugee
|
||||||
|
BungeeCommand: false
|
||||||
|
# Here you can set if the command should be executed from the console
|
||||||
|
# Example: You can also create a store with this command.
|
||||||
|
# /give [player] stone | So all commands can be executed even those for which the player has no permission.
|
||||||
|
CommandAsConsole: false
|
||||||
|
# Here you can set commands. Several commands are also possible.
|
||||||
|
# They are processed from top to bottom and executed one after the other!
|
||||||
|
Command:
|
||||||
|
- 'command 1'
|
||||||
|
- 'command 2'
|
||||||
|
ServerChange:
|
||||||
|
# Here you can enable or disable the function ServerChange
|
||||||
|
# To use this function the function BungeeCord must be activated in the conig.yml and the plugin must be installed on the proxy!
|
||||||
|
Enable: false
|
||||||
|
# # Here you can say which server the player should be moved to.
|
||||||
|
Server: ''
|
||||||
|
OpenGUI:
|
||||||
|
# Here you can enable or disable the OpenGUI feature
|
||||||
|
Enable: false
|
||||||
|
# Here you can set which GUI should be opened.
|
||||||
|
# Use the file name of the GUI without .yml
|
||||||
|
GUI: ''
|
||||||
|
Toggle:
|
||||||
|
# Here you can enable a feature that allows players to give or remove permissions to each other
|
||||||
|
# The commands for the permission plugin can be set in the config (default for LuckPerms)
|
||||||
|
Permission:
|
||||||
|
# Activate this function here
|
||||||
|
Enable: false
|
||||||
|
# Set the permission here
|
||||||
|
Permission: ''
|
||||||
|
UseItem:
|
||||||
|
# When this function is enabled, players can toggle the UseItem on and off.
|
||||||
|
# For this function 'UseItem.AllowToggle' must be activated in config.yml!
|
||||||
|
Enable: false
|
||||||
|
Message:
|
||||||
|
# Here you can enable or disable the Message function
|
||||||
|
Enable: false
|
||||||
|
# Here you can set the messages to be sent to the player
|
||||||
|
# Placeholder: [player] = PlayerName | [prefix] = PluginPrefix | [price] = price if function Cost is activated
|
||||||
|
Message:
|
||||||
|
- 'Message line 1'
|
||||||
|
- 'Message line 2'
|
||||||
|
SetConfig:
|
||||||
|
# Here you can enable or disable the SetConfig function
|
||||||
|
Enable: false
|
||||||
|
File:
|
||||||
|
# Here you define in which file something should be changed
|
||||||
|
# Example at this file: 'plugins/CommandGUI/GUIs/default.yml'.
|
||||||
|
Path: ''
|
||||||
|
Option:
|
||||||
|
# Here you set the option to be changed
|
||||||
|
# Example on the option of this example slots: 'Slots.Example.Slot'
|
||||||
|
Path: ''
|
||||||
|
# Here you set which format should be set
|
||||||
|
# String = text in one line
|
||||||
|
# Boolean = true / false
|
||||||
|
# Integer = numbers without comma
|
||||||
|
# Double = number with comma | Please use . as comma
|
||||||
|
# List = text with multiple lines (- 'hi')
|
||||||
|
Premat: String
|
||||||
|
Value:
|
||||||
|
# Here you can set which value should be set when you click with the left mouse button.
|
||||||
|
LeftClick:
|
||||||
|
String: ''
|
||||||
|
Boolean: false
|
||||||
|
Integer: 0
|
||||||
|
Double: 0.0
|
||||||
|
List: []
|
||||||
|
# Here you set which value should be set when clicking with the right mouse button
|
||||||
|
RightClick:
|
||||||
|
String: ''
|
||||||
|
Boolean: false
|
||||||
|
Integer: 0
|
||||||
|
Double: 0.0
|
||||||
|
List: []
|
||||||
|
PluginReload:
|
||||||
|
# Here you can set if the plugin to which a file was changed should be reloaded directly
|
||||||
|
Enable: false
|
||||||
|
# Here you set the reload command to be used
|
||||||
|
# The command is executed by the console! No / is needed!
|
||||||
|
Command: ''
|
||||||
|
FunctionVotePoints:
|
||||||
|
# With this function you can give or subtract VotePoints from VotingPlugin to a player.
|
||||||
|
Enable: false
|
||||||
|
# Use to add: ADD
|
||||||
|
# Use to subtract: REMOVE
|
||||||
|
Mode: ADD
|
||||||
|
# Set the number of vote points to be subtracted / added here
|
||||||
|
Amount: 0
|
||||||
|
FunctionItem:
|
||||||
|
# With this function you can give or remove items to a player
|
||||||
|
Enable: false
|
||||||
|
# Use to add: ADD
|
||||||
|
# Use to subtract: REMOVE
|
||||||
|
Mode: REMOVE
|
||||||
|
# Enter the item (material) and the number behind it. Separate them with ; (ITEM;AMOUNT)
|
||||||
|
Item: DIRT;5
|
@ -16,13 +16,13 @@ Slots:
|
|||||||
Function: SupportDiscord
|
Function: SupportDiscord
|
||||||
Permission:
|
Permission:
|
||||||
Required: false
|
Required: false
|
||||||
See: commandgui.gui.[guiname].slot.[slot].see
|
See: commandgui.gui.[function].slot.[slot].see
|
||||||
Use: commandgui.gui.[guiname].slot.[slot].use
|
Use: commandgui.gui.[function].slot.[slot].use
|
||||||
UseItem:
|
UseItem:
|
||||||
Slot: 6
|
Slot: 6
|
||||||
Enable: true
|
Enable: true
|
||||||
Function: UseItem
|
Function: UseItem
|
||||||
Permission:
|
Permission:
|
||||||
Required: false
|
Required: false
|
||||||
See: commandgui.gui.[guiname].slot.[slot].see
|
See: commandgui.gui.[function].slot.[slot].see
|
||||||
Use: commandgui.gui.[guiname].slot.[slot].use
|
Use: commandgui.gui.[function].slot.[slot].use
|
||||||
|
51
Defaultconfig/GUIs/guiDeclaration.yml
Normal file
51
Defaultconfig/GUIs/guiDeclaration.yml
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
################################################
|
||||||
|
## To add another GUI just create a new file. ##
|
||||||
|
################################################
|
||||||
|
|
||||||
|
GUI:
|
||||||
|
# Enable or disable the GUI
|
||||||
|
Enable: true
|
||||||
|
# Set the lines of the GUI here (1-6)
|
||||||
|
Lines: 1
|
||||||
|
# Here you set the display name of the GUI
|
||||||
|
Name: '&5default &9GUI'
|
||||||
|
FillItem:
|
||||||
|
# Activate or deactivate the FillItem here
|
||||||
|
Enable: true
|
||||||
|
# Here you can set the FillItem
|
||||||
|
Item: BLACK_STAINED_GLASS_PANE
|
||||||
|
|
||||||
|
# Here you set the settings for the alias
|
||||||
|
Command:
|
||||||
|
# Here you can enable or disable the alias of the GUI. The alias is the file name without .yml
|
||||||
|
Alias: true
|
||||||
|
Permission:
|
||||||
|
# Set here if a permission is needed for the alias or not. | Permission: commandgui.command.<alias>
|
||||||
|
Required: true
|
||||||
|
|
||||||
|
# Here you set the functions and slots
|
||||||
|
Slots:
|
||||||
|
# Here is an example of a slot
|
||||||
|
# To add another slot just copy the block. IMPORTANT: The slot name must not be duplicated (Slots.<name>).
|
||||||
|
function1:
|
||||||
|
# Here you set which slot the item / function should be in
|
||||||
|
Slot: 4
|
||||||
|
# Here you can activate and deactivate the slot
|
||||||
|
Enable: true
|
||||||
|
# Here you specify which function this slot should perform
|
||||||
|
Function: function1
|
||||||
|
Permission:
|
||||||
|
# Here you can set if a permission is needed to use this function.
|
||||||
|
Required: false
|
||||||
|
# Placeholder: [function] which function is used | [slot] is the slot number | [slotname] is the name of the key (Slots.KEY)
|
||||||
|
See: commandgui.gui.[function].slot.[slot].see
|
||||||
|
Use: commandgui.gui.[function].slot.[slot].use
|
||||||
|
function2:
|
||||||
|
Slot: 6
|
||||||
|
Enable: true
|
||||||
|
Function: function2
|
||||||
|
Permission:
|
||||||
|
Required: false
|
||||||
|
See: commandgui.gui.[function].slot.[slot].see
|
||||||
|
Use: commandgui.gui.[function].slot.[slot].use
|
BIN
Defaultconfig/Storage/data.db
Normal file
BIN
Defaultconfig/Storage/data.db
Normal file
Binary file not shown.
@ -1,13 +1,13 @@
|
|||||||
ConfigVersion: 5
|
ConfigVersion: 5
|
||||||
Plugin:
|
Plugin:
|
||||||
UpdateCheckOnJoin: true
|
|
||||||
Debug: false
|
Debug: false
|
||||||
HelpAlias: true
|
HelpAlias: true
|
||||||
|
AdminSubCommand: admin
|
||||||
language: english
|
language: english
|
||||||
Currency: $
|
Currency: $
|
||||||
DefaultGUI: default
|
DefaultGUI: default
|
||||||
Storage:
|
Storage:
|
||||||
Type: YML
|
Type: SQLITE
|
||||||
MySQL:
|
MySQL:
|
||||||
IP: localhost
|
IP: localhost
|
||||||
Port: 3306
|
Port: 3306
|
||||||
@ -54,30 +54,6 @@ UseItem:
|
|||||||
OnOnlyFirstLogin: true
|
OnOnlyFirstLogin: true
|
||||||
Bungee:
|
Bungee:
|
||||||
OnServerChange: false
|
OnServerChange: false
|
||||||
Advanced:
|
|
||||||
UseItem:
|
|
||||||
GameMode:
|
|
||||||
Change:
|
|
||||||
Enable: true
|
|
||||||
DelayInTicks: 1
|
|
||||||
Protection:
|
|
||||||
Enable: false
|
|
||||||
RemoveItemWhenItIsDisabled: false
|
|
||||||
Mode: blacklist
|
|
||||||
List:
|
|
||||||
- CREATIVE
|
|
||||||
- Spectator
|
|
||||||
World:
|
|
||||||
Change:
|
|
||||||
Enable: true
|
|
||||||
DelayInTicks: 1
|
|
||||||
Protection:
|
|
||||||
Enable: false
|
|
||||||
RemoveItemWhenItIsDisabled: false
|
|
||||||
Mode: blacklist
|
|
||||||
List:
|
|
||||||
- World1
|
|
||||||
- World2
|
|
||||||
Toggle:
|
Toggle:
|
||||||
Items:
|
Items:
|
||||||
OnOrYes:
|
OnOrYes:
|
||||||
@ -119,3 +95,133 @@ Sound:
|
|||||||
PlayerNotFound:
|
PlayerNotFound:
|
||||||
Enable: true
|
Enable: true
|
||||||
Sound: BLOCK_NOTE_BLOCK_HARP
|
Sound: BLOCK_NOTE_BLOCK_HARP
|
||||||
|
Advanced:
|
||||||
|
UseItem:
|
||||||
|
GameMode:
|
||||||
|
Change:
|
||||||
|
Enable: true
|
||||||
|
DelayInTicks: 1
|
||||||
|
Protection:
|
||||||
|
Enable: false
|
||||||
|
RemoveItemWhenItIsDisabled: false
|
||||||
|
Mode: blacklist
|
||||||
|
List:
|
||||||
|
- CREATIVE
|
||||||
|
- Spectator
|
||||||
|
World:
|
||||||
|
Change:
|
||||||
|
Enable: true
|
||||||
|
DelayInTicks: 1
|
||||||
|
Protection:
|
||||||
|
Enable: false
|
||||||
|
RemoveItemWhenItIsDisabled: false
|
||||||
|
Mode: blacklist
|
||||||
|
List:
|
||||||
|
- World1
|
||||||
|
- World2
|
||||||
|
ItemBlockBlacklist:
|
||||||
|
- CHEST
|
||||||
|
- CRAFTING_TABLE
|
||||||
|
- FURNACE
|
||||||
|
- OAK_FENCE
|
||||||
|
- SPRUCE_FENCE
|
||||||
|
- BIRCH_FENCE
|
||||||
|
- JUNGLE_FENCE
|
||||||
|
- ACACIA_FENCE
|
||||||
|
- DARK_OAK_FENCE
|
||||||
|
- MANGROVE_FENCE
|
||||||
|
- CRIMSON_FENCE
|
||||||
|
- WARPED_FENCE
|
||||||
|
- NETHER_BRICK_FENCE
|
||||||
|
- ENDER_CHEST
|
||||||
|
- BEACON
|
||||||
|
- ANVIL
|
||||||
|
- CHIPPED_ANVIL
|
||||||
|
- DAMAGED_ANVIL
|
||||||
|
- REPEATER
|
||||||
|
- COMPARATOR
|
||||||
|
- HOPPER
|
||||||
|
- DISPENSER
|
||||||
|
- DROPPER
|
||||||
|
- LEVER
|
||||||
|
- DAYLIGHT_DETECTOR
|
||||||
|
- TRAPPED_CHEST
|
||||||
|
- NOTE_BLOCK
|
||||||
|
- STONE_BUTTON
|
||||||
|
- POLISHED_BLACKSTONE_BUTTON
|
||||||
|
- OAK_BUTTON
|
||||||
|
- SPRUCE_BUTTON
|
||||||
|
- BIRCH_BUTTON
|
||||||
|
- JUNGLE_BUTTON
|
||||||
|
- ACACIA_BUTTON
|
||||||
|
- DARK_OAK_BUTTON
|
||||||
|
- MANGROVE_BUTTON
|
||||||
|
- CRIMSON_BUTTON
|
||||||
|
- WARPED_BUTTON
|
||||||
|
- IRON_DOOR
|
||||||
|
- OAK_DOOR
|
||||||
|
- SPRUCE_DOOR
|
||||||
|
- BIRCH_DOOR
|
||||||
|
- JUNGLE_DOOR
|
||||||
|
- ACACIA_DOOR
|
||||||
|
- DARK_OAK_DOOR
|
||||||
|
- MANGROVE_DOOR
|
||||||
|
- CRIMSON_DOOR
|
||||||
|
- WARPED_DOOR
|
||||||
|
- IRON_TRAPDOOR
|
||||||
|
- IRON_TRAPDOOR
|
||||||
|
- OAK_TRAPDOOR
|
||||||
|
- OAK_TRAPDOOR
|
||||||
|
- SPRUCE_TRAPDOOR
|
||||||
|
- SPRUCE_TRAPDOOR
|
||||||
|
- BIRCH_TRAPDOOR
|
||||||
|
- BIRCH_TRAPDOOR
|
||||||
|
- JUNGLE_TRAPDOOR
|
||||||
|
- JUNGLE_TRAPDOOR
|
||||||
|
- ACACIA_TRAPDOOR
|
||||||
|
- ACACIA_TRAPDOOR
|
||||||
|
- DARK_OAK_TRAPDOOR
|
||||||
|
- DARK_OAK_TRAPDOOR
|
||||||
|
- MANGROVE_TRAPDOOR
|
||||||
|
- MANGROVE_TRAPDOOR
|
||||||
|
- CRIMSON_TRAPDOOR
|
||||||
|
- CRIMSON_TRAPDOOR
|
||||||
|
- WARPED_TRAPDOOR
|
||||||
|
- WARPED_TRAPDOOR
|
||||||
|
- OAK_FENCE_GATE
|
||||||
|
- SPRUCE_FENCE_GATE
|
||||||
|
- BIRCH_FENCE_GATE
|
||||||
|
- JUNGLE_FENCE_GATE
|
||||||
|
- ACACIA_FENCE_GATE
|
||||||
|
- DARK_OAK_FENCE_GATE
|
||||||
|
- MANGROVE_FENCE_GATE
|
||||||
|
- CRIMSON_FENCE_GATE
|
||||||
|
- WARPED_FENCE_GATE
|
||||||
|
- CHEST_MINECART
|
||||||
|
- FURNACE_MINECART
|
||||||
|
- HOPPER_MINECART
|
||||||
|
- OAK_CHEST_BOAT
|
||||||
|
- SPRUCE_CHEST_BOAT
|
||||||
|
- BIRCH_CHEST_BOAT
|
||||||
|
- JUNGLE_CHEST_BOAT
|
||||||
|
- ACACIA_CHEST_BOAT
|
||||||
|
- DARK_OAK_CHEST_BOAT
|
||||||
|
- MANGROVE_CHEST_BOAT
|
||||||
|
- LEATHER_CHESTPLATE
|
||||||
|
- CHAINMAIL_CHESTPLATE
|
||||||
|
- IRON_CHESTPLATE
|
||||||
|
- DIAMOND_CHESTPLATE
|
||||||
|
- GOLDEN_CHESTPLATE
|
||||||
|
- NETHERITE_CHESTPLATE
|
||||||
|
- BREWING_STAND
|
||||||
|
- LOOM
|
||||||
|
- COMPOSTER
|
||||||
|
- BARREL
|
||||||
|
- SMOKER
|
||||||
|
- BLAST_FURNACE
|
||||||
|
- BLAST_FURNACE
|
||||||
|
- CARTOGRAPHY_TABLE
|
||||||
|
- FLETCHING_TABLE
|
||||||
|
- GRINDSTONE
|
||||||
|
- SMITHING_TABLE
|
||||||
|
- STONECUTTER
|
||||||
|
313
Defaultconfig/configDeclaration.yml
Normal file
313
Defaultconfig/configDeclaration.yml
Normal file
@ -0,0 +1,313 @@
|
|||||||
|
|
||||||
|
#########################################
|
||||||
|
## Please do not change ConfigVersion! ##
|
||||||
|
#########################################
|
||||||
|
ConfigVersion: 5
|
||||||
|
|
||||||
|
Plugin:
|
||||||
|
# Here you can set the debug mode of the plugin.
|
||||||
|
# It is recommended not to activate this on productive systems. Only if it is really needed!
|
||||||
|
Debug: false
|
||||||
|
# Here you can set whether the Helpalias command (/commandguihelp) should be activated.
|
||||||
|
# If this is changed the server MUST be restarted to change this!
|
||||||
|
HelpAlias: true
|
||||||
|
# Here you set which subcommand should be for the admin functions.
|
||||||
|
# (/commandgui 'admin' reload)
|
||||||
|
AdminSubCommand: admin
|
||||||
|
# here you set the language to be used
|
||||||
|
language: english
|
||||||
|
# Here you set the character or word that will be used as currency
|
||||||
|
Currency: $
|
||||||
|
# Here you set which GUI should be opened at '/commandgui' / '/gui'.
|
||||||
|
DefaultGUI: default
|
||||||
|
|
||||||
|
Storage:
|
||||||
|
# Set here if MySQL, SQLITE or YML should be used as storage.
|
||||||
|
Type: SQLITE
|
||||||
|
# Enter here the access data to the database you want to use, if you use MySQL
|
||||||
|
MySQL:
|
||||||
|
IP: localhost
|
||||||
|
Port: 3306
|
||||||
|
Database: database
|
||||||
|
User: root
|
||||||
|
Password: password
|
||||||
|
SSL: false
|
||||||
|
|
||||||
|
BungeeCord:
|
||||||
|
# Set here if the plugin runs in a BungeeCord subserver.
|
||||||
|
# The plugin file must then be installed on the proxy (BungeeCord, Waterfall) and on the servers.
|
||||||
|
Enable: false
|
||||||
|
# Set here the server name of the server
|
||||||
|
ThisServer: server
|
||||||
|
|
||||||
|
UseItem:
|
||||||
|
# Set here if the UseItem is to be used in use
|
||||||
|
Enable: true
|
||||||
|
# Set here if players are allowed to enable or disable the UseItem with '/gui-item <on/off>'.
|
||||||
|
# Permission 'commandgui.useitem.toggle' is additionally required
|
||||||
|
AllowToggle: true
|
||||||
|
# Set here if players are allowed to change the slot in the inventory where the UseItem is located with '/gui-item <slot>'.
|
||||||
|
# Permission 'commandgui.useitem.toggle' is additionally required
|
||||||
|
AllowSetSlot: true
|
||||||
|
# Set here if the dropping of the UseItem should be blocked
|
||||||
|
BlockMoveAndDrop: true
|
||||||
|
# Set here which GUI should open the UseItem
|
||||||
|
OpenGUI: default
|
||||||
|
Permission:
|
||||||
|
# Set here if the permission 'commandgui.useitem' is required to use the UseItem
|
||||||
|
NeededToUse: true
|
||||||
|
# Set here if the UseItem should stay in the inventory with the '/clear' command
|
||||||
|
KeepAtCommandClear: true
|
||||||
|
InventorySlot:
|
||||||
|
# Set here on which slot the UseItem should be located by default
|
||||||
|
Slot: 1
|
||||||
|
# Set here if the slot should be forced even if another item is on this slot (also the set slot of the player).
|
||||||
|
# NOTE: The item that was on this slot before will be deleted.
|
||||||
|
SlotEnforce: false
|
||||||
|
# Set here if the UseItem should be placed on another free slot, if the selected slot (also the set slot of the player) is occupied.
|
||||||
|
FreeSlot: false
|
||||||
|
# Set here the item that should be used as UseItem
|
||||||
|
Item:
|
||||||
|
# Set here which material should be used as UseItem
|
||||||
|
Material: paper
|
||||||
|
PlayerHead:
|
||||||
|
# Set here if a PlayerHead should be used as UseItem
|
||||||
|
Enable: false
|
||||||
|
Base64:
|
||||||
|
# Set here if a Base64 PlayerHead should be used as UseItem
|
||||||
|
Enable: false
|
||||||
|
# Here you can set the Base64 Value.
|
||||||
|
# You can find the Base64 Value for example on https://minecraft-heads.com.
|
||||||
|
Base64Value: ''
|
||||||
|
# Here you can set whether the player head should be used as a UseItem by the player
|
||||||
|
PlayerWhoHasOpenedTheGUI: false
|
||||||
|
# Here you can set a player name whose head should be used as UseItem
|
||||||
|
Playername: ''
|
||||||
|
# Set the DisplayName of the UseItem here
|
||||||
|
Name: '&6GUI UseItem'
|
||||||
|
# Set the lore of the UseItem here
|
||||||
|
Lore:
|
||||||
|
- 'Lore line 1'
|
||||||
|
- 'Lore line 2'
|
||||||
|
Join:
|
||||||
|
# Set here if the UseItem should be given at every server join
|
||||||
|
GiveOnEveryJoin: true
|
||||||
|
# Set here if the UseItem should only be given to the server at the first join of the player.
|
||||||
|
GiveOnlyOnFirstJoin: false
|
||||||
|
Cursor:
|
||||||
|
ToGUIItem:
|
||||||
|
OnLogin:
|
||||||
|
# Here you define whether the UseItem should be selected when joining the server.
|
||||||
|
Enable: true
|
||||||
|
Spigot:
|
||||||
|
# Set here if the UseItem should only be selected at the first join
|
||||||
|
OnOnlyFirstLogin: true
|
||||||
|
Bungee:
|
||||||
|
# Set here if the UseItem should be selected even if you change the server of the bungee network.
|
||||||
|
# The option BungeeCord must be activated for this!
|
||||||
|
OnServerChange: false
|
||||||
|
|
||||||
|
Toggle:
|
||||||
|
# Set the items to be used with the Toggle function here
|
||||||
|
Items:
|
||||||
|
# Set here the item that should be used if you have the permission or the UseItem is active.
|
||||||
|
OnOrYes:
|
||||||
|
Item:
|
||||||
|
Base64:
|
||||||
|
# Set here if a Base64 head should be used
|
||||||
|
Enable: false
|
||||||
|
# Here you can set the Base64 Value.
|
||||||
|
# You can find the Base64 Value for example on https://minecraft-heads.com.
|
||||||
|
Base64Value: ''
|
||||||
|
# Set the material to be used here
|
||||||
|
Material: GREEN_WOOL
|
||||||
|
# Set here the item to be used if you have the permission or the UseItem is disabled
|
||||||
|
OffOrNo:
|
||||||
|
Item:
|
||||||
|
Base64:
|
||||||
|
# Set here if a Base64 head should be used
|
||||||
|
Enable: false
|
||||||
|
# Here you can set the Base64 Value.
|
||||||
|
# You can find the Base64 Value for example on https://minecraft-heads.com.
|
||||||
|
Base64Value: ''
|
||||||
|
# Set the material to be used here
|
||||||
|
Material: RED_WOOL
|
||||||
|
Permission:
|
||||||
|
# Set here the commands to be used for Toggle.Permission
|
||||||
|
Commands:
|
||||||
|
'True': luckperms user [player] permission set [perm] true
|
||||||
|
'False': luckperms user [player] permission set [perm] false
|
||||||
|
|
||||||
|
# Set the design of the placeholders here
|
||||||
|
Placeholder:
|
||||||
|
# Placeholder for true / enabled
|
||||||
|
'True': '&2true'
|
||||||
|
# Placeholder for false / disabled
|
||||||
|
'False': '&4false'
|
||||||
|
|
||||||
|
Sound:
|
||||||
|
# Here you can disable all sounds
|
||||||
|
Enable: true
|
||||||
|
# Set here At which action which sound should be played or none at all
|
||||||
|
OpenInventory:
|
||||||
|
Enable: true
|
||||||
|
Sound: BLOCK_CHEST_OPEN
|
||||||
|
Click:
|
||||||
|
Enable: true
|
||||||
|
Sound: BLOCK_NOTE_BLOCK_HAT
|
||||||
|
NoMoney:
|
||||||
|
Enable: true
|
||||||
|
Sound: BLOCK_NOTE_BLOCK_HARP
|
||||||
|
NoInventorySpace:
|
||||||
|
Enable: true
|
||||||
|
Sound: BLOCK_NOTE_BLOCK_HARP
|
||||||
|
Give:
|
||||||
|
Enable: true
|
||||||
|
Sound: ENTITY_PLAYER_LEVELUP
|
||||||
|
PlayerNotFound:
|
||||||
|
Enable: true
|
||||||
|
Sound: BLOCK_NOTE_BLOCK_HARP
|
||||||
|
|
||||||
|
Advanced:
|
||||||
|
UseItem:
|
||||||
|
GameMode:
|
||||||
|
Change:
|
||||||
|
# Set here if the UseItem should be reset when the GameMode is changed.
|
||||||
|
Enable: true
|
||||||
|
# Set the delay with which the UseItem should be reset (time in Minecraft ticks. 20 is one second).
|
||||||
|
DelayInTicks: 1
|
||||||
|
Protection:
|
||||||
|
# Set here in which gamemode the UseItem may be used
|
||||||
|
Enable: false
|
||||||
|
# Set here if the UseItem should be removed if you are in a not allowed Gamemode
|
||||||
|
RemoveItemWhenItIsDisabled: false
|
||||||
|
# Set here if a 'blacklist' or 'whitelist' should be used
|
||||||
|
Mode: blacklist
|
||||||
|
# Set the GameMode list here
|
||||||
|
List:
|
||||||
|
- CREATIVE
|
||||||
|
- Spectator
|
||||||
|
World:
|
||||||
|
Change:
|
||||||
|
# This specifies whether the UseItem should be reset when the world is changed.
|
||||||
|
Enable: true
|
||||||
|
# Set the delay with which the UseItem should be reset (time in Minecraft ticks. 20 is one second).
|
||||||
|
DelayInTicks: 1
|
||||||
|
Protection:
|
||||||
|
# Set here in which world the UseItem may be used
|
||||||
|
Enable: false
|
||||||
|
# Here you specify whether the UseItem should be removed if you are in a world that is not permitted
|
||||||
|
RemoveItemWhenItIsDisabled: false
|
||||||
|
# Set here if a 'blacklist' or 'whitelist' should be used
|
||||||
|
Mode: blacklist
|
||||||
|
# Set the worlds here
|
||||||
|
List:
|
||||||
|
- World1
|
||||||
|
- World2
|
||||||
|
# Set here for which blocks the UseItem is blocked and the function of the block you are looking at should be used.
|
||||||
|
ItemBlockBlacklist:
|
||||||
|
- CHEST
|
||||||
|
- CRAFTING_TABLE
|
||||||
|
- FURNACE
|
||||||
|
- OAK_FENCE
|
||||||
|
- SPRUCE_FENCE
|
||||||
|
- BIRCH_FENCE
|
||||||
|
- JUNGLE_FENCE
|
||||||
|
- ACACIA_FENCE
|
||||||
|
- DARK_OAK_FENCE
|
||||||
|
- MANGROVE_FENCE
|
||||||
|
- CRIMSON_FENCE
|
||||||
|
- WARPED_FENCE
|
||||||
|
- NETHER_BRICK_FENCE
|
||||||
|
- ENDER_CHEST
|
||||||
|
- BEACON
|
||||||
|
- ANVIL
|
||||||
|
- CHIPPED_ANVIL
|
||||||
|
- DAMAGED_ANVIL
|
||||||
|
- REPEATER
|
||||||
|
- COMPARATOR
|
||||||
|
- HOPPER
|
||||||
|
- DISPENSER
|
||||||
|
- DROPPER
|
||||||
|
- LEVER
|
||||||
|
- DAYLIGHT_DETECTOR
|
||||||
|
- TRAPPED_CHEST
|
||||||
|
- NOTE_BLOCK
|
||||||
|
- STONE_BUTTON
|
||||||
|
- POLISHED_BLACKSTONE_BUTTON
|
||||||
|
- OAK_BUTTON
|
||||||
|
- SPRUCE_BUTTON
|
||||||
|
- BIRCH_BUTTON
|
||||||
|
- JUNGLE_BUTTON
|
||||||
|
- ACACIA_BUTTON
|
||||||
|
- DARK_OAK_BUTTON
|
||||||
|
- MANGROVE_BUTTON
|
||||||
|
- CRIMSON_BUTTON
|
||||||
|
- WARPED_BUTTON
|
||||||
|
- IRON_DOOR
|
||||||
|
- OAK_DOOR
|
||||||
|
- SPRUCE_DOOR
|
||||||
|
- BIRCH_DOOR
|
||||||
|
- JUNGLE_DOOR
|
||||||
|
- ACACIA_DOOR
|
||||||
|
- DARK_OAK_DOOR
|
||||||
|
- MANGROVE_DOOR
|
||||||
|
- CRIMSON_DOOR
|
||||||
|
- WARPED_DOOR
|
||||||
|
- IRON_TRAPDOOR
|
||||||
|
- IRON_TRAPDOOR
|
||||||
|
- OAK_TRAPDOOR
|
||||||
|
- OAK_TRAPDOOR
|
||||||
|
- SPRUCE_TRAPDOOR
|
||||||
|
- SPRUCE_TRAPDOOR
|
||||||
|
- BIRCH_TRAPDOOR
|
||||||
|
- BIRCH_TRAPDOOR
|
||||||
|
- JUNGLE_TRAPDOOR
|
||||||
|
- JUNGLE_TRAPDOOR
|
||||||
|
- ACACIA_TRAPDOOR
|
||||||
|
- ACACIA_TRAPDOOR
|
||||||
|
- DARK_OAK_TRAPDOOR
|
||||||
|
- DARK_OAK_TRAPDOOR
|
||||||
|
- MANGROVE_TRAPDOOR
|
||||||
|
- MANGROVE_TRAPDOOR
|
||||||
|
- CRIMSON_TRAPDOOR
|
||||||
|
- CRIMSON_TRAPDOOR
|
||||||
|
- WARPED_TRAPDOOR
|
||||||
|
- WARPED_TRAPDOOR
|
||||||
|
- OAK_FENCE_GATE
|
||||||
|
- SPRUCE_FENCE_GATE
|
||||||
|
- BIRCH_FENCE_GATE
|
||||||
|
- JUNGLE_FENCE_GATE
|
||||||
|
- ACACIA_FENCE_GATE
|
||||||
|
- DARK_OAK_FENCE_GATE
|
||||||
|
- MANGROVE_FENCE_GATE
|
||||||
|
- CRIMSON_FENCE_GATE
|
||||||
|
- WARPED_FENCE_GATE
|
||||||
|
- CHEST_MINECART
|
||||||
|
- FURNACE_MINECART
|
||||||
|
- HOPPER_MINECART
|
||||||
|
- OAK_CHEST_BOAT
|
||||||
|
- SPRUCE_CHEST_BOAT
|
||||||
|
- BIRCH_CHEST_BOAT
|
||||||
|
- JUNGLE_CHEST_BOAT
|
||||||
|
- ACACIA_CHEST_BOAT
|
||||||
|
- DARK_OAK_CHEST_BOAT
|
||||||
|
- MANGROVE_CHEST_BOAT
|
||||||
|
- LEATHER_CHESTPLATE
|
||||||
|
- CHAINMAIL_CHESTPLATE
|
||||||
|
- IRON_CHESTPLATE
|
||||||
|
- DIAMOND_CHESTPLATE
|
||||||
|
- GOLDEN_CHESTPLATE
|
||||||
|
- NETHERITE_CHESTPLATE
|
||||||
|
- BREWING_STAND
|
||||||
|
- LOOM
|
||||||
|
- COMPOSTER
|
||||||
|
- BARREL
|
||||||
|
- SMOKER
|
||||||
|
- BLAST_FURNACE
|
||||||
|
- BLAST_FURNACE
|
||||||
|
- CARTOGRAPHY_TABLE
|
||||||
|
- FLETCHING_TABLE
|
||||||
|
- GRINDSTONE
|
||||||
|
- SMITHING_TABLE
|
||||||
|
- STONECUTTER
|
@ -26,7 +26,11 @@ UseItem:
|
|||||||
DisabledInWorld: '[prefix] &cThe UseItem is disabled in this World!'
|
DisabledInWorld: '[prefix] &cThe UseItem is disabled in this World!'
|
||||||
Cost:
|
Cost:
|
||||||
Buy_msg: '[prefix] &2You bought [itemname] &2for &6[price]&2.'
|
Buy_msg: '[prefix] &2You bought [itemname] &2for &6[price]&2.'
|
||||||
No_money: '[prefix] &cYou don''t have enough money!'
|
'No':
|
||||||
|
Money: '[prefix] &cYou don''t have enough money!/*/&cYou need: &6[price]&c.'
|
||||||
|
Item: '[prefix] &cYou don''t have enough items of &6[item] &cin your inventory!/*/&cYou
|
||||||
|
need: &6[amount]&c.'
|
||||||
|
Vote: '[prefix] &cYou do not have enough vote points!/*/&cYou need: &6[amount]&c.'
|
||||||
NoInventorySpace: '[prefix] &cYou have no room in your inventory!'
|
NoInventorySpace: '[prefix] &cYou have no room in your inventory!'
|
||||||
ServerChange:
|
ServerChange:
|
||||||
onServerChange: '[prefix] &2You will be connected to the server &e[server]§2.'
|
onServerChange: '[prefix] &2You will be connected to the server &e[server]§2.'
|
||||||
@ -39,6 +43,15 @@ Give:
|
|||||||
Player:
|
Player:
|
||||||
PlayerNotFond: '[prefix] &cThe player &6[player] &cwas not found or is not online!'
|
PlayerNotFond: '[prefix] &cThe player &6[player] &cwas not found or is not online!'
|
||||||
PlayerNoInventorySpace: '[prefix] &6[player] &chas no free space in his inventory!'
|
PlayerNoInventorySpace: '[prefix] &6[player] &chas no free space in his inventory!'
|
||||||
|
FunctionItem:
|
||||||
|
Add: '[prefix] &2You have &6[amount] [item] &2placed in your inventory.'
|
||||||
|
Remove: '[prefix] &2You have been &6[amount] [item] &2removed.'
|
||||||
|
RemoveError: '[prefix] &cYou don''t have so many items!/*/&cYou need &6[amount]
|
||||||
|
[item]&c!'
|
||||||
|
FunctionVote:
|
||||||
|
Add: '[prefix] &2You were given &6[amount] &2Vote points.'
|
||||||
|
Remove: '[prefix] &2You have been removed &6[amount] &2Vote points.'
|
||||||
|
RemoveError: '[prefix] &cYou don''t have so many VotePoints!/*/&cYou need &6[amount]&c!'
|
||||||
Help:
|
Help:
|
||||||
CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eOpen the default GUI &7(&r[gui]&7)&e.'
|
CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eOpen the default GUI &7(&r[gui]&7)&e.'
|
||||||
Help: '&8''''&b/commandguihelp&8'''' &eOpen this help.'
|
Help: '&8''''&b/commandguihelp&8'''' &eOpen this help.'
|
||||||
@ -51,5 +64,23 @@ Help:
|
|||||||
Reload: '&8''''&b/commandgui admin reload&8'''' &eReload the plugin.'
|
Reload: '&8''''&b/commandgui admin reload&8'''' &eReload the plugin.'
|
||||||
UseItem_On: '&8''''&b/gui-item on&8'''' &eActivate the GUIItem for you.'
|
UseItem_On: '&8''''&b/gui-item on&8'''' &eActivate the GUIItem for you.'
|
||||||
UseItem_Off: '&8''''&b/gui-item off&8'''' &eDisable the GUIItem for yourself.'
|
UseItem_Off: '&8''''&b/gui-item off&8'''' &eDisable the GUIItem for yourself.'
|
||||||
UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSet the slot for GUIItem for
|
UseItem_Slot: '&8''''&b/gui-item slot &7<slot>&8'''' &eSet the slot where you want
|
||||||
you.'
|
to have the GUIItem.'
|
||||||
|
Player:
|
||||||
|
CGUI: '&b/commandgui &8| &b/cgui/*/&eOpen the default GUI &7(&r[gui]&7)&e./*/SUGGEST_COMMAND/*//commandgui'
|
||||||
|
Help: '&b/commandguihelp/*/&eOpen this help./*/SUGGEST_COMMAND/*//commandguihelp'
|
||||||
|
Info: '&b/commandgui admin info/*/&eCall the info from &4Command&9GUI &e./*/SUGGEST_COMMAND/*//commandgui
|
||||||
|
admin info'
|
||||||
|
Open: '&b/commandgui [gui]/*/&eOpen the GUI: &6[guiname]&e./*/SUGGEST_COMMAND/*//commandgui '
|
||||||
|
Give: '&b/commandgui admin give &7<player>/*/&eGive a player the GUI item./*/SUGGEST_COMMAND/*//commandgui
|
||||||
|
admin give '
|
||||||
|
CreateDefaultGUI: '&b/commandgui admin createdefaultgui/*/&eCreate a default GUI
|
||||||
|
&7([directory])&e./*/SUGGEST_COMMAND/*//commandgui admin createdefaultgui'
|
||||||
|
Reload: '&b/commandgui admin reload/*/&eReload the plugin./*/SUGGEST_COMMAND/*//commandgui
|
||||||
|
admin reload'
|
||||||
|
UseItem_On: '&b/gui-item on/*/&eActivate the GUIItem for you./*/SUGGEST_COMMAND/*//gui-item
|
||||||
|
on'
|
||||||
|
UseItem_Off: '&b/gui-item off/*/&eDisable the GUIItem for yourself./*/SUGGEST_COMMAND/*//gui-item
|
||||||
|
off'
|
||||||
|
UseItem_Slot: '&b/gui-item slot &7<slot>/*/&eSet the slot where you want to have
|
||||||
|
the GUIItem./*/SUGGEST_COMMAND/*//gui-item slot '
|
||||||
|
@ -26,7 +26,12 @@ UseItem:
|
|||||||
DisabledInWorld: '[prefix] &cDas UseItem ist in dieser Welt deaktiviert!'
|
DisabledInWorld: '[prefix] &cDas UseItem ist in dieser Welt deaktiviert!'
|
||||||
Cost:
|
Cost:
|
||||||
Buy_msg: '[prefix] &2Du hast dir [itemname] &2f[ue]r &6[price] &2gekauft.'
|
Buy_msg: '[prefix] &2Du hast dir [itemname] &2f[ue]r &6[price] &2gekauft.'
|
||||||
No_money: '[prefix] &cDu hast nicht gen[ue]gend Geld!'
|
'No':
|
||||||
|
Money: '[prefix] &cDu hast nicht gen[ue]gend Geld!/*/&cDu ben[oe]tigst [price].'
|
||||||
|
Item: '[prefix] &cDu hast nicht gen[ue]gent Items von &6[item] &cim Inventar!/*/&cDu
|
||||||
|
ben[oe]tigst: &6[amount]&c.'
|
||||||
|
Vote: '[prefix] &cDu hast nicht gen[ue]gent Vote Punkte!/*/&cDu ben[oe]tigst:
|
||||||
|
&6[amount]&c.'
|
||||||
NoInventorySpace: '[prefix] &cDu hast keinen Platz in deinem Inventar!'
|
NoInventorySpace: '[prefix] &cDu hast keinen Platz in deinem Inventar!'
|
||||||
ServerChange:
|
ServerChange:
|
||||||
onServerChange: '[prefix] &2Du wirst auf den Server §e[server] §2verbunden.'
|
onServerChange: '[prefix] &2Du wirst auf den Server §e[server] §2verbunden.'
|
||||||
@ -41,6 +46,15 @@ Player:
|
|||||||
nicht Online!'
|
nicht Online!'
|
||||||
PlayerNoInventorySpace: '[prefix] &6[player] &chat keinen freien Platz in seinem
|
PlayerNoInventorySpace: '[prefix] &6[player] &chat keinen freien Platz in seinem
|
||||||
Inventar!'
|
Inventar!'
|
||||||
|
FunctionItem:
|
||||||
|
Add: '[prefix] &2Dir wurden &6[amount] [item] &2in dein Inventar gelegt.'
|
||||||
|
Remove: '[prefix] &2Dir wurden &6[amount] [item] &2entfernt.'
|
||||||
|
RemoveError: '[prefix] &cDu hast nicht so viele Items!/*/&cDu benötigets &6[amount]
|
||||||
|
[item]&c!'
|
||||||
|
FunctionVote:
|
||||||
|
Add: '[prefix] &2Dir wurden &6[amount] &2Vote Punkte gegeben.'
|
||||||
|
Remove: '[prefix] &2Dir wurden &6[amount] &2Vote Punkte entfernt.'
|
||||||
|
RemoveError: '[prefix] &cDu hast nicht so viele VotePunkte!/*/&cDu benötigets &6[amount]&c!'
|
||||||
Help:
|
Help:
|
||||||
CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &e[OE]ffne die default GUI &7(&r[gui]&7)&e.'
|
CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &e[OE]ffne die default GUI &7(&r[gui]&7)&e.'
|
||||||
Help: '&8''''&b/commandguihelp&8'''' &e[OE]ffne diese help.'
|
Help: '&8''''&b/commandguihelp&8'''' &e[OE]ffne diese help.'
|
||||||
@ -54,5 +68,23 @@ Help:
|
|||||||
Reload: '&8''''&b/commandgui admin reload&8'''' &eLade das Plugin neu.'
|
Reload: '&8''''&b/commandgui admin reload&8'''' &eLade das Plugin neu.'
|
||||||
UseItem_On: '&8''''&b/gui-item on&8'''' &eAktiviere f[ue]r dich das GUIItem.'
|
UseItem_On: '&8''''&b/gui-item on&8'''' &eAktiviere f[ue]r dich das GUIItem.'
|
||||||
UseItem_Off: '&8''''&b/gui-item off&8'''' &eDeaktiviere f[ue]r dich das GUIItem.'
|
UseItem_Off: '&8''''&b/gui-item off&8'''' &eDeaktiviere f[ue]r dich das GUIItem.'
|
||||||
UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSetze den Slot für GUIItem
|
UseItem_Slot: '&8''''&b/gui-item slot &7<slot>&8'''' &eStelle den Slot ein, auf
|
||||||
für Sie einstellen.'
|
den du das GUIItem haben möchtest.'
|
||||||
|
Player:
|
||||||
|
CGUI: '&b/commandgui &8| &b/cgui/*/&e[OE]ffne die default GUI &7(&r[gui]&7)&e./*/SUGGEST_COMMAND/*//commandgui'
|
||||||
|
Help: '&b/commandguihelp/*/&e[OE]ffne diese help./*/SUGGEST_COMMAND/*//commandguihelp'
|
||||||
|
Info: '&b/commandgui admin info/*/&eRufe die Infos von &4Command&9GUI &eauf./*/SUGGEST_COMMAND/*//commandgui
|
||||||
|
admin info'
|
||||||
|
Open: '&b/commandgui [gui]/*/&e[OE]ffne die GUI: &6[guiname]&e./*/SUGGEST_COMMAND/*//commandgui '
|
||||||
|
Give: '&b/commandgui admin give &7<player>/*/&eGebe einem Spieler das GUI-Item./*/SUGGEST_COMMAND/*//commandgui
|
||||||
|
admin give '
|
||||||
|
CreateDefaultGUI: '&b/commandgui admin createdefaultgui/*/&eLasse eine default
|
||||||
|
GUI erstellen &7([directory])&e./*/SUGGEST_COMMAND/*//commandgui admin createdefaultgui'
|
||||||
|
Reload: '&b/commandgui admin reload/*/&eLade das Plugin neu./*/SUGGEST_COMMAND/*//commandgui
|
||||||
|
admin reload'
|
||||||
|
UseItem_On: '&b/gui-item on/*/&eAktiviere f[ue]r dich das GUIItem./*/SUGGEST_COMMAND/*//gui-item
|
||||||
|
on'
|
||||||
|
UseItem_Off: '&b/gui-item off/*/&eDeaktiviere f[ue]r dich das GUIItem./*/SUGGEST_COMMAND/*//gui-item
|
||||||
|
off'
|
||||||
|
UseItem_Slot: '&b/gui-item slot &7<slot>/*/&eStelle den Slot ein, auf den du das
|
||||||
|
GUIItem haben möchtest./*/SUGGEST_COMMAND/*//gui-item slot '
|
||||||
|
@ -25,7 +25,11 @@ UseItem:
|
|||||||
DisabledInWorld: '[prefix] &cUseItem er deaktivert i denne verden!'
|
DisabledInWorld: '[prefix] &cUseItem er deaktivert i denne verden!'
|
||||||
Cost:
|
Cost:
|
||||||
Buy_msg: '[prefix] &2Du kjøpte [itemname] &2for &6[price]&2.'
|
Buy_msg: '[prefix] &2Du kjøpte [itemname] &2for &6[price]&2.'
|
||||||
No_money: '[prefix] &cDu har ikke nok penger!'
|
'No':
|
||||||
|
Money: '[prefix] &cDu har ikke nok penger!/*/&cDu trenger &6[price]&c.'
|
||||||
|
Item: '[prefix] &cDu har ikke nok varer av &6[item] &ci inventaret ditt!/*/&cDu
|
||||||
|
trenger: &6[amount]&c.'
|
||||||
|
Vote: '[prefix] &cDu har ikke nok stemmepoeng!/*/&cDu trenger: &6[amount]&c.'
|
||||||
NoInventorySpace: '[prefix] &cDu har ikke nok plass i inventaret ditt!'
|
NoInventorySpace: '[prefix] &cDu har ikke nok plass i inventaret ditt!'
|
||||||
ServerChange:
|
ServerChange:
|
||||||
onServerChange: '[prefix] &2Du vil bli tilkoblet serveren &e[server]&2.'
|
onServerChange: '[prefix] &2Du vil bli tilkoblet serveren &e[server]&2.'
|
||||||
@ -39,6 +43,14 @@ Player:
|
|||||||
PlayerNotFond: '[prefix] &cSpilleren &6[player] &cble ikke funnet eller er ikke
|
PlayerNotFond: '[prefix] &cSpilleren &6[player] &cble ikke funnet eller er ikke
|
||||||
pålogget!'
|
pålogget!'
|
||||||
PlayerNoInventorySpace: '[prefix] &6[player] &char ikke nok plass i inventaret sitt!'
|
PlayerNoInventorySpace: '[prefix] &6[player] &char ikke nok plass i inventaret sitt!'
|
||||||
|
FunctionItem:
|
||||||
|
Add: '[prefix] &2Du har &6[amount] [item] &2plassert i beholdningen din.'
|
||||||
|
Remove: '[prefix] &2Du har blitt &6[amount] [item] &2fjernet.'
|
||||||
|
RemoveError: '[prefix] &cDu har ikke så mange varer!/*/&cDu trenger &6[amount] [item]&c!'
|
||||||
|
FunctionVote:
|
||||||
|
Add: '[prefix] &2Du fikk &6[amount] &2stemmepoeng.'
|
||||||
|
Remove: '[prefix] &2Du har blitt fjernet &6[amount] &2Stemmepoeng.'
|
||||||
|
RemoveError: '[prefix] &cDu har ikke så mange stemmepoeng!/*/&cDu trenger &6[amount]&c!'
|
||||||
Help:
|
Help:
|
||||||
CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eÅpne default GUIen &7(&r[gui]&7)&e.'
|
CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eÅpne default GUIen &7(&r[gui]&7)&e.'
|
||||||
Help: '&8''''&b/commandguihelp&8'''' &eSender denne hjelpe meldingen.'
|
Help: '&8''''&b/commandguihelp&8'''' &eSender denne hjelpe meldingen.'
|
||||||
@ -50,5 +62,23 @@ Help:
|
|||||||
Reload: '&8''''&b/commandgui admin reload&8'''' &eLast inn pluginet på nytt.'
|
Reload: '&8''''&b/commandgui admin reload&8'''' &eLast inn pluginet på nytt.'
|
||||||
UseItem_On: '&8''''&b/gui-item on&8'''' &eAktiverer en GUI gjenstand for deg.'
|
UseItem_On: '&8''''&b/gui-item on&8'''' &eAktiverer en GUI gjenstand for deg.'
|
||||||
UseItem_Off: '&8''''&b/gui-item off&8'''' &eDeaktiverer en GUI gjenstand for deg.'
|
UseItem_Off: '&8''''&b/gui-item off&8'''' &eDeaktiverer en GUI gjenstand for deg.'
|
||||||
UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSett sporet for GUIItem for
|
UseItem_Slot: '&8''''&b/gui-item slot &7<slot>&8'''' &eSett sporet for GUIItem for
|
||||||
deg.'
|
deg.'
|
||||||
|
Player:
|
||||||
|
CGUI: '&b/commandgui &8| &b/cgui/*/&eÅpne default GUIen &7(&r[gui]&7)&e./*/SUGGEST_COMMAND/*//commandgui'
|
||||||
|
Help: '&b/commandguihelp/*/&eSender denne hjelpe meldingen./*/SUGGEST_COMMAND/*//commandguihelp'
|
||||||
|
Info: '&b/commandgui admin info/*/&eKall informasjon fra &4Command&9GUI&e./*/SUGGEST_COMMAND/*//commandgui
|
||||||
|
admin info'
|
||||||
|
Open: '&b/commandgui [gui]/*/&eÅpne GUIen: &6[guiname]&e./*/SUGGEST_COMMAND/*//commandgui '
|
||||||
|
Give: '&b/commandgui admin give &7<player>/*/&eGi en spiller GUI gjenstanden./*/SUGGEST_COMMAND/*//commandgui
|
||||||
|
admin give '
|
||||||
|
CreateDefaultGUI: '&b/commandgui admin createdefaultgui/*/&eLag en normalverdi
|
||||||
|
GUI &7([directory])&e./*/SUGGEST_COMMAND/*//commandgui admin createdefaultgui'
|
||||||
|
Reload: '&b/commandgui admin reload/*/&eLast inn pluginet på nytt./*/SUGGEST_COMMAND/*//commandgui
|
||||||
|
admin reload'
|
||||||
|
UseItem_On: '&b/gui-item on/*/&eAktiverer en GUI gjenstand for deg./*/SUGGEST_COMMAND/*//gui-item
|
||||||
|
on'
|
||||||
|
UseItem_Off: '&b/gui-item off/*/&eDeaktiverer en GUI gjenstand for deg./*/SUGGEST_COMMAND/*//gui-item
|
||||||
|
off'
|
||||||
|
UseItem_Slot: '&b/gui-item slot &7<slot>/*/&eSett sporet for GUIItem for deg./*/SUGGEST_COMMAND/*//gui-item
|
||||||
|
slot '
|
||||||
|
Loading…
Reference in New Issue
Block a user