mirror of
https://github.com/TotalFreedomMC/TFGuilds.git
synced 2024-12-21 23:45:04 +00:00
This commit is contained in:
commit
4b6fb1ead4
14 changed files with 156 additions and 133 deletions
|
@ -1,20 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="CheckStyle-IDEA-Module">
|
||||
<option name="configuration">
|
||||
<map />
|
||||
</option>
|
||||
</component>
|
||||
<component name="FacetManager">
|
||||
<facet type="minecraft" name="Minecraft">
|
||||
<configuration>
|
||||
<autoDetectTypes>
|
||||
<platformType>SPIGOT</platformType>
|
||||
<platformType>PAPER</platformType>
|
||||
</autoDetectTypes>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_17">
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
|
@ -24,81 +19,33 @@
|
|||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot-api:1.16.4-R0.1-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: io.papermc.paper:paper-api:1.18.1-R0.1-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.6" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:guava:21.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.gson:gson:2.8.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.md-5:bungeecord-chat:1.16-R0.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.yaml:snakeyaml:1.26" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.AtlasMediaGroup:TotalFreedomMod:development-0be2aa718f-1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven.plugins:maven-checkstyle-plugin:3.1.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven:maven-artifact:3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven:maven-core:3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven:maven-settings:3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven:maven-settings-builder:3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven:maven-repository-metadata:3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven:maven-model-builder:3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven:maven-aether-provider:3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.sonatype.aether:aether-impl:1.7" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.sonatype.aether:aether-spi:1.7" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.sonatype.aether:aether-api:1.7" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.sonatype.aether:aether-util:1.7" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.sonatype.sisu:sisu-inject-plexus:1.4.2" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.sonatype.sisu:sisu-inject-bean:1.4.2" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.sonatype.sisu:sisu-guice:noaop:2.1.7" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.plexus:plexus-classworlds:2.2.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.sonatype.plexus:plexus-sec-dispatcher:1.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.sonatype.plexus:plexus-cipher:1.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven:maven-model:3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven:maven-plugin-api:3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven.reporting:maven-reporting-api:3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven.reporting:maven-reporting-impl:2.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven.shared:maven-shared-utils:0.6" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.findbugs:jsr305:2.0.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven.doxia:doxia-core:1.2" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: xerces:xercesImpl:2.9.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: xml-apis:xml-apis:1.3.04" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.httpcomponents:httpclient:4.0.2" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.httpcomponents:httpcore:4.0.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-codec:commons-codec:1.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-validator:commons-validator:1.3.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-digester:commons-digester:1.6" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-logging:commons-logging:1.0.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven.doxia:doxia-sink-api:1.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven.doxia:doxia-logging-api:1.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven.doxia:doxia-decoration-model:1.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven.doxia:doxia-site-renderer:1.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven.doxia:doxia-module-xhtml:1.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven.doxia:doxia-module-fml:1.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.plexus:plexus-i18n:1.0-beta-7" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.velocity:velocity-tools:2.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-chain:commons-chain:1.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: dom4j:dom4j:1.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: oro:oro:2.0.8" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: sslext:sslext:1.2-0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.struts:struts-core:1.3.8" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.struts:struts-taglib:1.3.8" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.struts:struts-tiles:1.3.8" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.maven.doxia:doxia-integration-tools:1.6" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-io:commons-io:1.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.plexus:plexus-container-default:1.0-alpha-9" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: junit:junit:3.8.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: classworlds:classworlds:1.1-alpha-2" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.plexus:plexus-component-annotations:2.0.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.plexus:plexus-resources:1.1.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.plexus:plexus-utils:3.3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.plexus:plexus-interpolation:1.26" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.plexus:plexus-velocity:1.2" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.puppycrawl.tools:checkstyle:8.29" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: info.picocli:picocli:4.1.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: antlr:antlr:2.7.7" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.antlr:antlr4-runtime:4.8-1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-beanutils:commons-beanutils:1.9.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.sf.saxon:Saxon-HE:9.9.1-6" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.velocity:velocity:1.7" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.16" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:guava:31.0.1-jre" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.errorprone:error_prone_annotations:2.7.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.j2objc:j2objc-annotations:1.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.gson:gson:2.8.8" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.md-5:bungeecord-chat:1.16-R0.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.yaml:snakeyaml:1.30" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.googlecode.json-simple:json-simple:1.1.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: it.unimi.dsi:fastutil:8.5.6" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.logging.log4j:log4j-api:2.17.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.slf4j:slf4j-api:1.8.0-beta4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.kyori:adventure-api:4.9.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.kyori:adventure-key:4.9.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.kyori:examination-api:1.3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.kyori:examination-string:1.3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jetbrains:annotations:22.0.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.kyori:adventure-text-serializer-gson:4.9.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.kyori:adventure-text-serializer-legacy:4.9.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.kyori:adventure-text-serializer-plain:4.9.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.checkerframework:checker-qual:3.21.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.ow2.asm:asm:9.2" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.ow2.asm:asm-commons:9.2" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.ow2.asm:asm-tree:9.2" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.ow2.asm:asm-analysis:9.2" level="project" />
|
||||
</component>
|
||||
</module>
|
|
@ -2,6 +2,7 @@
|
|||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<annotationProcessing>
|
||||
<profile default="true" name="Default" enabled="true" />
|
||||
<profile name="Maven default annotation processors profile" enabled="true">
|
||||
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||
|
@ -10,7 +11,7 @@
|
|||
</profile>
|
||||
</annotationProcessing>
|
||||
<bytecodeTargetLevel>
|
||||
<module name="TFGuilds" target="11" />
|
||||
<module name="TFGuilds" target="17" />
|
||||
</bytecodeTargetLevel>
|
||||
</component>
|
||||
</project>
|
|
@ -11,6 +11,11 @@
|
|||
<option name="name" value="jitpack.io" />
|
||||
<option name="url" value="https://jitpack.io" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="papermc" />
|
||||
<option name="name" value="papermc" />
|
||||
<option name="url" value="https://papermc.io/repo/repository/maven-public/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="sonatype" />
|
||||
<option name="name" value="sonatype" />
|
||||
|
|
|
@ -16,5 +16,5 @@
|
|||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="false" project-jdk-name="11" project-jdk-type="JavaSDK" />
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="openjdk-17" project-jdk-type="JavaSDK" />
|
||||
</project>
|
|
@ -13,7 +13,7 @@ You can copy and paste the single properties, into the pom.xml file and the IDE
|
|||
That way multiple projects can share the same settings (useful for formatting rules for example).
|
||||
Any value defined here will override the pom.xml file value but is only applicable to the current project.
|
||||
-->
|
||||
<netbeans.hint.jdkPlatform>JDK_11</netbeans.hint.jdkPlatform>
|
||||
<netbeans.hint.jdkPlatform>JDK_17</netbeans.hint.jdkPlatform>
|
||||
<org-netbeans-modules-javascript2-requirejs.enabled>true</org-netbeans-modules-javascript2-requirejs.enabled>
|
||||
</properties>
|
||||
</project-shared-configuration>
|
||||
|
|
22
pom.xml
22
pom.xml
|
@ -4,9 +4,9 @@
|
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>me.totalfreedom</groupId>
|
||||
<groupId>com.github.AtlasMediaGroup</groupId>
|
||||
<artifactId>TFGuilds</artifactId>
|
||||
<version>2021.06-RC3</version>
|
||||
<version>2022.01</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>TFGuilds</name>
|
||||
|
@ -25,8 +25,8 @@
|
|||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<source>11</source>
|
||||
<target>11</target>
|
||||
<source>17</source>
|
||||
<target>17</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
|
@ -56,16 +56,20 @@
|
|||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>spigotmc-repo</id>
|
||||
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
||||
<id>jitpack.io</id>
|
||||
<url>https://jitpack.io</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>papermc</id>
|
||||
<url>https://papermc.io/repo/repository/maven-public/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot-api</artifactId>
|
||||
<version>1.17.1-R0.1-SNAPSHOT</version>
|
||||
<groupId>io.papermc.paper</groupId>
|
||||
<artifactId>paper-api</artifactId>
|
||||
<version>1.18.1-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
|
|
@ -6,6 +6,11 @@ import java.util.Collections;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.Future;
|
||||
import me.totalfreedom.tfguilds.command.*;
|
||||
import me.totalfreedom.tfguilds.config.Config;
|
||||
import me.totalfreedom.tfguilds.guild.Guild;
|
||||
|
@ -14,6 +19,7 @@ import me.totalfreedom.tfguilds.listener.ChatListener;
|
|||
import me.totalfreedom.tfguilds.listener.JoinListener;
|
||||
import me.totalfreedom.tfguilds.sql.SQLDatabase;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class TFGuilds extends JavaPlugin
|
||||
{
|
||||
|
@ -33,7 +39,7 @@ public class TFGuilds extends JavaPlugin
|
|||
public void onEnable()
|
||||
{
|
||||
plugin = this;
|
||||
config = new Config("config.yml");
|
||||
config = new Config(this,"config.yml");
|
||||
sqlDatabase = new SQLDatabase(this);
|
||||
User.loadAll();
|
||||
Guild.loadAll();
|
||||
|
@ -54,13 +60,13 @@ public class TFGuilds extends JavaPlugin
|
|||
{
|
||||
getSQL().getConnection().close();
|
||||
}
|
||||
catch (SQLException throwables)
|
||||
catch (SQLException ignored)
|
||||
{
|
||||
}
|
||||
config.save();
|
||||
}
|
||||
|
||||
public Config getConfig()
|
||||
public @NotNull Config getConfig()
|
||||
{
|
||||
return config;
|
||||
}
|
||||
|
@ -87,6 +93,19 @@ public class TFGuilds extends JavaPlugin
|
|||
return commands;
|
||||
}
|
||||
|
||||
private void forcedSQLPostLoad() {
|
||||
ExecutorService ex = Executors.newCachedThreadPool();
|
||||
Future<SQLDatabase> future = ex.submit(() -> new SQLDatabase(getPlugin()));
|
||||
try
|
||||
{
|
||||
sqlDatabase = future.get();
|
||||
}
|
||||
catch (InterruptedException | ExecutionException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void loadSubCommands()
|
||||
{
|
||||
subCommands.put("create", new CreateSubCommand());
|
||||
|
|
|
@ -10,10 +10,11 @@ import org.bukkit.plugin.Plugin;
|
|||
|
||||
public class TFMBridge
|
||||
{
|
||||
|
||||
private final TFGuilds plugin = TFGuilds.getPlugin();
|
||||
private /*TotalFreedomMod*/ Plugin tfm = null;
|
||||
|
||||
public /*TotalFreedomMod*/ Plugin getTFM()
|
||||
public /*TotalFreedomMod*/ Plugin getTfm()
|
||||
{
|
||||
if (tfm == null)
|
||||
{
|
||||
|
@ -35,16 +36,16 @@ public class TFMBridge
|
|||
|
||||
public boolean isAdmin(Player player)
|
||||
{
|
||||
if (getTFM() == null)
|
||||
if (getTfm() == null)
|
||||
{
|
||||
Bukkit.getLogger().warning("TotalFreedomMod not detected, checking operator status instead.");
|
||||
return player.isOp();
|
||||
}
|
||||
Object adminList = ReflectionsHelper.getField(getTFM(), "adminList");
|
||||
Object adminList = ReflectionsHelper.getField(getTfm(), "adminList");
|
||||
Method isAdmin = ReflectionsHelper.getMethod(adminList, "isAdmin", Player.class);
|
||||
try
|
||||
{
|
||||
return (boolean)isAdmin.invoke(adminList, player) /*getTfm().al.isAdmin(player)*/;
|
||||
return (boolean)isAdmin.invoke(adminList, player) /*getTfm().adminList.isAdmin(player)*/;
|
||||
}
|
||||
catch (IllegalAccessException | InvocationTargetException e)
|
||||
{
|
||||
|
@ -55,16 +56,16 @@ public class TFMBridge
|
|||
|
||||
public boolean isAdmin(CommandSender sender)
|
||||
{
|
||||
if (getTFM() == null)
|
||||
if (getTfm() == null)
|
||||
{
|
||||
Bukkit.getLogger().warning("TotalFreedomMod not detected, checking operator status instead.");
|
||||
return sender.isOp();
|
||||
}
|
||||
Object adminList = ReflectionsHelper.getField(getTFM(), "adminList");
|
||||
Object adminList = ReflectionsHelper.getField(getTfm(), "adminList");
|
||||
Method isAdmin = ReflectionsHelper.getMethod(adminList, "isAdmin", CommandSender.class);
|
||||
try
|
||||
{
|
||||
return (boolean)isAdmin.invoke(adminList, sender) /*getTfm().al.isAdmin(player)*/;
|
||||
return (boolean)isAdmin.invoke(adminList, sender) /*getTfm().adminList.isAdmin(player)*/;
|
||||
}
|
||||
catch (IllegalAccessException | InvocationTargetException e)
|
||||
{
|
||||
|
@ -75,12 +76,12 @@ public class TFMBridge
|
|||
|
||||
public boolean isVanished(Player player)
|
||||
{
|
||||
if (getTFM() == null)
|
||||
if (getTfm() == null)
|
||||
{
|
||||
Bukkit.getLogger().warning("TotalFreedomMod not detected, vanish will return false.");
|
||||
return false;
|
||||
}
|
||||
Object adminList = ReflectionsHelper.getField(getTFM(), "adminList");
|
||||
Object adminList = ReflectionsHelper.getField(getTfm(), "adminList");
|
||||
Method isVanished = ReflectionsHelper.getMethod(adminList, "isVanished", String.class);
|
||||
try
|
||||
{
|
||||
|
@ -95,12 +96,12 @@ public class TFMBridge
|
|||
|
||||
public String getTag(Player player)
|
||||
{
|
||||
if (getTFM() == null)
|
||||
if (getTfm() == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
Object playerList = ReflectionsHelper.getField(getTFM(), "playerList");
|
||||
Object playerList = ReflectionsHelper.getField(getTfm(), "playerList");
|
||||
Method getPlayer = ReflectionsHelper.getMethod(playerList, "getPlayer", Player.class);
|
||||
try
|
||||
{
|
||||
|
@ -119,12 +120,12 @@ public class TFMBridge
|
|||
|
||||
public void clearTag(Player player)
|
||||
{
|
||||
if (getTFM() == null)
|
||||
if (getTfm() == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
// getTfm().playerList.getPlayer(player).setTag(null);
|
||||
Object playerList = ReflectionsHelper.getField(getTFM(), "playerList");
|
||||
Object playerList = ReflectionsHelper.getField(getTfm(), "playerList");
|
||||
Method getPlayer = ReflectionsHelper.getMethod(playerList, "getPlayer", Player.class);
|
||||
try
|
||||
{
|
||||
|
|
|
@ -1,20 +1,32 @@
|
|||
package me.totalfreedom.tfguilds.config;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import me.totalfreedom.tfguilds.TFGuilds;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
public class Config extends YamlConfiguration
|
||||
{
|
||||
|
||||
private final TFGuilds plugin;
|
||||
private final File file;
|
||||
private final TFGuilds plugin;
|
||||
private final String fileName;
|
||||
|
||||
public Config(String fileName)
|
||||
public Config(TFGuilds plugin, String fileName)
|
||||
{
|
||||
this.plugin = TFGuilds.getPlugin();
|
||||
|
||||
this.fileName = fileName;
|
||||
this.plugin = plugin;
|
||||
this.file = new File(plugin.getDataFolder(), fileName);
|
||||
|
||||
if (!file.exists())
|
||||
|
@ -22,6 +34,8 @@ public class Config extends YamlConfiguration
|
|||
plugin.saveResource(fileName, false);
|
||||
}
|
||||
|
||||
verifyConfiguration();
|
||||
|
||||
load();
|
||||
}
|
||||
|
||||
|
@ -48,4 +62,29 @@ public class Config extends YamlConfiguration
|
|||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void verifyConfiguration() {
|
||||
InputStreamReader stream = new InputStreamReader(plugin.getResource(fileName));
|
||||
YamlConfiguration reader = YamlConfiguration.loadConfiguration(stream);
|
||||
YamlConfiguration writer = YamlConfiguration.loadConfiguration(file);
|
||||
|
||||
AtomicBoolean shouldSave = new AtomicBoolean(false);
|
||||
|
||||
try {
|
||||
reader.getKeys(true).forEach(key -> {
|
||||
if (!writer.contains(key)) writer.set(key, reader.get(key));
|
||||
if (!shouldSave.get()) shouldSave.set(true);
|
||||
});
|
||||
if (shouldSave.get()) {
|
||||
writer.save(file);
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
TFGuilds.getPlugin()
|
||||
.getLogger()
|
||||
.severe("Error attempting to verify configuration: \n"
|
||||
+ ex.getMessage()
|
||||
+ "\nCaused by: "
|
||||
+ ex.getCause());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,4 +45,8 @@ public enum ConfigEntry
|
|||
{
|
||||
return config.getString(path);
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return path;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,13 +43,19 @@ public class JoinListener implements Listener
|
|||
|
||||
int maxLength = ConfigEntry.GLOBAL_TAG_MAX_LENGTH.getInteger();
|
||||
String tfmTag = TFGuilds.getPlugin().getTfmBridge().getTag(player);
|
||||
if (user.displayTag() && tfmTag != null && guild.getTag() != null && maxLength > 0)
|
||||
if (user != null && user.displayTag() && tfmTag != null && guild.getTag() != null && maxLength > 0)
|
||||
{
|
||||
int length = GUtil.removeColorCodes(tfmTag).length() + GUtil.removeColorCodes(guild.getTag()).length();
|
||||
if (length > maxLength)
|
||||
String tfmTagStripped = GUtil.removeColorCodes(tfmTag);
|
||||
String guildTagStripped = GUtil.removeColorCodes(guild.getTag());
|
||||
if (tfmTagStripped != null && guildTagStripped != null)
|
||||
{
|
||||
TFGuilds.getPlugin().getTfmBridge().clearTag(player);
|
||||
int length = tfmTagStripped.length() + guildTagStripped.length();
|
||||
if (length > maxLength)
|
||||
{
|
||||
TFGuilds.getPlugin().getTfmBridge().clearTag(player);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,21 +22,18 @@ public class SQLDatabase
|
|||
}
|
||||
try
|
||||
{
|
||||
switch (ConfigEntry.CONNECTION_TYPE.getString().toLowerCase())
|
||||
if ("mysql".equals(ConfigEntry.CONNECTION_TYPE.getString().toLowerCase()))
|
||||
{
|
||||
case "sqlite":
|
||||
connection = DriverManager.getConnection("jdbc:sqlite:" + createDBFile(plugin).getAbsolutePath().replace("%20", " "));
|
||||
break;
|
||||
case "mysql":
|
||||
connection = DriverManager.getConnection(String.format("jdbc:mysql://%s:%d/%s",
|
||||
ConfigEntry.MYSQL_HOST.getString(),
|
||||
ConfigEntry.MYSQL_PORT.getInteger(),
|
||||
ConfigEntry.MYSQL_DATABASE.getString()),
|
||||
ConfigEntry.MYSQL_USERNAME.getString(),
|
||||
password);
|
||||
break;
|
||||
default:
|
||||
connection = DriverManager.getConnection("jdbc:sqlite:" + createDBFile(plugin).getAbsolutePath().replace("%20", " "));
|
||||
connection = DriverManager.getConnection(String.format("jdbc:mysql://%s:%d/%s",
|
||||
ConfigEntry.MYSQL_HOST.getString(),
|
||||
ConfigEntry.MYSQL_PORT.getInteger(),
|
||||
ConfigEntry.MYSQL_DATABASE.getString()),
|
||||
ConfigEntry.MYSQL_USERNAME.getString(),
|
||||
password);
|
||||
}
|
||||
else
|
||||
{
|
||||
connection = DriverManager.getConnection("jdbc:sqlite:" + createDBFile(plugin).getAbsolutePath().replace("%20", " "));
|
||||
}
|
||||
|
||||
createTables();
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
settings:
|
||||
# Types: mysql, sqlite
|
||||
connection: sqlite
|
||||
connection: mysql
|
||||
|
||||
server:
|
||||
# Log guild chat to console?
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name: TFGuilds
|
||||
version: ${project.version}
|
||||
main: me.totalfreedom.tfguilds.TFGuilds
|
||||
api-version: 1.16
|
||||
api-version: 1.17
|
||||
authors: [ Fleek, super, speed ]
|
||||
description: A guilds plugin for the TotalFreedom server.
|
||||
softdepend:
|
||||
|
|
Loading…
Reference in a new issue