Compare commits

...

25 Commits
10.7 ... 12.5

Author SHA1 Message Date
14741afb8d 12.5 2022-07-14 21:37:58 +02:00
8f05d5c677 12.4 2022-07-08 19:06:22 +02:00
c89afa3c68 add MiniMessages and small code changes 2022-07-07 13:43:50 +02:00
df22ddd9d2 12.4_dev-1 2022-07-07 06:54:15 +02:00
c92e36163e 12.3 | Bugfix
BUGFIX: In the 1.8 the plugin info texts were not displayed and it triggered a bug
2022-06-30 20:26:09 +02:00
d4f311493f 12.2
- A new method has been added for Tab (tab(List<String> matches, CommandSender sender, int arg, String[] args, HashMap<String, String> permMap, Boolean onlinePlayer, String permForPlayer)).
- The class net.t2code.lib.Spigot.Lib.player. NameHistory was added
- Minor code changes
2022-06-18 16:16:26 +02:00
fb289bd66e smal changes 2022-06-08 06:27:05 +02:00
72d33dca90 12.1
- rename the Main to T2CodeMain
- amalll bugfix
2022-06-08 05:13:00 +02:00
3ce11b3d12 Delete Vault.java 2022-06-07 06:01:12 +02:00
f14aeb6078 12.0 Innovation and Eco API change
The API for Economy has been rebuilt.
-	- Class renamed: net.t2code.lib.Spigot.Lib.vault.Vault -> net.t2code.lib.Spigot.Lib.eco.Eco
-	Methods renamed:
- buy(String prefix, Player p, Double price) -> moneyRemove(String prefix, Player player, Double price)
- addMoney(String prefix, Player p, Double price) -> moneyAdd(String prefix, Player player, Double price)
-	New methods:
- itemRemove(Player player, String item, int amount)
- itemAdd(Player player, String item, int amount)
- votePointsRemove(String prefix, Player player, Integer amount) (for VotingPlugin)
- votePointsAdd(String prefix, Player player, Integer amount) (for VotingPlugin)
-	VotingPlugin added to PluginCheck
2022-06-07 05:58:47 +02:00
066496dea0 11.9
add HoverModule
add placeholder [nl] for next line
2022-05-31 21:31:23 +02:00
d7cad5524c 11.8
FIX: Playerheads, Base64 Heads sind jetzt auch bei 1.8 - 1.12 verfügbar
2022-05-17 21:05:49 +02:00
df01efdfbd 11.6
- The option 'Plugin.UpdateCheck.OnJoin' activates / deactivates the UpdateCheck on join of all T2Code plugins using the T2CodeLib from now on
- minor code changes
2022-04-26 18:26:51 +02:00
f27ec3c985 11.6 Perform Update in Update Checker 2022-04-19 01:29:24 +02:00
abf95ecf0c remove target & .idea 2022-04-16 17:36:43 +02:00
7e627f5033 11.5 2022-04-16 17:09:19 +02:00
efb66696eb 11.5
This update introduces the possibility to disable messages.
Just write '[empty]' in the message to disable it.
2022-04-16 16:56:16 +02:00
JaTiTV
4bdbe98f8a Merge pull request 'AddMoney' (#4) from AddMoney into main
Reviewed-on: #4
2022-04-16 16:53:58 +02:00
e3c1217f86 11.4 2022-04-01 02:23:26 +02:00
dab150407c update maven 2022-03-14 18:33:30 +01:00
Jkobs
cd9cd478b5 AddMoney 2022-03-13 21:58:50 +01:00
810e61f0e2 Bugfix in '/t2code debug createReportLog' 2022-02-09 14:40:27 +01:00
15f2a5d422 Bugfix
If a plugin of T2Code was unloaded for example by PlugMan, then an error came in the UpdateChecker, this was fixed
2022-01-27 05:51:09 +01:00
8482f7f787 10.9 2022-01-21 22:04:26 +01:00
2f4fe4651e Minor code changes 2022-01-20 18:19:39 +01:00
125 changed files with 1158 additions and 736 deletions

View File

@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="T2CodeLib">
<output-path>$PROJECT_DIR$/../../Libarys</output-path>
<root id="archive" name="T2CodeLib.jar">
<element id="module-output" name="T2CodeLib" />
</root>
</artifact>
</component>

View File

@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="T2CodeLib_1.0.0.32">
<output-path>$PROJECT_DIR$/../../Testserver/1.17.1/Server/plugins</output-path>
<root id="archive" name="T2CodeLib_1.0.0.3.jar">
<element id="module-output" name="T2CodeLib" />
</root>
</artifact>
</component>

View File

@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="Builders-Paradise" />
<option name="name" value="Builders-Paradise" />
<option name="url" value="https://repo.t2code.net/repository/Builders-Paradise/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
@@ -26,6 +21,41 @@
<option name="name" value="sonatype" />
<option name="url" value="https://oss.sonatype.org/content/groups/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="placeholderapi" />
<option name="name" value="placeholderapi" />
<option name="url" value="https://repo.extendedclip.com/content/repositories/placeholderapi/" />
</remote-repository>
<remote-repository>
<option name="id" value="placeholderapi" />
<option name="name" value="placeholderapi" />
<option name="url" value="http://repo.extendedclip.com/content/repositories/placeholderapi/" />
</remote-repository>
<remote-repository>
<option name="id" value="BenCodez Repo" />
<option name="name" value="BenCodez Repo" />
<option name="url" value="https://nexus.bencodez.com/repository/maven-public/" />
</remote-repository>
<remote-repository>
<option name="id" value="Builders-Paradise" />
<option name="name" value="Builders-Paradise" />
<option name="url" value="https://repo.t2code.net/repository/Builders-Paradise/" />
</remote-repository>
<remote-repository>
<option name="id" value="T2CodePrivat" />
<option name="name" value="T2CodePrivat" />
<option name="url" value="https://repo.t2code.net/repository/T2CodePrivat/" />
</remote-repository>
<remote-repository>
<option name="id" value="T2Code" />
<option name="name" value="T2Code" />
<option name="url" value="https://repo.t2code.net/repository/T2Code/" />
</remote-repository>
<remote-repository>
<option name="id" value="spigot-repo" />
<option name="name" value="spigot-repo" />
@@ -36,21 +66,11 @@
<option name="name" value="spigotmc-repo" />
<option name="url" value="https://hub.spigotmc.org/nexus/content/repositories/snapshots/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="placeholderapi" />
<option name="name" value="placeholderapi" />
<option name="url" value="http://repo.extendedclip.com/content/repositories/placeholderapi/" />
</remote-repository>
<remote-repository>
<option name="id" value="bungeecord-repo" />
<option name="name" value="bungeecord-repo" />

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: com.google.code.findbugs:jsr305:3.0.2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: com.google.code.gson:gson:2.8.8">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.8.8/gson-2.8.8.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.8.8/gson-2.8.8-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.8.8/gson-2.8.8-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: com.google.errorprone:error_prone_annotations:2.7.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: com.google.guava:failureaccess:1.0.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: com.google.guava:guava:31.0.1-jre">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: com.google.j2objc:j2objc-annotations:1.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: junit:junit:4.10">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.10/junit-4.10.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.10/junit-4.10-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.10/junit-4.10-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: me.clip:placeholderapi:2.9.2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/me/clip/placeholderapi/2.9.2/placeholderapi-2.9.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/me/clip/placeholderapi/2.9.2/placeholderapi-2.9.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/me/clip/placeholderapi/2.9.2/placeholderapi-2.9.2-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: net.md-5:bungeecord-chat:1.16-R0.4">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/net/md-5/bungeecord-chat/1.16-R0.4/bungeecord-chat-1.16-R0.4.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/net/md-5/bungeecord-chat/1.16-R0.4/bungeecord-chat-1.16-R0.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/net/md-5/bungeecord-chat/1.16-R0.4/bungeecord-chat-1.16-R0.4-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: org.checkerframework:checker-qual:3.12.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: org.hamcrest:hamcrest-core:1.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: org.spigotmc:spigot-api:1.18-R0.1-SNAPSHOT">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/spigotmc/spigot-api/1.18-R0.1-SNAPSHOT/spigot-api-1.18-R0.1-20211210.131639-28.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/spigotmc/spigot-api/1.18-R0.1-SNAPSHOT/spigot-api-1.18-R0.1-20211210.131639-28-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/spigotmc/spigot-api/1.18-R0.1-SNAPSHOT/spigot-api-1.18-R0.1-20211210.131639-28-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="Maven: org.yaml:snakeyaml:1.28">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.28/snakeyaml-1.28.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.28/snakeyaml-1.28-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.28/snakeyaml-1.28-sources.jar!/" />
</SOURCES>
</library>
</component>

5
.idea/misc.xml generated
View File

@@ -13,7 +13,10 @@
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_16" default="true" project-jdk-name="16" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="ProjectType">
<option name="id" value="jpab" />
</component>
</project>

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
</set>
</option>
</component>
</project>

View File

@@ -24,8 +24,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot-api:1.18-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: org.spigotmc:spigot-api:1.19-R0.1-SNAPSHOT" 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" />
@@ -33,15 +32,40 @@
<orderEntry type="library" scope="PROVIDED" name="Maven: org.checkerframework:checker-qual:3.12.0" 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: com.google.code.gson:gson:2.8.9" 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.28" level="project" />
<orderEntry type="library" name="Maven: net.t2code:bungee:1615" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.yaml:snakeyaml:1.30" level="project" />
<orderEntry type="library" name="Maven: net.t2code:bungee:1642" level="project" />
<orderEntry type="library" name="Maven: net.t2code:LuckyBox-API:4.2.7" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.MilkBowl:VaultAPI:1.7" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bukkit:bukkit:1.13.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.googlecode.json-simple:json-simple:1.1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: junit:junit:4.10" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.hamcrest:hamcrest-core:1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: me.clip:placeholderapi:2.9.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: me.clip:placeholderapi:2.11.1" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains:annotations:19.0.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.bencodez:votingplugin:6.9.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bstats:bstats-velocity:2.2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bstats:bstats-base:2.2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.bencodez:advancedcore:master-1634c37011-1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.zaxxer:HikariCP:3.4.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.slf4j:slf4j-simple:1.7.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: xyz.upperlevel.spigot.book:spigot-book-api:1.6" level="project" />
<orderEntry type="library" name="Maven: net.kyori:adventure-text-minimessage:4.11.0" level="project" />
<orderEntry type="library" name="Maven: net.kyori:adventure-api:4.11.0" level="project" />
<orderEntry type="library" name="Maven: net.kyori:adventure-key:4.11.0" level="project" />
<orderEntry type="library" name="Maven: net.kyori:examination-api:1.3.0" level="project" />
<orderEntry type="library" name="Maven: net.kyori:examination-string:1.3.0" level="project" />
<orderEntry type="library" name="Maven: net.kyori:adventure-platform-bukkit:4.1.1" level="project" />
<orderEntry type="library" name="Maven: net.kyori:adventure-platform-api:4.1.1" level="project" />
<orderEntry type="library" name="Maven: net.kyori:adventure-text-serializer-bungeecord:4.1.1" level="project" />
<orderEntry type="library" name="Maven: net.kyori:adventure-text-serializer-legacy:4.11.0" level="project" />
<orderEntry type="library" name="Maven: net.kyori:adventure-nbt:4.11.0" level="project" />
<orderEntry type="library" name="Maven: net.kyori:adventure-text-serializer-gson:4.11.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: net.kyori:adventure-text-serializer-gson-legacy-impl:4.11.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: net.kyori:adventure-platform-facet:4.1.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: net.kyori:adventure-platform-viaversion:4.1.1" level="project" />
</component>
</module>

57
pom.xml
View File

@@ -4,14 +4,16 @@
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>
<version>12.5</version>
<!-- <classifier>dev-1</classifier> -->
<groupId>net.t2code</groupId>
<artifactId>T2CodeLib</artifactId>
<version>10.7</version>
<packaging>jar</packaging>
<artifactId>T2CodeLib</artifactId>
<name>T2CodeLib</name>
<description>Libarie from T2Code Plugins</description>
<description>Library from T2Code Plugins</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -55,47 +57,88 @@
</build>
<repositories>
<!-- Mojang / Spigot -->
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
<!-- repo.t2code / T2Code -->
<repository>
<id>Builders-Paradise</id>
<url>https://repo.t2code.net/repository/Builders-Paradise/</url>
</repository>
<repository>
<id>T2Code</id>
<url>https://repo.t2code.net/repository/T2Code/</url>
</repository>
<!-- Vault-->
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<!-- placeholderapi -->
<repository>
<id>placeholderapi</id>
<url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url>
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
</repository>
<!-- votingplugin -->
<repository>
<id>BenCodez Repo</id>
<url>https://nexus.bencodez.com/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<!-- Mojang / Spigot-->
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.18-R0.1-SNAPSHOT</version>
<version>1.19-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!-- repo.t2code / T2Code -->
<dependency>
<groupId>net.t2code</groupId>
<artifactId>bungee</artifactId>
<version>1615</version>
<version>1642</version>
</dependency>
<dependency>
<groupId>net.t2code</groupId>
<artifactId>LuckyBox-API</artifactId>
<version>4.2.7</version>
</dependency>
<!-- Vault-->
<dependency>
<groupId>com.github.MilkBowl</groupId>
<artifactId>VaultAPI</artifactId>
<version>1.7</version>
<scope>provided</scope>
</dependency>
<!-- placeholderapi -->
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<version>2.9.2</version>
<version>2.11.1</version>
<scope>provided</scope>
</dependency>
<!-- votingplugin -->
<dependency>
<groupId>com.bencodez</groupId>
<artifactId>votingplugin</artifactId>
<version>LATEST</version>
<scope>provided</scope>
</dependency>
<!--Kyori MiniMessage-->
<dependency>
<groupId>net.kyori</groupId>
<artifactId>adventure-text-minimessage</artifactId>
<version>4.11.0</version>
</dependency>
<dependency>
<groupId>net.kyori</groupId>
<artifactId>adventure-platform-bukkit</artifactId>
<version>4.1.1</version>
</dependency>
</dependencies>
</project>

View File

@@ -10,6 +10,7 @@ public final class BMain extends Plugin {
public static Plugin plugin;
public static String Version;
private static String orgVersion;
public static String Autor;
public static String Prefix = Util.getPrefix();
@@ -23,9 +24,12 @@ public final class BMain extends Plugin {
public void onEnable() {
// Plugin startup logic
plugin = this;
Version = plugin.getDescription().getVersion();
orgVersion = plugin.getDescription().getVersion();
Autor = plugin.getDescription().getAuthor();
BLoad.onLoad(plugin, Prefix, Autor, Version, Spigot, Discord, SpigotID,BstatsID);
BLoad.onLoad(plugin, Prefix, Autor, orgVersion, Spigot, Discord, SpigotID,BstatsID);
String[] fv=orgVersion.split("_");
plugin.getDescription().setVersion(fv[0]);
Version = plugin.getDescription().getVersion();
}
@Override

View File

@@ -3,7 +3,6 @@ package net.t2code.lib.Bungee.Lib.plugins;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.plugin.Plugin;
import net.t2code.lib.Bungee.BMain;
import net.t2code.lib.Spigot.system.Main;
import java.util.logging.Level;

View File

@@ -38,25 +38,22 @@ public class Tab {
}
}
//public static void tab(List<String> matches,CommandSender sender, int arg, String[] args, HashMap<String, String> permMap) {
//
// for (String command : permMap.keySet()) {
// if (hasPermission(sender, permMap.get(command)) && passend(command, args[arg])) {
// matches.add(command);
// }
// }
//}
public static void tab(List<String> matches, CommandSender sender, int arg, String[] args, HashMap<String, String> permMap) {
public static void tab(List<String> matches, CommandSender sender, int arg, String[] args, HashMap<String, String> permMap, Boolean onlinePlayer, String permForPlayer) {
if (args.length == arg + 1) {
for (String command : permMap.keySet()) {
if (hasPermission(sender, permMap.get(command)) && passend(command, args[arg])) {
matches.add(command);
} else if (onlinePlayer != null && permForPlayer != null) {
tab(matches, sender, arg, args, permForPlayer, onlinePlayer);
}
}
}
}
public static void tab(List<String> matches, CommandSender sender, int arg, String[] args, HashMap<String, String> permMap) {
tab(matches, sender, arg, args, permMap, null, null);
}
public static void tab(List<String> matches, CommandSender sender, int argEquals, String equalsValue, int arg, String[] args, HashMap<String, String> permMap) {
if (args.length == arg + 1) {
if (args[argEquals].toLowerCase().equals(equalsValue)) {
@@ -78,7 +75,7 @@ public class Tab {
}
private static Boolean passend(String command, String arg) {
public static Boolean passend(String command, String arg) {
for (int i = 0; i < arg.toUpperCase().length(); i++) {
if (arg.toUpperCase().length() >= command.toUpperCase().length()) {
return false;

View File

@@ -0,0 +1,104 @@
package net.t2code.lib.Spigot.Lib.eco;
import com.bencodez.votingplugin.VotingPluginMain;
import com.bencodez.votingplugin.user.VotingPluginUser;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.plugins.PluginCheck;
import net.t2code.lib.Spigot.system.T2CodeMain;
import net.t2code.lib.Spigot.system.languages.SelectLibMsg;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
public class Eco {
public static boolean moneyRemove(String prefix, Player player, Double price) {
if (vault(prefix, player)) {
return T2CodeMain.getEco().withdrawPlayer(player, price).transactionSuccess();
}
return false;
}
public static boolean moneyAdd(String prefix, Player player, Double price) {
if (vault(prefix, player)) {
return T2CodeMain.getEco().depositPlayer(player, price).transactionSuccess();
}
return false;
}
private static boolean vault(String prefix, Player player) {
if (T2CodeMain.getEco() == null) {
if (Bukkit.getPluginManager().getPlugin("Vault") == null) {
send.console(prefix + " §4\n" + prefix + " §4Vault could not be found! §9Please download it here: " +
"§6https://www.spigotmc.org/resources/vault.34315/§4\n" + prefix);
}
player.sendMessage(prefix + "\n" + SelectLibMsg.vaultNotSetUp + "\n" + prefix);
return false;
} else return true;
}
public static boolean itemRemove(Player player, String item, int amount) {
ItemStack itemStack = new ItemStack(Material.valueOf(item.toUpperCase()));
boolean have = false;
int anz = 0;
for (int iam = 0; iam < player.getInventory().getSize(); iam++) {
ItemStack itm = player.getInventory().getItem(iam);
if (itm == null) continue;
if (itm.getType() == itemStack.getType()) {
anz = anz + itm.getAmount();
}
}
if (anz >= amount) {
player.getInventory().removeItem(new ItemStack(Material.valueOf(item), amount));
have = true;
}
return have;
}
public static boolean itemAdd(Player player, String item, int amount) {
ItemStack itemStack = new ItemStack(Material.valueOf(item.toUpperCase()));
boolean empty = false;
for (int i = 0; i < player.getInventory().getSize() - 5; i++) {
if (player.getInventory().getItem(i) == null) {
empty = true;
break;
}
}
for (int i = 0; i < amount; i++) {
if (empty) {
player.getInventory().addItem(itemStack);
} else {
player.getLocation().getWorld().dropItem(player.getLocation(), itemStack);
}
}
return true;
}
public static boolean votePointsRemove(String prefix, Player player, Integer amount) {
if (votePlugin(prefix, player)) {
return VotingPluginMain.getPlugin().getVotingPluginUserManager().getVotingPluginUser(player).removePoints(amount);
} else return false;
}
public static boolean votePointsAdd(String prefix, Player player, Integer amount) {
if (votePlugin(prefix, player)) {
Bukkit.getScheduler().runTaskAsynchronously(T2CodeMain.getPlugin(), new Runnable() {
@Override
public void run() {
VotingPluginMain.getPlugin().getVotingPluginUserManager().getVotingPluginUser(player).addPoints(amount);
}
});
return true;
} else return false;
}
private static boolean votePlugin(String prefix, Player player) {
if (PluginCheck.votingPlugin()) return true;
send.console(prefix + " §4\n" + prefix + " §4VotingPlugin could not be found! §9Please download it here: " +
"§6https://www.spigotmc.org/resources/votingplugin.15358/§4\n" + prefix);
player.sendMessage(prefix + "\n" + SelectLibMsg.votingPluginNotSetUp + "\n" + prefix);
return false;
}
}

View File

@@ -7,11 +7,35 @@ import org.bukkit.inventory.ItemStack;
public class ItemVersion {
private static Material Head;
private static ItemStack HeadIS;
public static void scan(){
private static ItemStack CRAFTING_TABLE;
private static ItemStack YELLOW_WOOL;
private static ItemStack ORANGE_WOOL;
private static ItemStack GREEN_WOOL;
private static ItemStack GRAY_WOOL;
private static ItemStack RED_WOOL;
private static ItemStack RED_STAINED_GLASS_PANE;
public static void scan() {
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
Head = Material.valueOf("SKULL");
} else Head = Material.valueOf("PLAYER_HEAD");
HeadIS = new ItemStack(Head);
Head = Material.valueOf("SKULL_ITEM");
YELLOW_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 4);
ORANGE_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 1);
GREEN_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 5);
GRAY_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 8);
RED_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 14);
RED_STAINED_GLASS_PANE = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, (short) 14);
CRAFTING_TABLE = new ItemStack(Material.valueOf("WORKBENCH"));
} else {
Head = Material.valueOf("PLAYER_HEAD");
CRAFTING_TABLE = new ItemStack(Material.CRAFTING_TABLE);
YELLOW_WOOL = new ItemStack(Material.YELLOW_WOOL);
ORANGE_WOOL = new ItemStack(Material.ORANGE_WOOL);
GREEN_WOOL = new ItemStack(Material.GREEN_WOOL);
GRAY_WOOL = new ItemStack(Material.GRAY_WOOL);
RED_WOOL = new ItemStack(Material.RED_WOOL);
RED_STAINED_GLASS_PANE = new ItemStack(Material.RED_STAINED_GLASS_PANE);
}
HeadIS = new ItemStack(Head, 1, (byte) 3);
}
public static Material getHead() {
@@ -21,4 +45,32 @@ public class ItemVersion {
public static ItemStack getHeadIS() {
return HeadIS;
}
public static ItemStack getCraftingTable() {
return CRAFTING_TABLE;
}
public static ItemStack getYellowWool() {
return YELLOW_WOOL;
}
public static ItemStack getOrangeWool() {
return ORANGE_WOOL;
}
public static ItemStack getGreenWool() {
return GREEN_WOOL;
}
public static ItemStack getGrayWool() {
return GRAY_WOOL;
}
public static ItemStack getRedWool() {
return RED_WOOL;
}
public static ItemStack getRedStainedGlassPane() {
return RED_STAINED_GLASS_PANE;
}
}

View File

@@ -0,0 +1,63 @@
package net.t2code.lib.Spigot.Lib.messages;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.md_5.bungee.api.chat.ClickEvent;
import net.t2code.lib.Spigot.Lib.replace.Replace;
import net.t2code.lib.Spigot.system.T2CodeMain;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class HoverModule {
public static void modulePlayer(String text, String hover, String action, String actionValue, Player player) {
modulePlayer((text != null ? text : "null") + "/*/" + (hover != null ? hover : "null") + "/*/" + (action != null ? action : "null")
+ "/*/" + (actionValue != null ? actionValue : "null"), player);
}
private static final MiniMessage mm = MiniMessage.miniMessage();
public static void modulePlayer(String msg, Player player) {
if (msg.contains("/*/")) {
t2cmodule(msg, player);
return;
}
miniMessage(msg,player);
}
public static void moduleSender(String msg, CommandSender sender) {
miniMessage(msg,sender);
}
public static void miniMessage(String msg, Player player){
Component parsed = mm.deserialize(Replace.convertColorCode(msg));
T2CodeMain.adventure.player(player).sendMessage(parsed);
}
public static void miniMessage(String msg, CommandSender sender){
Component parsed = mm.deserialize(Replace.convertColorCode(msg));
T2CodeMain.adventure.sender(sender).sendMessage(parsed);
}
private static void t2cmodule(String msg, Player player) {
String[] split = msg.split("/\\*/");
int i = split.length;
String text = null;
String hover = null;
String action = null;
String actionValue = null;
if (i > 0) text = split[0];
if (i > 1) hover = split[1];
if (i > 2) action = split[2];
if (i > 3) actionValue = split[3];
TextBuilder textBuilder = new TextBuilder(text);
if (hover != null && !hover.equals("null")) {
textBuilder.addHover(hover);
}
if (action != null && actionValue != null && !action.equals("null") && !actionValue.equals("null")) {
textBuilder.addClickEvent(ClickEvent.Action.valueOf(action.toUpperCase()), actionValue);
}
player.spigot().sendMessage(textBuilder.build());
}
}

View File

@@ -2,8 +2,11 @@ package net.t2code.lib.Spigot.Lib.messages;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.TextComponent;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
import net.t2code.lib.Spigot.Lib.replace.Replace;
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
import net.t2code.lib.Spigot.system.config.SelectLibConfig;
import net.t2code.lib.Util;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -13,6 +16,7 @@ public class T2CodeTemplate {
public static Long onLoadHeader(String prefix, List<String> autor, String version, String spigot, String discord) {
return onLoadHeader(prefix, autor, version, spigot, discord, null, null);
}
public static Long onLoadHeader(String prefix, List<String> autor, String version, String spigot, String discord, Boolean isPremium) {
return onLoadHeader(prefix, autor, version, spigot, discord, isPremium, null);
}
@@ -43,15 +47,19 @@ public class T2CodeTemplate {
}
send.console(prefix + " §4 §e-------------------");
if (version.toLowerCase().contains("dev") || version.toLowerCase().contains("snapshot") || version.toLowerCase().contains("beta")) {
send.console(prefix + " §eYou are running §4" + version + " §eof " + prefix + "§e! Some features may not be working as expected. Please report all bugs here: http://dc.t2code.net §4UpdateChecker & bStats may be disabled!");
send.console(prefix + " §4 §e-------------------");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
if (!(Util.getSnapshot() && spigot.equals(Util.getSpigot()))){
if (version.toLowerCase().contains("dev") || version.toLowerCase().contains("snapshot") || version.toLowerCase().contains("beta")) {
send.console(prefix + " §eYou are running §4" + version + " §eof " + prefix + "§e! Some features may not be working as expected. Please report all" +
" bugs here: http://dc.t2code.net §4UpdateChecker & bStats may be disabled!");
send.console(prefix + " §4 §e-------------------");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
//onLoadSeparateStroke(prefix);
return long_;
}
@@ -90,23 +98,31 @@ public class T2CodeTemplate {
send.console(prefix + " §4Plugin successfully disabled.");
}
public static void sendInfo(CommandSender sender, String prefix, String spigot, String discord, List<String> autor, String pluginVersion, String publicVersion, Boolean isPremium) {
public static void sendInfo(CommandSender sender, String prefix, String spigot, String discord, List<String> autor, String pluginVersion, String publicVersion,
Boolean isPremium) {
send.sender(sender, prefix + "§4======= " + prefix + " §4=======");
send.sender(sender, prefix + " §2Autor: §6" + String.valueOf(autor).replace("[", "").replace("]", ""));
if (sender instanceof Player) {
Player player = (Player) sender;
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) {
send.sender(sender, prefix + " §2Version: §6" + pluginVersion);
} else {
TextComponent comp2 = new TextBuilder(prefix + " §2Version: §6" + pluginVersion)
.addHover("§8Click to copy").addClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, Replace.removeColorCode(prefix) + " - " + pluginVersion).build();
player.spigot().sendMessage(comp2);
}
TextComponent comp2 = new TextBuilder(prefix + " §2Version: §6" + pluginVersion)
.addHover("§8Click to copy").addClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, Replace.removeColorCode(prefix) + " - " + pluginVersion).build();
sender.spigot().sendMessage(comp2);
if (!publicVersion.equalsIgnoreCase(pluginVersion)) {
UpdateAPI.sendUpdateMsg(prefix, spigot, discord, pluginVersion, publicVersion, (Player) sender);
}
TextComponent comp3 = new TextBuilder(prefix + " §2Spigot: §6" + spigot)
.addHover("§8Open Spigot").addClickEvent(ClickEvent.Action.OPEN_URL, spigot).build();
sender.spigot().sendMessage(comp3);
player.spigot().sendMessage(comp3);
TextComponent comp4 = new TextBuilder(prefix + " §2Discord: §6" + discord)
.addHover("§8Open Discord").addClickEvent(ClickEvent.Action.OPEN_URL, discord).build();
sender.spigot().sendMessage(comp4);
player.spigot().sendMessage(comp4);
} else {
if (publicVersion.equalsIgnoreCase(pluginVersion)) {
send.sender(sender, prefix + " §2Version: §6" + pluginVersion);

View File

@@ -28,6 +28,7 @@ public class TextBuilder {
}
public TextComponent build() {
if (this.text.contains("[empty]")) return null;
TextComponent textComponent = new TextComponent();
textComponent.setText(this.text);
if (this.hover != null) {

View File

@@ -14,51 +14,61 @@ public class send {
*/
public static void console(String msg) {
if (msg == null || msg.contains("[empty]")) return;
Bukkit.getConsoleSender().sendMessage(msg);
}
public static void player(Player player, String msg) {
player.sendMessage(msg);
public static void player( Player player, String msg) {
if (msg == null || msg.contains("[empty]")) return;
HoverModule.modulePlayer(msg, player);
}
public static void title(Player player, String msg, String msg2) {
public static void title( Player player, String msg, String msg2) {
if (msg == null || msg.contains("[empty]")) return;
if (msg2 == null || msg2.contains("[empty]")) return;
player.sendTitle(msg, msg2);
}
public static void title(Player player, String msg, String msg2, int i, int i1, int i2) {
public static void title( Player player, String msg, String msg2, int i, int i1, int i2) {
if (msg == null || msg.contains("[empty]")) return;
if (msg2 == null || msg2.contains("[empty]")) return;
player.sendTitle(msg, msg2, i, i1, i2);
}
public static void sender(CommandSender sender, String msg) {
sender.sendMessage(msg);
public static void sender( CommandSender sender, String msg) {
if (msg == null || msg.contains("[empty]")) return;
HoverModule.moduleSender(msg, sender);
}
public static void debug(Plugin plugin, String msg) {
public static void debug( Plugin plugin, String msg) {
debug(plugin, msg, null);
}
public static void debug(Plugin plugin, String msg, Integer stage) {
public static void debug( Plugin plugin, String msg, Integer stage) {
// if (!new File(Main.getPath(), "config.yml").exists()) return;
if (stage == null) {
if (plugin.getConfig().getBoolean("Plugin.Debug")) Bukkit.getConsoleSender().sendMessage(plugin.getDescription().getPrefix() + " §5DEBUG: §6" + msg);
if (plugin.getConfig().getBoolean("Plugin.Debug"))
Bukkit.getConsoleSender().sendMessage(plugin.getDescription().getPrefix() + " §5DEBUG: §6" + msg);
return;
}
if (plugin.getConfig().getInt("Plugin.Debug") >= stage) Bukkit.getConsoleSender().sendMessage(plugin.getDescription().getPrefix() + " §5DEBUG: §6" + msg);
if (plugin.getConfig().getInt("Plugin.Debug") >= stage)
Bukkit.getConsoleSender().sendMessage(plugin.getDescription().getPrefix() + " §5DEBUG: §6" + msg);
}
public static void debugmsg(Plugin plugin, String msg) {
Bukkit.getConsoleSender().sendMessage(plugin.getDescription().getPrefix() + " §5DEBUG-MSG: §6" + msg);
public static void debugmsg(Plugin plugin, String msg) {
warning(plugin, "");
Bukkit.getConsoleSender().sendMessage("§e[" + plugin.getDescription().getPrefix() + "] §5DEBUG-MSG: §6" + msg);
}
public static void info(Plugin plugin, String msg) {
public static void info( Plugin plugin, String msg) {
plugin.getLogger().log(Level.INFO, msg);
}
public static void warning(Plugin plugin, String msg) {
public static void warning( Plugin plugin, String msg) {
plugin.getLogger().log(Level.WARNING, msg);
}
public static void error(Plugin plugin, String msg) {
public static void error( Plugin plugin, String msg) {
plugin.getLogger().log(Level.SEVERE, msg);
}
}

View File

@@ -17,6 +17,7 @@ public class MCVersion {
public static boolean minecraft1_17;
public static boolean minecraft1_18;
public static boolean minecraft1_19;
public static boolean minecraft1_20;
public static void onCheck(){
isVersion = Bukkit.getServer().getVersion();
isBuckitVersion = Bukkit.getServer().getBukkitVersion();
@@ -32,5 +33,6 @@ public class MCVersion {
minecraft1_17 = Bukkit.getServer().getClass().getPackage().getName().contains("1_17");
minecraft1_18 = Bukkit.getServer().getClass().getPackage().getName().contains("1_18");
minecraft1_19 = Bukkit.getServer().getClass().getPackage().getName().contains("1_19");
minecraft1_20 = Bukkit.getServer().getClass().getPackage().getName().contains("1_20");
}
}

View File

@@ -22,6 +22,8 @@ public class NMSVersion {
public static boolean v1_17_R1;
public static boolean v1_18_R1;
public static boolean v1_18_R2;
public static boolean v1_19_R1;
public static boolean v1_19_R2;
public static void onCheck() {
isNMS = Bukkit.getServer().getClass().getPackage().getName();
@@ -43,5 +45,7 @@ public class NMSVersion {
v1_17_R1 = Bukkit.getServer().getClass().getPackage().getName().contains("1_17_R1");
v1_18_R1 = Bukkit.getServer().getClass().getPackage().getName().contains("1_18_R1");
v1_18_R2 = Bukkit.getServer().getClass().getPackage().getName().contains("1_18_R2");
v1_19_R1 = Bukkit.getServer().getClass().getPackage().getName().contains("1_19_R1");
v1_19_R2 = Bukkit.getServer().getClass().getPackage().getName().contains("1_19_R2");
}
}

View File

@@ -0,0 +1,143 @@
package net.t2code.lib.Spigot.Lib.player;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.annotations.SerializedName;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Date;
import java.util.UUID;
public class NameHistory {
public static class NameLookup {
/**
* The URL from Mojang API that provides the JSON String in response.
*/
private static final String LOOKUP_URL = "https://api.mojang.com/user/profiles/%s/names";
/**
* The URL from Mojang API to resolve the UUID of a player from their name.
*/
private static final String GET_UUID_URL = "https://api.mojang.com/users/profiles/minecraft/%s?t=0";
private static final Gson JSON_PARSER = new Gson();
/**
* <h1>NOTE: Avoid running this method <i>Synchronously</i> with the main thread!It blocks while attempting to get a response from Mojang servers!</h1>
* @param player The UUID of the player to be looked up.
* @return Returns an array of {@link PreviousPlayerNameEntry} objects, or null if the response couldn't be interpreted.
* @throws IOException {@link #getPlayerPreviousNames(String)}
*/
public static PreviousPlayerNameEntry[] getPlayerPreviousNames(UUID player) throws IOException {
return getPlayerPreviousNames(player.toString());
}
/**
* <h1>NOTE: Avoid running this method <i>Synchronously</i> with the main thread! It blocks while attempting to get a response from Mojang servers!</h1>
* Alternative method accepting an 'OfflinePlayer' (and therefore 'Player') objects as parameter.
* @param player The OfflinePlayer object to obtain the UUID from.
* @return Returns an array of {@link PreviousPlayerNameEntry} objects, or null if the response couldn't be interpreted.
* @throws IOException {@link #getPlayerPreviousNames(UUID)}
*/
public static PreviousPlayerNameEntry[] getPlayerPreviousNames(OfflinePlayer player) throws IOException {
return getPlayerPreviousNames(player.getUniqueId());
}
/**
* <h1>NOTE: Avoid running this method <i>Synchronously</i> with the main thread! It blocks while attempting to get a response from Mojang servers!</h1>
* Alternative method accepting an {@link OfflinePlayer} (and therefore {@link Player}) objects as parameter.
* @param uuid The UUID String to lookup
* @return Returns an array of {@link PreviousPlayerNameEntry} objects, or null if the response couldn't be interpreted.
* @throws IOException
*/
public static PreviousPlayerNameEntry[] getPlayerPreviousNames(String uuid) throws IOException {
if (uuid == null || uuid.isEmpty())
return null;
String response = getRawJsonResponse(new URL(String.format(LOOKUP_URL, uuid)));
PreviousPlayerNameEntry[] names = JSON_PARSER.fromJson(response, PreviousPlayerNameEntry[].class);
return names;
}
/**
* If you don't have the UUID of a player, this method will resolve it for you.<br>
* The output of this method may be used directly with {@link #getPlayerPreviousNames(String)}.<br>
* <b>NOTE: as with the rest, this method opens a connection with a remote server, so running it synchronously will block the main thread which will lead to server lag.</b>
* @param name The name of the player to lookup.
* @return A String which represents the player's UUID. <b>Note: the uuid cannot be parsed to a UUID object directly, as it doesnt contain dashes. This feature will be implemented later</b>
* @throws IOException Inherited by {@link BufferedReader#readLine()}, {@link BufferedReader#close()}, {@link URL}, {@link HttpURLConnection#getInputStream()}
*/
public static String getPlayerUUID(String name) throws IOException {
String response = getRawJsonResponse(new URL(String.format(GET_UUID_URL, name)));
JsonObject o = JSON_PARSER.fromJson(response, JsonObject.class);
if (o == null)
return null;
return o.get("id") == null ? null : o.get("id").getAsString();
}
/**
* This is a helper method used to read the response of Mojang's API webservers.
* @param u the URL to connect to
* @return a String with the data read.
* @throws IOException Inherited by {@link BufferedReader#readLine()}, {@link BufferedReader#close()}, {@link URL}, {@link HttpURLConnection#getInputStream()}
*/
private static String getRawJsonResponse(URL u) throws IOException {
HttpURLConnection con = (HttpURLConnection) u.openConnection();
con.setDoInput(true);
con.setConnectTimeout(2000);
con.setReadTimeout(2000);
con.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String response = in.readLine();
in.close();
return response;
}
/**
* This class represents the typical response expected by Mojang servers when requesting the name history of a player.
*/
public class PreviousPlayerNameEntry {
private String name;
@SerializedName("changedToAt")
private long changeTime;
/**
* Gets the player name of this entry.
* @return The name of the player.
*/
public String getPlayerName() {
return name;
}
/**
* Get the time of change of the name.
* <br><b>Note: This will return 0 if the name is the original (initial) name of the player! Make sure you check if it is 0 before handling!
* <br>Parsing 0 to a Date will result in the date "01/01/1970".</b>
* @return a timestamp in miliseconds that you can turn into a date or handle however you want :)
*/
public long getChangeTime() {
return changeTime;
}
/**
* Check if this name is the name used to register the account (the initial/original name)
* @return a boolean, true if it is the the very first name of the player, otherwise false.
*/
public boolean isPlayersInitialName() {
return getChangeTime() == 0;
}
@Override
public String toString() {
return "Name: " + name + " Date of change: " + new Date(changeTime).toString();
}
}
}
}

View File

@@ -1,6 +1,6 @@
package net.t2code.lib.Spigot.Lib.plugins;
import net.t2code.lib.Spigot.system.Main;
import net.t2code.lib.Spigot.system.T2CodeMain;
import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin;
@@ -28,21 +28,30 @@ public class PluginCheck {
public static Boolean cmi(){
return Bukkit.getPluginManager().getPlugin("CMI") != null;
}
public static Boolean votingPlugin(){
return Bukkit.getPluginManager().getPlugin("VotingPlugin") != null;
}
/**
* T2Code Plugins
* @return
*/
public static Boolean cgui(){
return Bukkit.getPluginManager().getPlugin("CommandGUI") != null;
}
public static Boolean functiongui(){
return Bukkit.getPluginManager().getPlugin("T2C-CommandGUI") != null;
}
public static Boolean plotSquaredGUI(){
return Bukkit.getPluginManager().getPlugin("PlotSquaredGUI") != null;
}
public static Boolean luckyBox(){
return Bukkit.getPluginManager().getPlugin("T2C-LuckyBox") != null;
}
public static Boolean autoResponse(){
return Bukkit.getPluginManager().getPlugin("T2C-AutoResponse") != null;
}
public static Boolean opSec(){
return Bukkit.getPluginManager().getPlugin("OPSecurity") != null;
}
@@ -53,7 +62,7 @@ public class PluginCheck {
return Bukkit.getPluginManager().getPlugin("Booster") != null;
}
public static Boolean antiMapCopy(){
return Bukkit.getPluginManager().getPlugin("AAntiMapCopy") != null;
return Bukkit.getPluginManager().getPlugin("AntiMapCopy") != null;
}
public static Boolean loreEditor(){
return Bukkit.getPluginManager().getPlugin("LoreEditor") != null;
@@ -70,7 +79,7 @@ public class PluginCheck {
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);
T2CodeMain.getPlugin().getPluginLoader().disablePlugin(T2CodeMain.getPlugin());
return true;
} else return false;
}

View File

@@ -0,0 +1,42 @@
package net.t2code.lib.Spigot.Lib.plugins;
import net.t2code.lib.Spigot.system.T2CodeMain;
import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin;
import java.util.Objects;
public class T2CPluginManager {
public static void restart(String plugin) {
if (Bukkit.getPluginManager().getPlugin(plugin) == null) return;
T2CodeMain.getPlugin().getPluginLoader().disablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
T2CodeMain.getPlugin().getPluginLoader().enablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
}
public static void enable(String plugin) {
if (Bukkit.getPluginManager().getPlugin(plugin) == null) return;
T2CodeMain.getPlugin().getPluginLoader().enablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
}
public static void disable(String plugin) {
if (Bukkit.getPluginManager().getPlugin(plugin) == null) return;
T2CodeMain.getPlugin().getPluginLoader().disablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
}
public static void restart(Plugin plugin) {
if (plugin == null) return;
T2CodeMain.getPlugin().getPluginLoader().disablePlugin(plugin);
T2CodeMain.getPlugin().getPluginLoader().enablePlugin(plugin);
}
public static void enable(Plugin plugin) {
if (plugin == null) return;
T2CodeMain.getPlugin().getPluginLoader().enablePlugin(plugin);
}
public static void disable(Plugin plugin) {
if (plugin == null) return;
T2CodeMain.getPlugin().getPluginLoader().disablePlugin(plugin);
}
}

View File

@@ -1,6 +1,8 @@
package net.t2code.lib.Spigot.Lib.replace;
import me.clip.placeholderapi.PlaceholderAPI;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.system.T2CodeMain;
import org.bukkit.entity.Player;
import java.util.ArrayList;
@@ -10,31 +12,31 @@ import java.util.List;
public class Replace {
public static String replace(String prefix, String Text) {
return Text.replace("[prefix]", prefix).replace("&", "§").replace("[ue]", "ü")
return replaceLegacyColor(Text).replace("[prefix]", prefix).replace("[ue]", "ü")
.replace("[UE]", "Ü").replace("[oe]", "ö").replace("[OE]", "Ö")
.replace("[ae]", "ä").replace("[AE]", "Ä");
.replace("[ae]", "ä").replace("[AE]", "Ä").replace("[nl]", "\n");
}
public static String replace(String prefix,Player player, String Text) {
return PlaceholderAPI.setPlaceholders(player, Text.replace("[prefix]", prefix).replace("&", "§")
public static String replace(String prefix, Player player, String Text) {
return replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, Text.replace("[prefix]", prefix)
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä"));
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
.replace("[nl]", "\n")));
}
public static List<String> replace(String prefix, List<String> Text) {
List<String> output = new ArrayList<>();
for (String input : Text) {
output.add(input.replace("[prefix]", prefix).replace("&", "§")
output.add(replaceLegacyColor(input).replace("[prefix]", prefix)
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä"));
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
.replace("[nl]", "\n"));
}
return output;
}
public static List<String> replace(String prefix,Player player, List<String> Text) {
public static List<String> replace(String prefix, Player player, List<String> Text) {
List<String> output = new ArrayList();
if (player == null) {
return Collections.singletonList("player is null");
@@ -43,61 +45,101 @@ public class Replace {
return Collections.singletonList("Text is null");
}
for (String input : Text) {
output.add(PlaceholderAPI.setPlaceholders(player, input.replace("[prefix]", prefix).replace("&", "§")
output.add(PlaceholderAPI.setPlaceholders(player, replaceLegacyColor(input).replace("[prefix]", prefix)
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")));
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
.replace("[nl]", "\n")));
}
return output;
}
public static List<String> replacePrice(String prefix,List<String> Text, String price) {
public static List<String> replacePrice(String prefix, List<String> Text, String price) {
List<String> rp = new ArrayList();
for (String s : Text) {
rp.add(s.replace("[prefix]", prefix).replace("&", "§")
rp.add(replaceLegacyColor(s).replace("[prefix]", prefix)
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
.replace("[price]", String.valueOf(price)));
.replace("[nl]", "\n").replace("[price]", String.valueOf(price)));
}
return rp;
}
public static String removeColorCode(String value){
String text = value.replace("&", "§");
while(text.contains("§")){
int stelle = text.indexOf("§");
if(text.length() >= stelle+2) {
text = text.substring(0, stelle) + text.substring(stelle + 2);
}else{
text = text.substring(0, stelle) + text.substring(stelle + 1);
}
}
return (text);
public static String removeColorCode(String value) {
return value.replace("&0", "").replace("&1", "").replace("&2", "").replace("&3", "")
.replace("&4", "").replace("&5", "").replace("&6", "").replace("&7", "")
.replace("&8", "").replace("&9", "").replace("&a", "").replace("&b", "")
.replace("&c", "").replace("&d", "").replace("&e", "").replace("&f", "")
.replace("&k", "").replace("&l", "").replace("&m", "").replace("&n", "")
.replace("&o", "").replace("&r", "");
// String text = value.replace("&", "§");
// while (text.contains("§")) {
// int stelle = text.indexOf("§");
// if (text.length() >= stelle + 2) {
// text = text.substring(0, stelle) + text.substring(stelle + 2);
// } else {
// text = text.substring(0, stelle) + text.substring(stelle + 1);
// }
// }
// return (text);
}
public static List<String> replacePrice(String prefix,Player player, List<String> Text, String price) {
public static List<String> replacePrice(String prefix, Player player, List<String> Text, String price) {
List<String> rp = new ArrayList();
for (String s : Text) {
rp.add(PlaceholderAPI.setPlaceholders(player, s.replace("[prefix]", prefix).replace("&", "§")
rp.add(replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, s.replace("[prefix]", prefix)
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
.replace("[price]", String.valueOf(price))));
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä").replace("[nl]", "\n")
.replace("[price]", String.valueOf(price)))));
}
return rp;
}
public static String replacePrice(String prefix, String Text, String price) {
return Text.replace("[prefix]", prefix).replace("&", "§").replace("[ue]", "ü")
return replaceLegacyColor(Text).replace("[prefix]", prefix)
.replace("&o", "§o").replace("&r", "§r").replace("[ue]", "ü")
.replace("[UE]", "Ü").replace("[oe]", "ö").replace("[OE]", "Ö")
.replace("[ae]", "ä").replace("[AE]", "Ä").replace("[price]", String.valueOf(price));
.replace("[ae]", "ä").replace("[AE]", "Ä").replace("[price]", String.valueOf(price))
.replace("[nl]", "\n");
}
public static String replacePrice(String prefix,Player player, String Text, String price) {
return PlaceholderAPI.setPlaceholders(player, Text.replace("[prefix]", prefix).replace("&", "§")
public static String replacePrice(String prefix, Player player, String Text, String price) {
return replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, Text.replace("[prefix]", prefix)
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
.replace("[price]", String.valueOf(price)));
.replace("[price]", String.valueOf(price)).replace("[nl]", "\n")));
}
public static String replaceLegacyColor(String text) {
return text.replace("&0", "§0").replace("&1", "§1").replace("&2", "§2").replace("&3", "§3")
.replace("&4", "§4").replace("&5", "§5").replace("&6", "§6").replace("&7", "§7")
.replace("&8", "§8").replace("&9", "§9").replace("&a", "§a").replace("&b", "§b")
.replace("&c", "§c").replace("&d", "§d").replace("&e", "§e").replace("&f", "§f")
.replace("&k", "§k").replace("&l", "§l").replace("&m", "§m").replace("&n", "§n")
.replace("&o", "§o").replace("&r", "§r");
}
public static String convertColorCode(String text) {
return text.replace("&0", "<black>").replace("§0", "<black>")
.replace("&1", "<dark_blue>").replace("§1", "<dark_blue>")
.replace("&2", "<dark_green>").replace("§2", "<dark_green>")
.replace("&3", "<dark_aqua>").replace("§3", "<dark_aqua>")
.replace("&4", "<dark_red>").replace("§4", "<dark_red>")
.replace("&5", "<dark_purple>").replace("§5", "<dark_purple>")
.replace("&6", "<gold>").replace("§6", "<gold>")
.replace("&7", "<gray>").replace("§7", "<gray>")
.replace("&8", "<dark_gray>").replace("§8", "<dark_gray>")
.replace("&9", "<blue>").replace("§9", "<blue>")
.replace("&a", "<green>").replace("§a", "<green>")
.replace("&b", "<aqua>").replace("§b", "<aqua>")
.replace("&c", "<red>").replace("§c", "<red>")
.replace("&d", "<light_purple>").replace("§d", "<light_purple>")
.replace("&e", "<yellow>").replace("§e", "<yellow>")
.replace("&f", "<white>").replace("§f", "<white>")
.replace("&k", "<obfuscated>").replace("§k", "<obfuscated>")
.replace("&l", "<bold>").replace("§l", "<bold>")
.replace("&m", "<strikethrough>").replace("§m", "<strikethrough>")
.replace("&n", "<underlined>").replace("§n", "<underlined>")
.replace("&o", "<italic>").replace("§o", "<italic>")
.replace("&r", "<reset>").replace("§r", "<reset>");
}
}

View File

@@ -1,12 +1,8 @@
package net.t2code.lib.Spigot.Lib.update;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.TextComponent;
import net.t2code.lib.Spigot.Lib.messages.TextBuilder;
import net.t2code.lib.Spigot.Lib.messages.HoverModule;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.system.Main;
import net.t2code.lib.Spigot.system.config.SelectLibConfig;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
@@ -25,8 +21,11 @@ public class UpdateAPI {
public static HashMap<String, UpdateObject> PluginVersionen = new HashMap<>();
public static void join(Plugin plugin, String prefix, String perm, Player player, String spigot, String discord) {
if (!SelectLibConfig.getUpdateCheckOnJoin()) {
return;
}
String pluginVersion = plugin.getDescription().getVersion();
if (!player.hasPermission(perm) || !player.isOp()) {
if (!player.hasPermission(perm) && !player.isOp()) {
return;
}
if (UpdateAPI.PluginVersionen.get(plugin.getName()) == null) {
@@ -36,32 +35,34 @@ public class UpdateAPI {
join(plugin, prefix, perm, player, spigot, discord);
}
}.runTaskLater(plugin, 20L);
} else use(plugin, prefix, player, pluginVersion, UpdateAPI.PluginVersionen.get(plugin.getName()).publicVersion, spigot, discord);
return;
}
String publicVersion = UpdateAPI.PluginVersionen.get(plugin.getName()).publicVersion;
if (pluginVersion.equals(publicVersion)) {
return;
}
use(plugin, prefix, player, pluginVersion, publicVersion, spigot, discord);
}
private static void use(Plugin plugin, String prefix, Player player, String pluginVersion, String publicVersion, String spigot, String discord) {
new BukkitRunnable() {
Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
@Override
public void run() {
if (!pluginVersion.equals(publicVersion)) {
if (SelectLibConfig.UpdateCheckOnJoin) {
UpdateAPI.sendUpdateMsg(prefix, spigot, discord, pluginVersion, publicVersion, player);
}
}
UpdateAPI.sendUpdateMsg(prefix, spigot, discord, pluginVersion, publicVersion, player);
}
}.runTaskLater(plugin, 200L);
}, 200L);
}
public static void sendUpdateMsg(String Prefix, String Spigot, String Discord, String pluginVersion, String publicVersion) {
send.console("§4=========== " + Prefix + " §4===========");
if (publicVersion.toLowerCase().contains("dev") || publicVersion.toLowerCase().contains("beta") || publicVersion.toLowerCase().contains("snapshot")){
if (publicVersion.toLowerCase().contains("dev")){
if (publicVersion.toLowerCase().contains("dev") || publicVersion.toLowerCase().contains("beta") || publicVersion.toLowerCase().contains("snapshot")) {
if (publicVersion.toLowerCase().contains("dev")) {
send.console("§6A new §4DEV§6 version was found!");
}
if (publicVersion.toLowerCase().contains("beta")){
if (publicVersion.toLowerCase().contains("beta")) {
send.console("§6A new §2BETA§6 version was found!");
}
if (publicVersion.toLowerCase().contains("snapshot")){
if (publicVersion.toLowerCase().contains("snapshot")) {
send.console("§6A new §eSNAPSHOT§6 version was found!");
}
} else {
@@ -78,33 +79,21 @@ public class UpdateAPI {
return;
}
send.player(player, Prefix);
if (publicVersion.toLowerCase().contains("dev") || publicVersion.toLowerCase().contains("beta") || publicVersion.toLowerCase().contains("snapshot")){
if (publicVersion.toLowerCase().contains("dev")){
TextComponent comp = new TextBuilder(Prefix + " §6A new §4DEV§6 version was found!")
.addHover("§6You can download it here: §e" + Spigot).addClickEvent(ClickEvent.Action.OPEN_URL, Spigot).build();
player.spigot().sendMessage(comp);
if (publicVersion.toLowerCase().contains("dev") || publicVersion.toLowerCase().contains("beta") || publicVersion.toLowerCase().contains("snapshot")) {
if (publicVersion.toLowerCase().contains("dev")) {
HoverModule.modulePlayer(Prefix + " §6A new §4DEV§6 version was found!", "§6You can download it here: §e" + Spigot, "OPEN_URL", Spigot, player);
}
if (publicVersion.toLowerCase().contains("beta")){
TextComponent comp = new TextBuilder(Prefix + " §6A new §2BETA§6 version was found!")
.addHover("§6You can download it here: §e" + Spigot).addClickEvent(ClickEvent.Action.OPEN_URL, Spigot).build();
player.spigot().sendMessage(comp);
if (publicVersion.toLowerCase().contains("beta")) {
HoverModule.modulePlayer(Prefix + " §6A new §2BETA§6 version was found!", "§6You can download it here: §e" + Spigot, "OPEN_URL", Spigot, player);
}
if (publicVersion.toLowerCase().contains("snapshot")){
TextComponent comp = new TextBuilder(Prefix + " §6A new §eSNAPSHOT§6 version was found!")
.addHover("§6You can download it here: §e" + Spigot).addClickEvent(ClickEvent.Action.OPEN_URL, Spigot).build();
player.spigot().sendMessage(comp);
if (publicVersion.toLowerCase().contains("snapshot")) {
HoverModule.modulePlayer(Prefix + " §6A new §eSNAPSHOT§6 version was found!", "§6You can download it here: §e" + Spigot, "OPEN_URL", Spigot, player);
}
} else {
TextComponent comp = new TextBuilder(Prefix + " §6A new version was found!")
.addHover("§6You can download it here: §e" + Spigot).addClickEvent(ClickEvent.Action.OPEN_URL, Spigot).build();
player.spigot().sendMessage(comp);
HoverModule.modulePlayer(Prefix + " §6A new version was found!", "§6You can download it here: §e" + Spigot, "OPEN_URL", Spigot, player);
}
TextComponent comp1 = new TextBuilder(Prefix + " §c" + pluginVersion + " §7-> §a" + publicVersion)
.addHover("§6You can download it here: §e" + Spigot).addClickEvent(ClickEvent.Action.OPEN_URL, Spigot).build();
player.spigot().sendMessage(comp1);
TextComponent comp2 = new TextBuilder(Prefix + " §6You can find more information on Discord.")
.addHover("§e" + Discord).addClickEvent(ClickEvent.Action.OPEN_URL, Discord).build();
player.spigot().sendMessage(comp2);
HoverModule.modulePlayer(Prefix + " §c" + pluginVersion + " §7-> §a" + publicVersion, "§6You can download it here: §e" + Spigot, "OPEN_URL", Spigot, player);
HoverModule.modulePlayer(Prefix + " §6You can find more information on Discord.", "§e" + Discord, "OPEN_URL", Discord, player);
send.player(player, Prefix);
}
@@ -115,7 +104,7 @@ public class UpdateAPI {
}
public static void onUpdateCheck(Plugin plugin, String Prefix, String Spigot, int SpigotID, String Discord, Integer timeInMin) {
int taskID = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
int taskID = Bukkit.getScheduler().scheduleAsyncRepeatingTask(plugin, new Runnable() {
public void run() {
(new UpdateAPI((JavaPlugin) plugin, SpigotID)).getVersion((update_version) -> {
UpdateObject update = new UpdateObject(
@@ -152,6 +141,9 @@ public class UpdateAPI {
}
public void getVersion(Consumer<String> consumer, String Prefix, String pluginVersion) {
if (!plugin.isEnabled()) {
return;
}
Bukkit.getScheduler().runTaskAsynchronously(this.plugin, () -> {
try {
InputStream inputStream = (new URL("https://api.spigotmc.org/legacy/update.php?resource=" + this.resourceId)).openStream();

View File

@@ -1,68 +0,0 @@
package net.t2code.lib.Spigot.Lib.vault;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.system.Main;
import net.t2code.lib.Spigot.system.languages.SelectLibMsg;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.RegisteredServiceProvider;
public class Vault {
public static Boolean vaultEnable;
public static Boolean connected;
public static boolean buy(String prefix, Player p, Double price) {
if (Main.eco == null) {
if (Bukkit.getPluginManager().getPlugin("Vault") == null) {
send.console(prefix + " §4\n" + prefix + " §4Vault could not be found! §9Please download it here: " +
"§6https://www.spigotmc.org/resources/vault.34315/§4\n" + prefix);
}
p.sendMessage(prefix + "\n" + SelectLibMsg.VaultNotSetUp + "\n" + prefix);
} else {
if (Main.eco.getBalance(p) < price) {
return false;
} else {
Main.eco.withdrawPlayer(p, price);
return true;
}
}
return false;
}
public static void loadVault() throws InterruptedException {
long long_ = System.currentTimeMillis();
if (Main.plugin.getServer().getPluginManager().getPlugin("Vault") != null) {
vaultEnable = true;
RegisteredServiceProvider<Economy> eco = Main.plugin.getServer().getServicesManager().getRegistration(Economy.class);
if (eco != null) {
Main.eco = eco.getProvider();
if (Main.eco != null) {
connected = true;
send.console(Main.prefix + " §2Vault / Economy successfully connected!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
} else {
connected = false;
send.console(Main.prefix + " §4Economy could not be connected / found! 1" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
} else {
connected = false;
send.console(Main.prefix + " §4Economy could not be connected / found! 2" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
RegisteredServiceProvider<Permission> perm = Main.plugin.getServer().getServicesManager().getRegistration(Permission.class);
if (perm != null) {
Main.perm = perm.getProvider();
}
} else {
vaultEnable = false;
connected = false;
send.console(Main.prefix + " §4Vault could not be connected! 3" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
}
public static void vaultDisable() {
connected = false;
send.console(Main.prefix + " §4Vault / Economy successfully deactivated.");
}
}

View File

@@ -109,7 +109,7 @@ public class Config {
try {
return Sound.valueOf(selectSoundFromConfig);
} catch (Exception e) {
send.console("§4\n§4\n§4\n" + SelectLibMsg.SoundNotFound.replace("[prefix]", prefix)
send.console("§4\n§4\n§4\n" + SelectLibMsg.soundNotFound.replace("[prefix]", prefix)
.replace("[sound]", "§8Buy: §6" + selectSoundFromConfig) + "§4\n§4\n§4\n");
return Sound.valueOf(sound);
}

View File

@@ -1,60 +1,55 @@
package net.t2code.lib.Spigot.system;
import net.md_5.bungee.protocol.packet.Commands;
import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
import net.t2code.lib.Spigot.system.config.SelectLibConfig;
import net.t2code.lib.Util;
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 org.bukkit.plugin.Plugin;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URI;
import java.nio.file.*;
import java.util.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class CmdExecuter implements CommandExecutor, TabCompleter {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!sender.hasPermission("t2code.admin")){
send.sender(sender,"§4No Permission §8t2code.admin");
if (!sender.hasPermission("t2code.admin")) {
send.sender(sender, "§4No Permission §8t2code.admin");
return false;
}
if (args.length == 0) {
T2CodeTemplate.sendInfo(sender, Util.getPrefix(), Util.getSpigot(), Util.getDiscord(), Main.autor, Main.version, UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion);
} else {
switch (args[0].toLowerCase()) {
case "info":
case "plugin":
case "pl":
case "version":
case "ver":
T2CodeTemplate.sendInfo(sender, Util.getPrefix(), Util.getSpigot(), Util.getDiscord(), Main.autor, Main.version, UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion);
return false;
}
if ("debug".equals(args[0].toLowerCase())) {
T2CodeTemplate.sendInfo(sender, Util.getPrefix(), Util.getSpigot(), Util.getDiscord(), T2CodeMain.getAutor(), T2CodeMain.getVersion(), UpdateAPI.PluginVersionen.get(T2CodeMain.getPlugin().getName()).publicVersion);
return false;
}
switch (args[0].toLowerCase()) {
case "info":
case "plugin":
case "pl":
case "version":
case "ver":
T2CodeTemplate.sendInfo(sender, Util.getPrefix(), Util.getSpigot(), Util.getDiscord(), T2CodeMain.getAutor(), T2CodeMain.getVersion(), UpdateAPI.PluginVersionen.get(T2CodeMain.getPerm().getName()).publicVersion);
return false;
case "reloadconfig":
SelectLibConfig.onSelect();
return false;
case "debug":
if (args.length != 2) {
send.sender(sender, "§4Use: §7/t2code debug createReportLog");
return false;
}
if ("createreportlog".equals(args[1].toLowerCase())) {
CreateReportLog.create(sender);
} else send.sender(sender, "§4Use: §7/t2code debug createReportLog");
} else send.sender(sender, "§4Use: §7/t2code debug createReportLog");
return false;
default:
send.sender(sender, "§4Use: §7/t2code debug createReportLog");
return false;
}
return false;
}
@@ -62,6 +57,7 @@ public class CmdExecuter implements CommandExecutor, TabCompleter {
private static HashMap<String, String> arg1 = new HashMap<String, String>() {{
put("debug", "t2code.admin");
put("info", "t2code.admin");
put("reloadconfig", "t2code.admin");
}};
@Override

View File

@@ -4,8 +4,10 @@ import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
import net.t2code.lib.Spigot.Lib.minecraftVersion.NMSVersion;
import net.t2code.lib.Spigot.Lib.plugins.PluginCheck;
import net.t2code.lib.Spigot.Lib.vault.Vault;
import net.t2code.lib.Util;
import net.t2code.luckyBox.api.LuckyBoxAPI;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
@@ -17,18 +19,17 @@ import java.util.Calendar;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class CreateReportLog {
protected static void create(CommandSender sender) {
send.sender(sender, Main.prefix + " §6A DebugLog is created...");
send.sender(sender, T2CodeMain.getPrefix() + " §6A DebugLog is created...");
String timeStampFile = new SimpleDateFormat("HH_mm_ss-dd_MM_yyyy").format(Calendar.getInstance().getTime());
File directory = new File(Main.getPath() + "/DebugLogs");
File directory = new File(T2CodeMain.getPath() + "/DebugLogs");
if (!directory.exists()) {
directory.mkdir();
}
File file = new File(Main.getPath(), "/DebugLogs/T2CodeLog.txt");
File file = new File(T2CodeMain.getPath(), "/DebugLogs/T2CodeLog.txt");
PrintWriter pWriter = null;
try {
pWriter = new PrintWriter(new FileWriter(file.getPath()));
@@ -41,18 +42,25 @@ public class CreateReportLog {
pWriter.println();
pWriter.println("Online Mode: " + Bukkit.getOnlineMode());
pWriter.println("Worlds: " + Bukkit.getWorlds());
pWriter.println("OP-Player:");
for (OfflinePlayer player : Bukkit.getOperators()) {
pWriter.println(" - Player: " + player.getName() + " - " + player.getUniqueId());
}
pWriter.println();
if (Vault.vaultEnable) {
pWriter.println("Vault: " + Bukkit.getPluginManager().getPlugin("Vault").getName() + " - " + Bukkit.getPluginManager().getPlugin("Vault").getDescription().getVersion());
} else pWriter.println("Vault: not connected");
if (Main.eco != null) {
String st;
st = Main.eco.getName();
if (Main.eco.getName().equals("CMIEconomy")) st = "CMI";
pWriter.println("Economy: " + Main.eco.isEnabled() + " - " + Main.eco.getName() + " - " + Bukkit.getPluginManager().getPlugin(st).getDescription().getVersion());
if (T2CodeMain.getEco() != null) {
String st = T2CodeMain.getEco().getName();
if (T2CodeMain.getEco().getName().equals("CMIEconomy")) st = "CMI";
if (Bukkit.getPluginManager().getPlugin(st) != null) {
pWriter.println("Economy: " + T2CodeMain.getEco().isEnabled() + " - " + st + " - " + Bukkit.getPluginManager().getPlugin(st).getDescription().getVersion());
} else pWriter.println("Economy: " + T2CodeMain.getEco().isEnabled() + " - " + st);
} else pWriter.println("Economy: not connected via vault");
if (Main.perm != null) {
pWriter.println("Permission: " + Main.perm.isEnabled() + " - " + Main.perm.getName() + " - " + Bukkit.getPluginManager().getPlugin(Main.perm.getName()).getDescription().getVersion());
if (T2CodeMain.getPerm() != null) {
if (Bukkit.getPluginManager().getPlugin(T2CodeMain.getPerm().getName()) != null) {
pWriter.println("Permission: " + T2CodeMain.getPerm().isEnabled() + " - " + T2CodeMain.getPerm().getName() + " - " + Bukkit.getPluginManager().getPlugin(T2CodeMain.getPerm().getName()).getDescription().getVersion());
} else pWriter.println("Permission: " + T2CodeMain.getPerm().isEnabled() + " - " + T2CodeMain.getPerm().getName());
} else pWriter.println("Permission: not connected via vault");
pWriter.println();
pWriter.println("Java: " + System.getProperty("java.version"));
@@ -60,8 +68,17 @@ public class CreateReportLog {
pWriter.println("System: " + System.getProperty("os.version"));
pWriter.println("User Home: " + System.getProperty("user.home"));
pWriter.println();
pWriter.println("T2CodeLib: " + Main.plugin.getDescription().getVersion());
pWriter.println("T2CodeLib: " + T2CodeMain.getPlugin().getDescription().getVersion());
pWriter.println();
if (PluginCheck.luckyBox()) {
pWriter.println("T2C-PremiumPlugins: ");
pWriter.println("T2C-LuckyBox UID: " + LuckyBoxAPI.getUID());
pWriter.println("T2C-LuckyBox RID: " + LuckyBoxAPI.getRID());
pWriter.println("T2C-LuckyBox DID: " + LuckyBoxAPI.getDID());
pWriter.println("T2C-LuckyBox isP: " + LuckyBoxAPI.isP());
pWriter.println("T2C-LuckyBox isV: " + LuckyBoxAPI.isV());
pWriter.println();
}
pWriter.println("Plugins: ");
for (Plugin pl : Bukkit.getPluginManager().getPlugins()) {
pWriter.println(" - " + pl.getName() + " - " + pl.getDescription().getVersion() + " - Enabled: " + pl.isEnabled() + " - Autors: " + pl.getDescription().getAuthors() + " - Website: " + pl.getDescription().getWebsite());
@@ -75,7 +92,7 @@ public class CreateReportLog {
}
}
String filePath = Main.getPath() + "/DebugLogs/T2CodeLog.txt";
String filePath = T2CodeMain.getPath() + "/DebugLogs/T2CodeLog.txt";
String log = "logs/latest.log";
String zipPath = "plugins/T2CodeLib/DebugLogs/T2CLog-" + timeStampFile + ".zip";
try (ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(zipPath))) {
@@ -83,24 +100,26 @@ public class CreateReportLog {
zip.putNextEntry(new ZipEntry(fileToZip.getName()));
Files.copy(fileToZip.toPath(), zip);
//File logToZip = new File(log);
//zipOut.putNextEntry(new ZipEntry(logToZip.getName()));
//Files.copy(logToZip.toPath(), zipOut);
addFileToZip("", "logs/latest.log", zip, false);
//pluginToDebug("T2CodeLib", "T2CodeLib", zip); todo bugfix (servercrash)
pluginToDebug("T2C-LuckyBox", "T2C-LuckyBox", zip);
pluginToDebug("WonderBagShop", "WonderBagShop", zip);
pluginToDebug("CommandGUI", "CommandGUI", zip);
pluginToDebug("OPSecurity", "OPSecurity", zip);
pluginToDebug("PaPiTest", "PaPiTest", zip);
pluginToDebug("PlotSquaredGUI", "PlotSquaredGUI", zip);
pluginToDebug("T2C-Alias", "T2Code-Alias", zip);
for (String pl : Util.getT2cPlugins()){
pluginToDebug(pl, zip);
}
//pluginToDebug("T2C-LuckyBox", zip);
//pluginToDebug("WonderBagShop", zip);
//pluginToDebug("CommandGUI", zip);
//pluginToDebug("OPSecurity", zip);
//pluginToDebug("PaPiTest", zip);
//pluginToDebug("PlotSquaredGUI", zip);
//pluginToDebug("T2C-Alias", zip);
//pluginToDebug("T2C-AutoResponse", zip);
//
//pluginToDebug("LoreEditor", zip);
//pluginToDebug("Booster", zip);
//pluginToDebug("AntiMapCopy", zip);
//pluginToDebug("AntiCopy", zip);
pluginToDebug("LoreEditor", "LoreEditor", zip);
pluginToDebug("Booster", "Booster", zip);
pluginToDebug("AntiMapCopy", "AntiCopy", zip);
zip.closeEntry();
zip.close();
} catch (IOException e) {
@@ -108,13 +127,13 @@ public class CreateReportLog {
}
file.delete();
if (sender instanceof Player) {
send.sender(sender, Main.prefix + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + zipPath);
send.console(Main.prefix + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + zipPath);
} else send.sender(sender, Main.prefix + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + zipPath);
send.sender(sender, T2CodeMain.getPrefix() + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + zipPath);
send.console(T2CodeMain.getPrefix() + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + zipPath);
} else send.sender(sender, T2CodeMain.getPrefix() + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + zipPath);
}
private static void pluginToDebug(String pluginName, String jar, ZipOutputStream zip) throws IOException {
private static void pluginToDebug(String pluginName, ZipOutputStream zip) throws IOException {
if (PluginCheck.pluginCheck(pluginName)) {
Plugin plugin = Bukkit.getPluginManager().getPlugin(pluginName);
File plConfigs = new File(plugin.getDataFolder().getPath());
@@ -125,7 +144,7 @@ public class CreateReportLog {
File[] fileArray = f.listFiles();
for (File config : fileArray) {
if (config.getName().contains(jar) && config.getName().contains(".jar")) {
if (config.getName().contains(pluginName) && config.getName().contains(".jar")) {
addFileToZip("T2Code-Plugins", config.getPath(), zip, false);
}
}
@@ -170,7 +189,7 @@ public class CreateReportLog {
while ((len = in.read(buf)) > 0) {
try {
zip.write(buf, 0, len);
} catch (Exception ex){
} catch (Exception ex) {
ex.printStackTrace();
}
}

View File

@@ -4,7 +4,6 @@ package net.t2code.lib.Spigot.system;
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
import net.t2code.lib.Util;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerLoginEvent;
@@ -13,7 +12,6 @@ public class JoinEvent implements Listener {
@EventHandler
public void onJoinEvent(PlayerLoginEvent event) {
Player player = event.getPlayer();
UpdateAPI.join(Main.plugin, Util.getPrefix(), "t2code.lib.updatemsg", event.getPlayer(), Main.spigot, Main.discord);
UpdateAPI.join(T2CodeMain.getPlugin(), Util.getPrefix(), "t2code.lib.updatemsg", event.getPlayer(), T2CodeMain.getSpigot(), T2CodeMain.getDiscord());
}
}

View File

@@ -1,130 +0,0 @@
package net.t2code.lib.Spigot.system;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission;
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 net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate;
import net.t2code.lib.Spigot.Lib.plugins.PluginCheck;
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
import net.t2code.lib.Spigot.Lib.vault.Vault;
import net.t2code.lib.Spigot.system.config.ConfigCreate;
import net.t2code.lib.Spigot.system.languages.LanguagesCreate;
import net.t2code.lib.Util;
import net.t2code.lib.Spigot.system.config.SelectLibConfig;
import net.t2code.lib.Spigot.system.languages.SelectLibMsg;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
import java.util.List;
public final class Main extends JavaPlugin {
public static File getPath() {
return plugin.getDataFolder();
}
public static Main plugin;
public static Economy eco = null;
public static Permission perm = null;
public static List<String> autor;
public static String version;
public static String prefix = Util.getPrefix();
public static Integer spigotID = Util.getSpigotID();
public static Integer bstatsID = Util.getBstatsID();
public static String spigot = Util.getSpigot();
public static String discord = Util.getDiscord();
@Override
public void onEnable() {
// Plugin startup logic
plugin = this;
autor = plugin.getDescription().getAuthors();
version = plugin.getDescription().getVersion();
Long long_;
long_ = T2CodeTemplate.onLoadHeader(prefix, autor, version, spigot, discord);
if (Util.getSnapshot()){
send.console(prefix + " §eYou are running §4" + version + " §eof " + prefix + "§e! §4This is a trial version! §eSome features may not be working as expected. Please report all bugs here: http://dc.t2code.net §4UpdateChecker & bStats may be disabled!");
send.console(prefix + " §4 §e-------------------");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
//send.console("§4 _|_|_|_|_| _|_| _|_|_| _| ");
//send.console("§4 _| _| _| _| _|_| _|_|_| _|_| ");
//send.console("§4 _| _| _| _| _| _| _| _|_|_|_| ");
//send.console("§4 _| _| _| _| _| _| _| _| ");
//send.console("§4 _| _|_|_|_| _|_|_| _|_| _|_|_| _|_|_| ");
//T2CodeTemplate.onLoadSeparateStroke(prefix);
try {
Vault.loadVault();
} catch (InterruptedException e) {
e.printStackTrace();
}
NMSVersion.onCheck();
MCVersion.onCheck();
if (MCVersion.minecraft1_19){
send.warning(this, "The 1.19 is a very fresh / new version. If there are any bugs in our plugins, please report them to us via our Discord: http://dc.t2code.net");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
ItemVersion.scan();
send.console(Main.prefix + " §3Server run on: §6" + MCVersion.isVersion + " / " + NMSVersion.isNMS);
if (eco != null) {
String st;
st = eco.getName();
if (eco.getName().equals("CMIEconomy")) st = "CMI";
if (Bukkit.getPluginManager().getPlugin(st) != null){
send.console(Main.prefix + " §3Economy: §6" + eco.getName() + " - " + Bukkit.getPluginManager().getPlugin(st).getDescription().getVersion() + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
} else send.console(Main.prefix + " §3Economy: §6" + eco.getName() + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
} else send.console(Main.prefix + " §3Economy: §4not connected via vault!" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
if (perm != null) {
if (Bukkit.getPluginManager().getPlugin(perm.getName()) != null){
send.console(Main.prefix + " §3Permission plugin: §6" + perm.getName() + " - " + Bukkit.getPluginManager().getPlugin(perm.getName()).getDescription().getVersion() + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
} else send.console(Main.prefix + " §3Permission plugin: §6" + perm.getName() + " - §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
} else send.console(Main.prefix + " §3Permission plugin: §4not connected via vault!" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
if (PluginCheck.pluginCheck("PlaceholderAPI")) {
send.console(Main.prefix + " §3PlaceholderAPI: §6connected" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
}
Main.plugin.getCommand("t2code").setExecutor(new CmdExecuter());
ConfigCreate.configCreate();
LanguagesCreate.langCreate();
SelectLibConfig.onSelect();
SelectLibMsg.onSelect(prefix);
if (!Util.getSnapshot()){
UpdateAPI.onUpdateCheck(plugin, prefix, spigot, spigotID, discord);
Metrics.Bstats(plugin, bstatsID);
}
Bukkit.getServer().getPluginManager().registerEvents(new JoinEvent(), plugin);
T2CodeTemplate.onLoadFooter(prefix, long_);
}
@Override
public void onDisable() {
// Plugin shutdown logic
if (SelectLibConfig.InventoriesCloseByServerStop){
for (Player player : Bukkit.getOnlinePlayers()){
player.closeInventory();
}
}
Vault.vaultDisable();
T2CodeTemplate.onDisable(prefix, autor, version, spigot, discord);
}
}

View File

@@ -31,7 +31,7 @@ public class Metrics {
public static void Bstats(Plugin plugin, int bstatsID) {
int pluginId = bstatsID; // <-- Replace with the id of your plugin!
Metrics metrics = new Metrics((JavaPlugin) plugin, pluginId);
metrics.addCustomChart(new SimplePie("updatecheckonjoin", () -> String.valueOf(SelectLibConfig.UpdateCheckOnJoin)));
metrics.addCustomChart(new SimplePie("updatecheckonjoin", () -> String.valueOf(SelectLibConfig.getUpdateCheckOnJoin())));
}
private final Plugin plugin;

View File

@@ -0,0 +1,184 @@
package net.t2code.lib.Spigot.system;
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission;
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 net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate;
import net.t2code.lib.Spigot.Lib.plugins.PluginCheck;
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
import net.t2code.lib.Spigot.system.config.ConfigCreate;
import net.t2code.lib.Spigot.system.languages.LanguagesCreate;
import net.t2code.lib.Util;
import net.t2code.lib.Spigot.system.config.SelectLibConfig;
import net.t2code.lib.Spigot.system.languages.SelectLibMsg;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
import java.util.List;
public final class T2CodeMain extends JavaPlugin {
public static File getPath() {
return plugin.getDataFolder();
}
public static BukkitAudiences adventure;
private static T2CodeMain plugin;
private static Economy eco = null;
private static Permission perm = null;
private static List<String> autor;
private static String version;
private static String prefix = Util.getPrefix();
private static Integer spigotID = Util.getSpigotID();
private static Integer bstatsID = Util.getBstatsID();
private static String spigot = Util.getSpigot();
private static String discord = Util.getDiscord();
private static Boolean load = false;
public static String getDiscord() {
return discord;
}
public static T2CodeMain getPlugin() {
return plugin;
}
public static Economy getEco() {
return eco;
}
static void setEco(Economy eco) {
T2CodeMain.eco = eco;
}
public static Permission getPerm() {
return perm;
}
public static List<String> getAutor() {
return autor;
}
public static String getVersion() {
return version;
}
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 Boolean getLoad() {
return load;
}
public static void setPerm(Permission perm) {
T2CodeMain.perm = perm;
}
@Override
public void onEnable() {
// Plugin startup logic
plugin = this;
autor = plugin.getDescription().getAuthors();
version = plugin.getDescription().getVersion();
this.adventure = BukkitAudiences.create(this);
long long_;
long_ = T2CodeTemplate.onLoadHeader(prefix, autor, version, spigot, discord);
if (Util.getSnapshot()) {
send.console(prefix + " §eYou are running §4" + version + " §eof " + prefix + "§e! §4This is a trial version! §eSome features may not be working as expected." +
" Please report all bugs here: http://dc.t2code.net §4UpdateChecker & bStats may be disabled!");
send.console(prefix + " §4 §e-------------------");
}
try {
Vault.loadVault();
} catch (InterruptedException e) {
e.printStackTrace();
}
NMSVersion.onCheck();
MCVersion.onCheck();
if (MCVersion.minecraft1_19) {
send.console(prefix + " §4!!!!!!!!!!!!!!!!!!!!");
send.console(prefix );
send.warning(this, "The 1.19.* is a very fresh / new version. If there are any bugs in our plugins, please report them to us via our Discord: http://dc.t2code.net");
send.console(prefix);
send.console(prefix + " §4!!!!!!!!!!!!!!!!!!!!");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
ItemVersion.scan();
send.console(T2CodeMain.prefix + " §3Server run on: §6" + MCVersion.isVersion + " / " + NMSVersion.isNMS);
if (eco != null) {
String st = eco.getName();
if (eco.getName().equals("CMIEconomy")) st = "CMI";
if (Bukkit.getPluginManager().getPlugin(st) != null) {
send.console(T2CodeMain.prefix + " §3Economy: §6" + eco.getName() + " - " + Bukkit.getPluginManager().getPlugin(st).getDescription().getVersion() + " §7- §e" +
(System.currentTimeMillis() - long_) + "ms");
} else send.console(T2CodeMain.prefix + " §3Economy: §6" + eco.getName() + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
} else send.console(T2CodeMain.prefix + " §3Economy: §4not connected via vault!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
if (perm != null) {
if (Bukkit.getPluginManager().getPlugin(perm.getName()) != null) {
send.console(T2CodeMain.prefix + " §3Permission plugin: §6" + perm.getName() + " - " + Bukkit.getPluginManager().getPlugin(perm.getName()).getDescription().getVersion()
+ " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
} else send.console(T2CodeMain.prefix + " §3Permission plugin: §6" + perm.getName() + " - §7- §e" + (System.currentTimeMillis() - long_) + "ms");
} else send.console(T2CodeMain.prefix + " §3Permission plugin: §4not connected via vault!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
if (PluginCheck.papi()) {
send.console(T2CodeMain.prefix + " §3PlaceholderAPI: §6connected" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
T2CodeMain.plugin.getCommand("t2code").setExecutor(new CmdExecuter());
ConfigCreate.configCreate();
LanguagesCreate.langCreate();
SelectLibConfig.onSelect();
SelectLibMsg.onSelect(prefix);
if (!Util.getSnapshot() || version.toLowerCase().contains("dev")) {
UpdateAPI.onUpdateCheck(plugin, prefix, spigot, spigotID, discord);
Metrics.Bstats(plugin, bstatsID);
}
Bukkit.getServer().getPluginManager().registerEvents(new JoinEvent(), plugin);
T2CodeTemplate.onLoadFooter(prefix, long_);
}
@Override
public void onDisable() {
// Plugin shutdown logic
if (SelectLibConfig.getInventoriesCloseByServerStop()) {
for (Player player : Bukkit.getOnlinePlayers()) {
player.closeInventory();
}
}
if(this.adventure != null) {
this.adventure.close();
this.adventure = null;
}
Vault.vaultDisable();
T2CodeTemplate.onDisable(prefix, autor, version, spigot, discord);
}
}

View File

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

View File

@@ -1,7 +1,7 @@
package net.t2code.lib.Spigot.system.config;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.system.Main;
import net.t2code.lib.Spigot.system.T2CodeMain;
import net.t2code.lib.Spigot.Lib.yamlConfiguration.Config;
import org.bukkit.configuration.file.YamlConfiguration;
@@ -11,60 +11,31 @@ import java.io.IOException;
public class ConfigCreate {
private static Boolean UpdateCheckOnJoin = true;
private static Integer UpdateCheckTimeInterval = 60;
private static Boolean Debug = false;
private static String language = "english";
private static Boolean mySQL = false;
private static String Storage = "YML";
private static String ip = "localhost";
private static Integer port = 3306;
private static String database = "database";
private static String user = "root";
private static String password = "password";
private static Boolean SSL = false;
private static Boolean Bungee = false;
private static String thisServer = "server";
public static void configCreate() {
Long long_ = Long.valueOf(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...");
if (new File(T2CodeMain.getPath(), "config.yml").exists()){
if (T2CodeMain.getPlugin().getConfig().getBoolean("Plugin.Debug")) send.console(T2CodeMain.getPrefix() + " §5DEBUG: §6" + " §4config.yml are created / updated...");
} else send.console(T2CodeMain.getPrefix() + " §4config.yml are created...");
File config = new File(Main.getPath(), "config.yml");
File config = new File(T2CodeMain.getPath(), "config.yml");
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
Config.set("Plugin.UpdateCheck.OnJoin", UpdateCheckOnJoin, yamlConfiguration);
Config.set("Plugin.UpdateCheck.TimeInterval", UpdateCheckTimeInterval, yamlConfiguration);
Config.set("Plugin.language", language, yamlConfiguration);
Config.set("Plugin.UpdateCheck.OnJoin", true, yamlConfiguration);
Config.set("Plugin.UpdateCheck.TimeInterval", 60, yamlConfiguration);
Config.set("Plugin.language", "english", yamlConfiguration);
Config.set("BungeeCord.Enable", Bungee, yamlConfiguration);
Config.set("BungeeCord.ThisServer", thisServer, yamlConfiguration);
Config.set("BungeeCord.Enable", false, yamlConfiguration);
Config.set("BungeeCord.ThisServer", "server", yamlConfiguration);
Config.set("Player.Inventories.CloseByServerStop", true, yamlConfiguration);
// Config.set("Storage.MySQL.Enable", mySQL, yamlConfiguration);
// Config.set("Storage.Type", Storage, yamlConfiguration);
// Config.set("Storage.MySQL.IP", ip, yamlConfiguration);
// Config.set("Storage.MySQL.Port", port, yamlConfiguration);
// Config.set("Storage.MySQL.Database", database, yamlConfiguration);
// Config.set("Storage.MySQL.User", user, yamlConfiguration);
// Config.set("Storage.MySQL.Password", password, yamlConfiguration);
// Config.set("Storage.MySQL.SSL", SSL, 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_.longValue()) + "ms");
send.console(T2CodeMain.getPrefix() + " §2config.yml were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
}
}

View File

@@ -1,6 +1,6 @@
package net.t2code.lib.Spigot.system.config;
import net.t2code.lib.Spigot.system.Main;
import net.t2code.lib.Spigot.system.T2CodeMain;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
@@ -8,21 +8,47 @@ import java.io.File;
public class SelectLibConfig {
public static Boolean UpdateCheckOnJoin;
public static Integer UpdateCheckTimeInterval;
public static Boolean Debug;
public static String language;
public static Boolean InventoriesCloseByServerStop;
private static Boolean UpdateCheckOnJoin;
private static Boolean t2cTestDevelopment;
private static Integer UpdateCheckTimeInterval;
private static Boolean Debug;
private static String language;
private static Boolean InventoriesCloseByServerStop;
public static void onSelect() {
File config = new File(Main.getPath(), "config.yml");
File config = new File(T2CodeMain.getPath(), "config.yml");
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
UpdateCheckOnJoin = yamlConfiguration.getBoolean("Plugin.UpdateCheck.OnJoin");
t2cTestDevelopment = yamlConfiguration.getBoolean("t2cTestDevelopment");
UpdateCheckTimeInterval = yamlConfiguration.getInt("Plugin.UpdateCheck.TimeInterval");
Debug = yamlConfiguration.getBoolean("Plugin.Debug");
language = yamlConfiguration.getString("Plugin.language");
InventoriesCloseByServerStop = yamlConfiguration.getBoolean("Player.Inventories.CloseByServerStop");
}
public static Boolean getUpdateCheckOnJoin() {
return UpdateCheckOnJoin;
}
public static Boolean getT2cTestDevelopment() {
return t2cTestDevelopment;
}
public static Integer getUpdateCheckTimeInterval() {
return UpdateCheckTimeInterval;
}
public static Boolean getDebug() {
return Debug;
}
public static String getLanguage() {
return language;
}
public static Boolean getInventoriesCloseByServerStop() {
return InventoriesCloseByServerStop;
}
}

View File

@@ -1,7 +1,7 @@
package net.t2code.lib.Spigot.system.languages;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.system.Main;
import net.t2code.lib.Spigot.system.T2CodeMain;
import net.t2code.lib.Spigot.Lib.yamlConfiguration.Config;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.Plugin;
@@ -10,10 +10,10 @@ import java.io.File;
import java.io.IOException;
public class LanguagesCreate {
static Plugin plugin = Main.plugin;
static Plugin plugin = T2CodeMain.getPlugin();
public static void langCreate() {
send.debug(plugin,"§4Language files are created / updated...");
send.debug(plugin, "§4Language files are created / updated...");
Long long_ = Long.valueOf(System.currentTimeMillis());
/**
@@ -22,16 +22,17 @@ public class LanguagesCreate {
*
*/
File messagesEN = new File(Main.getPath(), "languages/english_messages.yml");
File messagesEN = new File(T2CodeMain.getPath(), "languages/english_messages.yml");
YamlConfiguration yamlConfigurationEN = YamlConfiguration.loadConfiguration(messagesEN);
Config.set("Plugin.VaultNotSetUp", MSG.EN_VaultNotSetUp, yamlConfigurationEN);
Config.set("Plugin.VotingPluginNotSetUp", MSG.EN_VotingPluginNotSetUp, yamlConfigurationEN);
Config.set("Plugin.SoundNotFound", MSG.EN_SoundNotFound, yamlConfigurationEN);
try {
yamlConfigurationEN.save(messagesEN);
} catch (IOException e) {
send.warning(Main.plugin,e.getMessage());
send.warning(T2CodeMain.getPlugin(), e.getMessage());
e.printStackTrace();
}
@@ -41,16 +42,17 @@ public class LanguagesCreate {
*
*/
File messagesDE = new File(Main.getPath(), "languages/german_messages.yml");
File messagesDE = new File(T2CodeMain.getPath(), "languages/german_messages.yml");
YamlConfiguration yamlConfigurationDE = YamlConfiguration.loadConfiguration(messagesDE);
Config.set("Plugin.VaultNotSetUp", MSG.DE_VaultNotSetUp, yamlConfigurationDE);
Config.set("Plugin.VaultNotSetUp", MSG.DE_VotingPluginNotSetUp, yamlConfigurationDE);
Config.set("Plugin.VotingPluginNotSetUp", MSG.DE_VotingPluginNotSetUp, yamlConfigurationDE);
Config.set("Plugin.SoundNotFound", MSG.DE_SoundNotFound, yamlConfigurationDE);
try {
yamlConfigurationDE.save(messagesDE);
} catch (IOException e) {
send.warning(Main.plugin,e.getMessage());
send.warning(T2CodeMain.getPlugin(), e.getMessage());
e.printStackTrace();
}
@@ -60,19 +62,20 @@ public class LanguagesCreate {
*
*/
File messagesNO = new File(Main.getPath(), "languages/norwegian_messages.yml");
File messagesNO = new File(T2CodeMain.getPath(), "languages/norwegian_messages.yml");
YamlConfiguration yamlConfigurationNO = YamlConfiguration.loadConfiguration(messagesNO);
Config.set("Plugin.VaultNotSetUp", MSG.NO_VaultNotSetUp, yamlConfigurationNO);
Config.set("Plugin.VotingPluginNotSetUp", MSG.NO_VotingPluginNotSetUp, yamlConfigurationNO);
Config.set("Plugin.SoundNotFound", MSG.NO_SoundNotFound, yamlConfigurationNO);
try {
yamlConfigurationNO.save(messagesNO);
} catch (IOException e) {
send.warning(Main.plugin,e.getMessage());
send.warning(T2CodeMain.getPlugin(), e.getMessage());
e.printStackTrace();
}
send.console(Main.prefix + " §2Language files were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
send.console(T2CodeMain.getPrefix() + " §2Language files were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
}
}

View File

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

View File

@@ -2,7 +2,7 @@ package net.t2code.lib.Spigot.system.languages;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.replace.Replace;
import net.t2code.lib.Spigot.system.Main;
import net.t2code.lib.Spigot.system.T2CodeMain;
import net.t2code.lib.Spigot.system.config.SelectLibConfig;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.Plugin;
@@ -10,13 +10,14 @@ import org.bukkit.plugin.Plugin;
import java.io.File;
public class SelectLibMsg {
private static Plugin plugin = Main.plugin;
private static String prefix = Main.prefix;
private static Plugin plugin = T2CodeMain.getPlugin();
private static String prefix = T2CodeMain.getPrefix();
public static String selectMSG;
public static String VaultNotSetUp;
public static String SoundNotFound;
public static String vaultNotSetUp;
public static String votingPluginNotSetUp;
public static String soundNotFound;
public static void onSelect(String Prefix) {
@@ -25,24 +26,23 @@ private static String prefix = Main.prefix;
File msg;
msg = new File(Main.getPath(), "languages/" + SelectLibConfig.language + "_messages.yml");
msg = new File(T2CodeMain.getPath(), "languages/" + SelectLibConfig.getLanguage() + "_messages.yml");
if (!msg.isFile()) {
send.console(Prefix);
send.console(Prefix + " §4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
send.console(Prefix + " §4The selected §c" + SelectLibConfig.language + " §4language file was not found.");
send.console(Prefix + " §4The selected §c" + SelectLibConfig.getLanguage() + " §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");
msg = new File(T2CodeMain.getPath(), "languages/" + "english_messages.yml");
selectMSG = "english";
} else selectMSG = SelectLibConfig.language;
} else selectMSG = SelectLibConfig.getLanguage();
YamlConfiguration yamlConfiguration_msg = YamlConfiguration.loadConfiguration(msg);
VaultNotSetUp = Replace.replace(prefix, yamlConfiguration_msg.getString("Plugin.VaultNotSetUp"));
SoundNotFound = Replace.replace(prefix, yamlConfiguration_msg.getString("Plugin.SoundNotFound"));
vaultNotSetUp = Replace.replace(prefix, yamlConfiguration_msg.getString("Plugin.VaultNotSetUp"));
votingPluginNotSetUp = Replace.replace(prefix, yamlConfiguration_msg.getString("Plugin.VotingPluginNotSetUp"));
soundNotFound = Replace.replace(prefix, yamlConfiguration_msg.getString("Plugin.SoundNotFound"));
send.console(Prefix + " §2Language successfully selected to: §6" + selectMSG + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
send.console(Prefix + " §2Language successfully selected to: §6" + selectMSG + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
}
}

View File

@@ -1,5 +1,8 @@
package net.t2code.lib;
import java.util.Arrays;
import java.util.List;
public class Util {
private static Boolean Snapshot = false;
@@ -32,4 +35,24 @@ public class Util {
public static Boolean getSnapshot(){
return Snapshot;
}
public static List<String> getT2cPlugins() {
return t2cPlugins;
}
private static List<String> t2cPlugins =
Arrays.asList(
"T2C-LuckyBox",
"WonderBagShop",
"CommandGUI",
"OPSecurity",
"PaPiTest",
"PlotSquaredGUI",
"T2C-Alias",
"T2C-AutoResponse",
"LoreEditor",
"Booster",
"AntiMapCopy",
"AntiCopy"
);
}

View File

@@ -2,4 +2,4 @@ name: T2CodeLib
version: ${project.version}
main: net.t2code.lib.Bungee.BMain
author: JaTiTV, Jkobs
description: Libarie from T2Code Plugins
description: Library from T2Code Plugins

View File

@@ -1,14 +1,25 @@
name: T2CodeLib
version: ${project.version}
main: net.t2code.lib.Spigot.system.Main
main: net.t2code.lib.Spigot.system.T2CodeMain
api-version: 1.13
prefix: T2CodeLib
authors: [ JaTiTV, Jkobs ]
description: Libarie from T2Code Plugins
description: Library from T2Code Plugins
website: T2Code.net
load: STARTUP
softdepend: [ PlaceholderAPI, PlotSquared, CMI, CMILib, Vault, Economy, XConomy ]
loadbefore: [ T2C-Alias ]
softdepend:
- VotingPlugin
- PlaceholderAPI
- PlotSquared
- CMI
- CMILib
- Vault
- Economy
- XConomy
loadbefore:
- T2C-Alias
- CommandGUI
commands:
t2code:

View File

@@ -1,5 +0,0 @@
name: T2CodeLib
version: 10.7
main: net.t2code.lib.Bungee.BMain
author: JaTiTV, Jkobs
description: Libarie from T2Code Plugins

Some files were not shown because too many files have changed in this diff Show More