Compare commits
No commits in common. "development" and "13.3" have entirely different histories.
developmen
...
13.3
@ -1,37 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels:
|
||||
- "bug report"
|
||||
|
||||
---
|
||||
|
||||
**Description of issue:**
|
||||
|
||||
|
||||
---
|
||||
|
||||
**Plugin Version (using`/t2c info`):**
|
||||
|
||||
**Server Type (Spigot/Paperspigot/etc):**
|
||||
|
||||
**Server Version (using `/ver`):**
|
||||
|
||||
**Relevant plugins (Delete if this isn't needed):**
|
||||
|
||||
---
|
||||
|
||||
**ERROR (DELETE IF YOU HAVE NO ERROR):**
|
||||
```
|
||||
######################
|
||||
## REPLACE WITH ERROR ##
|
||||
######################
|
||||
```
|
||||
|
||||
**CONFIG SECTION (DELETE IF NOT RELEVANT):**
|
||||
```
|
||||
#######################################
|
||||
## REPLACE WITH RELEVANT CONFIG SECTION ##
|
||||
#######################################
|
||||
```
|
@ -1,21 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea/improvement
|
||||
title: ''
|
||||
labels:
|
||||
- "feature request"
|
||||
|
||||
---
|
||||
|
||||
**Description of feature request:**
|
||||
|
||||
|
||||
---
|
||||
|
||||
**Plugin Version (using`/t2c info`):**
|
||||
|
||||
**Server Type (Spigot/Paperspigot/etc):**
|
||||
|
||||
**Server Version (using `/ver`):**
|
||||
|
||||
**Relevant plugins (Delete if this isn't needed):**
|
@ -1,22 +0,0 @@
|
||||
---
|
||||
name: Question
|
||||
about: Ask a question or get advice
|
||||
title: ''
|
||||
labels:
|
||||
- question
|
||||
|
||||
---
|
||||
|
||||
**Share your question here:**
|
||||
|
||||
---
|
||||
|
||||
**Plugin Version (using`/t2c info`):**
|
||||
|
||||
**Server Type (Spigot/Paperspigot/etc):**
|
||||
|
||||
**Server Version (using `/ver`):**
|
||||
|
||||
**Relevant plugins (Delete if this isn't needed):**
|
||||
|
||||
---
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,6 @@
|
||||
# User-specific stuff
|
||||
.idea/
|
||||
.idea
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
|
3
.idea/.gitignore
vendored
3
.idea/.gitignore
vendored
@ -1,3 +0,0 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<annotationProcessing>
|
||||
<profile default="true" name="Default" enabled="true" />
|
||||
<profile name="Maven default annotation processors profile" enabled="true">
|
||||
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||
<outputRelativeToContentRoot value="true" />
|
||||
<module name="T2CodeLib" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
</project>
|
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DiscordProjectSettings">
|
||||
<option name="show" value="PROJECT_FILES" />
|
||||
<option name="description" value="" />
|
||||
</component>
|
||||
</project>
|
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 295 KiB |
@ -1,49 +0,0 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="JavadocDeclaration" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="ADDITIONAL_TAGS" value="Deprecated" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="VulnerableLibrariesLocal" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="isIgnoringEnabled" value="true" />
|
||||
<option name="ignoredModules">
|
||||
<list>
|
||||
<option value="T2CodeLib" />
|
||||
<option value="T2CodeLib" />
|
||||
<option value="T2CodeLib" />
|
||||
<option value="T2CodeLib" />
|
||||
</list>
|
||||
</option>
|
||||
<option name="ignoredPackages">
|
||||
<list>
|
||||
<option value="junit:junit:4.10" />
|
||||
<option value="commons-codec:commons-codec:1.9" />
|
||||
<option value="commons-io:commons-io:2.4" />
|
||||
<option value="org.apache.logging.log4j:log4j-core:2.0-beta9" />
|
||||
</list>
|
||||
</option>
|
||||
<option name="ignoredReasons">
|
||||
<list>
|
||||
<option value="Not exploitable" />
|
||||
<option value="Not exploitable" />
|
||||
<option value="Not exploitable" />
|
||||
<option value="Not exploitable" />
|
||||
</list>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
<inspection_tool class="unused" enabled="false" level="WARNING" enabled_by_default="false" checkParameterExcludingHierarchy="false">
|
||||
<option name="LOCAL_VARIABLE" value="true" />
|
||||
<option name="FIELD" value="true" />
|
||||
<option name="METHOD" value="true" />
|
||||
<option name="CLASS" value="true" />
|
||||
<option name="PARAMETER" value="true" />
|
||||
<option name="REPORT_PARAMETER_FOR_PUBLIC_METHODS" value="true" />
|
||||
<option name="ADD_MAINS_TO_ENTRIES" value="true" />
|
||||
<option name="ADD_APPLET_TO_ENTRIES" value="true" />
|
||||
<option name="ADD_SERVLET_TO_ENTRIES" value="true" />
|
||||
<option name="ADD_NONJAVA_TO_ENTRIES" value="true" />
|
||||
<option name="selected" value="true" />
|
||||
<option name="mixinEntryPoint" value="true" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
@ -1,65 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Central Repository" />
|
||||
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jitpack.io" />
|
||||
<option name="name" value="jitpack.io" />
|
||||
<option name="url" value="https://jitpack.io" />
|
||||
</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" />
|
||||
<option name="url" value="https://hub.spigotmc.org/nexus/content/repositories/snapshots/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="sonatype-oss-snapshots1" />
|
||||
<option name="name" value="sonatype-oss-snapshots1" />
|
||||
<option name="url" value="https://s01.oss.sonatype.org/content/repositories/snapshots/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="papermc-repo" />
|
||||
<option name="name" value="papermc-repo" />
|
||||
<option name="url" value="https://repo.papermc.io/repository/maven-public/" />
|
||||
</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="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="minecraft-repo" />
|
||||
<option name="name" value="minecraft-repo" />
|
||||
<option name="url" value="https://libraries.minecraft.net/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="bungeecord-repo" />
|
||||
<option name="name" value="bungeecord-repo" />
|
||||
<option name="url" value="https://oss.sonatype.org/content/repositories/snapshots" />
|
||||
</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>
|
||||
</component>
|
||||
</project>
|
@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="EntryPointsManager">
|
||||
<list size="2">
|
||||
<item index="0" class="java.lang.String" itemvalue="net.md_5.bungee.event.EventHandler" />
|
||||
<item index="1" class="java.lang.String" itemvalue="org.bukkit.event.EventHandler" />
|
||||
</list>
|
||||
<writeAnnotations>
|
||||
<writeAnnotation name="lombok.Getter" />
|
||||
</writeAnnotations>
|
||||
</component>
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="corretto-17" project-jdk-type="JavaSDK" />
|
||||
</project>
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/T2CodeLib.iml" filepath="$PROJECT_DIR$/T2CodeLib.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
@ -1,124 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Palette2">
|
||||
<group name="Swing">
|
||||
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||
</item>
|
||||
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||
<initial-values>
|
||||
<property name="text" value="Button" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="RadioButton" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="CheckBox" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="Label" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||
<preferred-size width="-1" height="20" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||
</item>
|
||||
</group>
|
||||
</component>
|
||||
</project>
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
35
README.md
35
README.md
@ -1,35 +0,0 @@
|
||||
<p align="center">
|
||||
<img src="https://i.imgur.com/0pSf6jl.png" width="300">
|
||||
</p>
|
||||
|
||||
---
|
||||
# Links
|
||||
* [Spigot](https://www.spigotmc.org/resources/t2codelib.96388/)
|
||||
* [Discord](http://dc.T2Code.net)
|
||||
---
|
||||
|
||||
T2CodeLib is a library for the plugins of T2Code.
|
||||
|
||||
Main library file to centralize the main functions for multiple plugins, allowing better maintenance capabilities and reducing the overall size of the plugins.
|
||||
|
||||
Maven:
|
||||
```
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>T2Code</id>
|
||||
<url>https://repo.t2code.net/repository/T2Code/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>net.t2code</groupId>
|
||||
<artifactId>T2CodeLib</artifactId>
|
||||
<version>VERSION</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
```
|
||||
|
||||
---
|
||||
<img src="https://i.imgur.com/HoZSt7c.png" width="600">
|
||||
<img src="https://bstats.org/signatures/bukkit/T2CodeLib.svg" width="600">
|
144
pom.xml
144
pom.xml
@ -6,10 +6,7 @@
|
||||
|
||||
<groupId>net.t2code</groupId>
|
||||
<artifactId>T2CodeLib</artifactId>
|
||||
<version>17.0_beta-1</version>
|
||||
<!--version>VERSION_snapshot-0</version-->
|
||||
<!--version>VERSION_beta-0</version-->
|
||||
<!--version>VERSION_dev-0</version-->
|
||||
<version>13.3</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>T2CodeLib</name>
|
||||
@ -20,16 +17,14 @@
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<finalName>${project.artifactId}_${project.version}</finalName>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<source>11</source>
|
||||
<target>11</target>
|
||||
|
||||
<source>${java.version}</source>
|
||||
<target>${java.version}</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
@ -44,12 +39,6 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
||||
<relocations>
|
||||
<relocation>
|
||||
<pattern>net.kyori</pattern>
|
||||
<shadedPattern>net.t2code.t2codelib.shaded.adventure</shadedPattern>
|
||||
</relocation>
|
||||
</relocations>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
@ -64,111 +53,68 @@
|
||||
</build>
|
||||
|
||||
<repositories>
|
||||
<!-- Spigot -->
|
||||
<repository>
|
||||
<id>sonatype-oss-snapshots1</id>
|
||||
<url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
|
||||
</repository>
|
||||
<!-- Mojang / Spigot -->
|
||||
<repository>
|
||||
<id>spigot-repo</id>
|
||||
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
||||
</repository>
|
||||
|
||||
<!-- Mojang authlib -->
|
||||
<repository>
|
||||
<id>minecraft-repo</id>
|
||||
<url>https://libraries.minecraft.net/</url>
|
||||
</repository>
|
||||
|
||||
<!-- Bungee -->
|
||||
<repository>
|
||||
<id>bungeecord-repo</id>
|
||||
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
|
||||
</repository>
|
||||
|
||||
<!-- Velocity / Paper-->
|
||||
<repository>
|
||||
<id>papermc-repo</id>
|
||||
<url>https://repo.papermc.io/repository/maven-public/</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>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>
|
||||
<!--Kyori MiniMessage
|
||||
|
||||
<!--Kyori MiniMessage-->
|
||||
<repository>
|
||||
<id>sonatype-oss-snapshots1</id>
|
||||
<url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
|
||||
</repository>
|
||||
</repository>-->
|
||||
</repositories>
|
||||
|
||||
|
||||
<dependencies>
|
||||
<!-- Spigot-->
|
||||
<!-- Mojang / Spigot-->
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot-api</artifactId>
|
||||
<version>1.21-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Mojang authlib -->
|
||||
<dependency>
|
||||
<groupId>com.mojang</groupId>
|
||||
<artifactId>authlib</artifactId>
|
||||
<version>1.5.21</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Bungee -->
|
||||
<dependency>
|
||||
<groupId>net.md-5</groupId>
|
||||
<artifactId>bungeecord-api</artifactId>
|
||||
<version>1.21-R0.1-SNAPSHOT</version>
|
||||
<type>jar</type>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.md-5</groupId>
|
||||
<artifactId>bungeecord-api</artifactId>
|
||||
<version>1.21-R0.1-SNAPSHOT</version>
|
||||
<type>javadoc</type>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Velocity -->
|
||||
<dependency>
|
||||
<groupId>com.velocitypowered</groupId>
|
||||
<artifactId>velocity-api</artifactId>
|
||||
<version>3.3.0-SNAPSHOT</version>
|
||||
<version>1.19.2-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- repo.t2code / T2Code -->
|
||||
<dependency>
|
||||
<groupId>net.t2code</groupId>
|
||||
<artifactId>bungee</artifactId>
|
||||
<version>1642</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.t2code</groupId>
|
||||
<artifactId>LuckyBox-API</artifactId>
|
||||
<version>4.2.7</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Vault-->
|
||||
<dependency>
|
||||
<groupId>com.github.MilkBowl</groupId>
|
||||
@ -176,70 +122,30 @@
|
||||
<version>1.7</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- placeholderapi -->
|
||||
<dependency>
|
||||
<groupId>me.clip</groupId>
|
||||
<artifactId>placeholderapi</artifactId>
|
||||
<version>2.11.3</version>
|
||||
<version>2.11.1</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- votingplugin -->
|
||||
<dependency>
|
||||
<groupId>com.bencodez</groupId>
|
||||
<artifactId>votingplugin</artifactId>
|
||||
<version>6.12.1</version>
|
||||
<version>LATEST</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!--Kyori MiniMessage-->
|
||||
<dependency>
|
||||
<groupId>net.kyori</groupId>
|
||||
<artifactId>adventure-text-minimessage</artifactId>
|
||||
<version>4.18.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
<version>4.11.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kyori</groupId>
|
||||
<artifactId>adventure-platform-bukkit</artifactId>
|
||||
<version>4.3.3</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kyori</groupId>
|
||||
<artifactId>adventure-platform-bungeecord</artifactId>
|
||||
<version>4.3.3</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.24</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpmime -->
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpmime</artifactId>
|
||||
<version>4.5.14</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.json</groupId>
|
||||
<artifactId>json</artifactId>
|
||||
<version>20231013</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.yaml</groupId>
|
||||
<artifactId>snakeyaml</artifactId>
|
||||
<version>2.0</version>
|
||||
<scope>provided</scope>
|
||||
<version>4.1.2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
@ -1,100 +0,0 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.bungeePlayers;
|
||||
|
||||
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.md_5.bungee.api.event.PlayerDisconnectEvent;
|
||||
import net.md_5.bungee.api.event.PluginMessageEvent;
|
||||
import net.md_5.bungee.api.event.PostLoginEvent;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
import net.t2code.t2codelib.BUNGEE.api.messages.T2CB_Send;
|
||||
import net.t2code.t2codelib.BUNGEE.system.T2CB_Main;
|
||||
import net.t2code.t2codelib.SPIGOT.api.bungeePlayers.T2C_BngeePlayersEnum;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class T2CB_BungeePlayers implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onJoin(PostLoginEvent e) {
|
||||
sendToSpigotPlayer(e.getPlayer().getName(), T2C_BngeePlayersEnum.JOIN, "");
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onDisconnect(PlayerDisconnectEvent e) {
|
||||
sendToSpigotPlayer(e.getPlayer().getName(), T2C_BngeePlayersEnum.QUIT, "");
|
||||
}
|
||||
|
||||
public static void sendToSpigotPlayer(String name, T2C_BngeePlayersEnum value, String uuid) {
|
||||
switch (value) {
|
||||
case JOIN:
|
||||
case QUIT:
|
||||
sendToSpigotPlayerExecute(name, value, uuid);
|
||||
break;
|
||||
case GIVEALL:
|
||||
StringBuilder input = new StringBuilder();
|
||||
for (ProxiedPlayer player : ProxyServer.getInstance().getPlayers()) {
|
||||
input.append(player.getName()).append(";");
|
||||
}
|
||||
sendToSpigotPlayerExecute(input.toString(), T2C_BngeePlayersEnum.GIVEALL, uuid);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private static void sendToSpigotPlayerExecute(String name, T2C_BngeePlayersEnum value, String uuid) {
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
DataOutputStream output = new DataOutputStream(stream);
|
||||
try {
|
||||
output.writeUTF(value.name());
|
||||
output.writeUTF(name);
|
||||
output.writeUTF(uuid);
|
||||
} catch (IOException e) {
|
||||
Logger.getLogger(e.getMessage());
|
||||
}
|
||||
T2CB_Send.debug(T2CB_Main.getPlugin(), "PluginMessage received channel: "+ T2C_Util.getPluginChannel_ProxyOnlinePlayers());
|
||||
T2CB_Send.debug(T2CB_Main.getPlugin(), "PluginMessage received subChannel: " + value.name());
|
||||
T2CB_Send.debug(T2CB_Main.getPlugin(), "PluginMessage received input: " + name);
|
||||
T2CB_Send.debug(T2CB_Main.getPlugin(), "PluginMessage received input2/uuid: " + uuid);
|
||||
ProxyServer.getInstance().getServers().values().stream().forEach((server) -> {
|
||||
server.sendData(T2C_Util.getPluginChannel_ProxyOnlinePlayers(), stream.toByteArray());
|
||||
});
|
||||
}
|
||||
|
||||
public static void sendToSpigotDeleteAll() {
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
DataOutputStream output = new DataOutputStream(stream);
|
||||
try {
|
||||
output.writeUTF(T2C_BngeePlayersEnum.CLEAR.name());
|
||||
output.writeUTF("");
|
||||
output.writeUTF("");
|
||||
} catch (IOException e) {
|
||||
Logger.getLogger(e.getMessage());
|
||||
}
|
||||
ProxyServer.getInstance().getServers().values().stream().forEach((server) -> {
|
||||
server.sendData(T2C_Util.getPluginChannel_ProxyOnlinePlayers(), stream.toByteArray());
|
||||
});
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPluginMessage(PluginMessageEvent event) {
|
||||
if (event.getTag().equalsIgnoreCase(T2C_Util.getPluginChannel_ProxyOnlinePlayers())) {
|
||||
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(event.getData()));
|
||||
event.setCancelled(true);
|
||||
try {
|
||||
T2C_BngeePlayersEnum subChannel = T2C_BngeePlayersEnum.valueOf(stream.readUTF());
|
||||
String input = stream.readUTF();
|
||||
|
||||
T2CB_Send.debug(T2CB_Main.getPlugin(), "PluginMessage received channel: " + event.getTag());
|
||||
T2CB_Send.debug(T2CB_Main.getPlugin(), "PluginMessage received subChannel: " + subChannel.name());
|
||||
T2CB_Send.debug(T2CB_Main.getPlugin(), "PluginMessage received input/uuid: " + input);
|
||||
|
||||
sendToSpigotPlayer("", subChannel, input);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,88 +0,0 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.commands;
|
||||
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class T2CB_Tab {
|
||||
|
||||
|
||||
public static void tab(List<String> matches, CommandSender sender, int arg, String[] args, String perm, Boolean onlinePlayer) {
|
||||
if (args.length != arg + 1) return;
|
||||
for (ProxiedPlayer player1 : ProxyServer.getInstance().getPlayers()) {
|
||||
if (passend(player1.getName(), args[arg]) && hasPermission(sender, perm)) {
|
||||
matches.add(player1.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void tab(List<String> matches, CommandSender sender, int argEquals, String equalsValue, int arg, String[] args, String perm, Boolean onlinePlayer) {
|
||||
if (args.length != arg + 1) return;
|
||||
if (!args[argEquals].toLowerCase().equals(equalsValue)) return;
|
||||
for (ProxiedPlayer player1 : ProxyServer.getInstance().getPlayers()) {
|
||||
if (passend(player1.getName(), args[arg]) && hasPermission(sender, perm)) {
|
||||
matches.add(player1.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void tab(List<String> matches, CommandSender sender, int arg, String[] args, HashMap<String, String> permMap, Boolean onlinePlayer, String permForPlayer) {
|
||||
if (args.length != arg + 1) return;
|
||||
for (String command : permMap.keySet()) {
|
||||
if (hasPermission(sender, permMap.get(command)) && passend(command, args[arg])) {
|
||||
matches.add(command);
|
||||
} else if (onlinePlayer != null && permForPlayer != null) {
|
||||
tab(matches, sender, arg, args, permForPlayer, onlinePlayer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void tab(List<String> matches, CommandSender sender, int arg, String[] args, HashMap<String, String> permMap) {
|
||||
tab(matches, sender, arg, args, permMap, null, null);
|
||||
}
|
||||
|
||||
public static void tab(List<String> matches, CommandSender sender, int argEquals, String equalsValue, int arg, String[] args, HashMap<String, String> permMap) {
|
||||
if (args.length != arg + 1) return;
|
||||
if (!args[argEquals].toLowerCase().equals(equalsValue)) return;
|
||||
for (String command : permMap.keySet()) {
|
||||
if (hasPermission(sender, permMap.get(command)) && passend(command, args[arg])) {
|
||||
matches.add(command);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static List<String> tab(CommandSender sender, int arg, String[] args, String perm, String command) {
|
||||
List<String> matches = new ArrayList<>();
|
||||
if (hasPermission(sender, perm) && passend(command, args[arg])) {
|
||||
matches.add(command);
|
||||
}
|
||||
return matches;
|
||||
}
|
||||
|
||||
public static Boolean passend(String command, String arg) {
|
||||
for (int i = 0; i < arg.toUpperCase().length(); i++) {
|
||||
if (arg.toUpperCase().length() >= command.toUpperCase().length()) {
|
||||
return false;
|
||||
} else {
|
||||
if (arg.toUpperCase().charAt(i) != command.toUpperCase().charAt(i)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean hasPermission(CommandSender sender, String permission) {
|
||||
String[] Permissions = permission.split(";");
|
||||
for (String perm : Permissions) {
|
||||
if (sender.hasPermission(perm)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
@ -3,7 +3,7 @@ package net.t2code.t2codelib.BUNGEE.api.commands;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
|
||||
public class T2CB_Cmd {
|
||||
public class T2CBcmd {
|
||||
public static void Console(String cmd){
|
||||
ProxyServer.getInstance().getPluginManager().dispatchCommand(ProxyServer.getInstance().getConsole(), cmd);
|
||||
}
|
@ -0,0 +1,65 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.commands;
|
||||
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public class T2CBtab {
|
||||
public static Iterable<String> tab(CommandSender sender, String[] args, String perm,Boolean onlinePlayer){
|
||||
List<String> matches = new ArrayList<>();
|
||||
Iterator var6 = ProxyServer.getInstance().getPlayers().iterator();
|
||||
while (var6.hasNext()) {
|
||||
ProxiedPlayer player1 = (ProxiedPlayer) var6.next();
|
||||
if (passend(player1.getName(), args[0]) && hasPermission(sender, perm)){
|
||||
matches.add(player1.getName());
|
||||
}
|
||||
}
|
||||
return matches;
|
||||
}
|
||||
|
||||
public static Iterable<String> tab(CommandSender sender, String[] args, HashMap<String, String> permMap) {
|
||||
List<String> matches = new ArrayList<>();
|
||||
for (String command : permMap.keySet()) {
|
||||
if (hasPermission(sender, permMap.get(command)) && passend(command, args[0])) {
|
||||
matches.add(command);
|
||||
}
|
||||
}
|
||||
return matches;
|
||||
}
|
||||
|
||||
public static Iterable<String> tab(CommandSender sender, String[] args, String perm, String command) {
|
||||
List<String> matches = new ArrayList<>();
|
||||
if (hasPermission(sender, perm) && passend(command, args[0])) {
|
||||
matches.add(command);
|
||||
}
|
||||
return matches;
|
||||
}
|
||||
|
||||
public static Boolean passend(String command, String arg) {
|
||||
for (int i = 0; i < arg.toUpperCase().length(); i++) {
|
||||
if (arg.toUpperCase().length() >= command.toUpperCase().length()) {
|
||||
return false;
|
||||
} else {
|
||||
if (arg.toUpperCase().charAt(i) != command.toUpperCase().charAt(i)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean hasPermission(CommandSender sender, String permission) {
|
||||
String[] Permissions = permission.split(";");
|
||||
for (String perm : Permissions) {
|
||||
if (sender.hasPermission(perm)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.messages;
|
||||
|
||||
|
||||
import net.kyori.adventure.platform.bungeecord.BungeeAudiences;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.t2code.t2codelib.BUNGEE.system.T2CB_Main;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Replace;
|
||||
|
||||
public class T2CB_MiniMessage {
|
||||
private static final BungeeAudiences bungeeAudiences = T2CB_Main.getAdventure();
|
||||
|
||||
public static void sendSenderMiniMessage(String msg, CommandSender sender) {
|
||||
bungeeAudiences.sender(sender).sendMessage(replace(msg));
|
||||
}
|
||||
|
||||
public static void sendConsoleMiniMessage(String msg) {
|
||||
bungeeAudiences.console().sendMessage(replace(msg));
|
||||
}
|
||||
|
||||
public static void sendPlayerMiniMessage(String msg, ProxiedPlayer player) {
|
||||
bungeeAudiences.player(player).sendMessage(replace(msg));
|
||||
}
|
||||
|
||||
protected static Component replace(String text) {
|
||||
return MiniMessage.miniMessage().deserialize(T2C_Replace.convertColorCode(text));
|
||||
}
|
||||
|
||||
public static String removeMiniMessageCodes(String text){
|
||||
return MiniMessage.miniMessage().stripTags(text);
|
||||
}
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.messages;
|
||||
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.t2code.t2codelib.BUNGEE.api.update.T2CB_UpdateAPI;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateWebData;
|
||||
|
||||
public class T2CB_Template {
|
||||
|
||||
|
||||
public static Long onLoadHeader(String prefix, String autor, String version, String spigot, String discord) {
|
||||
Long long_ = Long.valueOf(System.currentTimeMillis());
|
||||
T2CB_Send.console(prefix + "§4============================= " + prefix + " §4=============================");
|
||||
T2CB_Send.console(prefix + " §2Autor: §6" + autor.replace("[", "").replace("]", ""));
|
||||
T2CB_Send.console(prefix + " §2Version: §6" + version);
|
||||
T2CB_Send.console(prefix + " §2Spigot: §6" + spigot);
|
||||
T2CB_Send.console(prefix + " §2Discord: §6" + discord);
|
||||
T2CB_Send.console(prefix + " §8-------------------------------");
|
||||
return long_;
|
||||
}
|
||||
|
||||
public static void onLoadSeparateStroke(String prefix) {
|
||||
T2CB_Send.console(prefix + " §8-------------------------------");
|
||||
}
|
||||
|
||||
public static void onLoadFooter(String prefix, Long long_) {
|
||||
T2CB_Send.console(prefix + " §8-------------------------------");
|
||||
T2CB_Send.console(prefix + " §2Plugin loaded successfully." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
|
||||
T2CB_Send.console(prefix + "§4============================= " + prefix + " §4=============================");
|
||||
}
|
||||
|
||||
public static void onDisable(String prefix, String autor, String version, String spigot, String discord) {
|
||||
T2CB_Send.console(prefix + "§4============================= " + prefix + " §4=============================");
|
||||
T2CB_Send.console(prefix + " §2Autor: §6" + autor.replace("[", "").replace("]", ""));
|
||||
T2CB_Send.console(prefix + " §2Version: §6" + version);
|
||||
T2CB_Send.console(prefix + " §2Spigot: §6" + spigot);
|
||||
T2CB_Send.console(prefix + " §2Discord: §6" + discord);
|
||||
T2CB_Send.console(prefix + " §4Plugin successfully disabled.");
|
||||
T2CB_Send.console(prefix + "§4============================= " + prefix + " §4=============================");
|
||||
}
|
||||
|
||||
public static void sendInfo(CommandSender sender, Plugin plugin, String prefix, String spigot, String discord, String autor) {
|
||||
T2C_UpdateWebData webData = T2CB_UpdateAPI.bungeePluginVersins.get(plugin.getDescription().getName()).webData;
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
T2CB_Send.sender(sender, prefix + "§4======= " + prefix + " §4=======");
|
||||
T2CB_Send.sender(sender, prefix + " §2Autor: §6" + autor);
|
||||
if (webData.getVersion().equalsIgnoreCase(pluginVersion)) {
|
||||
T2CB_Send.sender(sender, prefix + " §2Version: §6" + pluginVersion);
|
||||
} else {
|
||||
T2CB_UpdateAPI.sendUpdateMsg(prefix, discord, webData, plugin, sender);
|
||||
}
|
||||
T2CB_Send.sender(sender, prefix + " §2Spigot: §6" + spigot);
|
||||
T2CB_Send.sender(sender, prefix + " §2Discord: §6" + discord);
|
||||
T2CB_Send.sender(sender, prefix + "§4======= " + prefix + " §4=======");
|
||||
}
|
||||
}
|
@ -3,7 +3,7 @@ package net.t2code.t2codelib.BUNGEE.api.messages;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class T2CB_Replace {
|
||||
public class T2CBreplace {
|
||||
|
||||
public static String replace(String prefix, String Text) {
|
||||
return Text.replace("[prefix]", prefix).replace("&", "§").replace("[ue]", "ü")
|
@ -5,21 +5,16 @@ import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.Title;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.t2code.t2codelib.BUNGEE.system.T2CB_Main;
|
||||
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class T2CB_Send {
|
||||
public class T2CBsend {
|
||||
public static void console(String msg) {
|
||||
if (T2CB_Main.getMmIsLoad() && T2CB_Main.getMmIsLoad()) {
|
||||
T2CB_MiniMessage.sendConsoleMiniMessage(msg);
|
||||
} else ProxyServer.getInstance().getConsole().sendMessage(msg);
|
||||
ProxyServer.getInstance().getConsole().sendMessage(msg);
|
||||
}
|
||||
|
||||
public static void player(ProxiedPlayer player, String msg) {
|
||||
if (T2CB_Main.getMmIsLoad()&& T2CB_Main.getMmIsLoad()) {
|
||||
T2CB_MiniMessage.sendPlayerMiniMessage(msg, player);
|
||||
} else player.sendMessage(msg);
|
||||
player.sendMessage(msg);
|
||||
}
|
||||
|
||||
public static void title(ProxiedPlayer player, Title msg) {
|
||||
@ -27,9 +22,7 @@ public class T2CB_Send {
|
||||
}
|
||||
|
||||
public static void sender(CommandSender sender, String msg) {
|
||||
if (T2CB_Main.getMmIsLoad()&& T2CB_Main.getMmIsLoad()) {
|
||||
T2CB_MiniMessage.sendSenderMiniMessage(msg, sender);
|
||||
} else sender.sendMessage(msg);
|
||||
sender.sendMessage(msg);
|
||||
}
|
||||
|
||||
public static void debug(Plugin plugin, String msg) {
|
||||
@ -38,13 +31,13 @@ public class T2CB_Send {
|
||||
|
||||
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")) {
|
||||
if (stage == null) {
|
||||
//todo if (plugin.getConfig().getBoolean("Plugin.Debug")){
|
||||
// ProxyServer.getInstance().getConsole().sendMessage(plugin.getDescription().getName() + " §5DEBUG: §6" + msg);
|
||||
// }
|
||||
// return;
|
||||
//}
|
||||
//if (plugin.getConfig().getInt("Plugin.Debug") >= stage) {
|
||||
return;
|
||||
}
|
||||
// todo if (plugin.getConfig().getInt("Plugin.Debug") >= stage) {
|
||||
// ProxyServer.getInstance().getConsole().sendMessage(plugin.getDescription().getName() + " §5DEBUG: §6" + msg);
|
||||
// }
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.messages;
|
||||
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.t2code.t2codelib.BUNGEE.api.update.T2CBupdateAPI;
|
||||
|
||||
public class T2CBtemplate {
|
||||
|
||||
|
||||
public static Long onLoadHeader(String prefix, String autor, String version, String spigot, String discord) {
|
||||
Long long_ = Long.valueOf(System.currentTimeMillis());
|
||||
T2CBsend.console(prefix + "§4============================= " + prefix + " §4=============================");
|
||||
T2CBsend.console(prefix + " §2Autor: §6" + autor.replace("[", "").replace("]", ""));
|
||||
T2CBsend.console(prefix + " §2Version: §6" + version);
|
||||
T2CBsend.console(prefix + " §2Spigot: §6" + spigot);
|
||||
T2CBsend.console(prefix + " §2Discord: §6" + discord);
|
||||
T2CBsend.console(prefix + " §8-------------------------------");
|
||||
return long_;
|
||||
}
|
||||
|
||||
public static void onLoadSeparateStroke(String prefix) {
|
||||
T2CBsend.console(prefix + " §8-------------------------------");
|
||||
}
|
||||
|
||||
public static void onLoadFooter(String prefix, Long long_) {
|
||||
T2CBsend.console(prefix + " §8-------------------------------");
|
||||
T2CBsend.console(prefix + " §2Plugin loaded successfully." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
|
||||
T2CBsend.console(prefix + "§4============================= " + prefix + " §4=============================");
|
||||
}
|
||||
|
||||
public static void onDisable(String prefix, String autor, String version, String spigot, String discord) {
|
||||
T2CBsend.console(prefix + "§4============================= " + prefix + " §4=============================");
|
||||
T2CBsend.console(prefix + " §2Autor: §6" + autor.replace("[", "").replace("]", ""));
|
||||
T2CBsend.console(prefix + " §2Version: §6" + version);
|
||||
T2CBsend.console(prefix + " §2Spigot: §6" + spigot);
|
||||
T2CBsend.console(prefix + " §2Discord: §6" + discord);
|
||||
T2CBsend.console(prefix + " §4Plugin successfully disabled.");
|
||||
T2CBsend.console(prefix + "§4============================= " + prefix + " §4=============================");
|
||||
}
|
||||
|
||||
public static void sendInfo(CommandSender sender, Plugin plugin, String prefix, String spigot, String discord, String autor) {
|
||||
String publicVersion = T2CBupdateAPI.bungeePluginVersins.get(plugin.getDescription().getName()).publicVersion;
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
T2CBsend.sender(sender, prefix + "§4======= " + prefix + " §4=======");
|
||||
T2CBsend.sender(sender, prefix + " §2Autor: §6" + autor);
|
||||
if (publicVersion.equalsIgnoreCase(pluginVersion)) {
|
||||
T2CBsend.sender(sender, prefix + " §2Version: §6" + pluginVersion);
|
||||
} else {
|
||||
T2CBupdateAPI.sendUpdateMsg(prefix, spigot, discord, pluginVersion, publicVersion, sender);
|
||||
}
|
||||
T2CBsend.sender(sender, prefix + " §2Spigot: §6" + spigot);
|
||||
T2CBsend.sender(sender, prefix + " §2Discord: §6" + discord);
|
||||
T2CBsend.sender(sender, prefix + "§4======= " + prefix + " §4=======");
|
||||
}
|
||||
}
|
@ -2,11 +2,11 @@ package net.t2code.t2codelib.BUNGEE.api.plugins;
|
||||
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.t2code.t2codelib.BUNGEE.system.T2CB_Main;
|
||||
import net.t2code.t2codelib.BUNGEE.system.T2CodeBMain;
|
||||
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class T2CB_PluginCheck {
|
||||
public class T2CBpluginCheck {
|
||||
public static Boolean pluginCheck(String pluginName){
|
||||
return (ProxyServer.getInstance().getPluginManager().getPlugin(pluginName) != null);
|
||||
}
|
||||
@ -70,7 +70,7 @@ public class T2CB_PluginCheck {
|
||||
plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!");
|
||||
ProxyServer.getInstance().getConsole().sendMessage(prefix + " §e" + pl + " §4could not be found. Please download it here: " +
|
||||
"§6https://spigotmc.org/resources/" + pl + "." + spigotID + " §4to be able to use this plugin.");
|
||||
T2CB_Main.getPlugin().getProxy().getPluginManager().getPlugin(plugin.getDescription().getName()).onDisable();
|
||||
T2CodeBMain.getPlugin().getProxy().getPluginManager().getPlugin(plugin.getDescription().getName()).onDisable();
|
||||
return true;
|
||||
} else return false;
|
||||
}
|
@ -1,80 +0,0 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.update;
|
||||
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.t2code.t2codelib.BUNGEE.api.messages.T2CB_Send;
|
||||
import net.t2code.t2codelib.BUNGEE.system.config.T2CB_LibConfig;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateObject;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateWebData;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateType;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class T2CB_UpdateAPI {
|
||||
public static HashMap<String, T2C_UpdateObject> bungeePluginVersins = new HashMap<>();
|
||||
|
||||
public static void sendUpdateMsg(String prefix, String discord, T2C_UpdateWebData webData, Plugin plugin, CommandSender sender) {
|
||||
String publicVersion = webData.getVersion();
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
String value;
|
||||
if (webData.isPreRelease()) {
|
||||
value = T2C_UpdateType.PRERELEASE.text;
|
||||
if (publicVersion.toLowerCase().contains("dev")) {
|
||||
value = T2C_UpdateType.DEVELOPMENT.text;
|
||||
}
|
||||
if (publicVersion.toLowerCase().contains("beta")) {
|
||||
value = T2C_UpdateType.BETA.text;
|
||||
}
|
||||
if (publicVersion.toLowerCase().contains("snapshot")) {
|
||||
value = T2C_UpdateType.SNAPSHOT.text;
|
||||
}
|
||||
} else value = T2C_UpdateType.STABLE.text;
|
||||
String h = "<br><dark_red>╔══════════════</dark_red>" + prefix + "<dark_red>══════════════</dark_red>";
|
||||
String s1 = "<br><dark_red>║</dark_red> <gold>A new [value] version was found!</gold>".replace("[value]", value);
|
||||
String s2 = "<br><dark_red>║</dark_red> <gold>Your version: <red>" + pluginVersion + "</red> <gray>-</gray> Current version:</gold> <green>" + webData.getVersion() + "</green>";
|
||||
String s3 = "<br><dark_red>║</dark_red> <gold>You can download it here:</gold> <yellow>" + webData.getUpdateUrl() + "</yellow>";
|
||||
String s4 = "<br><dark_red>║</dark_red> <gold>You can find more information on Discord:</gold> <yellow>" + discord + "</yellow>";
|
||||
String f = "<br><dark_red>╚══════════════</dark_red>" + prefix + "<dark_red>══════════════</dark_red>";
|
||||
String text = h + s1 + s2 + s3 + s4 + f;
|
||||
if (sender == null) {
|
||||
T2CB_Send.console(text);
|
||||
} else T2CB_Send.sender(sender, text);
|
||||
|
||||
}
|
||||
|
||||
private static Boolean noUpdate = true;
|
||||
private static String pluginVersion;
|
||||
|
||||
public static void onUpdateCheckTimer(Plugin plugin, String prefix, String discord, Integer spigotID, String url) {
|
||||
if ((int) T2CB_LibConfig.VALUES.updateTimer.getValue() < 1) {
|
||||
T2CB_LibConfig.VALUES.updateTimer.setValue(1);
|
||||
}
|
||||
ProxyServer.getInstance().getScheduler().schedule(plugin, new Runnable() {
|
||||
public void run() {
|
||||
(new T2CB_UpdateCheckerGit(plugin)).getVersion((webData) -> {
|
||||
pluginVersion = plugin.getDescription().getVersion();
|
||||
T2C_UpdateObject update = new T2C_UpdateObject(
|
||||
plugin.getDescription().getName(),
|
||||
plugin.getDescription().getVersion(),
|
||||
webData,
|
||||
false,
|
||||
!plugin.getDescription().getVersion().equals(webData.getVersion()),
|
||||
true
|
||||
);
|
||||
bungeePluginVersins.put(plugin.getDescription().getName(), update);
|
||||
if (!pluginVersion.replace("_Bungee", "").equalsIgnoreCase(webData.getVersion())) {
|
||||
sendUpdateMsg(prefix, discord, webData, plugin, null);
|
||||
noUpdate = true;
|
||||
} else {
|
||||
if (noUpdate) {
|
||||
T2CB_Send.console(prefix + " §2No update found.");
|
||||
noUpdate = false;
|
||||
}
|
||||
}
|
||||
}, pluginVersion, spigotID, url);
|
||||
}
|
||||
}, 0, (int) T2CB_LibConfig.VALUES.updateTimer.getValue() * 60 * 20L, TimeUnit.SECONDS);
|
||||
}
|
||||
}
|
@ -1,98 +0,0 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.update;
|
||||
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.t2code.t2codelib.BUNGEE.system.config.T2CB_LibConfig;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateObject;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateWebData;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class T2CB_UpdateCheckerGit {
|
||||
private Plugin plugin;
|
||||
|
||||
|
||||
public T2CB_UpdateCheckerGit(Plugin plugin) {
|
||||
this.plugin = plugin;
|
||||
|
||||
}
|
||||
|
||||
public void getVersion(Consumer<T2C_UpdateWebData> consumer, String pluginVersion, Integer spigotID, String gitKey) {
|
||||
String RepoURL = "https://git.t2code.net/api/v1/repos/" + gitKey + "/releases?limit=1";
|
||||
if (!(boolean) T2CB_LibConfig.VALUES.seePreReleaseUpdates.getValue() ) {
|
||||
RepoURL = RepoURL + "&pre-release=false";
|
||||
}
|
||||
String finalRepoURL = RepoURL;
|
||||
ProxyServer.getInstance().getScheduler().runAsync(this.plugin, () -> {
|
||||
try {
|
||||
URL url = new URL(finalRepoURL);
|
||||
URLConnection yc = url.openConnection();
|
||||
BufferedReader in = new BufferedReader(
|
||||
new InputStreamReader(
|
||||
yc.getInputStream()));
|
||||
String inputLine;
|
||||
String data = "";
|
||||
while ((inputLine = in.readLine()) != null)
|
||||
data = inputLine;
|
||||
in.close();
|
||||
data = data.substring(1, data.length() - 1);
|
||||
if (data.isEmpty()) {
|
||||
consumer.accept(null);
|
||||
return;
|
||||
}
|
||||
JSONObject obj = new JSONObject(data);
|
||||
String updateTitle = obj.getString("name");
|
||||
String version = obj.getString("tag_name");
|
||||
String updateDescription = obj.getString("body").replace("\n", "<br>").replace("\r", "").replace("'", "''");
|
||||
String updateUrl = obj.getString("html_url");
|
||||
boolean preRelease = obj.getBoolean("prerelease");
|
||||
|
||||
String date = obj.getString("published_at");
|
||||
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
|
||||
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a");
|
||||
Date parsedDate = inputFormat.parse(date);
|
||||
String publishedAt = outputFormat.format(parsedDate);
|
||||
|
||||
JSONArray downloadArray = obj.getJSONArray("assets");
|
||||
String gitURL = updateUrl;
|
||||
String downloadURL;
|
||||
if (downloadArray.isEmpty()) {
|
||||
downloadURL = "https://www.spigotmc.org/resources/" + spigotID;
|
||||
} else {
|
||||
downloadURL = downloadArray.getJSONObject(0).getString("browser_download_url");
|
||||
}
|
||||
|
||||
if (!preRelease) {
|
||||
downloadURL = "https://www.spigotmc.org/resources/" + spigotID;
|
||||
updateUrl = "https://www.spigotmc.org/resources/" + spigotID;
|
||||
}
|
||||
|
||||
T2C_UpdateWebData webData = new T2C_UpdateWebData(updateTitle, version, updateDescription, updateUrl, publishedAt, downloadURL, gitURL, preRelease);
|
||||
consumer.accept(webData);
|
||||
} catch (Exception var10) {
|
||||
Boolean load = false;
|
||||
if (T2CB_UpdateAPI.bungeePluginVersins.containsKey(plugin.getDescription().getName())) {
|
||||
load = T2CB_UpdateAPI.bungeePluginVersins.get(plugin.getDescription().getName()).load;
|
||||
}
|
||||
T2C_UpdateObject update = new T2C_UpdateObject(
|
||||
plugin.getDescription().getName(),
|
||||
pluginVersion,
|
||||
null,
|
||||
load,
|
||||
false,
|
||||
true
|
||||
);
|
||||
T2CB_UpdateAPI.bungeePluginVersins.put(plugin.getDescription().getName(), update);
|
||||
this.plugin.getLogger().severe("§4 Cannot look for updates: " + var10.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@ -0,0 +1,113 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.update;
|
||||
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.t2code.t2codelib.BUNGEE.api.messages.T2CBsend;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.util.HashMap;
|
||||
import java.util.Scanner;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class T2CBupdateAPI {
|
||||
public static HashMap<String, T2CBupdateObject> bungeePluginVersins = new HashMap<String, T2CBupdateObject>();
|
||||
|
||||
public static void sendUpdateMsg(String Prefix, String Spigot, String Discord, String foundVersion, String update_version) {
|
||||
T2CBsend.console("§4=========== " + Prefix + " §4===========");
|
||||
T2CBsend.console("§6A new version was found!");
|
||||
T2CBsend.console("§6Your version: §c" + foundVersion + " §7- §6Current version: §a" + update_version);
|
||||
T2CBsend.console("§6You can download it here: §e" + Spigot);
|
||||
T2CBsend.console("§6You can find more information on Discord: §e" + Discord);
|
||||
T2CBsend.console("§4=========== " + Prefix + " §4===========");
|
||||
}
|
||||
public static void sendUpdateMsg(String Prefix, String Spigot, String Discord, String foundVersion, String update_version, CommandSender sender) {
|
||||
T2CBsend.sender(sender,"§4=========== " + Prefix + " §4===========");
|
||||
T2CBsend.sender(sender,"§6A new version was found!");
|
||||
T2CBsend.sender(sender,"§6Your version: §c" + foundVersion + " §7- §6Current version: §a" + update_version);
|
||||
T2CBsend.sender(sender,"§6You can download it here: §e" + Spigot);
|
||||
T2CBsend.sender(sender,"§6You can find more information on Discord: §e" + Discord);
|
||||
T2CBsend.sender(sender,"§4=========== " + Prefix + " §4===========");
|
||||
}
|
||||
private static Boolean noUpdate = true;
|
||||
private static String pluginVersion;
|
||||
public static void onUpdateCheckTimer(Plugin plugin, String Prefix, String Spigot, String Discord, Integer SpigotID) {
|
||||
ProxyServer.getInstance().getScheduler().schedule(plugin, new Runnable() {
|
||||
public void run() {
|
||||
(new T2CBupdateAPI(plugin, SpigotID)).getVersion((update_version) -> {
|
||||
pluginVersion = plugin.getDescription().getVersion();
|
||||
T2CBupdateObject update = new T2CBupdateObject(
|
||||
plugin.getDescription().getName(),
|
||||
pluginVersion,
|
||||
update_version
|
||||
);
|
||||
bungeePluginVersins.put(plugin.getDescription().getName(), update);
|
||||
if (!pluginVersion.replace("_Bungee", "").equalsIgnoreCase(update_version)) {
|
||||
sendUpdateMsg(Prefix, Spigot, Discord, pluginVersion, update_version);
|
||||
noUpdate = true;
|
||||
} else {
|
||||
if (noUpdate) {
|
||||
T2CBsend.console(Prefix + " §2No update found.");
|
||||
noUpdate = false;
|
||||
}
|
||||
}
|
||||
},Prefix, pluginVersion);
|
||||
}
|
||||
}, 0, 20 * 60 * 60L, TimeUnit.SECONDS);
|
||||
}
|
||||
private Plugin plugin;
|
||||
private int resourceId;
|
||||
|
||||
public T2CBupdateAPI(Plugin plugin, int resourceId) {
|
||||
this.plugin = plugin;
|
||||
this.resourceId = resourceId;
|
||||
}
|
||||
|
||||
public void getVersion(Consumer<String> consumer, String Prefix, String pluginVersion) {
|
||||
ProxyServer.getInstance().getScheduler().runAsync(this.plugin, () -> {
|
||||
try {
|
||||
InputStream inputStream = (new URL("https://api.spigotmc.org/legacy/update.php?resource=" + this.resourceId)).openStream();
|
||||
try {
|
||||
Scanner scanner = new Scanner(inputStream);
|
||||
|
||||
try {
|
||||
if (scanner.hasNext()) {
|
||||
consumer.accept(scanner.next());
|
||||
}
|
||||
} catch (Throwable var8) {
|
||||
try {
|
||||
scanner.close();
|
||||
} catch (Throwable var7) {
|
||||
var8.addSuppressed(var7);
|
||||
}
|
||||
throw var8;
|
||||
}
|
||||
scanner.close();
|
||||
} catch (Throwable var9) {
|
||||
if (inputStream != null) {
|
||||
try {
|
||||
inputStream.close();
|
||||
} catch (Throwable var6) {
|
||||
var9.addSuppressed(var6);
|
||||
}
|
||||
}
|
||||
throw var9;
|
||||
}
|
||||
if (inputStream != null) {
|
||||
inputStream.close();
|
||||
}
|
||||
} catch (IOException var10) {
|
||||
T2CBupdateObject update = new T2CBupdateObject(
|
||||
plugin.getDescription().getName(),
|
||||
pluginVersion,
|
||||
"§4No public version found!"
|
||||
);
|
||||
bungeePluginVersins.put(plugin.getDescription().getName(), update);
|
||||
this.plugin.getLogger().severe(Prefix + "§4 Cannot look for updates: " + var10.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.update;
|
||||
|
||||
public class T2CBupdateObject {
|
||||
public String pluginName;
|
||||
public String pluginVersion;
|
||||
public String publicVersion;
|
||||
public T2CBupdateObject(String pluginName, String pluginVersion, String publicVersion){
|
||||
this.pluginName = pluginName;
|
||||
this.pluginVersion = pluginVersion;
|
||||
this.publicVersion = publicVersion;
|
||||
}
|
||||
}
|
@ -1,132 +0,0 @@
|
||||
// This class was created by JaTiTV.
|
||||
|
||||
package net.t2code.t2codelib.BUNGEE.api.yaml;
|
||||
|
||||
import net.md_5.bungee.config.ConfigurationProvider;
|
||||
import net.md_5.bungee.config.YamlConfiguration;
|
||||
import net.t2code.t2codelib.util.T2C_ConfigItem;
|
||||
import net.md_5.bungee.config.Configuration;
|
||||
import net.t2code.t2codelib.util.T2C_LanguageEnum;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class T2CB_ConfigWriter {
|
||||
|
||||
private static Configuration config;
|
||||
|
||||
|
||||
public static void createConfig(File configFile, T2C_ConfigItem[] values, String... header) {
|
||||
boolean exist = configFile.exists();
|
||||
if (!exist) {
|
||||
configFile.getParentFile().mkdirs();
|
||||
try {
|
||||
configFile.createNewFile();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(configFile);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
Map<String, List<String>> comments = new LinkedHashMap<>();
|
||||
|
||||
T2C_LanguageEnum lang = T2C_LanguageEnum.english;
|
||||
|
||||
for (T2C_ConfigItem item : values) {
|
||||
if (item.getForceSet() || !exist) {
|
||||
if (!config.contains(item.getPath())) {
|
||||
config.set(item.getPath(), item.getValue());
|
||||
}
|
||||
List<String> commandList = item.getComments().get(lang);
|
||||
if (commandList != null) {
|
||||
comments.put(item.getPath(), commandList);
|
||||
}
|
||||
}
|
||||
}
|
||||
saveConfigWithComments(configFile, comments, header);
|
||||
readConfig(config, values);
|
||||
}
|
||||
|
||||
private static void readConfig(Configuration config, T2C_ConfigItem[] values) {
|
||||
for (T2C_ConfigItem item : values) {
|
||||
item.setValue(config.get(item.getPath()));
|
||||
}
|
||||
}
|
||||
|
||||
private static void saveConfigWithComments(File file, Map<String, List<String>> comments, String... headers) {
|
||||
try {
|
||||
StringBuilder configContent = new StringBuilder();
|
||||
for (String h : headers) {
|
||||
configContent.append("# ").append(h).append("\n");
|
||||
}
|
||||
configContent.append("\n");
|
||||
addSection(config, comments, configContent, "", 0);
|
||||
|
||||
// Write the content to the file
|
||||
Files.write(file.toPath(), configContent.toString().getBytes());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static void addSection(Configuration section, Map<String, List<String>> comments, StringBuilder builder, String prefix, int indentLevel) {
|
||||
String indent = " ".repeat(indentLevel);
|
||||
|
||||
for (String key : section.getKeys()) {
|
||||
String fullKey = prefix.isEmpty() ? key : prefix + "." + key;
|
||||
Object value = section.get(key);
|
||||
|
||||
// Add comment if it exists for this key
|
||||
List<String> commentList = comments.get(fullKey);
|
||||
if (commentList != null) {
|
||||
for (String c : commentList) {
|
||||
if (c.isEmpty()) {
|
||||
builder.append(indent).append(c).append("\n");
|
||||
} else builder.append(indent).append("# ").append(c).append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
// Check if the value is a section (nested map)
|
||||
|
||||
if (value instanceof Configuration) {
|
||||
// Correctly add the section
|
||||
builder.append(indent).append(key).append(":\n");
|
||||
addSection((Configuration) value, comments, builder, fullKey, indentLevel + 1);
|
||||
} else {
|
||||
// Add value with proper indentation
|
||||
// builder.append(indent).append(key).append(": ").append(value).append("\n");
|
||||
if (value instanceof List) {
|
||||
List<?> list = (List<?>) value;
|
||||
if (list.size() == 1){
|
||||
for (Object s : list) {
|
||||
if (s instanceof String) {
|
||||
builder.append(indent).append(key).append(": \"").append(value).append("\"\n");
|
||||
} else builder.append(indent).append(key).append(": ").append(value).append("\n");
|
||||
}
|
||||
} else {
|
||||
builder.append(indent).append(key).append(": ").append("\n");
|
||||
for (Object s : list) {
|
||||
if (s instanceof String) {
|
||||
builder.append(indent).append("- \"").append(s).append("\"\n");
|
||||
} else builder.append(indent).append("- ").append(s).append("\n");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (value instanceof String) {
|
||||
builder.append(indent).append(key).append(": \"").append(value).append("\"\n");
|
||||
} else builder.append(indent).append(key).append(": ").append(value).append("\n");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.yaml;
|
||||
|
||||
import net.md_5.bungee.config.Configuration;
|
||||
import net.t2code.t2codelib.BUNGEE.api.messages.T2CB_Replace;
|
||||
import net.t2code.t2codelib.BUNGEE.api.messages.T2CBreplace;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class T2CB_Config {
|
||||
public class T2CBconfig {
|
||||
public static void set(String path, String value, Configuration configuration) {
|
||||
if (!configuration.contains(path)) {
|
||||
configuration.set(path, value);
|
||||
@ -43,7 +43,7 @@ public class T2CB_Config {
|
||||
|
||||
|
||||
public static String select(String prefix, String path, Configuration configuration) {
|
||||
return T2CB_Replace.replace(prefix, configuration.getString(path));
|
||||
return T2CBreplace.replace(prefix, configuration.getString(path));
|
||||
}
|
||||
|
||||
|
||||
@ -69,7 +69,7 @@ public class T2CB_Config {
|
||||
List<String> output = new ArrayList<>();
|
||||
List<String> input = configuration.getStringList(path);
|
||||
for (String st : input) {
|
||||
output.add(T2CB_Replace.replace(prefix, st));
|
||||
output.add(T2CBreplace.replace(prefix, st));
|
||||
}
|
||||
return output;
|
||||
}
|
||||
@ -78,7 +78,7 @@ public class T2CB_Config {
|
||||
List<String> output = new ArrayList<>();
|
||||
List<String> input = configuration.getStringList(path);
|
||||
for (String st : input) {
|
||||
output.add(T2CB_Replace.replace(prefix, st));
|
||||
output.add(T2CBreplace.replace(prefix, st));
|
||||
}
|
||||
value = output;
|
||||
}
|
@ -1,117 +0,0 @@
|
||||
package net.t2code.t2codelib.BUNGEE.system;
|
||||
|
||||
import lombok.Getter;
|
||||
import net.kyori.adventure.platform.bungeecord.BungeeAudiences;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.t2code.t2codelib.BUNGEE.api.messages.T2CB_Send;
|
||||
import net.t2code.t2codelib.BUNGEE.api.bungeePlayers.T2CB_BungeePlayers;
|
||||
import net.t2code.t2codelib.BUNGEE.api.pluginMessaging.T2CB_PluginMessageProxyCommand;
|
||||
import net.t2code.t2codelib.BUNGEE.api.pluginMessaging.autoResponse.T2CB_API_AutoResponse;
|
||||
import net.t2code.t2codelib.BUNGEE.api.pluginMessaging.commandgui.T2CB_API_CGUI;
|
||||
import net.t2code.t2codelib.BUNGEE.api.pluginMessaging.opSecurity.T2CB_API_OpSecurity;
|
||||
import net.t2code.t2codelib.BUNGEE.api.update.T2CB_UpdateAPI;
|
||||
import net.t2code.t2codelib.BUNGEE.system.bstats.T2CB_Metrics;
|
||||
import net.t2code.t2codelib.BUNGEE.system.config.T2CB_LibConfig;
|
||||
import net.t2code.t2codelib.util.T2C_PlatformDetector;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
|
||||
public class T2CB_Main extends Plugin {
|
||||
|
||||
@Getter
|
||||
private static Plugin plugin;
|
||||
|
||||
private static String version;
|
||||
private static String orgVersion;
|
||||
private static String autor;
|
||||
|
||||
private static Boolean mmIsLoad = true;
|
||||
private static BungeeAudiences adventure;
|
||||
|
||||
public static BungeeAudiences getAdventure() {
|
||||
T2C_PlatformDetector.scan();
|
||||
if (adventure == null) {
|
||||
throw new IllegalStateException("Cannot retrieve audience provider while plugin is not enabled");
|
||||
}
|
||||
return adventure;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
// Plugin startup logic
|
||||
plugin = this;
|
||||
orgVersion = plugin.getDescription().getVersion();
|
||||
autor = plugin.getDescription().getAuthor();
|
||||
try {
|
||||
adventure = BungeeAudiences.create(this);
|
||||
T2CB_Send.info(this, "Adventure load!");
|
||||
} catch (Exception e) {
|
||||
T2CB_Send.error(this, "Adventure can not be load!");
|
||||
mmIsLoad = false;
|
||||
}
|
||||
onLoad(T2C_Util.getPrefix(), autor, orgVersion, T2C_Util.getSpigot(), T2C_Util.getDiscord(), T2C_Util.getSpigotID(), T2C_Util.getBstatsID(), T2C_Util.getGit());
|
||||
version = plugin.getDescription().getVersion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
// Plugin shutdown logic
|
||||
T2CB_BungeePlayers.sendToSpigotDeleteAll();
|
||||
if (mmIsLoad) {
|
||||
if (adventure != null) {
|
||||
adventure.close();
|
||||
adventure = null;
|
||||
}
|
||||
}
|
||||
T2CB_Send.console(T2C_Util.getPrefix() + "§4============================= " + T2C_Util.getPrefix() + " §4=============================");
|
||||
T2CB_Send.console(T2C_Util.getPrefix() + " §2Autor: §6" + String.valueOf(plugin.getDescription().getAuthor()).replace("[", "").replace("]", ""));
|
||||
T2CB_Send.console(T2C_Util.getPrefix() + " §2Version: §6" + version);
|
||||
T2CB_Send.console(T2C_Util.getPrefix() + " §2Spigot: §6" + T2C_Util.getSpigot());
|
||||
T2CB_Send.console(T2C_Util.getPrefix() + " §2Discord: §6" + T2C_Util.getDiscord());
|
||||
T2CB_Send.console(T2C_Util.getPrefix() + " §4Plugin successfully disabled.");
|
||||
T2CB_Send.console(T2C_Util.getPrefix() + "§4============================= " + T2C_Util.getPrefix() + " §4=============================");
|
||||
}
|
||||
|
||||
public static Boolean getMmIsLoad() {
|
||||
return mmIsLoad;
|
||||
}
|
||||
|
||||
public static void onLoad(String prefix, String autor, String version, String spigot, String discord, Integer spigotID, Integer bstatsID, String url) {
|
||||
long long_ = System.currentTimeMillis();
|
||||
T2CB_Send.console(prefix + "§4============================= " + prefix + " §4=============================");
|
||||
T2CB_Send.console(prefix + " §2Autor: §6" + String.valueOf(autor).replace("[", "").replace("]", ""));
|
||||
T2CB_Send.console(prefix + " §2Version: §6" + version);
|
||||
T2CB_Send.console(prefix + " §2Spigot: §6" + spigot);
|
||||
T2CB_Send.console(prefix + " §2Discord: §6" + discord);
|
||||
|
||||
T2CB_Metrics.bStats(plugin, bstatsID);
|
||||
T2CB_LibConfig.set();
|
||||
|
||||
T2CB_UpdateAPI.onUpdateCheckTimer(plugin, prefix, discord, spigotID, url);
|
||||
|
||||
//API
|
||||
plugin.getProxy().registerChannel(T2C_Util.getPluginChannel_ProxyCommand());
|
||||
plugin.getProxy().getPluginManager().registerListener(plugin, new T2CB_PluginMessageProxyCommand());
|
||||
|
||||
plugin.getProxy().registerChannel(T2C_Util.getPluginChannel_ProxyOnlinePlayers());
|
||||
plugin.getProxy().getPluginManager().registerListener(plugin, new T2CB_BungeePlayers());
|
||||
T2CB_BungeePlayers.sendToSpigotDeleteAll();
|
||||
|
||||
if ((boolean) T2CB_LibConfig.VALUES.apiCommandGUIEnable.getValue()) {
|
||||
plugin.getProxy().registerChannel(T2C_Util.getPluginChannel_CGUIOnlinePlayers());
|
||||
plugin.getProxy().getPluginManager().registerListener(plugin, new T2CB_API_CGUI());
|
||||
T2CB_API_CGUI.sendToSpigotDeleteAll();
|
||||
}
|
||||
if ((boolean) T2CB_LibConfig.VALUES.apiAutoResponse.getValue()) {
|
||||
plugin.getProxy().registerChannel(T2C_Util.getPluginChannel_AutoResponse());
|
||||
plugin.getProxy().getPluginManager().registerListener(plugin, new T2CB_API_AutoResponse());
|
||||
}
|
||||
if ((boolean) T2CB_LibConfig.VALUES.apiOpSecurity.getValue()) {
|
||||
plugin.getProxy().registerChannel(T2C_Util.getPluginChannel_OPSecurity());
|
||||
plugin.getProxy().getPluginManager().registerListener(plugin, new T2CB_API_OpSecurity());
|
||||
}
|
||||
|
||||
T2CB_Send.console(prefix + " §2Plugin loaded successfully." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
T2CB_Send.console(prefix + "§4============================= " + prefix + " §4=============================");
|
||||
}
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
package net.t2code.t2codelib.BUNGEE.system;
|
||||
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.t2code.t2codelib.BUNGEE.api.messages.T2CBsend;
|
||||
import net.t2code.t2codelib.BUNGEE.api.update.T2CBupdateAPI;
|
||||
import net.t2code.t2codelib.BUNGEE.system.bstats.T2CBmetrics;
|
||||
import net.t2code.t2codelib.BUNGEE.system.config.T2CBlibConfig;
|
||||
import net.t2code.t2codelib.BUNGEE.system.pluginMessaging.T2CplmsgBcmd;
|
||||
import net.t2code.t2codelib.BUNGEE.system.pluginMessaging.autoResponse.T2CapiAutoResponse;
|
||||
import net.t2code.t2codelib.BUNGEE.system.pluginMessaging.commandgui.T2CapiCGUI;
|
||||
import net.t2code.t2codelib.BUNGEE.system.pluginMessaging.opSecurity.T2CapiOpSecurity;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class T2CBload {
|
||||
public static void onLoad(Plugin plugin, String prefix, String autor, String version, String spigot, String discord, Integer spigotID, Integer bstatsID) {
|
||||
long long_ = System.currentTimeMillis();
|
||||
T2CBsend.console(prefix + "§4============================= " + prefix + " §4=============================");
|
||||
T2CBsend.console(prefix + " §2Autor: §6" + String.valueOf(autor).replace("[", "").replace("]", ""));
|
||||
T2CBsend.console(prefix + " §2Version: §6" + version);
|
||||
T2CBsend.console(prefix + " §2Spigot: §6" + spigot);
|
||||
T2CBsend.console(prefix + " §2Discord: §6" + discord);
|
||||
|
||||
T2CBmetrics.Bstats(plugin, bstatsID);
|
||||
try {
|
||||
T2CBlibConfig.create();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
try {
|
||||
T2CBlibConfig.select();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
T2CBupdateAPI.onUpdateCheckTimer(plugin, prefix, spigot, discord, spigotID);
|
||||
|
||||
//API
|
||||
plugin.getProxy().registerChannel("t2c:bcmd");
|
||||
plugin.getProxy().getPluginManager().registerListener(plugin, new T2CplmsgBcmd());
|
||||
|
||||
if (T2CBlibConfig.getApiCommandGUIEnable()) {
|
||||
plugin.getProxy().registerChannel("t2c:cgui");
|
||||
plugin.getProxy().getPluginManager().registerListener(plugin, new T2CapiCGUI());
|
||||
T2CapiCGUI.sendToSpigotDeleteAll();
|
||||
}
|
||||
if (T2CBlibConfig.getApiAutoResponse()) {
|
||||
plugin.getProxy().registerChannel("t2c:aresp");
|
||||
plugin.getProxy().getPluginManager().registerListener(plugin, new T2CapiAutoResponse());
|
||||
}
|
||||
if (T2CBlibConfig.getApiAutoResponse()) {
|
||||
plugin.getProxy().registerChannel("t2c:t2c:opsec");
|
||||
plugin.getProxy().getPluginManager().registerListener(plugin, new T2CapiOpSecurity());
|
||||
}
|
||||
|
||||
|
||||
T2CBsend.console(prefix + " §2Plugin loaded successfully." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
T2CBsend.console(prefix + "§4============================= " + prefix + " §4=============================");
|
||||
}
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package net.t2code.t2codelib.BUNGEE.system;
|
||||
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.t2code.t2codelib.BUNGEE.api.messages.T2CBsend;
|
||||
import net.t2code.t2codelib.Util;
|
||||
|
||||
public class T2CodeBMain extends Plugin {
|
||||
|
||||
private static Plugin plugin;
|
||||
|
||||
public static Plugin getPlugin() {
|
||||
return plugin;
|
||||
}
|
||||
|
||||
private static String version;
|
||||
private static String orgVersion;
|
||||
private static String autor;
|
||||
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
// Plugin startup logic
|
||||
plugin = this;
|
||||
orgVersion = plugin.getDescription().getVersion();
|
||||
autor = plugin.getDescription().getAuthor();
|
||||
T2CBload.onLoad(plugin, Util.getPrefix(), autor, orgVersion, Util.getSpigot(), Util.getDiscord(), Util.getSpigotID(), Util.getBstatsID());
|
||||
String[] fv = orgVersion.split("_");
|
||||
plugin.getDescription().setVersion(fv[0]);
|
||||
version = plugin.getDescription().getVersion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
// Plugin shutdown logic
|
||||
T2CBsend.console(Util.getPrefix() + "§4============================= " + Util.getPrefix() + " §4=============================");
|
||||
T2CBsend.console(Util.getPrefix() + " §2Autor: §6" + String.valueOf(plugin.getDescription().getAuthor()).replace("[", "").replace("]", ""));
|
||||
T2CBsend.console(Util.getPrefix() + " §2Version: §6" + version);
|
||||
T2CBsend.console(Util.getPrefix() + " §2Spigot: §6" + Util.getSpigot());
|
||||
T2CBsend.console(Util.getPrefix() + " §2Discord: §6" + Util.getDiscord());
|
||||
T2CBsend.console(Util.getPrefix() + " §4Plugin successfully disabled.");
|
||||
T2CBsend.console(Util.getPrefix() + "§4============================= " + Util.getPrefix() + " §4=============================");
|
||||
}
|
||||
}
|
@ -21,11 +21,11 @@ import java.util.logging.Level;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.zip.GZIPOutputStream;
|
||||
|
||||
public class T2CB_Metrics {
|
||||
public class T2CBmetrics {
|
||||
|
||||
public static void bStats(Plugin plugin, int bstatsID) {
|
||||
public static void Bstats(Plugin plugin, int bstatsID) {
|
||||
int pluginId = bstatsID; // <-- Replace with the id of your plugin!
|
||||
T2CB_Metrics metrics = new T2CB_Metrics(plugin, pluginId);
|
||||
T2CBmetrics metrics = new T2CBmetrics(plugin, pluginId);
|
||||
}
|
||||
|
||||
private final Plugin plugin;
|
||||
@ -49,7 +49,7 @@ public class T2CB_Metrics {
|
||||
* @param serviceId The id of the service. It can be found at <a
|
||||
* href="https://bstats.org/what-is-my-plugin-id">What is my plugin id?</a>
|
||||
*/
|
||||
public T2CB_Metrics(Plugin plugin, int serviceId) {
|
||||
public T2CBmetrics(Plugin plugin, int serviceId) {
|
||||
this.plugin = plugin;
|
||||
try {
|
||||
loadConfig();
|
@ -1,37 +0,0 @@
|
||||
package net.t2code.t2codelib.BUNGEE.system.config;
|
||||
|
||||
import net.md_5.bungee.config.ConfigurationProvider;
|
||||
import net.t2code.t2codelib.BUNGEE.system.T2CB_Main;
|
||||
import net.md_5.bungee.config.Configuration;
|
||||
import net.md_5.bungee.config.YamlConfiguration;
|
||||
import net.t2code.t2codelib.util.T2C_ConfigItem;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
public class ConvertT2CBlibConfig {
|
||||
|
||||
public static Configuration configuration;
|
||||
|
||||
public static void convert() throws IOException {
|
||||
File config = new File(T2CB_Main.getPlugin().getDataFolder(), "config.yml");
|
||||
configuration = ConfigurationProvider.getProvider(YamlConfiguration.class).load(config);
|
||||
|
||||
if (!config.exists()) return;
|
||||
if (configuration.contains("plugin.updateCheck.onJoin")) return;
|
||||
|
||||
set("UpdateCheck.TimerInMin", T2CB_LibConfig.VALUES.updateTimer);
|
||||
set("UpdateCheck.SeePreReleaseUpdates", T2CB_LibConfig.VALUES.seePreReleaseUpdates);
|
||||
set("API.CommandGUI.Enable", T2CB_LibConfig.VALUES.apiCommandGUIEnable);
|
||||
set("API.AutoResponse.Enable", T2CB_LibConfig.VALUES.apiAutoResponse);
|
||||
set("API.OPSecurity.Enable", T2CB_LibConfig.VALUES.apiOpSecurity);
|
||||
|
||||
config.delete();
|
||||
}
|
||||
|
||||
private static void set(String path, T2C_ConfigItem item){
|
||||
if (configuration.contains(path)){
|
||||
item.setValue(configuration.get(path));
|
||||
}
|
||||
}
|
||||
}
|
@ -1,92 +0,0 @@
|
||||
package net.t2code.t2codelib.BUNGEE.system.config;
|
||||
|
||||
import net.t2code.t2codelib.BUNGEE.api.yaml.T2CB_ConfigWriter;
|
||||
import net.t2code.t2codelib.BUNGEE.system.T2CB_Main;
|
||||
import net.t2code.t2codelib.util.T2C_ConfigItem;
|
||||
import net.t2code.t2codelib.util.T2C_LanguageEnum;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class T2CB_LibConfig {
|
||||
|
||||
public enum VALUES implements T2C_ConfigItem {
|
||||
updateTimer("updateCheck.timerInMin", 60, true,
|
||||
new HashMap<>() {{
|
||||
put(T2C_LanguageEnum.english, List.of("In this option you can set the time interval in minutes in which updates should be checked."));
|
||||
}}),
|
||||
seePreReleaseUpdates("updateCheck.seePreReleaseUpdates", true, true,
|
||||
new HashMap<>() {{
|
||||
put(T2C_LanguageEnum.english, List.of("In this option you can set whether you want to receive and display beta and snapshot versions in the update check."));
|
||||
}}),
|
||||
|
||||
apiCommandGUIEnable("api.commandGUI.enable", false, true,
|
||||
new HashMap<>() {{
|
||||
put(T2C_LanguageEnum.english, List.of("With this option you activate the api interface for the T2C-CommandGUI plugin."));
|
||||
}}),
|
||||
apiAutoResponse("api.autoResponse.enable", false, true,
|
||||
new HashMap<>() {{
|
||||
put(T2C_LanguageEnum.english, List.of("With this option you activate the api interface for the T2C-AutoResponse plugin."));
|
||||
}}),
|
||||
apiOpSecurity("api.opSecurity.enable", false, true,
|
||||
new HashMap<>() {{
|
||||
put(T2C_LanguageEnum.english, List.of("With this option you activate the api interface for the T2C-OPSecurity plugin."));
|
||||
}}),
|
||||
;
|
||||
|
||||
private final String path;
|
||||
private Object value;
|
||||
private final boolean forceSet;
|
||||
private final HashMap<T2C_LanguageEnum, List<String>> comments;
|
||||
|
||||
VALUES(String path, Object value, boolean forceSet, HashMap<T2C_LanguageEnum, List<String>> comments) {
|
||||
this.path = path;
|
||||
this.value = value;
|
||||
this.forceSet = forceSet;
|
||||
this.comments = comments;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPath() {
|
||||
return path;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getForceSet() {
|
||||
return forceSet;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<T2C_LanguageEnum, List<String>> getComments() {
|
||||
return comments;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLanguagePath() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue(Object newValue) {
|
||||
value = newValue;
|
||||
}
|
||||
}
|
||||
|
||||
public static void set() {
|
||||
try {
|
||||
ConvertT2CBlibConfig.convert();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
T2CB_ConfigWriter.createConfig(new File(T2CB_Main.getPlugin().getDataFolder(), "config.yml"), VALUES.values(), T2C_Util.getConfigLogo());
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
package net.t2code.t2codelib.BUNGEE.system.config;
|
||||
|
||||
import net.md_5.bungee.config.Configuration;
|
||||
import net.md_5.bungee.config.ConfigurationProvider;
|
||||
import net.md_5.bungee.config.YamlConfiguration;
|
||||
import net.t2code.t2codelib.BUNGEE.api.messages.T2CBsend;
|
||||
import net.t2code.t2codelib.BUNGEE.api.yaml.T2CBconfig;
|
||||
import net.t2code.t2codelib.BUNGEE.system.T2CodeBMain;
|
||||
import net.t2code.t2codelib.Util;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
public class T2CBlibConfig {
|
||||
|
||||
public static void create() throws IOException {
|
||||
long long_ = System.currentTimeMillis();
|
||||
File config = new File(T2CodeBMain.getPlugin().getDataFolder(), "config.yml");
|
||||
if (!T2CodeBMain.getPlugin().getDataFolder().exists()) T2CodeBMain.getPlugin().getDataFolder().mkdir();
|
||||
if (!config.exists()) {
|
||||
config.createNewFile();
|
||||
}
|
||||
Configuration configuration = ConfigurationProvider.getProvider(YamlConfiguration.class).load(config);
|
||||
T2CBconfig.set("API.CommandGUI.Enable", false, configuration);
|
||||
T2CBconfig.set("API.AutoResponse.Enable", false, configuration);
|
||||
T2CBconfig.set("API.OPSecurity.Enable", false, configuration);
|
||||
|
||||
ConfigurationProvider.getProvider(YamlConfiguration.class).save(configuration, config);
|
||||
T2CBsend.console(Util.getPrefix() + " §2config.yml were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
}
|
||||
|
||||
public static void select() throws IOException {
|
||||
File config = new File(T2CodeBMain.getPlugin().getDataFolder(), "config.yml");
|
||||
Configuration configuration = ConfigurationProvider.getProvider(YamlConfiguration.class).load(config);
|
||||
|
||||
apiCommandGUIEnable = configuration.getBoolean("API.CommandGUI.Enable");
|
||||
apiAutoResponse = configuration.getBoolean("API.AutoResponse.Enable");
|
||||
apiOpSecurity = configuration.getBoolean("API.OPSecurity.Enable");
|
||||
}
|
||||
|
||||
private static Boolean apiCommandGUIEnable;
|
||||
private static Boolean apiAutoResponse;
|
||||
private static Boolean apiOpSecurity;
|
||||
|
||||
public static Boolean getApiCommandGUIEnable() {
|
||||
return apiCommandGUIEnable;
|
||||
}
|
||||
|
||||
public static Boolean getApiAutoResponse() {
|
||||
return apiAutoResponse;
|
||||
}
|
||||
|
||||
public static Boolean getApiOpSecurity() {
|
||||
return apiOpSecurity;
|
||||
}
|
||||
}
|
@ -1,39 +1,31 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.pluginMessaging;
|
||||
package net.t2code.t2codelib.BUNGEE.system.pluginMessaging;
|
||||
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.md_5.bungee.api.event.PluginMessageEvent;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class T2CB_PluginMessageProxyCommand implements Listener {
|
||||
public class T2CplmsgBcmd implements Listener {
|
||||
@EventHandler
|
||||
public void onPluginmessage(PluginMessageEvent event) {
|
||||
if (event.getTag().equalsIgnoreCase(T2C_Util.getPluginChannel_ProxyCommand())) {
|
||||
if (event.getTag().equalsIgnoreCase("t2c:bcmd")) {
|
||||
event.setCancelled(true);
|
||||
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(event.getData()));
|
||||
try {
|
||||
String channel = stream.readUTF();
|
||||
String input = stream.readUTF();
|
||||
String serverID;
|
||||
try {
|
||||
serverID = stream.readUTF();
|
||||
} catch (Exception i){
|
||||
serverID = "not Found";
|
||||
}
|
||||
|
||||
if (channel.equals("T2Code-Console")) {
|
||||
ProxyServer.getInstance().getConsole().sendMessage(T2C_Util.getPrefix()+" [§6"+serverID+"§r] §cT2C BCMD Command Console: §r"+ input);
|
||||
ProxyServer.getInstance().getConsole().sendMessage("Command Console: "+ input);
|
||||
ProxyServer.getInstance().getPluginManager().dispatchCommand(ProxyServer.getInstance().getConsole(), input);
|
||||
} else {
|
||||
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(channel);
|
||||
if (player != null) {
|
||||
ProxyServer.getInstance().getConsole().sendMessage(T2C_Util.getPrefix()+" [§6"+serverID+"§r] §cT2C BCMD Command §r" + player +": "+ input);
|
||||
ProxyServer.getInstance().getConsole().sendMessage("Command " + player +": "+ input);
|
||||
ProxyServer.getInstance().getPluginManager().dispatchCommand(player, input);
|
||||
}
|
||||
}
|
@ -1,22 +1,21 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.pluginMessaging.autoResponse;
|
||||
package net.t2code.t2codelib.BUNGEE.system.pluginMessaging.autoResponse;
|
||||
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.md_5.bungee.api.event.PluginMessageEvent;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
import net.t2code.t2codelib.BUNGEE.api.messages.T2CB_Send;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import net.t2code.t2codelib.BUNGEE.api.messages.T2CBsend;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class T2CB_API_AutoResponse implements Listener {
|
||||
public class T2CapiAutoResponse implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onPluginmessage(PluginMessageEvent event) {
|
||||
if (event.getTag().equalsIgnoreCase(T2C_Util.getPluginChannel_AutoResponse())) {
|
||||
if (event.getTag().equalsIgnoreCase("t2c:aresp")) {
|
||||
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(event.getData()));
|
||||
event.setCancelled(true);
|
||||
try {
|
||||
@ -30,7 +29,7 @@ public class T2CB_API_AutoResponse implements Listener {
|
||||
break;
|
||||
case "ALLPMSG":
|
||||
for (ProxiedPlayer player : ProxyServer.getInstance().getPlayers()) {
|
||||
T2CB_Send.player(player, input);
|
||||
T2CBsend.player(player, input);
|
||||
}
|
||||
break;
|
||||
default:
|
@ -1,17 +1,16 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.pluginMessaging.commandgui;
|
||||
package net.t2code.t2codelib.BUNGEE.system.pluginMessaging.commandgui;
|
||||
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.BungeeCord;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.md_5.bungee.api.event.PlayerDisconnectEvent;
|
||||
import net.md_5.bungee.api.event.PostLoginEvent;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class T2CB_API_CGUI implements Listener {
|
||||
public class T2CapiCGUI implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onJoin(PostLoginEvent e) {
|
||||
@ -38,8 +37,9 @@ public class T2CB_API_CGUI implements Listener {
|
||||
} catch (IOException e) {
|
||||
Logger.getLogger(e.getMessage());
|
||||
}
|
||||
ProxyServer.getInstance().getServers().values().stream().forEach((server) -> {
|
||||
server.sendData(T2C_Util.getPluginChannel_CGUIOnlinePlayers(), stream.toByteArray());
|
||||
BungeeCord.getInstance().getServers().values().stream().forEach((server) -> {
|
||||
|
||||
server.sendData("t2c:cguiopl", stream.toByteArray());
|
||||
});
|
||||
}
|
||||
|
||||
@ -52,8 +52,8 @@ public class T2CB_API_CGUI implements Listener {
|
||||
} catch (IOException e) {
|
||||
Logger.getLogger(e.getMessage());
|
||||
}
|
||||
ProxyServer.getInstance().getServers().values().stream().forEach((server) -> {
|
||||
server.sendData(T2C_Util.getPluginChannel_CGUIOnlinePlayers(), stream.toByteArray());
|
||||
BungeeCord.getInstance().getServers().values().stream().forEach((server) -> {
|
||||
server.sendData("t2c:cguiopl", stream.toByteArray());
|
||||
});
|
||||
}
|
||||
}
|
@ -1,19 +1,21 @@
|
||||
package net.t2code.t2codelib.BUNGEE.api.pluginMessaging.opSecurity;
|
||||
package net.t2code.t2codelib.BUNGEE.system.pluginMessaging.opSecurity;
|
||||
|
||||
import net.md_5.bungee.BungeeCord;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.md_5.bungee.api.event.PluginMessageEvent;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import net.t2code.t2codelib.BUNGEE.api.messages.T2CBsend;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class T2CB_API_OpSecurity implements Listener {
|
||||
public class T2CapiOpSecurity implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onPluginmessage(PluginMessageEvent event) {
|
||||
if (event.getTag().equalsIgnoreCase(T2C_Util.getPluginChannel_OPSecurity())) {
|
||||
if (event.getTag().equalsIgnoreCase("t2c:opsec")) {
|
||||
event.setCancelled(true);
|
||||
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(event.getData()));
|
||||
try {
|
||||
@ -39,8 +41,8 @@ public class T2CB_API_OpSecurity implements Listener {
|
||||
} catch (IOException e) {
|
||||
Logger.getLogger(e.getMessage());
|
||||
}
|
||||
ProxyServer.getInstance().getServers().values().stream().forEach((server) -> {
|
||||
server.sendData(T2C_Util.getPluginChannel_OPSecurity(), stream.toByteArray());
|
||||
BungeeCord.getInstance().getServers().values().stream().forEach((server) -> {
|
||||
server.sendData("t2c:opsec", stream.toByteArray());
|
||||
});
|
||||
}
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.bungeePlayers;
|
||||
|
||||
public enum T2C_BngeePlayersEnum {
|
||||
JOIN,
|
||||
QUIT,
|
||||
GIVEALL,
|
||||
CLEAR
|
||||
}
|
@ -1,86 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.bungeePlayers;
|
||||
|
||||
import lombok.Getter;
|
||||
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.T2C_LibConfig;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.messaging.PluginMessageListener;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class T2C_BungeePlayers implements PluginMessageListener {
|
||||
@Getter
|
||||
private static List<String> bungeePlayers = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public void onPluginMessageReceived(@NotNull String channel, @NotNull Player player, byte[] message) {
|
||||
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(message));
|
||||
T2C_Debug.debug(T2C_Main.getPlugin(), "stream: " + stream.toString());
|
||||
try {
|
||||
T2C_BngeePlayersEnum subChannel = T2C_BngeePlayersEnum.valueOf(stream.readUTF());
|
||||
String input = stream.readUTF();
|
||||
String uuid = stream.readUTF();
|
||||
T2C_Debug.debug(T2C_Main.getPlugin(), "PluginMessage received channel: " + channel);
|
||||
T2C_Debug.debug(T2C_Main.getPlugin(), "PluginMessage received subChannel: " + subChannel.name());
|
||||
T2C_Debug.debug(T2C_Main.getPlugin(), "PluginMessage received input: " + input);
|
||||
T2C_Debug.debug(T2C_Main.getPlugin(), "PluginMessage received input2/uuid: " + uuid);
|
||||
switch (subChannel) {
|
||||
case JOIN:
|
||||
bungeePlayers.add(input);
|
||||
break;
|
||||
case QUIT:
|
||||
bungeePlayers.remove(input);
|
||||
break;
|
||||
case GIVEALL:
|
||||
if (!T2C_LibConfig.VALUES.serverUUID.getValue().equals(uuid)) {
|
||||
return;
|
||||
}
|
||||
bungeePlayers.clear();
|
||||
String[] in = input.split(";");
|
||||
bungeePlayers.addAll(Arrays.asList(in));
|
||||
break;
|
||||
case CLEAR:
|
||||
bungeePlayers.clear();
|
||||
break;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
T2C_Send.sendException(e, T2C_Main.getPlugin().getLogger());
|
||||
}
|
||||
}
|
||||
|
||||
public static void callAllBungeePlayers() {
|
||||
if (Bukkit.getOnlinePlayers().isEmpty()) {
|
||||
Bukkit.getScheduler().runTaskLaterAsynchronously(T2C_Main.getPlugin(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
callAllBungeePlayers();
|
||||
}
|
||||
}, 20L);
|
||||
return;
|
||||
}
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
DataOutputStream output = new DataOutputStream(stream);
|
||||
try {
|
||||
output.writeUTF(T2C_BngeePlayersEnum.GIVEALL.name());
|
||||
output.writeUTF(T2C_LibConfig.VALUES.serverUUID.getValue().toString());
|
||||
} catch (IOException e) {
|
||||
T2C_Send.sendException(e, T2C_Main.getPlugin().getLogger());
|
||||
}
|
||||
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
player.sendPluginMessage(T2C_Main.getPlugin(), T2C_Util.getPluginChannel_ProxyOnlinePlayers(), stream.toByteArray());
|
||||
T2C_Debug.debug(T2C_Main.getPlugin(), "PluginMessage received channel: " + T2C_Util.getPluginChannel_ProxyOnlinePlayers());
|
||||
T2C_Debug.debug(T2C_Main.getPlugin(), "PluginMessage send subChannel: " + T2C_BngeePlayersEnum.GIVEALL.name());
|
||||
T2C_Debug.debug(T2C_Main.getPlugin(), "PluginMessage send output/uuid: " + T2C_LibConfig.VALUES.serverUUID.getValue().toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,68 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.commands;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_ProxyCommandSenderReceiver;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class T2C_Cmd {
|
||||
public static void console(String cmdInput) {
|
||||
Map.Entry<String,Integer> map = delay(cmdInput);
|
||||
int delay = map.getValue();
|
||||
String cmd = map.getKey();
|
||||
Bukkit.getScheduler().runTaskLater(T2C_Main.getPlugin(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (cmd.contains("!onBungee")) {
|
||||
T2C_ProxyCommandSenderReceiver.sendToBungee(null, cmd.replace("!onBungee", ""), true);
|
||||
} else Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd);
|
||||
}
|
||||
}, delay);
|
||||
}
|
||||
|
||||
public static void player(Player player, String cmdInput) {
|
||||
Map.Entry<String,Integer> map = delay(PlaceholderAPI.setPlaceholders(player, cmdInput));
|
||||
int delay = map.getValue();
|
||||
String cmd = map.getKey();
|
||||
Bukkit.getScheduler().runTaskLater(T2C_Main.getPlugin(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (cmd.contains("!asConsole")) {
|
||||
if (cmd.contains("!onBungee")) {
|
||||
T2C_ProxyCommandSenderReceiver.sendToBungee(player, cmd.replace("!asConsole", "").replace("!onBungee", ""), true);
|
||||
} else console(cmd.replace("!asConsole", ""));
|
||||
} else {
|
||||
if (cmd.contains("!onBungee")) {
|
||||
T2C_ProxyCommandSenderReceiver.sendToBungee(player, cmd.replace("!onBungee", ""), false);
|
||||
} else player.chat("/" + cmd);
|
||||
}
|
||||
}
|
||||
}, delay);
|
||||
}
|
||||
|
||||
private static Map.Entry<String, Integer> delay(@NotNull String cmdInput) {
|
||||
int delay = 0;
|
||||
String cmd;
|
||||
if (cmdInput.contains("!delay:")) {
|
||||
int i = cmdInput.indexOf("!delay:") + 7;
|
||||
String s2 = cmdInput.substring(i);
|
||||
int i2 = 1;
|
||||
if(s2.contains(" ")) {
|
||||
i2 = s2.indexOf(" ");
|
||||
}else{
|
||||
i2 = s2.length();
|
||||
}
|
||||
delay = Integer.parseInt(cmdInput.substring(i, i + i2));
|
||||
cmd = cmdInput.replace("!delay:" + delay, "");
|
||||
|
||||
} else cmd = cmdInput;
|
||||
|
||||
return Map.entry(cmd, delay);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.commands;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.system.BCommandSenderReciver;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class T2Ccmd {
|
||||
public static void console(String cmd) {
|
||||
if (cmd.contains("!onBungee")){
|
||||
BCommandSenderReciver.sendToBungee(null, cmd.replace("!onBungee", ""), true);
|
||||
}else Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd);
|
||||
}
|
||||
|
||||
public static void player(Player player, String cmd) {
|
||||
if (cmd.contains("!asConsole")) {
|
||||
if (cmd.contains("!onBungee")) {
|
||||
BCommandSenderReciver.sendToBungee(player, cmd.replace("!asConsole", "").replace("!onBungee", ""), true);
|
||||
} else console(cmd.replace("!asConsole", ""));
|
||||
} else {
|
||||
if (cmd.contains("!onBungee")) {
|
||||
BCommandSenderReciver.sendToBungee(player, cmd.replace("!onBungee", ""), false);
|
||||
} else player.chat("/" + cmd);
|
||||
}
|
||||
}
|
||||
}
|
@ -8,7 +8,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class T2C_Tab {
|
||||
public class T2Ctab {
|
||||
public static void tab(List<String> matches, CommandSender sender, int arg, String[] args, String perm, Boolean onlinePlayer) {
|
||||
if (args.length != arg + 1) return;
|
||||
for (Player player1 : Bukkit.getOnlinePlayers()) {
|
@ -1,37 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.debug;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class T2C_Debug {
|
||||
public static void debug(Plugin plugin, String msg) {
|
||||
debug(plugin, msg, null);
|
||||
}
|
||||
|
||||
public static void debug(Plugin plugin, String msg, Integer stage) {
|
||||
// if (!new File(Main.getPath(), "config.yml").exists()) return;
|
||||
if (stage == null) {
|
||||
if (plugin.getConfig().getBoolean("Plugin.Debug") || plugin.getConfig().getBoolean("plugin.debug") || plugin.getConfig().getBoolean("Debug") || plugin.getConfig().getBoolean("debug")){
|
||||
T2C_Send.info(plugin, "");
|
||||
Bukkit.getConsoleSender().sendMessage(plugin.getDescription().getPrefix() + " §5DEBUG: §6" + msg);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (plugin.getConfig().getInt("Plugin.Debug") >= stage || plugin.getConfig().getInt("plugin.debug") >= stage || plugin.getConfig().getInt("Debug") >= stage || plugin.getConfig().getInt("debug") >= stage) {
|
||||
T2C_Send.info(plugin, "");
|
||||
Bukkit.getConsoleSender().sendMessage(plugin.getDescription().getPrefix() + " §5DEBUG: §6" + msg);
|
||||
}
|
||||
}
|
||||
|
||||
public static void debugmsg(Plugin plugin, String msg) {
|
||||
T2C_Send.warning(plugin, "");
|
||||
Bukkit.getConsoleSender().sendMessage("§e[" + plugin.getDescription().getPrefix() + "] §5DEBUG-MSG: §6" + msg);
|
||||
}
|
||||
|
||||
public static String debugCode(){
|
||||
return UUID.randomUUID().toString().substring(0, 7);
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.dev;
|
||||
|
||||
public class T2C_DevelopmentTool {
|
||||
public static String removeLastChar(String s, int amount) {
|
||||
return (s == null || s.length() == 0)
|
||||
? null
|
||||
: (s.substring(0, s.length() - amount));
|
||||
}
|
||||
}
|
@ -1,38 +1,37 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.eco;
|
||||
|
||||
import com.bencodez.votingplugin.VotingPluginMain;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.api.plugins.T2C_PluginCheck;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.languages.T2CLibLanguages;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||
import net.t2code.t2codelib.SPIGOT.api.plugins.T2CpluginCheck;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.languages.SelectLibMsg;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class T2C_Eco {
|
||||
public class T2Ceco {
|
||||
public static boolean moneyRemove(String prefix, Player player, Double price) {
|
||||
if (vault(prefix, player)) {
|
||||
return T2C_Main.getEco().withdrawPlayer(player, price).transactionSuccess();
|
||||
return T2CodeLibMain.getEco().withdrawPlayer(player, price).transactionSuccess();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean moneyAdd(String prefix, Player player, Double price) {
|
||||
if (vault(prefix, player)) {
|
||||
return T2C_Main.getEco().depositPlayer(player, price).transactionSuccess();
|
||||
return T2CodeLibMain.getEco().depositPlayer(player, price).transactionSuccess();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private static boolean vault(String prefix, Player player) {
|
||||
if (T2C_Main.getEco() == null) {
|
||||
if (T2CodeLibMain.getEco() == null) {
|
||||
if (Bukkit.getPluginManager().getPlugin("Vault") == null) {
|
||||
T2C_Send.console(prefix + " §e║ "+ "§4\n" + prefix + " §e║ " + "§4Vault could not be found! §9Please download it here: " +
|
||||
"§6https://www.spigotmc.org/resources/vault.34315/§4\n" + prefix + " §e║ ");
|
||||
T2Csend.console(prefix + " §4\n" + prefix + " §4Vault could not be found! §9Please download it here: " +
|
||||
"§6https://www.spigotmc.org/resources/vault.34315/§4\n" + prefix);
|
||||
}
|
||||
player.sendMessage(prefix + "\n" + T2CLibLanguages.VALUES.vaultNotSetUp.getValue().toString() + "\n" + prefix);
|
||||
player.sendMessage(prefix + "\n" + SelectLibMsg.vaultNotSetUp + "\n" + prefix);
|
||||
return false;
|
||||
} else return true;
|
||||
}
|
||||
@ -56,8 +55,15 @@ public class T2C_Eco {
|
||||
}
|
||||
|
||||
public static boolean itemAdd(Player player, ItemStack itemStack, int amount) {
|
||||
boolean empty = false;
|
||||
for (int i = 0; i < player.getInventory().getSize() - 5; i++) {
|
||||
if (player.getInventory().getItem(i) == null) {
|
||||
empty = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < amount; i++) {
|
||||
if (player.getInventory().firstEmpty() != -1) {
|
||||
if (empty) {
|
||||
player.getInventory().addItem(itemStack);
|
||||
} else {
|
||||
player.getLocation().getWorld().dropItem(player.getLocation(), itemStack);
|
||||
@ -74,7 +80,7 @@ public class T2C_Eco {
|
||||
|
||||
public static boolean votePointsAdd(String prefix, Player player, Integer amount) {
|
||||
if (votePlugin(prefix, player)) {
|
||||
Bukkit.getScheduler().runTaskAsynchronously(T2C_Main.getPlugin(), new Runnable() {
|
||||
Bukkit.getScheduler().runTaskAsynchronously(T2CodeLibMain.getPlugin(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
VotingPluginMain.getPlugin().getVotingPluginUserManager().getVotingPluginUser(player).addPoints(amount);
|
||||
@ -85,10 +91,10 @@ public class T2C_Eco {
|
||||
}
|
||||
|
||||
private static boolean votePlugin(String prefix, Player player) {
|
||||
if (T2C_PluginCheck.votingPlugin()) return true;
|
||||
T2C_Send.console(prefix + " §e║ " + "§4\n" + prefix + " §e║ " + "§4VotingPlugin could not be found! §9Please download it here: " +
|
||||
"§6https://www.spigotmc.org/resources/votingplugin.15358/§4\n" + prefix + " §e║ ");
|
||||
player.sendMessage(prefix + "\n" + T2CLibLanguages.VALUES.votingPluginNotSetUp.getValue().toString() + "\n" + prefix);
|
||||
if (T2CpluginCheck.votingPlugin()) return true;
|
||||
T2Csend.console(prefix + " §4\n" + prefix + " §4VotingPlugin could not be found! §9Please download it here: " +
|
||||
"§6https://www.spigotmc.org/resources/votingplugin.15358/§4\n" + prefix);
|
||||
player.sendMessage(prefix + "\n" + SelectLibMsg.votingPluginNotSetUp + "\n" + prefix);
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,130 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.items;
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import com.mojang.authlib.properties.Property;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
import org.bukkit.profile.PlayerProfile;
|
||||
import org.bukkit.profile.PlayerTextures;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.Base64;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class T2C_ItemBuilder {
|
||||
public static final boolean getLegacy = T2C_McVersion.isMc1_8() || T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12();
|
||||
|
||||
public static void fillItem(boolean enable, String item, Integer lines, Inventory inventory) {
|
||||
if (!enable) return;
|
||||
fillItem(item, lines, inventory);
|
||||
}
|
||||
|
||||
public static void fillItem(String item, Integer lines, Inventory inventory) {
|
||||
try {
|
||||
ItemStack glass;
|
||||
if (getLegacy) {
|
||||
glass = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, Short.parseShort(item));
|
||||
} else glass = new ItemStack(Material.valueOf(item.toUpperCase().replace(".", "_")));
|
||||
ItemMeta itemMetaglass = glass.getItemMeta();
|
||||
assert itemMetaglass != null;
|
||||
itemMetaglass.setDisplayName(" ");
|
||||
glass.setItemMeta(itemMetaglass);
|
||||
glass.setAmount(1);
|
||||
for (int i = 0; i < 9 * lines; i++) {
|
||||
inventory.setItem(i, glass);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
T2C_Send.sendException(e, T2C_Main.getPlugin().getLogger());
|
||||
}
|
||||
}
|
||||
|
||||
public static ItemStack itemStack(Material material, Integer amount, String displayName, List<String> lore) {
|
||||
ItemStack itemStack = new ItemStack(material);
|
||||
ItemMeta itemMeta = itemStack.getItemMeta();
|
||||
|
||||
itemMeta.setDisplayName(displayName);
|
||||
itemMeta.setLore(lore);
|
||||
itemStack.setItemMeta(itemMeta);
|
||||
|
||||
itemStack.setAmount(amount);
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
public static void setItem(Integer slot, Integer amount, String material, String displayName, List<String> lore, Inventory inventory) {
|
||||
ItemStack item;
|
||||
if (getLegacy && material.contains(",")) {
|
||||
String[] split = material.split(",");
|
||||
item = new ItemStack(Material.valueOf(split[0]), 1, Short.parseShort(split[1]));
|
||||
} else item = new ItemStack(Material.valueOf(material));
|
||||
ItemMeta itemMeta = item.getItemMeta();
|
||||
itemMeta.setDisplayName(displayName);
|
||||
itemMeta.setLore(lore);
|
||||
item.setItemMeta(itemMeta);
|
||||
item.setAmount(amount);
|
||||
inventory.setItem(slot, item);
|
||||
}
|
||||
|
||||
public static ItemStack base64(String base64Value) {
|
||||
if (!T2C_McVersion.minMc1_20() || T2C_McVersion.isNms1_20_R1()|| T2C_McVersion.isNms1_20_R2()|| T2C_McVersion.isNms1_20_R3()) {
|
||||
return base64Old(base64Value);
|
||||
} else return base64New(base64Value);
|
||||
}
|
||||
|
||||
private static ItemStack base64Old(String base64Value) {
|
||||
ItemStack itemStack = new ItemStack(T2C_ItemVersion.getHead());
|
||||
SkullMeta itemMeta = (SkullMeta) itemStack.getItemMeta();
|
||||
|
||||
GameProfile profile = new GameProfile(UUID.randomUUID(), "");
|
||||
profile.getProperties().put("textures", new Property("textures", base64Value));
|
||||
Field profileField;
|
||||
try {
|
||||
profileField = itemMeta.getClass().getDeclaredField("profile");
|
||||
profileField.setAccessible(true);
|
||||
profileField.set(itemMeta, profile);
|
||||
} catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e) {
|
||||
T2C_Send.sendException(e, T2C_Main.getPlugin().getLogger());
|
||||
}
|
||||
|
||||
itemStack.setItemMeta(itemMeta);
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
private static ItemStack base64New(String base64Value) {
|
||||
ItemStack itemStack = new ItemStack(T2C_ItemVersion.getHead());
|
||||
SkullMeta itemMeta = (SkullMeta) itemStack.getItemMeta();
|
||||
|
||||
PlayerProfile profile = Bukkit.createPlayerProfile(UUID.randomUUID());
|
||||
PlayerTextures textures = profile.getTextures();
|
||||
try {
|
||||
textures.setSkin(new URL(base64Convert(base64Value)));
|
||||
} catch (MalformedURLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
profile.setTextures(textures);
|
||||
itemMeta.setOwnerProfile(profile);
|
||||
itemStack.setItemMeta(itemMeta);
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
private static String base64Convert(String base64Value) {
|
||||
String jsonString = new String(Base64.getDecoder().decode(base64Value));
|
||||
JSONObject obj = new JSONObject(jsonString);
|
||||
String output = obj.getJSONObject("textures").getJSONObject("SKIN").getString("url");
|
||||
if (output.startsWith("http://textures.minecraft.net/texture/")){
|
||||
return output;
|
||||
} else return "http://textures.minecraft.net/texture/d5d20330da59c207d78352838e91a48ea1e42b45a9893226144b251fe9b9d535";
|
||||
}
|
||||
}
|
@ -1,54 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.items;
|
||||
|
||||
import lombok.Getter;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class T2C_ItemVersion {
|
||||
@Getter
|
||||
private static Material Head;
|
||||
@Getter
|
||||
private static ItemStack HeadIS;
|
||||
@Getter
|
||||
private static ItemStack CraftingTable;
|
||||
@Getter
|
||||
private static ItemStack YellowWool;
|
||||
@Getter
|
||||
private static ItemStack OrangeWool;
|
||||
@Getter
|
||||
private static ItemStack GreenWool;
|
||||
@Getter
|
||||
private static ItemStack GrayWool;
|
||||
@Getter
|
||||
private static ItemStack RedWool;
|
||||
@Getter
|
||||
private static ItemStack RedStainedGlassPane;
|
||||
@Getter
|
||||
private static ItemStack BlackStainedGlassPane;
|
||||
|
||||
public static void scan() {
|
||||
if (T2C_McVersion.isMc1_8() || T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12()) {
|
||||
Head = Material.valueOf("SKULL_ITEM");
|
||||
YellowWool = new ItemStack(Material.valueOf("WOOL"), 1, (short) 4);
|
||||
OrangeWool = new ItemStack(Material.valueOf("WOOL"), 1, (short) 1);
|
||||
GreenWool = new ItemStack(Material.valueOf("WOOL"), 1, (short) 5);
|
||||
GrayWool = new ItemStack(Material.valueOf("WOOL"), 1, (short) 8);
|
||||
RedWool = new ItemStack(Material.valueOf("WOOL"), 1, (short) 14);
|
||||
RedStainedGlassPane = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, (short) 14);
|
||||
BlackStainedGlassPane = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, (short) 15);
|
||||
CraftingTable = new ItemStack(Material.valueOf("WORKBENCH"));
|
||||
} else {
|
||||
Head = Material.valueOf("PLAYER_HEAD");
|
||||
CraftingTable = new ItemStack(Material.CRAFTING_TABLE);
|
||||
YellowWool = new ItemStack(Material.YELLOW_WOOL);
|
||||
OrangeWool = new ItemStack(Material.ORANGE_WOOL);
|
||||
GreenWool = new ItemStack(Material.GREEN_WOOL);
|
||||
GrayWool = new ItemStack(Material.GRAY_WOOL);
|
||||
RedWool = new ItemStack(Material.RED_WOOL);
|
||||
RedStainedGlassPane = new ItemStack(Material.RED_STAINED_GLASS_PANE);
|
||||
BlackStainedGlassPane = new ItemStack(Material.BLACK_STAINED_GLASS_PANE);
|
||||
}
|
||||
HeadIS = new ItemStack(Head, 1, (byte) 3);
|
||||
}
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.items;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2CmcVersion;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class T2CitemVersion {
|
||||
private static Material Head;
|
||||
private static ItemStack HeadIS;
|
||||
private static ItemStack CRAFTING_TABLE;
|
||||
private static ItemStack YELLOW_WOOL;
|
||||
private static ItemStack ORANGE_WOOL;
|
||||
private static ItemStack GREEN_WOOL;
|
||||
private static ItemStack GRAY_WOOL;
|
||||
private static ItemStack RED_WOOL;
|
||||
private static ItemStack RED_STAINED_GLASS_PANE;
|
||||
|
||||
public static void scan() {
|
||||
if (T2CmcVersion.isMc1_8() || T2CmcVersion.isMc1_9() || T2CmcVersion.isMc1_10() || T2CmcVersion.isMc1_11() || T2CmcVersion.isMc1_12()) {
|
||||
Head = Material.valueOf("SKULL_ITEM");
|
||||
YELLOW_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 4);
|
||||
ORANGE_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 1);
|
||||
GREEN_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 5);
|
||||
GRAY_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 8);
|
||||
RED_WOOL = new ItemStack(Material.valueOf("WOOL"), 1, (short) 14);
|
||||
RED_STAINED_GLASS_PANE = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, (short) 14);
|
||||
CRAFTING_TABLE = new ItemStack(Material.valueOf("WORKBENCH"));
|
||||
} else {
|
||||
Head = Material.valueOf("PLAYER_HEAD");
|
||||
CRAFTING_TABLE = new ItemStack(Material.CRAFTING_TABLE);
|
||||
YELLOW_WOOL = new ItemStack(Material.YELLOW_WOOL);
|
||||
ORANGE_WOOL = new ItemStack(Material.ORANGE_WOOL);
|
||||
GREEN_WOOL = new ItemStack(Material.GREEN_WOOL);
|
||||
GRAY_WOOL = new ItemStack(Material.GRAY_WOOL);
|
||||
RED_WOOL = new ItemStack(Material.RED_WOOL);
|
||||
RED_STAINED_GLASS_PANE = new ItemStack(Material.RED_STAINED_GLASS_PANE);
|
||||
}
|
||||
HeadIS = new ItemStack(Head, 1, (byte) 3);
|
||||
}
|
||||
|
||||
public static Material getHead() {
|
||||
return Head;
|
||||
}
|
||||
|
||||
public static ItemStack getHeadIS() {
|
||||
return HeadIS;
|
||||
}
|
||||
|
||||
public static ItemStack getCraftingTable() {
|
||||
return CRAFTING_TABLE;
|
||||
}
|
||||
|
||||
public static ItemStack getYellowWool() {
|
||||
return YELLOW_WOOL;
|
||||
}
|
||||
|
||||
public static ItemStack getOrangeWool() {
|
||||
return ORANGE_WOOL;
|
||||
}
|
||||
|
||||
public static ItemStack getGreenWool() {
|
||||
return GREEN_WOOL;
|
||||
}
|
||||
|
||||
public static ItemStack getGrayWool() {
|
||||
return GRAY_WOOL;
|
||||
}
|
||||
|
||||
public static ItemStack getRedWool() {
|
||||
return RED_WOOL;
|
||||
}
|
||||
|
||||
public static ItemStack getRedStainedGlassPane() {
|
||||
return RED_STAINED_GLASS_PANE;
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class T2C_MiniMessage {
|
||||
private static final BukkitAudiences bukkitAudiences = T2C_Main.getPlugin().getAdventure();
|
||||
|
||||
public static void sendSenderMiniMessage(String msg, CommandSender sender) {
|
||||
String string = "";
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
string = T2C_Replace.replace("",player,msg);
|
||||
} else string = msg;
|
||||
bukkitAudiences.sender(sender).sendMessage(replace(string));
|
||||
}
|
||||
|
||||
public static void sendConsoleMiniMessage(String msg) {
|
||||
bukkitAudiences.console().sendMessage(replace(msg));
|
||||
}
|
||||
|
||||
public static void sendPlayerMiniMessage(String msg, Player player) {
|
||||
bukkitAudiences.player(player).sendMessage(replace(T2C_Replace.replace("", player, msg)));
|
||||
}
|
||||
|
||||
protected static Component replace(String text) {
|
||||
return MiniMessage.miniMessage().deserialize(T2C_Replace.convertColorCode(text));
|
||||
}
|
||||
|
||||
|
||||
public static String removeMiniMessageCodes(String text){
|
||||
return MiniMessage.miniMessage().stripTags(text);
|
||||
}
|
||||
}
|
@ -1,141 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||
import net.t2code.t2codelib.util.T2C_GenerateFrame;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class T2C_Send {
|
||||
|
||||
public static void sendStartTextCenter(String prefix, String text, boolean isReload) {
|
||||
if (isReload) {
|
||||
console(prefix + " " + text);
|
||||
return;
|
||||
}
|
||||
console(T2C_GenerateFrame.setCenterAligned(prefix, text));
|
||||
}
|
||||
|
||||
public static void sendStartTextLeft(String prefix, String text, boolean isReload) {
|
||||
if (isReload) {
|
||||
console(prefix + " " + text);
|
||||
return;
|
||||
}
|
||||
console(T2C_GenerateFrame.setLeftAligned(prefix, text));
|
||||
}
|
||||
|
||||
public static String getFrameCenter(String prefix, boolean console, String... lines) {
|
||||
return T2C_GenerateFrame.getFrameCenter(prefix, console, lines);
|
||||
}
|
||||
|
||||
public static String getFrameLeft(String prefix, boolean console, String... lines) {
|
||||
return T2C_GenerateFrame.getFrameLeft(prefix, console, lines);
|
||||
}
|
||||
|
||||
public static void sendException(Exception e, Logger logger) {
|
||||
logger.log(Level.SEVERE, "Interrupted exception occurred", e);
|
||||
}
|
||||
|
||||
public static void console(String msg) {
|
||||
if (msg == null || msg.contains("[empty]")) return;
|
||||
T2C_MiniMessage.sendConsoleMiniMessage(msg);
|
||||
}
|
||||
|
||||
public static void player(Player player, String msg) {
|
||||
if (msg == null || msg.contains("[empty]")) return;
|
||||
T2C_MiniMessage.sendPlayerMiniMessage(msg, player);
|
||||
}
|
||||
|
||||
public static void sender(CommandSender sender, String msg) {
|
||||
if (msg == null || msg.contains("[empty]")) return;
|
||||
T2C_MiniMessage.sendSenderMiniMessage(msg, sender);
|
||||
}
|
||||
|
||||
public static void console(Object object) {
|
||||
for (String msg : list(object)) {
|
||||
if (msg == null || msg.contains("[empty]")) continue;
|
||||
T2C_MiniMessage.sendConsoleMiniMessage(msg);
|
||||
}
|
||||
}
|
||||
|
||||
public static void player(Player player, Object object) {
|
||||
for (String msg : list(object)) {
|
||||
if (msg == null || msg.contains("[empty]")) continue;
|
||||
T2C_MiniMessage.sendPlayerMiniMessage(msg, player);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void sender(CommandSender sender, Object object) {
|
||||
for (String msg : list(object)) {
|
||||
if (msg == null || msg.contains("[empty]")) return;
|
||||
T2C_MiniMessage.sendSenderMiniMessage(msg, sender);
|
||||
}
|
||||
}
|
||||
|
||||
public static void title(Player player, @Nullable String title, @Nullable String subtitle) {
|
||||
player.sendTitle(title, subtitle);
|
||||
}
|
||||
|
||||
public static void title(Player player, @Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut) {
|
||||
player.sendTitle(title, subtitle, fadeIn, stay, fadeOut);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated This method will be removed soon, as the debug messages have been moved to a separate class.
|
||||
* Please use the new method {@link T2C_Debug#debug(Plugin, String)} or {@link T2C_Debug#debug(Plugin, String, Integer)}
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void debug(Plugin plugin, String msg) {
|
||||
debug(plugin, msg, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated This method will be removed soon, as the debug messages have been moved to a separate class.
|
||||
* Please use the new method {@link T2C_Debug#debug(Plugin, String)} or {@link T2C_Debug#debug(Plugin, String, Integer)}
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void debug(Plugin plugin, String msg, Integer stage) {
|
||||
// if (!new File(Main.getPath(), "config.yml").exists()) return;
|
||||
T2C_Debug.debug(plugin, msg, stage);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated This method will be removed soon, as the debug messages have been moved to a separate class.
|
||||
* Please use the new method {@link T2C_Debug#debugmsg(Plugin, String)}
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void debugmsg(Plugin plugin, String msg) {
|
||||
T2C_Debug.debugmsg(plugin, msg);
|
||||
}
|
||||
|
||||
public static void info(Plugin plugin, String msg) {
|
||||
plugin.getLogger().log(Level.INFO, msg);
|
||||
}
|
||||
|
||||
public static void warning(Plugin plugin, String msg) {
|
||||
plugin.getLogger().log(Level.WARNING, msg);
|
||||
}
|
||||
|
||||
public static void error(Plugin plugin, String msg) {
|
||||
plugin.getLogger().log(Level.SEVERE, msg);
|
||||
}
|
||||
|
||||
private static ArrayList<String> list(Object object) {
|
||||
ArrayList<String> list = new ArrayList<>();
|
||||
|
||||
if (object instanceof List) {
|
||||
list = (ArrayList<String>) object;
|
||||
}
|
||||
if (object instanceof String) {
|
||||
list.add((String) object);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
@ -1,137 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.update.T2C_UpdateAPI;
|
||||
import net.t2code.t2codelib.util.T2C_GenerateFrame;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateWebData;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class T2C_Template {
|
||||
|
||||
|
||||
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, Boolean isVerify) {
|
||||
Long long_ = System.currentTimeMillis();
|
||||
|
||||
for (String s : T2C_Util.getLoadLogo()) {
|
||||
T2C_Send.console(prefix + " "+ T2C_GenerateFrame.getCOLOR_CODE() + s);
|
||||
}
|
||||
T2C_Send.sendStartTextCenter(prefix, "§2Author §6" + String.valueOf(autor).replace("[", "").replace("]", ""), false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§2Version: §6" + version, false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§2Spigot: §6" + spigot, false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§2Discord: §6" + discord, false);
|
||||
if (isPremium != null) {
|
||||
if (isPremium) {
|
||||
T2C_Send.sendStartTextCenter(prefix, "§6Premium: §2true", false);
|
||||
} else T2C_Send.sendStartTextCenter(prefix, "§6Premium: §4false", false);
|
||||
if (isVerify != null) {
|
||||
if (isVerify) {
|
||||
T2C_Send.sendStartTextCenter(prefix, "§6Verify: §2true", false);
|
||||
} else T2C_Send.sendStartTextCenter(prefix, "§6Verify: §4false", false);
|
||||
} else T2C_Send.sendStartTextCenter(prefix, "§6Verify: §4false", false);
|
||||
}
|
||||
|
||||
onLoadSeparateStroke(prefix);
|
||||
if (version.toLowerCase().contains("dev") || version.toLowerCase().contains("snapshot") || version.toLowerCase().contains("beta")) {
|
||||
T2C_Send.sendStartTextCenter(prefix, "", false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§eYou are running §4" + version + " §eof §4" + prefix + "§e!", false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§eSome features may not be working as expected.", false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§ePlease report all bugs here: http://dc.t2code.net", false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§4UpdateChecker & bStats may be disabled!", false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", false);
|
||||
onLoadSeparateStroke(prefix);
|
||||
|
||||
try {
|
||||
Thread.sleep(2000);
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return long_;
|
||||
}
|
||||
|
||||
public static void onLoadSeparateStroke(String prefix) {
|
||||
T2C_Send.console(prefix + " " + T2C_GenerateFrame.getCOLOR_CODE() + T2C_GenerateFrame.getSTROKE());
|
||||
}
|
||||
|
||||
public static void onLoadFooter(String prefix, Long long_) {
|
||||
onLoadSeparateStroke(prefix);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§2Plugin loaded successfully." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms", false);
|
||||
T2C_Send.console(prefix + " " + T2C_GenerateFrame.getCOLOR_CODE() + T2C_GenerateFrame.getBOTTOM_BORDER());
|
||||
}
|
||||
|
||||
public static void onDisable(String prefix, Plugin plugin) {
|
||||
T2C_Send.console(T2C_Send.getFrameCenter(prefix, true, " §2Version: §6" + plugin.getDescription().getVersion(), "§2Autors: §6" + String.valueOf(plugin.getDescription().getAuthors())
|
||||
.replace("[", "").replace("]", ""), " §4Plugin successfully disabled. "));
|
||||
}
|
||||
|
||||
public static void sendInfo(CommandSender sender, Plugin plugin, int spigotID, String discord, Boolean premiumVerified, String text) {
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
String publicVersion = "";
|
||||
boolean update;
|
||||
String stNVersion;
|
||||
T2C_UpdateWebData webData;
|
||||
try {
|
||||
webData = T2C_UpdateAPI.pluginVersions.get(plugin.getName()).webData;
|
||||
} catch (Exception ex) {
|
||||
webData = null;
|
||||
}
|
||||
|
||||
if (webData != null) {
|
||||
publicVersion = T2C_UpdateAPI.pluginVersions.get(plugin.getName()).webData.getVersion();
|
||||
update = !publicVersion.equalsIgnoreCase(pluginVersion);
|
||||
|
||||
} else {
|
||||
update = false;
|
||||
}
|
||||
|
||||
boolean player = sender instanceof Player;
|
||||
String stPlugin = "<dark_red>║</dark_red> <yellow>Plugin:</yellow> <gold>[pl]</gold>".replace("[pl]", plugin.getName());
|
||||
String stVersion = "<dark_red>║</dark_red> <yellow>Version:</yellow> <gold>[ver]</gold>".replace("[ver]", pluginVersion);
|
||||
String stAutor = "<dark_red>║</dark_red> <yellow>Autor(s):</yellow> <gold>[autor]</gold>".replace("[autor]", plugin.getDescription().getAuthors().toString());
|
||||
|
||||
String stUpdate = "<dark_red>║</dark_red> <yellow>New version available:</yellow> [up]".replace("[up]", webData != null ? update ?
|
||||
"<dark_green>YES</dark_green>" : "<red>no</red>" : "<b><dark_red>It could not be checked for updates!</dark_red></b>");
|
||||
stNVersion = update ? "<br><dark_red>║</dark_red> <yellow>Newest Version:</yellow> <gold>[newVersion]</gold>".replace("[newVersion]", player ? "<hover:show_text:'<yellow>Click for the update information</yellow>'><click:run_command:'/t2code updateinfo " + plugin.getName() + "'>" + publicVersion + "</click></hover>" : publicVersion) : "";
|
||||
String stLink = getString(spigotID, discord, player);
|
||||
String pr = premiumVerified != null ? "<br><dark_red>║</dark_red> <yellow>Premium verified:</yellow> [pr]".replace("[pr]",
|
||||
premiumVerified ? "<dark_green>YES</dark_green>" : "<red>NO</red>") : "";
|
||||
|
||||
String stMSG = text == null || text.isEmpty() ? "" : "<br><dark_red>║</dark_red> " + text;
|
||||
T2C_Send.sender(sender, "<br><dark_red>╔════════════════════════════════</dark_red>"
|
||||
+ "<br>" + stPlugin
|
||||
+ "<br>" + stVersion
|
||||
+ stMSG
|
||||
+ "<br>" + stAutor
|
||||
+ "<br>" + stUpdate
|
||||
+ stNVersion
|
||||
+ "<br>" + stLink
|
||||
+ pr
|
||||
+ "<br><dark_red>╚════════════════════════════════</dark_red>");
|
||||
}
|
||||
|
||||
private static @NotNull String getString(int spigotID, String discord, boolean player) {
|
||||
String stLinkPlayer = "<dark_red>║</dark_red> <yellow><hover:show_text:'<green>Go to the Spigot page</green>'><click:open_url:'[slink]'>Spigot</click></hover></yellow> "
|
||||
.replace("[slink]", "https://www.spigotmc.org/resources/" + spigotID)
|
||||
+ "<dark_red>-</dark_red> <dark_purple><hover:show_text:'<green>Go to the T2Code Support Discord</green>'><click:open_url:'[dlink]'>Discord</click></hover></dark_purple>"
|
||||
.replace("[dlink]", discord);
|
||||
String stLinkConsole = "<dark_red>║</dark_red> <yellow>Spigot:</yellow> <gold>https://www.spigotmc.org/resources/" + spigotID + "</gold>"
|
||||
+ "<br><dark_red>║</dark_red> <yellow>Discord:</yellow> <gold>" + discord + "</gold>";
|
||||
return player ? stLinkPlayer : stLinkConsole;
|
||||
}
|
||||
|
||||
public static void sendInfo(CommandSender sender, Plugin plugin, int spigotID, String discord, String text) {
|
||||
sendInfo(sender, plugin, spigotID, discord, null, text);
|
||||
}
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import net.md_5.bungee.api.chat.ClickEvent;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class T2ChoverModule {
|
||||
|
||||
public static void modulePlayer(String text, String hover, String action, String actionValue, Player player) {
|
||||
modulePlayer((text != null ? text : "null") + "/*/" + (hover != null ? hover : "null") + "/*/" + (action != null ? action : "null")
|
||||
+ "/*/" + (actionValue != null ? actionValue : "null"), player);
|
||||
}
|
||||
|
||||
public static void modulePlayer(String msg, Player player) {
|
||||
if (msg.contains("/*/")) {
|
||||
t2cmodule(msg, player);
|
||||
return;
|
||||
}
|
||||
T2CminiMessage.miniMessage(msg, player);
|
||||
}
|
||||
|
||||
public static void moduleSender(String msg, CommandSender sender) {
|
||||
T2CminiMessage.miniMessage(msg, sender);
|
||||
}
|
||||
|
||||
public static void moduleConsole(String msg) {
|
||||
if (T2CodeLibMain.getNmIsLoad()) {
|
||||
T2CminiMessage.sendMiniMessage(msg);
|
||||
return;
|
||||
}
|
||||
Bukkit.getConsoleSender().sendMessage(msg);
|
||||
}
|
||||
|
||||
private static void t2cmodule(String msg, Player player) {
|
||||
String[] split = msg.split("/\\*/");
|
||||
int i = split.length;
|
||||
String text = null;
|
||||
String hover = null;
|
||||
String action = null;
|
||||
String actionValue = null;
|
||||
if (i > 0) text = split[0];
|
||||
if (i > 1) hover = split[1];
|
||||
if (i > 2) action = split[2];
|
||||
if (i > 3) actionValue = split[3];
|
||||
|
||||
T2CtextBuilder textBuilder = new T2CtextBuilder(text);
|
||||
if (hover != null && !hover.equals("null")) {
|
||||
textBuilder.addHover(hover);
|
||||
}
|
||||
|
||||
if (action != null && actionValue != null && !action.equals("null") && !actionValue.equals("null")) {
|
||||
textBuilder.addClickEvent(ClickEvent.Action.valueOf(action.toUpperCase()), actionValue);
|
||||
}
|
||||
player.spigot().sendMessage(textBuilder.build());
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class T2CminiMessage {
|
||||
|
||||
public static void miniMessage(String msg, CommandSender sender) {
|
||||
T2CodeLibMain.adventure().sender(sender).sendMessage(replace(msg));
|
||||
}
|
||||
|
||||
public static void sendMiniMessage(String msg) {
|
||||
T2CodeLibMain.adventure().console().sendMessage(replace(msg));
|
||||
}
|
||||
|
||||
public static void miniMessage(String msg, Player player) {
|
||||
T2CodeLibMain.adventure().player(player).sendMessage(replace(msg));
|
||||
}
|
||||
|
||||
protected static Component replace(String text) {
|
||||
return MiniMessage.miniMessage().deserialize(T2Creplace.convertColorCode(text));
|
||||
}
|
||||
}
|
@ -1,14 +1,13 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import net.t2code.t2codelib.SPIGOT.api.plugins.T2C_PluginCheck;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class T2C_Replace {
|
||||
public class T2Creplace {
|
||||
|
||||
public static String replace(String prefix, String Text) {
|
||||
|
||||
@ -18,72 +17,10 @@ public class T2C_Replace {
|
||||
}
|
||||
|
||||
public static String replace(String prefix, Player player, String Text) {
|
||||
String input = Text.replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
|
||||
.replace("[nl]", "\n");
|
||||
if (T2C_PluginCheck.papi()) {
|
||||
return replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, input));
|
||||
} else {
|
||||
return replaceLegacyColor(input);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static Object replaceObject(String prefix, Object object) {
|
||||
if (object instanceof String) {
|
||||
object = replaceLegacyColor((String) object).replace("[prefix]", prefix).replace("[ue]", "ü")
|
||||
.replace("[UE]", "Ü").replace("[oe]", "ö").replace("[OE]", "Ö")
|
||||
.replace("[ae]", "ä").replace("[AE]", "Ä").replace("[nl]", "\n");
|
||||
}
|
||||
|
||||
if ((object instanceof List) || (object instanceof ArrayList)) {
|
||||
List<String> in = (List<String>) object;
|
||||
List<String> output = new ArrayList<>();
|
||||
for (String input : in) {
|
||||
output.add(replaceLegacyColor(input).replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
|
||||
.replace("[nl]", "\n"));
|
||||
}
|
||||
object = output;
|
||||
}
|
||||
return object;
|
||||
}
|
||||
|
||||
public static Object replaceObject(String prefix, Player player, Object object) {
|
||||
if (object instanceof String) {
|
||||
|
||||
if (T2C_PluginCheck.papi()) {
|
||||
object = PlaceholderAPI.setPlaceholders(player, replaceLegacyColor((String) object).replace("[prefix]", prefix).replace("[ue]", "ü")
|
||||
.replace("[UE]", "Ü").replace("[oe]", "ö").replace("[OE]", "Ö")
|
||||
.replace("[ae]", "ä").replace("[AE]", "Ä").replace("[nl]", "\n"));
|
||||
} else {
|
||||
object = replaceLegacyColor((String) object).replace("[prefix]", prefix).replace("[ue]", "ü")
|
||||
.replace("[UE]", "Ü").replace("[oe]", "ö").replace("[OE]", "Ö")
|
||||
.replace("[ae]", "ä").replace("[AE]", "Ä").replace("[nl]", "\n");
|
||||
}
|
||||
|
||||
}
|
||||
if (object instanceof List) {
|
||||
List<String> in = (List<String>) object;
|
||||
List<String> output = new ArrayList<>();
|
||||
for (String input : in) {
|
||||
if (T2C_PluginCheck.papi()) {
|
||||
output.add(PlaceholderAPI.setPlaceholders(player, replaceLegacyColor(input).replace("[prefix]", prefix)
|
||||
return replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, Text.replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
|
||||
.replace("[nl]", "\n")));
|
||||
} else {
|
||||
output.add(replaceLegacyColor(input).replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
|
||||
.replace("[nl]", "\n"));
|
||||
}
|
||||
}
|
||||
object = output;
|
||||
}
|
||||
return object;
|
||||
}
|
||||
|
||||
public static List<String> replace(String prefix, List<String> Text) {
|
||||
@ -98,7 +35,7 @@ public class T2C_Replace {
|
||||
}
|
||||
|
||||
public static List<String> replace(String prefix, Player player, List<String> Text) {
|
||||
List<String> output = new ArrayList<>();
|
||||
List<String> output = new ArrayList();
|
||||
if (player == null) {
|
||||
return Collections.singletonList("player is null");
|
||||
}
|
||||
@ -106,24 +43,16 @@ public class T2C_Replace {
|
||||
return Collections.singletonList("Text is null");
|
||||
}
|
||||
for (String input : Text) {
|
||||
if (T2C_PluginCheck.papi()) {
|
||||
output.add(PlaceholderAPI.setPlaceholders(player, replaceLegacyColor(input).replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
|
||||
.replace("[nl]", "\n")));
|
||||
} else {
|
||||
output.add(replaceLegacyColor(input).replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
|
||||
.replace("[nl]", "\n"));
|
||||
}
|
||||
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
public static List<String> replacePrice(String prefix, List<String> Text, String price) {
|
||||
List<String> rp = new ArrayList<>();
|
||||
List<String> rp = new ArrayList();
|
||||
for (String s : Text) {
|
||||
rp.add(replaceLegacyColor(s).replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
@ -140,20 +69,25 @@ public class T2C_Replace {
|
||||
.replace("&c", "").replace("&d", "").replace("&e", "").replace("&f", "")
|
||||
.replace("&k", "").replace("&l", "").replace("&m", "").replace("&n", "")
|
||||
.replace("&o", "").replace("&r", "");
|
||||
// String text = value.replace("&", "§");
|
||||
// while (text.contains("§")) {
|
||||
// int stelle = text.indexOf("§");
|
||||
// if (text.length() >= stelle + 2) {
|
||||
// text = text.substring(0, stelle) + text.substring(stelle + 2);
|
||||
// } else {
|
||||
// text = text.substring(0, stelle) + text.substring(stelle + 1);
|
||||
// }
|
||||
// }
|
||||
// return (text);
|
||||
}
|
||||
|
||||
public static List<String> replacePrice(String prefix, Player player, List<String> Text, String price) {
|
||||
List<String> rp = new ArrayList<>();
|
||||
List<String> rp = new ArrayList();
|
||||
for (String s : Text) {
|
||||
String input = s.replace("[prefix]", prefix)
|
||||
rp.add(replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, s.replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä").replace("[nl]", "\n")
|
||||
.replace("[price]", String.valueOf(price));
|
||||
if (T2C_PluginCheck.papi()) {
|
||||
rp.add(replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, input)));
|
||||
} else {
|
||||
rp.add(replaceLegacyColor(input));
|
||||
}
|
||||
.replace("[price]", String.valueOf(price)))));
|
||||
}
|
||||
return rp;
|
||||
}
|
||||
@ -167,16 +101,10 @@ public class T2C_Replace {
|
||||
}
|
||||
|
||||
public static String replacePrice(String prefix, Player player, String Text, String price) {
|
||||
String input = Text.replace("[prefix]", prefix)
|
||||
return replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, Text.replace("[prefix]", prefix)
|
||||
.replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö")
|
||||
.replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä")
|
||||
.replace("[price]", String.valueOf(price)).replace("[nl]", "\n");
|
||||
if (T2C_PluginCheck.papi()) {
|
||||
return replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, input));
|
||||
} else {
|
||||
return replaceLegacyColor(input);
|
||||
}
|
||||
|
||||
.replace("[price]", String.valueOf(price)).replace("[nl]", "\n")));
|
||||
}
|
||||
|
||||
public static String replaceLegacyColor(String text) {
|
||||
@ -212,19 +140,4 @@ public class T2C_Replace {
|
||||
.replace("&o", "<italic>").replace("§o", "<italic>")
|
||||
.replace("&r", "<reset>").replace("§r", "<reset>");
|
||||
}
|
||||
|
||||
public static Object replace(Object object, String placeholder, String replacement) {
|
||||
if (object instanceof String) {
|
||||
object = ((String) object).replace(placeholder, replacement);
|
||||
}
|
||||
if ((object instanceof List) || (object instanceof ArrayList)) {
|
||||
List<String> in = (List<String>) object;
|
||||
List<String> output = new ArrayList<>();
|
||||
for (String input : in) {
|
||||
output.add(input.replace(placeholder, replacement));
|
||||
}
|
||||
object = output;
|
||||
}
|
||||
return object;
|
||||
}
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class T2Csend {
|
||||
|
||||
/**
|
||||
* Spigot
|
||||
*/
|
||||
|
||||
public static void console(String msg) {
|
||||
if (msg == null || msg.contains("[empty]")) return;
|
||||
T2ChoverModule.moduleConsole(msg);
|
||||
}
|
||||
|
||||
public static void player(Player player, String msg) {
|
||||
if (msg == null || msg.contains("[empty]")) return;
|
||||
T2ChoverModule.modulePlayer(msg, player);
|
||||
}
|
||||
|
||||
public static void title(Player player, @Nullable String title, @Nullable String subtitle) {
|
||||
player.sendTitle(title, subtitle);
|
||||
}
|
||||
|
||||
public static void title(Player player, @Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut) {
|
||||
player.sendTitle(title, subtitle, fadeIn, stay, fadeOut);
|
||||
}
|
||||
|
||||
public static void sender(CommandSender sender, String msg) {
|
||||
if (msg == null || msg.contains("[empty]")) return;
|
||||
T2ChoverModule.moduleSender(msg, sender);
|
||||
}
|
||||
|
||||
public static void debug(Plugin plugin, String msg) {
|
||||
debug(plugin, msg, null);
|
||||
}
|
||||
|
||||
public static void debug(Plugin plugin, String msg, Integer stage) {
|
||||
// if (!new File(Main.getPath(), "config.yml").exists()) return;
|
||||
if (stage == null) {
|
||||
if (plugin.getConfig().getBoolean("Plugin.Debug"))
|
||||
Bukkit.getConsoleSender().sendMessage(plugin.getDescription().getPrefix() + " §5DEBUG: §6" + msg);
|
||||
return;
|
||||
}
|
||||
if (plugin.getConfig().getInt("Plugin.Debug") >= stage)
|
||||
Bukkit.getConsoleSender().sendMessage(plugin.getDescription().getPrefix() + " §5DEBUG: §6" + msg);
|
||||
}
|
||||
|
||||
public static void debugmsg(Plugin plugin, String msg) {
|
||||
warning(plugin,"");
|
||||
Bukkit.getConsoleSender().sendMessage("§e[" + plugin.getDescription().getPrefix() + "] §5DEBUG-MSG: §6" + msg);
|
||||
}
|
||||
|
||||
public static void info(Plugin plugin, String msg) {
|
||||
plugin.getLogger().log(Level.INFO, msg);
|
||||
}
|
||||
|
||||
public static void warning(Plugin plugin, String msg) {
|
||||
plugin.getLogger().log(Level.WARNING, msg);
|
||||
}
|
||||
|
||||
public static void error(Plugin plugin, String msg) {
|
||||
plugin.getLogger().log(Level.SEVERE, msg);
|
||||
}
|
||||
}
|
@ -0,0 +1,119 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.messages;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.update.T2CupdateAPI;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class T2Ctemplate {
|
||||
public static Long onLoadHeader(String prefix, List<String> autor, String version, String spigot, String discord) {
|
||||
return onLoadHeader(prefix, autor, version, spigot, discord, null, null);
|
||||
}
|
||||
|
||||
public static Long onLoadHeader(String prefix, List<String> autor, String version, String spigot, String discord, Boolean isPremium) {
|
||||
return onLoadHeader(prefix, autor, version, spigot, discord, isPremium, null);
|
||||
}
|
||||
|
||||
public static Long onLoadHeader(String prefix, List<String> autor, String version, String spigot, String discord, Boolean isPremium, Boolean isVerify) {
|
||||
Long long_ = System.currentTimeMillis();
|
||||
T2Csend.console(prefix + " <dark_red> _______ </dark_red><gray>___ </gray><dark_red>_____ </dark_red>");
|
||||
T2Csend.console(prefix + " <dark_red> |__ __|</dark_red><gray>__ \\ </gray><dark_red>/ ____|</dark_red>");
|
||||
T2Csend.console(prefix + " <dark_red> | | </dark_red><gray> ) </gray><dark_red>| | </dark_red>");
|
||||
T2Csend.console(prefix + " <dark_red> | | </dark_red><gray> / /</gray><dark_red>| | </dark_red>");
|
||||
T2Csend.console(prefix + " <dark_red> | | </dark_red><gray>/ /_</gray><dark_red>| |____ </dark_red>");
|
||||
T2Csend.console(prefix + " <dark_red> |_| </dark_red><gray>|____|</gray><dark_red>\\_____|</dark_red>");
|
||||
T2Csend.console(prefix + " §4 §e------------------");
|
||||
T2Csend.console(prefix + " §4 §e| §2Autor: §6" + String.valueOf(autor).replace("[", "").replace("]", ""));
|
||||
T2Csend.console(prefix + " §4 §e| §2Version: §6" + version);
|
||||
T2Csend.console(prefix + " §4 §e| §2Spigot: §6" + spigot);
|
||||
T2Csend.console(prefix + " §4 §e| §2Discord: §6" + discord);
|
||||
if (isPremium != null) {
|
||||
if (isPremium) {
|
||||
T2Csend.console(prefix + " §4 §e| §6Premium: §2true");
|
||||
} else T2Csend.console(prefix + " §4 §e| §6Premium: §4false");
|
||||
if (isVerify != null) {
|
||||
if (isVerify) {
|
||||
T2Csend.console(prefix + " §4 §e| §6Verify: §2true");
|
||||
} else T2Csend.console(prefix + " §4 §e| §6Verify: §4false");
|
||||
} else T2Csend.console(prefix + " §4 §e| §6Verify: §4false");
|
||||
}
|
||||
|
||||
T2Csend.console(prefix + " §4 §e-------------------");
|
||||
if (version.toLowerCase().contains("dev") || version.toLowerCase().contains("snapshot") || version.toLowerCase().contains("beta")) {
|
||||
T2Csend.console(prefix + " §eYou are running §4" + version + " §eof " + prefix + "§e! Some features may not be working as expected. Please report all" +
|
||||
" bugs here: http://dc.t2code.net §4UpdateChecker & bStats may be disabled!");
|
||||
T2Csend.console(prefix + " §4 §e-------------------");
|
||||
try {
|
||||
Thread.sleep(5000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return long_;
|
||||
}
|
||||
|
||||
public static Long onLoadHeader(String prefix) {
|
||||
Long long_ = System.currentTimeMillis();
|
||||
T2Csend.console(prefix + "§4===================== " + prefix + " §4=====================");
|
||||
return long_;
|
||||
}
|
||||
|
||||
public static void onLoadSeparateStroke(String prefix) {
|
||||
T2Csend.console(prefix + " §8-------------------------------");
|
||||
}
|
||||
|
||||
public static void onLoadFooter(String prefix, Long long_, String version) {
|
||||
onLoadSeparateStroke(prefix);
|
||||
T2Csend.console(prefix + " §2Plugin loaded successfully." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
}
|
||||
|
||||
public static void onLoadFooter(String prefix, Long long_) {
|
||||
onLoadSeparateStroke(prefix);
|
||||
T2Csend.console(prefix + " §2Plugin loaded successfully." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
}
|
||||
|
||||
public static void onDisable(String prefix, List<String> autor, String version, String spigot, String discord) {
|
||||
T2Csend.console(prefix + " §2Version: §6" + version);
|
||||
T2Csend.console(prefix + " §4Plugin successfully disabled.");
|
||||
}
|
||||
|
||||
public static void sendInfo(CommandSender sender, Plugin plugin, int spigotID, String discord, Boolean premiumVerified, String text) {
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
String publicVersion = T2CupdateAPI.pluginVersions.get(plugin.getName()).publicVersion;
|
||||
boolean update = !publicVersion.equalsIgnoreCase(pluginVersion);
|
||||
boolean player = sender instanceof Player;
|
||||
|
||||
String stPlugin = "<dark_red>|</dark_red> <yellow>Plugin:</yellow> <gold>[pl]</gold>".replace("[pl]", plugin.getName());
|
||||
String stVersion = "<dark_red>|</dark_red> <yellow>Version:</yellow> <gold>[ver]</gold>".replace("[ver]", pluginVersion);
|
||||
String stAutor = "<dark_red>|</dark_red> <yellow>Autor(s):</yellow> <gold>[autor]</gold>".replace("[autor]", plugin.getDescription().getAuthors().toString());
|
||||
String stNVersion = "<dark_red>|</dark_red> <yellow>Newest Version:</yellow> <gold>[nver]</gold>".replace("[nver]", publicVersion);
|
||||
String stStable = "<dark_red>|</dark_red> <yellow>Stable version available:</yellow> [up]".replace("[up]", update ? "<dark_green>YES</dark_green>" : "<red>no</red>");
|
||||
String stLinkPlayer = "<dark_red>|</dark_red> <yellow><hover:show_text:'<green>Go to the Spigot page</green>'><click:open_url:'[slink]'>Spigot</click></hover></yellow> "
|
||||
.replace("[slink]", "https://www.spigotmc.org/resources/" + spigotID)
|
||||
+ "<dark_red>-</dark_red> <dark_purple><hover:show_text:'<green>Go to the T2Code Support Discord</green>'><click:open_url:'[dlink]'>Discord</click></hover></dark_purple>"
|
||||
.replace("[dlink]", discord);
|
||||
String stLinkConsole = "<dark_red>|</dark_red> <yellow>Spigot:</yellow> <gold>https://www.spigotmc.org/resources/" + spigotID + "</gold>"
|
||||
+ "<br><dark_red>|</dark_red> <yellow>Discord:</yellow> <gold>" + discord + "</gold>";
|
||||
String stLink = player ? stLinkPlayer : stLinkConsole;
|
||||
String pr = premiumVerified != null ? "<br><dark_red>|</dark_red> <yellow>Premium verified:</yellow> [pr]".replace("[pr]", premiumVerified ? "<dark_green>YES</dark_green>" : "<red>NO</red>") : "";
|
||||
|
||||
String stMSG = text == null || text.equals("") ? "" : "<br><dark_red>|</dark_red> " + text + "<br>";
|
||||
T2Csend.sender(sender, "<dark_red>---------------------</dark_red>"
|
||||
+ "<br>" + stPlugin
|
||||
+ stMSG
|
||||
+ stVersion
|
||||
+ "<br>" + stAutor
|
||||
+ "<br>" + stNVersion
|
||||
+ "<br>" + stStable
|
||||
+ "<br>" + stLink
|
||||
+ pr
|
||||
+ "<br><dark_red>---------------------</dark_red>");
|
||||
}
|
||||
|
||||
public static void sendInfo(CommandSender sender, Plugin plugin, int spigotID, String discord, String text) {
|
||||
sendInfo(sender, plugin, spigotID, discord, null, text);
|
||||
}
|
||||
}
|
@ -5,23 +5,23 @@ import net.md_5.bungee.api.chat.ComponentBuilder;
|
||||
import net.md_5.bungee.api.chat.HoverEvent;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
|
||||
public class T2C_TextBuilder {
|
||||
public class T2CtextBuilder {
|
||||
|
||||
private final String text;
|
||||
private String hover;
|
||||
private String click;
|
||||
private ClickEvent.Action action;
|
||||
|
||||
public T2C_TextBuilder(String text) {
|
||||
public T2CtextBuilder(String text) {
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
public T2C_TextBuilder addHover(String hover) {
|
||||
public T2CtextBuilder addHover(String hover) {
|
||||
this.hover = hover;
|
||||
return this;
|
||||
}
|
||||
|
||||
public T2C_TextBuilder addClickEvent(ClickEvent.Action clickEventAction, String value) {
|
||||
public T2CtextBuilder addClickEvent(ClickEvent.Action clickEventAction, String value) {
|
||||
this.action = clickEventAction;
|
||||
this.click = value;
|
||||
return this;
|
@ -1,32 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.minecraftVersion;
|
||||
|
||||
public enum T2C_NmsEnum {
|
||||
not_support,
|
||||
v1_8_R1,
|
||||
v1_8_R2,
|
||||
v1_8_R3,
|
||||
v1_9_R1,
|
||||
v1_9_R2,
|
||||
v1_10_R1,
|
||||
v1_11_R1,
|
||||
v1_12_R1,
|
||||
v1_13_R1,
|
||||
v1_13_R2,
|
||||
v1_14_R1,
|
||||
v1_15_R1,
|
||||
v1_16_R1,
|
||||
v1_16_R2,
|
||||
v1_16_R3,
|
||||
v1_17_R1,
|
||||
v1_18_R1,
|
||||
v1_18_R2,
|
||||
v1_19_R1,
|
||||
v1_19_R2,
|
||||
v1_19_R3,
|
||||
v1_20_R1,
|
||||
v1_20_R2,
|
||||
v1_20_R3,
|
||||
v1_20_R4,
|
||||
v1_21_R1,
|
||||
v1_21_R2,
|
||||
}
|
@ -1,100 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.minecraftVersion;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
|
||||
public class T2C_NmsVersions {
|
||||
|
||||
public static Class minecraftServerClass;
|
||||
|
||||
@Getter
|
||||
private static T2C_NmsEnum t2CnmsEnum;
|
||||
|
||||
public static void init() {
|
||||
String mc = T2C_McVersion.getMcVersion();
|
||||
|
||||
if (mc.contains("(MC: 1.8)") || mc.contains("(MC: 1.8.1)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_8_R1;
|
||||
} else if (mc.contains("(MC: 1.8.3)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_8_R2;
|
||||
} else if (mc.contains("(MC: 1.8.4)") || mc.contains("(MC: 1.8.5)") || mc.contains("(MC: 1.8.6)") || mc.contains("(MC: 1.8.7)") || mc.contains("(MC: 1.8.8)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_8_R3;
|
||||
} else if (mc.contains("(MC: 1.9)") || mc.contains("(MC: 1.9.2)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_9_R1;
|
||||
} else if (mc.contains("(MC: 1.9.3)") || mc.contains("(MC: 1.9.4)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_9_R2;
|
||||
} else if (mc.contains("(MC: 1.10")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_10_R1;
|
||||
} else if (mc.contains("(MC: 1.11")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_11_R1;
|
||||
} else if (mc.contains("(MC: 1.12")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_12_R1;
|
||||
} else if (mc.contains("(MC: 1.13)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_13_R1;
|
||||
} else if (mc.contains("(MC: 1.13.1)") || mc.contains("(MC: 1.13.2)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_13_R2;
|
||||
} else if (mc.contains("(MC: 1.14")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_14_R1;
|
||||
} else if (mc.contains("(MC: 1.15")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_15_R1;
|
||||
} else if (mc.contains("(MC: 1.16)") || mc.contains("(MC: 1.16.1)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_16_R1;
|
||||
} else if (mc.contains("(MC: 1.16.2)") || mc.contains("(MC: 1.16.3)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_16_R2;
|
||||
} else if (mc.contains("(MC: 1.16.4)") || mc.contains("(MC: 1.16.5)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_16_R3;
|
||||
} else if (mc.contains("(MC: 1.17")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_17_R1;
|
||||
} else if (mc.contains("(MC: 1.18)") || mc.contains("(MC: 1.18.1)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_18_R1;
|
||||
} else if (mc.contains("(MC: 1.18.2)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_18_R2;
|
||||
} else if (mc.contains("(MC: 1.19)") || mc.contains("(MC: 1.19.1)") || mc.contains("(MC: 1.19.2)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_19_R1;
|
||||
} else if (mc.contains("(MC: 1.19.3)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_19_R2;
|
||||
} else if (mc.contains("(MC: 1.19.4)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_19_R3;
|
||||
} else if (mc.contains("(MC: 1.20)") || mc.contains("(MC: 1.20.1)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_20_R1;
|
||||
} else if (mc.contains("(MC: 1.20.2)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_20_R2;
|
||||
} else if (mc.contains("(MC: 1.20.3)") || mc.contains("(MC: 1.20.4)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_20_R3;
|
||||
} else if (mc.contains("(MC: 1.20.6)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_20_R4;
|
||||
} else if (mc.contains("(MC: 1.21)")|| mc.contains("(MC: 1.21.1)")) {
|
||||
t2CnmsEnum = T2C_NmsEnum.v1_21_R1;
|
||||
} else t2CnmsEnum = T2C_NmsEnum.not_support;
|
||||
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// public static void init() {
|
||||
//
|
||||
//
|
||||
// // List<String> list= Arrays.stream(Class .getPackages()).map(Package::getName).filter(n -> n.startsWith("net.minecraft.server")).collect(Collectors.toList());
|
||||
//
|
||||
// // for (String s : list){
|
||||
// // T2Cdebug.debugmsg(T2CodeLibMain.getPlugin(),s);
|
||||
// //}
|
||||
//
|
||||
//
|
||||
// for (T2CnmsEnum nmsEnum : T2CnmsEnum.values()) {
|
||||
// try {
|
||||
// minecraftServerClass = Class.forName("net.minecraft.server." + nmsEnum + ".MinecraftServer");
|
||||
// } catch (ClassNotFoundException ignored) {
|
||||
//
|
||||
// }
|
||||
//
|
||||
// if (minecraftServerClass != null) {
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// // todo nicht kompatiebel
|
||||
// T2Cdebug.debugmsg(T2CodeLibMain.getPlugin(), "nicht kompa");
|
||||
//
|
||||
// }
|
||||
}
|
@ -2,34 +2,25 @@ package net.t2code.t2codelib.SPIGOT.api.minecraftVersion;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
|
||||
public class T2C_McVersion {
|
||||
|
||||
public class T2CmcVersion {
|
||||
|
||||
public static void onCheck() {
|
||||
mcVersion = Bukkit.getServer().getVersion();
|
||||
bukkitVersion = Bukkit.getServer().getBukkitVersion();
|
||||
T2C_NmsVersions.init();
|
||||
nms = String.valueOf(T2C_NmsVersions.getT2CnmsEnum());
|
||||
// T2Cdebug.debugmsg(T2CodeLibMain.getPlugin(), "mcVersion: " + mcVersion);
|
||||
// T2Cdebug.debugmsg(T2CodeLibMain.getPlugin(), "bukkitVersion: " + bukkitVersion);
|
||||
// T2Cdebug.debugmsg(T2CodeLibMain.getPlugin(), "nms: " + nms);
|
||||
|
||||
mc1_8 = mcVersion.contains("MC: 1.8");
|
||||
mc1_9 = mcVersion.contains("MC: 1.9");
|
||||
mc1_10 = mcVersion.contains("MC: 1.10");
|
||||
mc1_11 = mcVersion.contains("MC: 1.11");
|
||||
mc1_12 = mcVersion.contains("MC: 1.12");
|
||||
mc1_13 = mcVersion.contains("MC: 1.13");
|
||||
mc1_14 = mcVersion.contains("MC: 1.14");
|
||||
mc1_15 = mcVersion.contains("MC: 1.15");
|
||||
mc1_16 = mcVersion.contains("MC: 1.16");
|
||||
mc1_17 = mcVersion.contains("MC: 1.17");
|
||||
mc1_18 = mcVersion.contains("MC: 1.18");
|
||||
mc1_19 = mcVersion.contains("MC: 1.19");
|
||||
mc1_20 = mcVersion.contains("MC: 1.20");
|
||||
mc1_21 = mcVersion.contains("MC: 1.21");
|
||||
mc1_22 = mcVersion.contains("MC: 1.22");
|
||||
nms = Bukkit.getServer().getClass().getPackage().getName();
|
||||
mc1_8 = nms.contains("1_8");
|
||||
mc1_9 = nms.contains("1_9");
|
||||
mc1_10 = nms.contains("1_10");
|
||||
mc1_11 = nms.contains("1_11");
|
||||
mc1_12 = nms.contains("1_12");
|
||||
mc1_13 = nms.contains("1_13");
|
||||
mc1_14 = nms.contains("1_14");
|
||||
mc1_15 = nms.contains("1_15");
|
||||
mc1_16 = nms.contains("1_16");
|
||||
mc1_17 = nms.contains("1_17");
|
||||
mc1_18 = nms.contains("1_18");
|
||||
mc1_19 = nms.contains("1_19");
|
||||
mc1_20 = nms.contains("1_20");
|
||||
|
||||
nms1_8_R1 = nms.contains("1_8_R1");
|
||||
nms1_8_R2 = nms.contains("1_8_R2");
|
||||
@ -52,12 +43,6 @@ public class T2C_McVersion {
|
||||
nms1_19_R1 = nms.contains("1_19_R1");
|
||||
nms1_19_R2 = nms.contains("1_19_R2");
|
||||
nms1_20_R1 = nms.contains("1_20_R1");
|
||||
nms1_20_R2 = nms.contains("1_20_R2");
|
||||
nms1_20_R3 = nms.contains("1_20_R3");
|
||||
nms1_20_R4 = nms.contains("1_20_R4");
|
||||
nms1_21_R1 = nms.contains("1_21_R1");
|
||||
nms1_21_R2 = nms.contains("1_21_R2");
|
||||
nms1_22_R1 = nms.contains("1_22_R1");
|
||||
}
|
||||
|
||||
private static String mcVersion;
|
||||
@ -75,8 +60,6 @@ public class T2C_McVersion {
|
||||
private static boolean mc1_18;
|
||||
private static boolean mc1_19;
|
||||
private static boolean mc1_20;
|
||||
private static boolean mc1_21;
|
||||
private static boolean mc1_22;
|
||||
|
||||
private static String nms;
|
||||
private static boolean nms1_8_R1;
|
||||
@ -100,12 +83,6 @@ public class T2C_McVersion {
|
||||
private static boolean nms1_19_R1;
|
||||
private static boolean nms1_19_R2;
|
||||
private static boolean nms1_20_R1;
|
||||
private static boolean nms1_20_R2;
|
||||
private static boolean nms1_20_R3;
|
||||
private static boolean nms1_20_R4;
|
||||
private static boolean nms1_21_R1;
|
||||
private static boolean nms1_21_R2;
|
||||
private static boolean nms1_22_R1;
|
||||
|
||||
public static String getMcVersion() {
|
||||
return mcVersion;
|
||||
@ -167,14 +144,6 @@ public class T2C_McVersion {
|
||||
return mc1_20;
|
||||
}
|
||||
|
||||
public static boolean isMc1_21() {
|
||||
return mc1_21;
|
||||
}
|
||||
|
||||
public static boolean isMc1_22() {
|
||||
return mc1_22;
|
||||
}
|
||||
|
||||
public static String getNms() {
|
||||
return nms;
|
||||
}
|
||||
@ -262,84 +231,4 @@ public class T2C_McVersion {
|
||||
public static boolean isNms1_20_R1() {
|
||||
return nms1_20_R1;
|
||||
}
|
||||
|
||||
public static boolean isNms1_20_R2() {
|
||||
return nms1_20_R2;
|
||||
}
|
||||
|
||||
public static boolean isNms1_20_R3() {
|
||||
return nms1_20_R3;
|
||||
}
|
||||
|
||||
public static boolean isNms1_20_R4() {
|
||||
return nms1_20_R4;
|
||||
}
|
||||
|
||||
public static boolean isNms1_21_R1() {
|
||||
return nms1_21_R1;
|
||||
}
|
||||
public static boolean isNms1_21_R2() {
|
||||
return nms1_21_R2;
|
||||
}
|
||||
public static boolean isNms1_22_R1() {
|
||||
return nms1_22_R1;
|
||||
}
|
||||
|
||||
|
||||
public static boolean minMc1_8() {
|
||||
return isMc1_8();
|
||||
}
|
||||
|
||||
public static boolean minMc1_9() {
|
||||
return !isMc1_8();
|
||||
}
|
||||
|
||||
public static boolean minMc1_10() {
|
||||
return !isMc1_8() && !isMc1_9();
|
||||
}
|
||||
|
||||
public static boolean minMc1_11() {
|
||||
return !isMc1_8() && !isMc1_9() && !isMc1_10();
|
||||
}
|
||||
|
||||
public static boolean minMc1_12() {
|
||||
return !isMc1_8() && !isMc1_9() && !isMc1_10() && !isMc1_11();
|
||||
}
|
||||
|
||||
public static boolean minMc1_13() {
|
||||
return !isMc1_8() && !isMc1_9() && !isMc1_10() && !isMc1_11() && !isMc1_12();
|
||||
}
|
||||
|
||||
public static boolean minMc1_14() {
|
||||
return !isMc1_8() && !isMc1_9() && !isMc1_10() && !isMc1_11() && !isMc1_12() && !isMc1_13();
|
||||
}
|
||||
|
||||
public static boolean minMc1_15() {
|
||||
return !isMc1_8() && !isMc1_9() && !isMc1_10() && !isMc1_11() && !isMc1_12() && !isMc1_13() && !isMc1_14();
|
||||
}
|
||||
|
||||
public static boolean minMc1_16() {
|
||||
return !isMc1_8() && !isMc1_9() && !isMc1_10() && !isMc1_11() && !isMc1_12() && !isMc1_13() && !isMc1_14() && !isMc1_15();
|
||||
}
|
||||
|
||||
public static boolean minMc1_17() {
|
||||
return !isMc1_8() && !isMc1_9() && !isMc1_10() && !isMc1_11() && !isMc1_12() && !isMc1_13() && !isMc1_14() && !isMc1_15() && !isMc1_16();
|
||||
}
|
||||
|
||||
public static boolean minMc1_18() {
|
||||
return !isMc1_8() && !isMc1_9() && !isMc1_10() && !isMc1_11() && !isMc1_12() && !isMc1_13() && !isMc1_14() && !isMc1_15() && !isMc1_16() && !isMc1_17();
|
||||
}
|
||||
|
||||
public static boolean minMc1_19() {
|
||||
return !isMc1_8() && !isMc1_9() && !isMc1_10() && !isMc1_11() && !isMc1_12() && !isMc1_13() && !isMc1_14() && !isMc1_15() && !isMc1_16() && !isMc1_17() && !isMc1_18();
|
||||
}
|
||||
|
||||
public static boolean minMc1_20() {
|
||||
return !isMc1_8() && !isMc1_9() && !isMc1_10() && !isMc1_11() && !isMc1_12() && !isMc1_13() && !isMc1_14() && !isMc1_15() && !isMc1_16() && !isMc1_17()
|
||||
&& !isMc1_18() && !isMc1_19();
|
||||
}
|
||||
public static boolean minMc1_21() {
|
||||
return !isMc1_8() && !isMc1_9() && !isMc1_10() && !isMc1_11() && !isMc1_12() && !isMc1_13() && !isMc1_14() && !isMc1_15() && !isMc1_16() && !isMc1_17()
|
||||
&& !isMc1_18() && !isMc1_19() && !isMc1_20();
|
||||
}
|
||||
}
|
@ -5,6 +5,7 @@ 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;
|
||||
@ -12,9 +13,8 @@ import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class T2C_NameHistory {
|
||||
public class T2CnameHistory {
|
||||
public static class NameLookup {
|
||||
|
||||
/**
|
||||
@ -93,7 +93,7 @@ public class T2C_NameHistory {
|
||||
con.setReadTimeout(2000);
|
||||
con.connect();
|
||||
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
|
||||
String response = in.lines().collect(Collectors.joining());
|
||||
String response = in.readLine();
|
||||
in.close();
|
||||
return response;
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.plugins;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class T2C_PluginManager {
|
||||
|
||||
public static void restart(String plugin) {
|
||||
if (Bukkit.getPluginManager().getPlugin(plugin) == null) return;
|
||||
T2C_Main.getPlugin().getPluginLoader().disablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
|
||||
T2C_Main.getPlugin().getPluginLoader().enablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
|
||||
}
|
||||
|
||||
public static void enable(String plugin) {
|
||||
if (Bukkit.getPluginManager().getPlugin(plugin) == null) return;
|
||||
T2C_Main.getPlugin().getPluginLoader().enablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
|
||||
}
|
||||
|
||||
public static void disable(String plugin) {
|
||||
if (Bukkit.getPluginManager().getPlugin(plugin) == null) return;
|
||||
T2C_Main.getPlugin().getPluginLoader().disablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
|
||||
}
|
||||
|
||||
public static void restart(Plugin plugin) {
|
||||
if (plugin == null) return;
|
||||
T2C_Main.getPlugin().getPluginLoader().disablePlugin(plugin);
|
||||
T2C_Main.getPlugin().getPluginLoader().enablePlugin(plugin);
|
||||
}
|
||||
|
||||
public static void enable(Plugin plugin) {
|
||||
if (plugin == null) return;
|
||||
T2C_Main.getPlugin().getPluginLoader().enablePlugin(plugin);
|
||||
}
|
||||
|
||||
public static void disable(Plugin plugin) {
|
||||
if (plugin == null) return;
|
||||
T2C_Main.getPlugin().getPluginLoader().disablePlugin(plugin);
|
||||
}
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.plugins;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class T2C_PluginCheck {
|
||||
public class T2CpluginCheck {
|
||||
public static Boolean pluginCheck(String pluginName){
|
||||
return Bukkit.getPluginManager().getPlugin(pluginName) != null;
|
||||
}
|
||||
@ -82,7 +82,7 @@ public class T2C_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.");
|
||||
T2C_Main.getPlugin().getPluginLoader().disablePlugin(T2C_Main.getPlugin());
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().disablePlugin(T2CodeLibMain.getPlugin());
|
||||
return true;
|
||||
} else return false;
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.plugins;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class T2CpluginManager {
|
||||
|
||||
public static void restart(String plugin) {
|
||||
if (Bukkit.getPluginManager().getPlugin(plugin) == null) return;
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().disablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().enablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
|
||||
}
|
||||
|
||||
public static void enable(String plugin) {
|
||||
if (Bukkit.getPluginManager().getPlugin(plugin) == null) return;
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().enablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
|
||||
}
|
||||
|
||||
public static void disable(String plugin) {
|
||||
if (Bukkit.getPluginManager().getPlugin(plugin) == null) return;
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().disablePlugin(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(plugin)));
|
||||
}
|
||||
|
||||
public static void restart(Plugin plugin) {
|
||||
if (plugin == null) return;
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().disablePlugin(plugin);
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().enablePlugin(plugin);
|
||||
}
|
||||
|
||||
public static void enable(Plugin plugin) {
|
||||
if (plugin == null) return;
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().enablePlugin(plugin);
|
||||
}
|
||||
|
||||
public static void disable(Plugin plugin) {
|
||||
if (plugin == null) return;
|
||||
T2CodeLibMain.getPlugin().getPluginLoader().disablePlugin(plugin);
|
||||
}
|
||||
}
|
@ -6,7 +6,7 @@ import org.bukkit.permissions.Permission;
|
||||
import org.bukkit.permissions.PermissionDefault;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
public class T2C_Register {
|
||||
public class T2Cregister {
|
||||
public static void listener(Listener listener, Plugin plugin) {
|
||||
Bukkit.getServer().getPluginManager().registerEvents(listener, plugin);
|
||||
}
|
@ -1,53 +0,0 @@
|
||||
// This class was created by JaTiTV.
|
||||
|
||||
package net.t2code.t2codelib.SPIGOT.api.sound;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.languages.T2CLibLanguages;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class T2C_Sound {
|
||||
public static void playSound(Player player, String sound, int v, int v1) {
|
||||
playSound(player, Sound.valueOf(sound), v, v1);
|
||||
}
|
||||
|
||||
public static void playSound(Player player, Sound sound, int v, int v1) {
|
||||
player.playSound(player.getLocation(), sound, v, v1);
|
||||
}
|
||||
|
||||
|
||||
public static Sound checkSound(String sound1_8, String sound1_9, String sound1_13, String selectSoundFromConfig, String prefix) {
|
||||
String SOUND;
|
||||
if (T2C_McVersion.isMc1_8()) {
|
||||
SOUND = sound1_8;
|
||||
} else if (T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12()) {
|
||||
SOUND = sound1_9;
|
||||
} else SOUND = sound1_13;
|
||||
|
||||
return checkSound(SOUND, selectSoundFromConfig, prefix);
|
||||
}
|
||||
|
||||
|
||||
public static Sound checkSound(String sound1_8, String sound1_13, String selectSoundFromConfig, String prefix) {
|
||||
String SOUND;
|
||||
if (T2C_McVersion.isMc1_8()) {
|
||||
SOUND = sound1_8;
|
||||
} else SOUND = sound1_13;
|
||||
|
||||
return checkSound(SOUND, selectSoundFromConfig, prefix);
|
||||
}
|
||||
|
||||
|
||||
public static Sound checkSound(String sound, String selectSoundFromConfig, String prefix) {
|
||||
try {
|
||||
return Sound.valueOf(selectSoundFromConfig);
|
||||
} catch (Exception e) {
|
||||
T2C_Send.console("§4\n§4\n§4\n" + T2CLibLanguages.VALUES.soundNotFound.getValue().toString().replace("[prefix]", prefix)
|
||||
.replace("[sound]", "§8Buy: §6" + selectSoundFromConfig) + "§4\n§4\n§4\n");
|
||||
return Sound.valueOf(sound);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,163 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.update;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.T2C_LibConfig;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateType;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateObject;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateWebData;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public class T2C_UpdateAPI {
|
||||
public static HashMap<String, T2C_UpdateObject> pluginVersions = new HashMap<>();
|
||||
|
||||
public static void join(Plugin plugin, String prefix, String perm, Player player, Integer spigotID, String discord) {
|
||||
if (pluginVersions.get(plugin.getName()) == null) {
|
||||
Bukkit.getScheduler().runTaskLaterAsynchronously(T2C_Main.getPlugin(), () -> join(plugin, prefix, perm, player, spigotID, discord), 2 * 20L);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!pluginVersions.get(plugin.getName()).updateCheckOnJoin) {
|
||||
return;
|
||||
}
|
||||
if (!player.hasPermission(perm) && !player.isOp()) {
|
||||
return;
|
||||
}
|
||||
if (pluginVersions.get(plugin.getName()) == null) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
join(plugin, prefix, perm, player, spigotID, discord);
|
||||
}
|
||||
}.runTaskLaterAsynchronously(plugin, 20L);
|
||||
return;
|
||||
}
|
||||
T2C_UpdateWebData webData = pluginVersions.get(plugin.getName()).webData;
|
||||
if (!pluginVersions.get(plugin.getName()).updateAvailable) return;
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
sendUpdateMsg(prefix, webData, discord, plugin, player);
|
||||
}
|
||||
}.runTaskLaterAsynchronously(T2C_Main.getPlugin(), 200L);
|
||||
}
|
||||
|
||||
public static void sendUpdateMsg(String prefix, T2C_UpdateWebData webData, String discord, Plugin plugin, Player player) {
|
||||
String publicVersion = webData.getVersion();
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
if (!pluginVersions.get(plugin.getName()).updateAvailable) {
|
||||
return;
|
||||
}
|
||||
String updateStatusVersion = getUpdateType(webData);
|
||||
String st = "[prefix]<br>" +
|
||||
"<click:open_url:'[link]'><hover:show_text:'<color:#6e90ff>You can download it here: <yellow>[link]</yellow></color>'>[prefix] <color:#6e90ff>A new</color> [value] <color:#6e90ff>version was" +
|
||||
" found!</color></hover></click><br>" +
|
||||
"<click:open_url:'[link]'><hover:show_text:'<color:#6e90ff>You can download it here: <yellow>[link]</yellow></color>'>[prefix] <red>[plv]</red> <gray>-></gray> " +
|
||||
"<green>[puv]</green></hover></click><br>" +
|
||||
"<click:open_url:'[dc]'><hover:show_text:'<yellow>[dc]</yellow>'>[prefix] <color:#6e90ff>You can find more information on Discord.</color></hover></click><br>" +
|
||||
"[prefix] <color:#ff9499><hover:show_text:'<red>Click for more information</red>'><click:run_command:'/t2c updateinfo " + plugin.getName() + "'>Update information</click></hover></color><br>" +
|
||||
"[prefix]";
|
||||
|
||||
T2C_Send.player(player, st.replace("[prefix]", prefix).replace("[value]", updateStatusVersion).replace("[link]", webData.getUpdateUrl())
|
||||
.replace("[plv]", pluginVersion).replace("[puv]", publicVersion).replace("[dc]", discord));
|
||||
}
|
||||
|
||||
public static void sendUpdateMsg(String prefix, String discord, T2C_UpdateWebData webData, Plugin plugin) {
|
||||
String publicVersion = webData.getVersion();
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
String updateStatusVersion = getUpdateType(webData);
|
||||
String s1 = "<color:#6e90ff>A new [value] version was found!</color>".replace("[value]", updateStatusVersion);
|
||||
String s2 = "<color:#6e90ff>Your version: <red>" + pluginVersion + "</red> <gray>-</gray> Current version:</color> <green>" + webData.getVersion() + "</green>";
|
||||
String s3 = "<color:#6e90ff>You can download it here:</color> <yellow>" + webData.getUpdateUrl() + "</yellow>";
|
||||
String s4 = "<color:#6e90ff>You can find more information on Discord:</color> <yellow>" + discord + "</yellow>";
|
||||
|
||||
T2C_Send.console(T2C_Send.getFrameCenter(prefix, true, s1, s2, s3, s4));
|
||||
}
|
||||
|
||||
public static String updateInfo(String[] args, Boolean player) {
|
||||
T2C_UpdateObject object;
|
||||
try {
|
||||
object = T2C_UpdateAPI.pluginVersions.get(args[1]);
|
||||
} catch (Exception e) {
|
||||
return T2C_Util.getPrefix() + " <red>The plugin <yellow>" + args[1] + "</yellow> is not registered in the update checker of T2Code!</red>";
|
||||
}
|
||||
if (object == null) return T2C_Util.getPrefix() + " <red>The plugin <yellow>" + args[1] + "</yellow> is not registered in the update checker of T2Code!</red>";
|
||||
T2C_UpdateWebData webData = object.webData;
|
||||
if (webData == null) {
|
||||
return T2C_Util.getPrefix() + " <b><dark_red>It could not be checked for updates with the plugin <yellow>" + args[1] + "</yellow>!</dark_red></b>";
|
||||
}
|
||||
String pluginName = T2C_UpdateAPI.pluginVersions.get(args[1]).pluginName;
|
||||
String pluginVersion = T2C_UpdateAPI.pluginVersions.get(args[1]).pluginVersion;
|
||||
|
||||
String updateTitle = webData.getUpdateTitle();
|
||||
String publicVersion = webData.getVersion();
|
||||
String updateType = getUpdateType(webData);
|
||||
|
||||
String updateAt = webData.getPublishedAt();
|
||||
String updateUpdate = webData.getUpdateUrl();
|
||||
String updateDescription = webData.getUpdateDescription();
|
||||
|
||||
String pluginNameString = "<br><dark_red>║</dark_red> <color:#6e90ff>Plugin:</color> <color:#5eff89>" + pluginName + "</color>";
|
||||
String pluginVersionString = "<br><dark_red>║</dark_red> <color:#6e90ff>Your version:</color> <color:#5eff89>" + pluginVersion + "</color>";
|
||||
String updateInfoString = "<br><dark_red>║</dark_red> <color:#09ff00>[value]:</color>";
|
||||
String updateTitleString = "<br><dark_red>║</dark_red> <color:#6e90ff>Title:</color> <color:#5eff89>" + updateTitle + "</color>";
|
||||
String updateVersionString = "<br><dark_red>║</dark_red> <color:#6e90ff>Version:</color> <color:#5eff89>" + publicVersion + "</color>";
|
||||
String updateAtString = "<br><dark_red>║</dark_red> <color:#6e90ff>Published on:</color> <color:#5eff89>" + updateAt + "</color>";
|
||||
String updateTypeString = "<br><dark_red>║</dark_red> <color:#6e90ff>Version type:</color> <color:#5eff89>" + updateType + "</color>";
|
||||
|
||||
String updateButton;
|
||||
if (player) {
|
||||
updateButton = "<br><dark_red>║</dark_red> <color:#5eff89><hover:show_text:'<gold>" + updateUpdate + "</gold>'><click:open_url:'" + updateUpdate
|
||||
+ "'>Download</click></hover></color> <dark_gray>|</dark_gray> <color:#ff9499><hover:show_text:'" + updateDescription + "'><click:open_url:'" + webData.getGitURL() + "'>Update Description</click></hover></color>";
|
||||
} else updateButton = "<br><dark_red>║</dark_red> <color:#5eff89>Download:</color> <gold>" + updateUpdate + "</gold>";
|
||||
|
||||
String text;
|
||||
|
||||
text = "<br><dark_red>╔══════════════════════</dark_red>";
|
||||
text = text + pluginNameString;
|
||||
text = text + pluginVersionString;
|
||||
text = text + updateInfoString.replace("[value]", object.updateAvailable ? "Update available" : "Info about your version");
|
||||
if (!updateTitle.equals("OLD")) text = text + updateTitleString;
|
||||
if (object.updateAvailable) text = text + updateVersionString;
|
||||
if (!updateTitle.equals("OLD")) text = text + updateAtString;
|
||||
if (!updateTitle.equals("OLD")) text = text + updateTypeString;
|
||||
text = text + updateButton;
|
||||
|
||||
if (updateTitle.equals("OLD")) text = text + "<br><dark_gray>This plugin does not have the new update checker yet, so there is no exact update / " +
|
||||
"version information available!</dark_gray>";
|
||||
|
||||
text = text + "<br><dark_red>╚══════════════════════</dark_red>";
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
public static void onUpdateCheck(Plugin plugin, String prefix, String gitKey, Integer spigotID, String discord, Boolean updateCheckOnJoin, Boolean seePreReleaseUpdates, Integer timeInterval) {
|
||||
if ((boolean) T2C_LibConfig.VALUES.updateCheckFullDisable.getValue()) return;
|
||||
new T2C_UpdateCheckerGit((JavaPlugin) plugin, prefix, gitKey, spigotID, discord, updateCheckOnJoin, seePreReleaseUpdates, timeInterval);
|
||||
}
|
||||
|
||||
private static String getUpdateType(T2C_UpdateWebData webData) {
|
||||
String updateType;
|
||||
String publicVersion = webData.getVersion();
|
||||
if (webData.isPreRelease()) {
|
||||
updateType = T2C_UpdateType.PRERELEASE.text;
|
||||
if (publicVersion.toLowerCase().contains("dev")) {
|
||||
updateType = T2C_UpdateType.DEVELOPMENT.text;
|
||||
}
|
||||
if (publicVersion.toLowerCase().contains("beta")) {
|
||||
updateType = T2C_UpdateType.BETA.text;
|
||||
}
|
||||
if (publicVersion.toLowerCase().contains("snapshot")) {
|
||||
updateType = T2C_UpdateType.SNAPSHOT.text;
|
||||
}
|
||||
} else updateType = T2C_UpdateType.STABLE.text;
|
||||
return updateType;
|
||||
}
|
||||
}
|
@ -1,155 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.update;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.T2C_LibConfig;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateObject;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateWebData;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class T2C_UpdateCheckerGit {
|
||||
private final JavaPlugin plugin;
|
||||
private T2C_UpdateObject t2CupdateObject;
|
||||
|
||||
|
||||
public T2C_UpdateCheckerGit(JavaPlugin plugin, String prefix, String gitKey, Integer spigotID, String discord, Boolean updateCheckOnJoin, Boolean seePreReleaseUpdates, Integer timeInterval) {
|
||||
this.plugin = plugin;
|
||||
|
||||
String RepoURL = "https://git.t2code.net/api/v1/repos/" + gitKey + "/releases?limit=1";
|
||||
if (!seePreReleaseUpdates) {
|
||||
RepoURL = RepoURL + "&pre-release=false";
|
||||
}
|
||||
String finalRepoURL = RepoURL;
|
||||
|
||||
Integer finalInterval;
|
||||
if (timeInterval < 1) {
|
||||
finalInterval = 1;
|
||||
} else finalInterval = timeInterval;
|
||||
|
||||
Bukkit.getScheduler().runTaskTimerAsynchronously(plugin, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if ((boolean) T2C_LibConfig.VALUES.updateCheckFullDisable.getValue()) return;
|
||||
getVersion((webData) -> {
|
||||
T2C_UpdateObject update = new T2C_UpdateObject(
|
||||
plugin.getName(),
|
||||
plugin.getDescription().getVersion(),
|
||||
webData,
|
||||
t2CupdateObject != null && t2CupdateObject.load,
|
||||
!plugin.getDescription().getVersion().equals(webData.getVersion()),
|
||||
updateCheckOnJoin
|
||||
);
|
||||
|
||||
T2C_UpdateAPI.pluginVersions.put(plugin.getName(), update);
|
||||
if (T2C_UpdateAPI.pluginVersions.get(plugin.getName()) == null) {
|
||||
T2C_Debug.debugmsg(T2C_Main.getPlugin(), "'" + plugin.getName() + "' UpdateAPI T2CupdateAPI.pluginVersions.get(plugin.getName()) == null");
|
||||
return;
|
||||
}
|
||||
if (T2C_UpdateAPI.pluginVersions.get(plugin.getName()).updateAvailable) {
|
||||
if (!update.load) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
update.load = true;
|
||||
T2C_UpdateAPI.sendUpdateMsg(prefix, discord, webData, plugin);
|
||||
}
|
||||
}.runTaskLaterAsynchronously(plugin, 600L);
|
||||
} else T2C_UpdateAPI.sendUpdateMsg(prefix, discord, webData, plugin);
|
||||
} else {
|
||||
if (!update.load) {
|
||||
T2C_Send.console(prefix + " §e║ " + "§2No update found.");
|
||||
update.load = true;
|
||||
}
|
||||
}
|
||||
|
||||
t2CupdateObject = update;
|
||||
|
||||
}, plugin.getDescription().getVersion(), spigotID, finalRepoURL, updateCheckOnJoin, seePreReleaseUpdates, timeInterval);
|
||||
}
|
||||
}, 10L, finalInterval * 60 * 20L);
|
||||
}
|
||||
|
||||
public void getVersion(Consumer<T2C_UpdateWebData> consumer, String pluginVersion, Integer spigotID, String URL, Boolean updateCheckOnJoin, Boolean seePreReleaseUpdates, Integer timeInterval) {
|
||||
if (!plugin.isEnabled()) {
|
||||
return;
|
||||
}
|
||||
Bukkit.getScheduler().runTaskAsynchronously(this.plugin, () -> {
|
||||
try {
|
||||
URL url = new URL(URL);
|
||||
URLConnection yc = url.openConnection();
|
||||
BufferedReader in = new BufferedReader(
|
||||
new InputStreamReader(
|
||||
yc.getInputStream()));
|
||||
String inputLine;
|
||||
String data = "";
|
||||
while ((inputLine = in.readLine()) != null)
|
||||
data = inputLine;
|
||||
in.close();
|
||||
data = data.substring(1, data.length() - 1);
|
||||
if (data.isEmpty()) {
|
||||
consumer.accept(null);
|
||||
return;
|
||||
}
|
||||
JSONObject obj = new JSONObject(data);
|
||||
String updateTitle = obj.getString("name");
|
||||
String version = obj.getString("tag_name");
|
||||
String updateDescription = obj.getString("body").replace("\n", "<br>").replace("\r", "").replace("'", "''").replace("**", "");
|
||||
String updateUrl = obj.getString("html_url");
|
||||
boolean preRelease = obj.getBoolean("prerelease");
|
||||
|
||||
String date = obj.getString("published_at");
|
||||
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
|
||||
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a");
|
||||
Date parsedDate = inputFormat.parse(date);
|
||||
String publishedAt = outputFormat.format(parsedDate);
|
||||
|
||||
String gitURL = updateUrl;
|
||||
JSONArray downloadArray = obj.getJSONArray("assets");
|
||||
String downloadURL;
|
||||
if (downloadArray.isEmpty()) {
|
||||
downloadURL = "https://www.spigotmc.org/resources/" + spigotID;
|
||||
} else {
|
||||
downloadURL = downloadArray.getJSONObject(0).getString("browser_download_url");
|
||||
}
|
||||
|
||||
if (!preRelease) {
|
||||
downloadURL = "https://www.spigotmc.org/resources/" + spigotID;
|
||||
updateUrl = "https://www.spigotmc.org/resources/" + spigotID;
|
||||
}
|
||||
|
||||
T2C_UpdateWebData webData = new T2C_UpdateWebData(updateTitle, version, updateDescription, updateUrl, publishedAt, downloadURL, gitURL, preRelease);
|
||||
consumer.accept(webData);
|
||||
} catch (Exception exception) {
|
||||
Boolean load = false;
|
||||
if (T2C_UpdateAPI.pluginVersions.containsKey(plugin.getName())) {
|
||||
load = T2C_UpdateAPI.pluginVersions.get(plugin.getName()).load;
|
||||
}
|
||||
T2C_UpdateObject update = new T2C_UpdateObject(
|
||||
plugin.getName(),
|
||||
pluginVersion,
|
||||
null,
|
||||
load,
|
||||
false,
|
||||
updateCheckOnJoin
|
||||
);
|
||||
T2C_UpdateAPI.pluginVersions.put(plugin.getName(), update);
|
||||
|
||||
T2C_Send.error(this.plugin, "§4 Cannot look for updates: " + exception.getMessage());
|
||||
exception.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,127 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.update;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.SelectLibConfig;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public class T2CupdateAPI {
|
||||
public static HashMap<String, T2CupdateObject> pluginVersions = new HashMap<>();
|
||||
|
||||
public static void join(Plugin plugin, String prefix, String perm, Player player, Integer spigotID, String discord) {
|
||||
if (!SelectLibConfig.getUpdateCheckOnJoin()) {
|
||||
return;
|
||||
}
|
||||
if (!player.hasPermission(perm) && !player.isOp()) {
|
||||
return;
|
||||
}
|
||||
if (pluginVersions.get(plugin.getName()) == null) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
join(plugin, prefix, perm, player, spigotID, discord);
|
||||
}
|
||||
}.runTaskLaterAsynchronously(plugin, 20L);
|
||||
return;
|
||||
}
|
||||
String publicVersion = pluginVersions.get(plugin.getName()).publicVersion;
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
if (pluginVersion.equals(publicVersion)) return;
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
sendUpdateMsg(prefix, spigotID, discord, plugin, player);
|
||||
}
|
||||
}.runTaskLaterAsynchronously(T2CodeLibMain.getPlugin(), 200L);
|
||||
}
|
||||
|
||||
public static void sendUpdateMsg(String prefix, Integer spigotID, String discord, Plugin plugin, Player player) {
|
||||
String publicVersion = pluginVersions.get(plugin.getName()).publicVersion;
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
if (publicVersion.equals("§4No public version found!")) {
|
||||
return;
|
||||
}
|
||||
String st = "[prefix]<br>" +
|
||||
"<click:open_url:'[link]'><hover:show_text:'<gold>You can download it here: <yellow>[link]</yellow></gold>'>[prefix] <gold>A new</gold> [value]<gold>version was found!</gold></hover></click><br>" +
|
||||
"<click:open_url:'[link]'><hover:show_text:'<gold>You can download it here: <yellow>[link]</yellow></gold>'>[prefix] <red>[plv]</red> <gray>-></gray> <green>[puv]</green></hover></click><br>" +
|
||||
"<click:open_url:'[dc]'><hover:show_text:'<yellow>[dc]</yellow>'>[prefix] <gold>You can find more information on Discord.</gold></hover></click><br>" +
|
||||
"[prefix]";
|
||||
String value = "";
|
||||
if (publicVersion.toLowerCase().contains("dev") || publicVersion.toLowerCase().contains("beta") || publicVersion.toLowerCase().contains("snapshot")) {
|
||||
if (publicVersion.toLowerCase().contains("dev")) {
|
||||
value = "<dark_red>DEV </dark_red>";
|
||||
}
|
||||
if (publicVersion.toLowerCase().contains("beta")) {
|
||||
value = "<green>BETA </green>";
|
||||
}
|
||||
if (publicVersion.toLowerCase().contains("snapshot")) {
|
||||
value = "<yellow>SNAPSHOT </yellow>";
|
||||
}
|
||||
}
|
||||
T2Csend.player(player, st.replace("[prefix]", prefix).replace("[value]", value).replace("[link]", "https://www.spigotmc.org/resources/" + spigotID)
|
||||
.replace("[plv]", pluginVersion).replace("[puv]", publicVersion).replace("[dc]", discord));
|
||||
}
|
||||
|
||||
public static void sendUpdateMsg(String prefix, Integer spigot, String discord, Plugin plugin) {
|
||||
String publicVersion = pluginVersions.get(plugin.getName()).publicVersion;
|
||||
String pluginVersion = plugin.getDescription().getVersion();
|
||||
String h = "§4=========== " + prefix + " §4===========";
|
||||
String s1 = "";
|
||||
String s2 = "§6Your version: §c" + pluginVersion + " §7- §6Current version: §a" + publicVersion;
|
||||
String s3 = "§6You can download it here: §ehttps://www.spigotmc.org/resources/" + spigot;
|
||||
String s4 = "§6You can find more information on Discord: §e" + discord;
|
||||
if (publicVersion.toLowerCase().contains("dev") || publicVersion.toLowerCase().contains("beta") || publicVersion.toLowerCase().contains("snapshot")) {
|
||||
if (publicVersion.toLowerCase().contains("dev")) {
|
||||
s1 = "§6A new §4DEV§6 version was found!§r";
|
||||
}
|
||||
if (publicVersion.toLowerCase().contains("beta")) {
|
||||
s1 = "§6A new §2BETA§6 version was found!§r";
|
||||
}
|
||||
if (publicVersion.toLowerCase().contains("snapshot")) {
|
||||
s1 = "§6A new §eSNAPSHOT§6 version was found!§r";
|
||||
}
|
||||
} else {
|
||||
s1 = "§6A new version was found!§r";
|
||||
}
|
||||
String text = "<br>" + h + "<br>" + s1 + "<br>" + s2 + "<br>" + s3 + "<br>" + s4 + "<br>" + h;
|
||||
T2Csend.console(text);
|
||||
}
|
||||
|
||||
public static void onUpdateCheck(Plugin plugin, String prefix, int spigotID, String discord) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
(new T2CupdateChecker((JavaPlugin) plugin, spigotID)).getVersion((update_version) -> {
|
||||
T2CupdateObject update = new T2CupdateObject(
|
||||
plugin.getName(),
|
||||
plugin.getDescription().getVersion(),
|
||||
update_version,
|
||||
false
|
||||
);
|
||||
pluginVersions.put(plugin.getName(), update);
|
||||
if (!plugin.getDescription().getVersion().equalsIgnoreCase(update_version)) {
|
||||
if (!update.load) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
update.load = true;
|
||||
sendUpdateMsg(prefix, spigotID, discord, plugin);
|
||||
}
|
||||
}.runTaskLaterAsynchronously(plugin, 600L);
|
||||
} else sendUpdateMsg(prefix, spigotID, discord, plugin);
|
||||
} else {
|
||||
if (!update.load){
|
||||
T2Csend.console(prefix + " §2No update found.");
|
||||
update.load = true;
|
||||
}
|
||||
}
|
||||
}, prefix, plugin.getDescription().getVersion());
|
||||
}
|
||||
}.runTaskTimerAsynchronously(plugin, 0L, SelectLibConfig.getUpdateCheckTimeInterval() * 60 * 20L);
|
||||
}
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.update;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.util.Scanner;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class T2CupdateChecker {
|
||||
private JavaPlugin plugin;
|
||||
private int resourceId;
|
||||
|
||||
public T2CupdateChecker(JavaPlugin plugin, int resourceId) {
|
||||
this.plugin = plugin;
|
||||
this.resourceId = resourceId;
|
||||
}
|
||||
|
||||
public void getVersion(Consumer<String> consumer, String Prefix, String pluginVersion) {
|
||||
if (!plugin.isEnabled()) {
|
||||
return;
|
||||
}
|
||||
Bukkit.getScheduler().runTaskAsynchronously(this.plugin, () -> {
|
||||
try {
|
||||
InputStream inputStream = (new URL("https://api.spigotmc.org/legacy/update.php?resource=" + this.resourceId)).openStream();
|
||||
try {
|
||||
Scanner scanner = new Scanner(inputStream);
|
||||
|
||||
try {
|
||||
if (scanner.hasNext()) {
|
||||
consumer.accept(scanner.next());
|
||||
}
|
||||
} catch (Throwable var8) {
|
||||
try {
|
||||
scanner.close();
|
||||
} catch (Throwable var7) {
|
||||
var8.addSuppressed(var7);
|
||||
}
|
||||
throw var8;
|
||||
}
|
||||
scanner.close();
|
||||
} catch (Throwable var9) {
|
||||
if (inputStream != null) {
|
||||
try {
|
||||
inputStream.close();
|
||||
} catch (Throwable var6) {
|
||||
var9.addSuppressed(var6);
|
||||
}
|
||||
}
|
||||
throw var9;
|
||||
}
|
||||
inputStream.close();
|
||||
} catch (IOException var10) {
|
||||
Boolean load = false;
|
||||
if (T2CupdateAPI.pluginVersions.containsKey(plugin.getName())){
|
||||
load = T2CupdateAPI.pluginVersions.get(plugin.getName()).load;
|
||||
}
|
||||
|
||||
T2CupdateObject update = new T2CupdateObject(
|
||||
plugin.getName(),
|
||||
pluginVersion,
|
||||
null,
|
||||
load
|
||||
);
|
||||
T2CupdateAPI.pluginVersions.put(plugin.getName(), update);
|
||||
this.plugin.getLogger().severe("§4 Cannot look for updates: " + var10.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.update;
|
||||
|
||||
|
||||
public class T2CupdateObject {
|
||||
|
||||
public String pluginName;
|
||||
public String pluginVersion;
|
||||
public String publicVersion;
|
||||
public Boolean load;
|
||||
|
||||
public T2CupdateObject(String pluginName,
|
||||
String pluginVersion,
|
||||
String publicVersion,
|
||||
Boolean load) {
|
||||
this.pluginName = pluginName;
|
||||
this.pluginVersion = pluginVersion;
|
||||
this.publicVersion = publicVersion;
|
||||
this.load = load;
|
||||
}
|
||||
}
|
@ -1,304 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.yaml;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Replace;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||
import net.t2code.t2codelib.SPIGOT.api.sound.T2C_Sound;
|
||||
import net.t2code.t2codelib.util.T2C_ConfigItem;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class T2C_Config {
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void set(String path, String value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void set(String path, Object value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void set(String path, YamlConfiguration YamlConfiguration) {
|
||||
YamlConfiguration.set(path, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void set(String path, Integer value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void set(String path, Double value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void set(String path, Boolean value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void set(String path, List<String> value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void set(String path, ItemStack value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void setSound(String soundName, String sound1_8, String sound1_9, String sound1_13, YamlConfiguration yamlConfiguration) {
|
||||
set("Sound." + soundName + ".Enable", true, yamlConfiguration);
|
||||
String sound;
|
||||
if (T2C_McVersion.isMc1_8()) {
|
||||
sound = sound1_8.toString();
|
||||
} else if (T2C_McVersion.isMc1_9() || T2C_McVersion.isMc1_10() || T2C_McVersion.isMc1_11() || T2C_McVersion.isMc1_12()) {
|
||||
sound = sound1_9.toString();
|
||||
} else sound = sound1_13.toString();
|
||||
set("Sound." + soundName + ".Sound", sound, yamlConfiguration);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void setSound(String soundName, String sound1_8, String sound1_13, YamlConfiguration yamlConfiguration) {
|
||||
set("Sound." + soundName + ".Enable", true, yamlConfiguration);
|
||||
String sound;
|
||||
if (T2C_McVersion.isMc1_8()) {
|
||||
sound = sound1_8.toString();
|
||||
} else sound = sound1_13.toString();
|
||||
set("Sound." + soundName + ".Sound", sound, yamlConfiguration);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void setSound(String soundName, String sound, YamlConfiguration yamlConfiguration) {
|
||||
set("Sound." + soundName + ".Enable", true, yamlConfiguration);
|
||||
set("Sound." + soundName + ".Sound", sound.toString(), yamlConfiguration);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static boolean selectSoundEnable(String soundName, YamlConfiguration yamlConfiguration) {
|
||||
return selectBoolean("Sound." + soundName + ".Enable", yamlConfiguration);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static String selectSound(String prefix, String soundName, YamlConfiguration yamlConfiguration) {
|
||||
return select(prefix, "Sound." + soundName + ".Sound", yamlConfiguration);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static Sound checkSound(String sound1_8, String sound1_9, String sound1_13, String selectSoundFromConfig, String prefix) {
|
||||
return T2C_Sound.checkSound(sound1_8, sound1_9, sound1_13, selectSoundFromConfig, prefix);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static Sound checkSound(String sound1_8, String sound1_13, String selectSoundFromConfig, String prefix) {
|
||||
return T2C_Sound.checkSound(sound1_8, sound1_13, selectSoundFromConfig, prefix);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static Sound checkSound(String sound, String selectSoundFromConfig, String prefix) {
|
||||
return T2C_Sound.checkSound(sound, selectSoundFromConfig, prefix);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static String select(String prefix, String path, YamlConfiguration yamlConfiguration) {
|
||||
return T2C_Replace.replace(prefix, yamlConfiguration.getString(path));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static Object selectObject(String prefix, String path, YamlConfiguration yamlConfiguration) {
|
||||
return T2C_Replace.replaceObject(prefix, yamlConfiguration.get(path));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static Integer selectInt(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getInt(path));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static Boolean selectBoolean(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getBoolean(path));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static Double selectDouble(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getDouble(path));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static List<String> selectList(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getStringList(path));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static ItemStack selectItemStack(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getItemStack(path));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static List<String> selectList(String prefix, String path, YamlConfiguration yamlConfiguration) {
|
||||
List<String> output = new ArrayList<>();
|
||||
List<String> input = yamlConfiguration.getStringList(path);
|
||||
for (String st : input) {
|
||||
output.add(T2C_Replace.replace(prefix, st));
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated since version 16.7
|
||||
* This method will be removed soon!
|
||||
* Please use the new {@link T2C_ConfigWriter#createConfig(File, T2C_ConfigItem[], String...)}.
|
||||
*/
|
||||
@Deprecated(since = "16.7", forRemoval = true)
|
||||
public static void select(String prefix, List<String> value, String path, YamlConfiguration yamlConfiguration) {
|
||||
List<String> output = new ArrayList<>();
|
||||
List<String> input = yamlConfiguration.getStringList(path);
|
||||
for (String st : input) {
|
||||
output.add(T2C_Replace.replace(prefix, st));
|
||||
}
|
||||
value = output;
|
||||
}
|
||||
}
|
@ -1,82 +0,0 @@
|
||||
// This class was created by JaTiTV.
|
||||
|
||||
package net.t2code.t2codelib.SPIGOT.api.yaml;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import net.t2code.t2codelib.util.T2C_LanguageEnum;
|
||||
import net.t2code.t2codelib.util.T2C_ConfigItem;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class T2C_ConfigWriter {
|
||||
|
||||
private static FileConfiguration config;
|
||||
|
||||
public static void createConfig(String prefix, File configFile, T2C_ConfigItem[] values, boolean isReload, String... header) {
|
||||
long long_ = System.currentTimeMillis();
|
||||
boolean exist = configFile.exists();
|
||||
if (!exist) {
|
||||
configFile.getParentFile().mkdir();
|
||||
try {
|
||||
configFile.createNewFile();
|
||||
} catch (IOException e) {
|
||||
T2C_Send.sendException(e, T2C_Main.getPlugin().getLogger());
|
||||
return;
|
||||
}
|
||||
} else exist = true;
|
||||
|
||||
config = YamlConfiguration.loadConfiguration(configFile);
|
||||
Map<String, List<String>> comments = new LinkedHashMap<>();
|
||||
|
||||
T2C_LanguageEnum lang = null;
|
||||
String lp = values[0].getLanguagePath();
|
||||
|
||||
try {
|
||||
lang = T2C_LanguageEnum.valueOf(lp);
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
if (lang == null) {
|
||||
try {
|
||||
lang = T2C_LanguageEnum.valueOf(config.getString(lp.replace(".yml", "")));
|
||||
} catch (Exception e) {
|
||||
lang = T2C_LanguageEnum.english;
|
||||
}
|
||||
}
|
||||
|
||||
for (T2C_ConfigItem item : values) {
|
||||
if (item.getForceSet() || !exist) {
|
||||
config.addDefault(item.getPath(), item.getValue());
|
||||
|
||||
List<String> commandList = item.getComments().get(lang);
|
||||
if (commandList != null) {
|
||||
comments.put(item.getPath(), commandList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Copy default values if they are missing
|
||||
config.options().copyDefaults(true);
|
||||
|
||||
T2C_YmlWriter.saveConfigWithComments(configFile, config, comments, false, header);
|
||||
readConfig(prefix, configFile, config, values, isReload, long_);
|
||||
}
|
||||
|
||||
private static void readConfig(String prefix, File configFile, FileConfiguration config, T2C_ConfigItem[] values, boolean isReload, long long_) {
|
||||
for (T2C_ConfigItem value : values) {
|
||||
value.setValue(config.get(value.getPath()));
|
||||
}
|
||||
T2C_Send.sendStartTextCenter(prefix, "§2Load successfully: §7" + configFile.getPath() + "/" + config.getName().replace("/","")+" §7- §e"+ (System.currentTimeMillis() - long_) + "ms", isReload);
|
||||
// T2C_Send.sendStartTextCenter(prefix, "§2Has been successfully created / updated §7- §e" + (System.currentTimeMillis() - long_) + "ms", isReload);
|
||||
//T2C_Send.sendStartTextCenter(prefix, "", isReload);
|
||||
//T2C_Send.sendStartTextCenter(Util.getPrefix(), "§2opWhitelist.yml were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms",isReload);
|
||||
}
|
||||
}
|
@ -1,90 +0,0 @@
|
||||
// This class was created by JaTiTV.
|
||||
|
||||
package net.t2code.t2codelib.SPIGOT.api.yaml;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import net.t2code.t2codelib.util.T2C_LanguageEnum;
|
||||
import net.t2code.t2codelib.util.T2C_ConfigItemLanguages;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
public class T2C_LanguageWriter {
|
||||
|
||||
private static FileConfiguration config;
|
||||
|
||||
public static void createConfig(String prefix, File path, T2C_ConfigItemLanguages[] values, String loadConfig, boolean isReload, String... header) {
|
||||
|
||||
File f = new File(path + "/languages/");
|
||||
f.mkdirs();
|
||||
File[] fileArray = f.listFiles();
|
||||
if (fileArray.length == 0) {
|
||||
List<File> zw = new ArrayList<>();
|
||||
for (T2C_LanguageEnum lan : T2C_LanguageEnum.values()) {
|
||||
if (values[0].getLanguage().containsKey(lan)) {
|
||||
zw.add(new File(path + "/languages/" + lan.name() + ".yml"));
|
||||
}
|
||||
}
|
||||
fileArray = zw.toArray(new File[0]);
|
||||
}
|
||||
for (File langFile : fileArray) {
|
||||
if (langFile.getName().endsWith(".yml")) {
|
||||
T2C_LanguageEnum lang = T2C_LanguageEnum.english;
|
||||
try {
|
||||
lang = T2C_LanguageEnum.valueOf(langFile.getName().replace(".yml", ""));
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
|
||||
if (!langFile.exists()) {
|
||||
langFile.getParentFile().mkdirs();
|
||||
try {
|
||||
langFile.createNewFile();
|
||||
} catch (IOException e) {
|
||||
T2C_Send.sendException(e, T2C_Main.getPlugin().getLogger());
|
||||
return;
|
||||
}
|
||||
}
|
||||
Map<String, List<String>> comments = new LinkedHashMap<>();
|
||||
// Copy default values if they are missing
|
||||
config = YamlConfiguration.loadConfiguration(langFile);
|
||||
config.options().copyDefaults(true);
|
||||
for (T2C_ConfigItemLanguages item : values) {
|
||||
config.addDefault(item.getPath(), item.getLanguage().get(lang));
|
||||
|
||||
|
||||
List<String> commandList = item.getComments().get(lang);
|
||||
if (commandList != null) {
|
||||
comments.put(item.getPath(), commandList);
|
||||
}
|
||||
}
|
||||
T2C_YmlWriter.saveConfigWithComments(langFile, config, comments, true, header);
|
||||
}
|
||||
}
|
||||
readConfig(prefix, path, values, loadConfig, isReload);
|
||||
}
|
||||
|
||||
private static void readConfig(String prefix, File path, T2C_ConfigItemLanguages[] values, String loadConfig, boolean isReload) {
|
||||
String selectMSG;
|
||||
File msg;
|
||||
msg = new File(path, "languages/" + loadConfig + ".yml");
|
||||
if (!msg.isFile()) {
|
||||
T2C_Send.sendStartTextCenter(prefix, "", isReload);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", isReload);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§4The selected §c" + loadConfig + " §4language file was not found.", isReload);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§6The default language §e" + T2C_LanguageEnum.english.name() + " §6is used!", isReload);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", isReload);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", isReload);
|
||||
msg = new File(path, "languages/" + T2C_LanguageEnum.english.name() + ".yml");
|
||||
selectMSG = T2C_LanguageEnum.english.name();
|
||||
} else selectMSG = loadConfig;
|
||||
YamlConfiguration yml = YamlConfiguration.loadConfiguration(msg);
|
||||
for (T2C_ConfigItemLanguages value : values) {
|
||||
value.setValue(yml.get(value.getPath()));
|
||||
}
|
||||
T2C_Send.sendStartTextCenter(prefix, "§2Language successfully selected to: §6" + selectMSG, isReload);
|
||||
}
|
||||
}
|
@ -1,84 +0,0 @@
|
||||
// This class was created by JaTiTV.
|
||||
|
||||
package net.t2code.t2codelib.SPIGOT.api.yaml;
|
||||
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class T2C_YmlWriter {
|
||||
public static void saveConfigWithComments(File file, FileConfiguration config, Map<String, List<String>> comments, boolean oneListToString,String... headers) {
|
||||
try {
|
||||
StringBuilder configContent = new StringBuilder();
|
||||
for (String h : headers) {
|
||||
configContent.append(h).append("\n");
|
||||
}
|
||||
configContent.append("\n");
|
||||
addSection(config, comments, configContent, "", 0,oneListToString);
|
||||
|
||||
// Write the content to the file
|
||||
Files.write(file.toPath(), configContent.toString().getBytes());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
protected static void addSection(ConfigurationSection section, Map<String, List<String>> comments, StringBuilder builder, String prefix, int indentLevel, boolean oneListToString) {
|
||||
String indent = " ".repeat(indentLevel);
|
||||
|
||||
for (String key : section.getKeys(false)) {
|
||||
String fullKey = prefix.isEmpty() ? key : prefix + "." + key;
|
||||
Object value = section.get(key);
|
||||
|
||||
// Add comment if it exists for this key
|
||||
List<String> commentList = comments.get(fullKey);
|
||||
if (commentList != null) {
|
||||
for (String c : commentList) {
|
||||
if (c.isEmpty()) {
|
||||
builder.append(indent).append(c).append("\n");
|
||||
} else builder.append(indent).append("# ").append(c).append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
// Check if the value is a section (nested map)
|
||||
if (value instanceof ConfigurationSection) {
|
||||
// Correctly add the section
|
||||
builder.append(indent).append(key).append(":\n");
|
||||
addSection((ConfigurationSection) value, comments, builder, fullKey, indentLevel + 1, oneListToString);
|
||||
} else {
|
||||
// Add value with proper indentation
|
||||
// builder.append(indent).append(key).append(": ").append(value).append("\n");
|
||||
if (value instanceof List) {
|
||||
List<?> list = (List<?>) value;
|
||||
|
||||
if (oneListToString && list.size() == 1) {
|
||||
for (Object s : list) {
|
||||
builder.append(indent).append(key).append(": \"").append(s).append("\"\n");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (list.isEmpty()) {
|
||||
builder.append(indent).append(key).append(": []").append("\n");
|
||||
continue;
|
||||
}
|
||||
builder.append(indent).append(key).append(": ").append("\n");
|
||||
for (Object s : list) {
|
||||
if (s instanceof String) {
|
||||
builder.append(indent).append("- \"").append(s).append("\"\n");
|
||||
} else builder.append(indent).append("- ").append(s).append("\n");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (value instanceof String) {
|
||||
builder.append(indent).append(key).append(": \"").append(value).append("\"\n");
|
||||
} else builder.append(indent).append(key).append(": ").append(value).append("\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,161 @@
|
||||
package net.t2code.t2codelib.SPIGOT.api.yaml;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Creplace;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2CmcVersion;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.languages.SelectLibMsg;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class T2Cconfig {
|
||||
public static void set(String path, String value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static void set(String path, YamlConfiguration YamlConfiguration) {
|
||||
YamlConfiguration.set(path, null);
|
||||
}
|
||||
|
||||
public static void set(String path, Integer value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static void set(String path, Double value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static void set(String path, Boolean value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static void set(String path, List<String> value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static void set(String path, ItemStack value, YamlConfiguration YamlConfiguration) {
|
||||
if (!YamlConfiguration.contains(path)) {
|
||||
YamlConfiguration.set(path, value);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setSound(String soundName, String sound1_8, String sound1_9, String sound1_13, YamlConfiguration yamlConfiguration) {
|
||||
set("Sound." + soundName + ".Enable", true, yamlConfiguration);
|
||||
String sound;
|
||||
if (T2CmcVersion.isMc1_8()) {
|
||||
sound = sound1_8.toString();
|
||||
} else if (T2CmcVersion.isMc1_9() || T2CmcVersion.isMc1_10() || T2CmcVersion.isMc1_11() || T2CmcVersion.isMc1_12()) {
|
||||
sound = sound1_9.toString();
|
||||
} else sound = sound1_13.toString();
|
||||
set("Sound." + soundName + ".Sound", sound, yamlConfiguration);
|
||||
}
|
||||
|
||||
public static void setSound(String soundName, String sound1_8, String sound1_13, YamlConfiguration yamlConfiguration) {
|
||||
set("Sound." + soundName + ".Enable", true, yamlConfiguration);
|
||||
String sound;
|
||||
if (T2CmcVersion.isMc1_8()) {
|
||||
sound = sound1_8.toString();
|
||||
} else sound = sound1_13.toString();
|
||||
set("Sound." + soundName + ".Sound", sound, yamlConfiguration);
|
||||
}
|
||||
|
||||
public static void setSound(String soundName, String sound, YamlConfiguration yamlConfiguration) {
|
||||
set("Sound." + soundName + ".Enable", true, yamlConfiguration);
|
||||
set("Sound." + soundName + ".Sound", sound.toString(), yamlConfiguration);
|
||||
}
|
||||
|
||||
public static boolean selectSoundEnable(String soundName, YamlConfiguration yamlConfiguration) {
|
||||
return selectBoolean("Sound." + soundName + ".Enable", yamlConfiguration);
|
||||
}
|
||||
|
||||
public static String selectSound(String prefix, String soundName, YamlConfiguration yamlConfiguration) {
|
||||
return select(prefix, "Sound." + soundName + ".Sound", yamlConfiguration);
|
||||
}
|
||||
|
||||
public static Sound checkSound(String sound1_8, String sound1_9, String sound1_13, String selectSoundFromConfig, String prefix) {
|
||||
String SOUND;
|
||||
if (T2CmcVersion.isMc1_8()) {
|
||||
SOUND = sound1_8;
|
||||
} else if (T2CmcVersion.isMc1_9() || T2CmcVersion.isMc1_10() || T2CmcVersion.isMc1_11() || T2CmcVersion.isMc1_12()) {
|
||||
SOUND = sound1_9;
|
||||
} else SOUND = sound1_13;
|
||||
|
||||
return checkSound(SOUND, selectSoundFromConfig, prefix);
|
||||
}
|
||||
|
||||
public static Sound checkSound(String sound1_8, String sound1_13, String selectSoundFromConfig, String prefix) {
|
||||
String SOUND;
|
||||
if (T2CmcVersion.isMc1_8()) {
|
||||
SOUND = sound1_8;
|
||||
} else SOUND = sound1_13;
|
||||
|
||||
return checkSound(SOUND, selectSoundFromConfig, prefix);
|
||||
}
|
||||
|
||||
public static Sound checkSound(String sound, String selectSoundFromConfig, String prefix) {
|
||||
try {
|
||||
return Sound.valueOf(selectSoundFromConfig);
|
||||
} catch (Exception e) {
|
||||
T2Csend.console("§4\n§4\n§4\n" + SelectLibMsg.soundNotFound.replace("[prefix]", prefix)
|
||||
.replace("[sound]", "§8Buy: §6" + selectSoundFromConfig) + "§4\n§4\n§4\n");
|
||||
return Sound.valueOf(sound);
|
||||
}
|
||||
}
|
||||
|
||||
public static String select(String prefix, String path, YamlConfiguration yamlConfiguration) {
|
||||
return T2Creplace.replace(prefix, yamlConfiguration.getString(path));
|
||||
}
|
||||
|
||||
|
||||
public static Integer selectInt(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getInt(path));
|
||||
}
|
||||
|
||||
public static Boolean selectBoolean(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getBoolean(path));
|
||||
}
|
||||
|
||||
public static Double selectDouble(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getDouble(path));
|
||||
}
|
||||
|
||||
public static List<String> selectList(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getStringList(path));
|
||||
}
|
||||
|
||||
public static ItemStack selectItemStack(String path, YamlConfiguration yamlConfiguration) {
|
||||
return (yamlConfiguration.getItemStack(path));
|
||||
}
|
||||
|
||||
|
||||
public static List<String> selectList(String prefix, String path, YamlConfiguration yamlConfiguration) {
|
||||
List<String> output = new ArrayList<>();
|
||||
List<String> input = yamlConfiguration.getStringList(path);
|
||||
for (String st : input) {
|
||||
output.add(T2Creplace.replace(prefix, st));
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
public static void select(String prefix, List<String> value, String path, YamlConfiguration yamlConfiguration) {
|
||||
List<String> output = new ArrayList<>();
|
||||
List<String> input = yamlConfiguration.getStringList(path);
|
||||
for (String st : input) {
|
||||
output.add(T2Creplace.replace(prefix, st));
|
||||
}
|
||||
value = output;
|
||||
}
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class BCommandSenderReciver {
|
||||
|
||||
public static void sendToBungee(CommandSender sender, String information, Boolean console) {
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
DataOutputStream output = new DataOutputStream(stream);
|
||||
try {
|
||||
if (console) {
|
||||
output.writeUTF("T2Code-Console");
|
||||
} else {
|
||||
if (sender instanceof Player) {
|
||||
output.writeUTF(sender.getName());
|
||||
} else {
|
||||
output.writeUTF("T2Code-Console");
|
||||
}
|
||||
}
|
||||
output.writeUTF(information);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
player.sendPluginMessage(T2CodeLibMain.getPlugin(), "t2c:bcmd", stream.toByteArray());
|
||||
}else {
|
||||
for(Player player : Bukkit.getOnlinePlayers()){
|
||||
player.sendPluginMessage(T2CodeLibMain.getPlugin(), "t2c:bcmd", stream.toByteArray());
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,121 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Ctemplate;
|
||||
import net.t2code.t2codelib.SPIGOT.system.CreateReportLog;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.SelectLibConfig;
|
||||
import net.t2code.t2codelib.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 java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class CmdExecuter implements CommandExecutor, TabCompleter {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (!sender.hasPermission("t2code.admin")) {
|
||||
T2Csend.sender(sender, "§4No Permission §8t2code.admin");
|
||||
return false;
|
||||
}
|
||||
if (args.length == 0) {
|
||||
T2Ctemplate.sendInfo(sender,T2CodeLibMain.getPlugin(), Util.getSpigotID(),Util.getDiscord(),null, Util.getInfoText());
|
||||
return false;
|
||||
}
|
||||
switch (args[0].toLowerCase()) {
|
||||
case "info":
|
||||
case "plugin":
|
||||
case "pl":
|
||||
case "version":
|
||||
case "ver":
|
||||
T2Ctemplate.sendInfo(sender,T2CodeLibMain.getPlugin(), Util.getSpigotID(),Util.getDiscord(),null, Util.getInfoText());
|
||||
return false;
|
||||
case "reloadconfig":
|
||||
SelectLibConfig.onSelect();
|
||||
return false;
|
||||
case "debug":
|
||||
if (args.length != 2) {
|
||||
T2Csend.sender(sender, "§4Use: §7/t2code debug createReportLog");
|
||||
return false;
|
||||
}
|
||||
if ("createreportlog".equals(args[1].toLowerCase())) {
|
||||
Bukkit.getScheduler().runTaskAsynchronously(T2CodeLibMain.getPlugin(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
CreateReportLog.create(sender);
|
||||
}
|
||||
});
|
||||
} else T2Csend.sender(sender, "§4Use: §7/t2code debug createReportLog");
|
||||
return false;
|
||||
|
||||
default:
|
||||
T2Csend.sender(sender, "§4Use: §7/t2code debug createReportLog");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//TabCompleter
|
||||
private static HashMap<String, String> arg1 = new HashMap<String, String>() {{
|
||||
put("debug", "t2code.admin");
|
||||
put("info", "t2code.admin");
|
||||
put("reloadconfig", "t2code.admin");
|
||||
}};
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command cmd, String s, String[] args) {
|
||||
List<String> list = new ArrayList<>();
|
||||
if (sender instanceof Player) {
|
||||
Player p = (Player) sender;
|
||||
if (args.length == 1) {
|
||||
for (String command : arg1.keySet()) {
|
||||
if (hasPermission(p, arg1.get(command)) && passend(command, args[0])) {
|
||||
list.add(command);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (args.length == 2 && args[0].equalsIgnoreCase("debug")) {
|
||||
if (sender.hasPermission("t2code.admin")) {
|
||||
if (hasPermission(p, arg1.get("debug")) && passend("debug", args[1])) {
|
||||
list.add("createReportLog");
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
private static Boolean passend(String command, String arg) {
|
||||
for (int i = 0; i < arg.toUpperCase().length(); i++) {
|
||||
if (arg.toUpperCase().length() >= command.toUpperCase().length()) {
|
||||
return false;
|
||||
} else {
|
||||
if (arg.toUpperCase().charAt(i) != command.toUpperCase().charAt(i)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean hasPermission(Player player, String permission) {
|
||||
if (player.isOp()) {
|
||||
return true;
|
||||
}
|
||||
String[] Permissions = permission.split(";");
|
||||
for (String perm : Permissions) {
|
||||
if (player.hasPermission(perm)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
@ -0,0 +1,193 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system;
|
||||
|
||||
import net.t2code.luckyBox.api.LuckyBoxAPI;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2CmcVersion;
|
||||
import net.t2code.t2codelib.SPIGOT.api.plugins.T2CpluginCheck;
|
||||
import net.t2code.t2codelib.Util;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.file.Files;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
public class CreateReportLog {
|
||||
protected static void create(CommandSender sender) {
|
||||
T2Csend.sender(sender, Util.getPrefix() + " §6A DebugLog is created...");
|
||||
String timeStampFile = new SimpleDateFormat("HH_mm_ss-dd_MM_yyyy").format(Calendar.getInstance().getTime());
|
||||
|
||||
File directory = new File(T2CodeLibMain.getPath() + "/DebugLogs");
|
||||
if (!directory.exists()) {
|
||||
directory.mkdir();
|
||||
}
|
||||
|
||||
File file = new File(T2CodeLibMain.getPath(), "/DebugLogs/T2CodeLog.txt");
|
||||
PrintWriter pWriter = null;
|
||||
try {
|
||||
pWriter = new PrintWriter(new FileWriter(file.getPath()));
|
||||
String timeStamp = new SimpleDateFormat("HH:mm:ss dd.MM.yyyy").format(Calendar.getInstance().getTime());
|
||||
pWriter.println("Created on: " + timeStamp);
|
||||
pWriter.println();
|
||||
pWriter.println("Server Bukkit version: " + T2CmcVersion.getBukkitVersion());
|
||||
pWriter.println("Server run on: " + T2CmcVersion.getMcVersion());
|
||||
pWriter.println("Server NMS: " + T2CmcVersion.getNms());
|
||||
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.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 (T2CodeLibMain.getEco() != null) {
|
||||
String st = T2CodeLibMain.getEco().getName();
|
||||
if (T2CodeLibMain.getEco().getName().equals("CMIEconomy")) st = "CMI";
|
||||
if (Bukkit.getPluginManager().getPlugin(st) != null) {
|
||||
pWriter.println("Economy: " + T2CodeLibMain.getEco().isEnabled() + " - " + st + " - " + Bukkit.getPluginManager().getPlugin(st).getDescription().getVersion());
|
||||
} else pWriter.println("Economy: " + T2CodeLibMain.getEco().isEnabled() + " - " + st);
|
||||
} else pWriter.println("Economy: not connected via vault");
|
||||
if (T2CodeLibMain.getPerm() != null) {
|
||||
if (Bukkit.getPluginManager().getPlugin(T2CodeLibMain.getPerm().getName()) != null) {
|
||||
pWriter.println("Permission: " + T2CodeLibMain.getPerm().isEnabled() + " - " + T2CodeLibMain.getPerm().getName() + " - " + Bukkit.getPluginManager()
|
||||
.getPlugin(T2CodeLibMain.getPerm().getName()).getDescription().getVersion());
|
||||
} else pWriter.println("Permission: " + T2CodeLibMain.getPerm().isEnabled() + " - " + T2CodeLibMain.getPerm().getName());
|
||||
} else pWriter.println("Permission: not connected via vault");
|
||||
pWriter.println();
|
||||
pWriter.println("Java: " + System.getProperty("java.version"));
|
||||
pWriter.println("System: " + System.getProperty("os.name"));
|
||||
pWriter.println("System: " + System.getProperty("os.version"));
|
||||
pWriter.println("User Home: " + System.getProperty("user.home"));
|
||||
pWriter.println();
|
||||
pWriter.println("T2CodeLib: " + T2CodeLibMain.getPlugin().getDescription().getVersion());
|
||||
pWriter.println();
|
||||
if (T2CpluginCheck.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();
|
||||
pWriter.println("OfflinePlayers: ");
|
||||
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
|
||||
pWriter.println(" - " + player.getName() + " - " + player.getUniqueId());
|
||||
}
|
||||
pWriter.println();
|
||||
pWriter.println("Plugins amount: " + Bukkit.getPluginManager().getPlugins().length);
|
||||
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());
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
ioe.printStackTrace();
|
||||
} finally {
|
||||
if (pWriter != null) {
|
||||
pWriter.flush();
|
||||
pWriter.close();
|
||||
}
|
||||
}
|
||||
|
||||
String filePath = T2CodeLibMain.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))) {
|
||||
File fileToZip = new File(filePath);
|
||||
zip.putNextEntry(new ZipEntry(fileToZip.getName()));
|
||||
Files.copy(fileToZip.toPath(), zip);
|
||||
|
||||
addFileToZip("", "logs/latest.log", zip, false);
|
||||
|
||||
for (String pl : Util.getT2cPlugins()) {
|
||||
pluginToDebug(pl, zip);
|
||||
}
|
||||
zip.closeEntry();
|
||||
zip.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
file.delete();
|
||||
if (sender instanceof Player) {
|
||||
T2Csend.sender(sender, Util.getPrefix() + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + zipPath);
|
||||
T2Csend.console(Util.getPrefix() + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + zipPath);
|
||||
} else T2Csend.sender(sender, Util.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, ZipOutputStream zip) throws IOException {
|
||||
if (T2CpluginCheck.pluginCheck(pluginName)) {
|
||||
Plugin plugin = Bukkit.getPluginManager().getPlugin(pluginName);
|
||||
File plConfigs = new File(plugin.getDataFolder().getPath());
|
||||
if (plConfigs.exists()) {
|
||||
addFolderToZip("T2Code-Plugins", plugin.getDataFolder().getPath(), zip);
|
||||
}
|
||||
File f = new File("plugins/");
|
||||
File[] fileArray = f.listFiles();
|
||||
|
||||
for (File config : fileArray) {
|
||||
if (config.getName().contains(pluginName) && config.getName().contains(".jar")) {
|
||||
addFileToZip("T2Code-Plugins", config.getPath(), zip, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void addFolderToZip(String path, String srcFolder, ZipOutputStream zip) throws IOException {
|
||||
File folder = new File(srcFolder);
|
||||
if (folder.list() == null) {
|
||||
addFileToZip(path + "/" + folder.getName(), srcFolder, zip, false);
|
||||
} else if (folder.list().length == 0) {
|
||||
addFileToZip(path, srcFolder, zip, true);
|
||||
} else {
|
||||
for (String fileName : folder.list()) {
|
||||
if (path.equals("")) {
|
||||
addFileToZip(folder.getName(), srcFolder + "/" + fileName, zip, false);
|
||||
} else {
|
||||
addFileToZip(path + "/" + folder.getName(), srcFolder + "/" + fileName, zip, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void addFileToZip(String path, String srcFile, ZipOutputStream zip, boolean flag) throws IOException {
|
||||
File folder = new File(srcFile);
|
||||
if (flag) {
|
||||
zip.putNextEntry(new ZipEntry(path + "/" + folder.getName() + "/"));
|
||||
} else {
|
||||
if (folder.isDirectory()) {
|
||||
addFolderToZip(path, srcFile, zip);
|
||||
} else {
|
||||
byte[] buf = new byte[1024];
|
||||
int len;
|
||||
FileInputStream in = new FileInputStream(srcFile);
|
||||
|
||||
if (path.equals("")) {
|
||||
zip.putNextEntry(new ZipEntry((folder.getName())));
|
||||
} else {
|
||||
zip.putNextEntry(new ZipEntry((path + "/" + folder.getName())));
|
||||
}
|
||||
|
||||
while ((len = in.read(buf)) > 0) {
|
||||
try {
|
||||
zip.write(buf, 0, len);
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -2,8 +2,8 @@
|
||||
|
||||
package net.t2code.t2codelib.SPIGOT.system;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.update.T2C_UpdateAPI;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import net.t2code.t2codelib.SPIGOT.api.update.T2CupdateAPI;
|
||||
import net.t2code.t2codelib.Util;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerLoginEvent;
|
||||
@ -12,6 +12,6 @@ public class JoinEvent implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onJoinEvent(PlayerLoginEvent event) {
|
||||
T2C_UpdateAPI.join(T2C_Main.getPlugin(), T2C_Util.getPrefix(),"t2code.lib.updatemsg",event.getPlayer(), T2C_Util.getSpigotID(), T2C_Util.getDiscord());
|
||||
T2CupdateAPI.join(T2CodeLibMain.getPlugin(), Util.getPrefix(),"t2code.lib.updatemsg",event.getPlayer(),Util.getSpigotID(),Util.getDiscord());
|
||||
}
|
||||
}
|
@ -1,282 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system;
|
||||
|
||||
import lombok.Getter;
|
||||
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import net.milkbowl.vault.permission.Permission;
|
||||
import net.t2code.t2codelib.SPIGOT.api.bungeePlayers.T2C_BungeePlayers;
|
||||
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||
import net.t2code.t2codelib.SPIGOT.api.items.T2C_ItemVersion;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Template;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_NmsEnum;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_NmsVersions;
|
||||
import net.t2code.t2codelib.SPIGOT.api.plugins.T2C_PluginCheck;
|
||||
import net.t2code.t2codelib.SPIGOT.api.update.T2C_UpdateAPI;
|
||||
import net.t2code.t2codelib.SPIGOT.system.bstats.Metrics;
|
||||
import net.t2code.t2codelib.SPIGOT.system.cmd.CmdExecuter;
|
||||
import net.t2code.t2codelib.SPIGOT.system.cmd.Development;
|
||||
import net.t2code.t2codelib.SPIGOT.system.cmd.ReportLogStorage;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.T2C_LibConfig;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.languages.T2CLibLanguages;
|
||||
import net.t2code.t2codelib.util.T2C_PlatformDetector;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public final class T2C_Main extends JavaPlugin {
|
||||
@Getter
|
||||
private static T2C_Main plugin;
|
||||
@Getter
|
||||
private static Economy eco = null;
|
||||
@Getter
|
||||
private static Permission perm = null;
|
||||
|
||||
@Getter
|
||||
private static List<String> autor;
|
||||
@Getter
|
||||
private static String version;
|
||||
|
||||
@Getter
|
||||
private static Boolean mmIsLoad = true;
|
||||
@Getter
|
||||
private static Boolean load = false;
|
||||
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
T2C_PlatformDetector.scan();
|
||||
checkIsProxy();
|
||||
// Plugin startup logic
|
||||
plugin = this;
|
||||
autor = plugin.getDescription().getAuthors();
|
||||
// logger = getLogger();
|
||||
version = plugin.getDescription().getVersion();
|
||||
|
||||
try {
|
||||
adventure = BukkitAudiences.create(this);
|
||||
} catch (Exception e) {
|
||||
mmIsLoad = false;
|
||||
}
|
||||
|
||||
load();
|
||||
}
|
||||
|
||||
private void load() {
|
||||
long long_ = T2C_Template.onLoadHeader(T2C_Util.getPrefix(), autor, version, T2C_Util.getSpigot(), T2C_Util.getDiscord());
|
||||
|
||||
|
||||
String prefix = T2C_Util.getPrefix();
|
||||
|
||||
try {
|
||||
Vault.loadVault();
|
||||
} catch (InterruptedException e) {
|
||||
T2C_Send.sendException(e, getLogger());
|
||||
}
|
||||
T2C_McVersion.onCheck();
|
||||
|
||||
if (T2C_NmsVersions.getT2CnmsEnum() == T2C_NmsEnum.not_support) {
|
||||
T2C_Send.sendStartTextCenter(prefix, "", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§4!!!!!!!!!!!!!!!!!!!!", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "The " + T2C_McVersion.getMcVersion() + " is a very fresh / new version.", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "The plugin may not yet be supported on this server!", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "If there are any bugs in our plugins,", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "please report them to us via our Discord: http://dc.t2code.net", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§4!!!!!!!!!!!!!!!!!!!!", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", true);
|
||||
try {
|
||||
Thread.sleep(5000);
|
||||
} catch (InterruptedException ignored) {
|
||||
}
|
||||
}
|
||||
if (T2C_McVersion.isMc1_22()) {
|
||||
T2C_Send.sendStartTextCenter(prefix, "", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§4!!!!!!!!!!!!!!!!!!!!", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "The 1.22 is a very fresh / new version.", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "If there are any bugs in our plugins,", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "please report them to us via our Discord: http://dc.t2code.net", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§4!!!!!!!!!!!!!!!!!!!!", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", true);
|
||||
T2C_Send.sendStartTextCenter(prefix, "", true);
|
||||
try {
|
||||
Thread.sleep(2000);
|
||||
} catch (InterruptedException ignored) {
|
||||
|
||||
}
|
||||
}
|
||||
T2C_Template.onLoadSeparateStroke(prefix);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§2Server run on:", false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3NMS: §6" + T2C_McVersion.getNms(), false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3Platform: §6" + T2C_PlatformDetector.detectPlatform, false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3Bukkit Version: §6" + T2C_McVersion.getBukkitVersion(), false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3Server Version: §6" + T2C_McVersion.getMcVersion(), false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3OnlineMode: §6" + isOnlineMode, false);
|
||||
if (isProxy) {
|
||||
if (isBungee) T2C_Send.sendStartTextCenter(prefix, "§3Proxy: §6BungeeCord", false);
|
||||
if (isVelocity) T2C_Send.sendStartTextCenter(prefix, "§3Proxy: §6Velocity", false);
|
||||
}
|
||||
|
||||
T2C_Template.onLoadSeparateStroke(prefix);
|
||||
if (eco != null) {
|
||||
String st = eco.getName();
|
||||
if (eco.getName().equals("CMIEconomy")) st = "CMI";
|
||||
if (Bukkit.getPluginManager().getPlugin(st) != null) {
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3Economy: §6" + eco.getName() + " - " + Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(st)).getDescription().getVersion() + " §7- §e" +
|
||||
(System.currentTimeMillis() - long_) + "ms", false);
|
||||
} else
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3Economy: §6" + eco.getName() + " §7- §e" + (System.currentTimeMillis() - long_) + "ms", false);
|
||||
} else
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3Economy: §4not connected via vault!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms", false);
|
||||
|
||||
if (perm != null) {
|
||||
if (Bukkit.getPluginManager().getPlugin(perm.getName()) != null) {
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3Permission plugin: §6" + perm.getName() + " - " + Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(perm.getName())).getDescription().getVersion()
|
||||
+ " §7- §e" + (System.currentTimeMillis() - long_) + "ms", false);
|
||||
} else
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3Permission plugin: §6" + perm.getName() + " - §7- §e" + (System.currentTimeMillis() - long_) + "ms", false);
|
||||
} else
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3Permission plugin: §4not connected via vault!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms", false);
|
||||
|
||||
if (T2C_PluginCheck.papi()) {
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3PlaceholderAPI: §6connected" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms", false);
|
||||
}
|
||||
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3Kyori MiniMessage Support: " + (getMmIsLoad() ? "§2load" : "§4not load") + " §7- §e" + (System.currentTimeMillis() - long_) + "ms", false);
|
||||
|
||||
|
||||
Objects.requireNonNull(plugin.getCommand("t2code")).setExecutor(new CmdExecuter());
|
||||
|
||||
T2C_Template.onLoadSeparateStroke(prefix);
|
||||
T2C_LibConfig.set(false);
|
||||
|
||||
T2C_ItemVersion.scan();
|
||||
T2CLibLanguages.set(false);
|
||||
|
||||
T2C_Template.onLoadSeparateStroke(prefix);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3Use Proxy: §6" + (boolean) T2C_LibConfig.VALUES.proxy.getValue(), false);
|
||||
T2C_Send.sendStartTextCenter(prefix, "§3serverUUID: §6" + T2C_LibConfig.VALUES.serverUUID.getValue(), false);
|
||||
|
||||
T2C_UpdateAPI.onUpdateCheck(plugin, prefix, T2C_Util.getGit(), T2C_Util.getSpigotID(), T2C_Util.getDiscord(),
|
||||
(boolean) T2C_LibConfig.VALUES.updateCheckOnJoin.getValue(),
|
||||
(boolean) T2C_LibConfig.VALUES.seePreReleaseUpdates.getValue(),
|
||||
(int) T2C_LibConfig.VALUES.updateCheckTimeInterval.getValue());
|
||||
Metrics.Bstats(plugin, T2C_Util.getBstatsID());
|
||||
if ((boolean) T2C_LibConfig.VALUES.proxy.getValue()) {
|
||||
Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, T2C_Util.getPluginChannel_ProxyCommand());
|
||||
T2C_Debug.debug(plugin, "registerIncomingPluginChannel §e" + T2C_Util.getPluginChannel_ProxyCommand());
|
||||
|
||||
Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, T2C_Util.getPluginChannel_ProxyOnlinePlayers());
|
||||
if (!Bukkit.getMessenger().isIncomingChannelRegistered(plugin, T2C_Util.getPluginChannel_ProxyOnlinePlayers())) {
|
||||
T2C_Debug.debug(plugin, "registerIncomingPluginChannel §e" + T2C_Util.getPluginChannel_ProxyOnlinePlayers());
|
||||
Bukkit.getMessenger().registerIncomingPluginChannel(plugin, T2C_Util.getPluginChannel_ProxyOnlinePlayers(), new T2C_BungeePlayers());
|
||||
T2C_BungeePlayers.callAllBungeePlayers();
|
||||
}
|
||||
}
|
||||
|
||||
ReportLogStorage.load();
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new JoinEvent(), plugin);
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new Development(), plugin);
|
||||
T2C_Template.onLoadFooter(prefix, long_);
|
||||
load = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
// Plugin shutdown logic
|
||||
if (!load) return;
|
||||
ReportLogStorage.save();
|
||||
if ((boolean) T2C_LibConfig.VALUES.inventoriesCloseByServerStop.getValue()) {
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
player.closeInventory();
|
||||
}
|
||||
}
|
||||
|
||||
Vault.vaultDisable();
|
||||
T2C_Template.onDisable(T2C_Util.getPrefix(), this);
|
||||
if (mmIsLoad) {
|
||||
if (adventure != null) {
|
||||
adventure.close();
|
||||
adventure = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static File getPath() {
|
||||
return plugin.getDataFolder();
|
||||
}
|
||||
|
||||
static void setEco(Economy eco) {
|
||||
T2C_Main.eco = eco;
|
||||
}
|
||||
|
||||
static void setPerm(Permission perm) {
|
||||
T2C_Main.perm = perm;
|
||||
}
|
||||
|
||||
private static BukkitAudiences adventure;
|
||||
|
||||
public BukkitAudiences getAdventure() {
|
||||
if (adventure == null) {
|
||||
throw new IllegalStateException("Tried to access Adventure when the plugin was disabled!");
|
||||
}
|
||||
return adventure;
|
||||
}
|
||||
|
||||
private static void checkIsProxy() {
|
||||
isOnlineMode = Bukkit.getServer().getOnlineMode();
|
||||
|
||||
File config = new File("spigot.yml");
|
||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
||||
|
||||
if (yamlConfiguration.getBoolean("settings.bungeecord")) {
|
||||
isProxy = true;
|
||||
isBungee = true;
|
||||
File paper = new File("config/paper-global.yml");
|
||||
YamlConfiguration yamlPaper = YamlConfiguration.loadConfiguration(paper);
|
||||
isOnlineMode = yamlPaper.isBoolean("proxies.bungee-cord.online-mode");
|
||||
return;
|
||||
}
|
||||
|
||||
if (T2C_PlatformDetector.detectPlatform == T2C_PlatformDetector.PlatformType.PAPER) {
|
||||
|
||||
File paperOld = new File("paper.yml");
|
||||
|
||||
if (paperOld.exists()) {
|
||||
YamlConfiguration yamlPaperOld = YamlConfiguration.loadConfiguration(paperOld);
|
||||
|
||||
isVelocity = yamlPaperOld.getBoolean("settings.velocity-support.enabled");
|
||||
isOnlineMode = yamlPaperOld.isBoolean("settings.velocity-support.online-mode");
|
||||
}
|
||||
File paper = new File("config/paper-global.yml");
|
||||
YamlConfiguration yamlPaper = YamlConfiguration.loadConfiguration(paper);
|
||||
isVelocity = yamlPaper.isBoolean("proxies.velocity.enabled");
|
||||
isOnlineMode = yamlPaper.isBoolean("proxies.velocity.online-mode");
|
||||
isProxy = isVelocity;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
private static boolean isProxy = false;
|
||||
@Getter
|
||||
private static boolean isBungee = false;
|
||||
@Getter
|
||||
private static boolean isVelocity = false;
|
||||
@Getter
|
||||
private static boolean isOnlineMode;
|
||||
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.T2C_LibConfig;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class T2C_ProxyCommandSenderReceiver {
|
||||
|
||||
public static void sendToBungee(CommandSender sender, String information, Boolean console) {
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
DataOutputStream output = new DataOutputStream(stream);
|
||||
try {
|
||||
if (console) {
|
||||
output.writeUTF("T2Code-Console");
|
||||
} else {
|
||||
if (sender instanceof Player) {
|
||||
output.writeUTF(sender.getName());
|
||||
} else {
|
||||
output.writeUTF("T2Code-Console");
|
||||
}
|
||||
}
|
||||
output.writeUTF(information);
|
||||
output.writeUTF(String.valueOf(T2C_LibConfig.VALUES.serverUUID.getValue()));
|
||||
} catch (IOException e) {
|
||||
T2C_Send.sendException(e, T2C_Main.getPlugin().getLogger());
|
||||
}
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
player.sendPluginMessage(T2C_Main.getPlugin(), T2C_Util.getPluginChannel_ProxyCommand(), stream.toByteArray());
|
||||
T2C_Debug.debug(T2C_Main.getPlugin(), "PluginMessage received T2CbungeeCommandSenderReciver: "+ T2C_Util.getPluginChannel_ProxyCommand()+" - " + Arrays.toString(stream.toByteArray()) + " Player: " + player.getName());
|
||||
} else {
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
player.sendPluginMessage(T2C_Main.getPlugin(), T2C_Util.getPluginChannel_ProxyCommand(), stream.toByteArray());
|
||||
T2C_Debug.debug(T2C_Main.getPlugin(), "PluginMessage received T2CbungeeCommandSenderReciver: "+ T2C_Util.getPluginChannel_ProxyCommand()+" - " + Arrays.toString(stream.toByteArray()) + " Player: " + player.getName());
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,169 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system;
|
||||
|
||||
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import net.milkbowl.vault.permission.Permission;
|
||||
import net.t2code.t2codelib.SPIGOT.api.items.T2CitemVersion;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Ctemplate;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2CmcVersion;
|
||||
import net.t2code.t2codelib.SPIGOT.api.plugins.T2CpluginCheck;
|
||||
import net.t2code.t2codelib.SPIGOT.api.update.T2CupdateAPI;
|
||||
import net.t2code.t2codelib.SPIGOT.system.bstats.Metrics;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.ConfigCreate;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.SelectLibConfig;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.languages.LanguagesCreate;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.languages.SelectLibMsg;
|
||||
import net.t2code.t2codelib.Util;
|
||||
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 T2CodeLibMain extends JavaPlugin {
|
||||
private static T2CodeLibMain plugin;
|
||||
private static Economy eco = null;
|
||||
private static Permission perm = null;
|
||||
|
||||
private static List<String> autor;
|
||||
private static String version;
|
||||
|
||||
private static Boolean nmIsLoad = true;
|
||||
private static Boolean load = false;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
// Plugin startup logic
|
||||
plugin = this;
|
||||
autor = plugin.getDescription().getAuthors();
|
||||
version = plugin.getDescription().getVersion();
|
||||
this.adventure = BukkitAudiences.create(this);
|
||||
long long_ = T2Ctemplate.onLoadHeader(Util.getPrefix(), autor, version, Util.getSpigot(), Util.getDiscord());
|
||||
String prefix = Util.getPrefix();
|
||||
|
||||
try {
|
||||
Vault.loadVault();
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
T2CmcVersion.onCheck();
|
||||
|
||||
if (T2CmcVersion.isMc1_20()) {
|
||||
T2Csend.console(prefix + " §4!!!!!!!!!!!!!!!!!!!!");
|
||||
T2Csend.console(prefix);
|
||||
T2Csend.warning(plugin, "The 1.20.* 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");
|
||||
T2Csend.console(prefix);
|
||||
T2Csend.console(prefix + " §4!!!!!!!!!!!!!!!!!!!!");
|
||||
try {
|
||||
Thread.sleep(5000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
T2Csend.console(prefix + " §3Server run on: §6" + T2CmcVersion.getMcVersion() + " / " + T2CmcVersion.getNms());
|
||||
if (eco != null) {
|
||||
String st = eco.getName();
|
||||
if (eco.getName().equals("CMIEconomy")) st = "CMI";
|
||||
if (Bukkit.getPluginManager().getPlugin(st) != null) {
|
||||
T2Csend.console(prefix + " §3Economy: §6" + eco.getName() + " - " + Bukkit.getPluginManager().getPlugin(st).getDescription().getVersion() + " §7- §e" +
|
||||
(System.currentTimeMillis() - long_) + "ms");
|
||||
} else T2Csend.console(prefix + " §3Economy: §6" + eco.getName() + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
} else T2Csend.console(prefix + " §3Economy: §4not connected via vault!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
|
||||
if (perm != null) {
|
||||
if (Bukkit.getPluginManager().getPlugin(perm.getName()) != null) {
|
||||
T2Csend.console(prefix + " §3Permission plugin: §6" + perm.getName() + " - " + Bukkit.getPluginManager().getPlugin(perm.getName()).getDescription().getVersion()
|
||||
+ " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
} else T2Csend.console(prefix + " §3Permission plugin: §6" + perm.getName() + " - §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
} else T2Csend.console(prefix + " §3Permission plugin: §4not connected via vault!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
|
||||
if (T2CpluginCheck.papi()) {
|
||||
T2Csend.console(prefix + " §3PlaceholderAPI: §6connected" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
}
|
||||
|
||||
plugin.getCommand("t2code").setExecutor(new CmdExecuter());
|
||||
ConfigCreate.configCreate();
|
||||
T2CitemVersion.scan();
|
||||
LanguagesCreate.langCreate();
|
||||
SelectLibConfig.onSelect();
|
||||
SelectLibMsg.onSelect();
|
||||
|
||||
T2CupdateAPI.onUpdateCheck(plugin, prefix, Util.getSpigotID(), Util.getDiscord());
|
||||
Metrics.Bstats(plugin, Util.getBstatsID());
|
||||
if (SelectLibConfig.getBungee()){
|
||||
Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, "t2c:bcmd");
|
||||
}
|
||||
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new JoinEvent(), plugin);
|
||||
T2Ctemplate.onLoadFooter(prefix, long_);
|
||||
load = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
// Plugin shutdown logic
|
||||
if (!load) return;
|
||||
if (SelectLibConfig.getInventoriesCloseByServerStop()) {
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
player.closeInventory();
|
||||
}
|
||||
}
|
||||
|
||||
Vault.vaultDisable();
|
||||
T2Ctemplate.onDisable(Util.getPrefix(), autor, version, Util.getSpigot(), Util.getDiscord());
|
||||
if (nmIsLoad) {
|
||||
if (this.adventure != null) {
|
||||
this.adventure.close();
|
||||
this.adventure = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static File getPath() {
|
||||
return plugin.getDataFolder();
|
||||
}
|
||||
|
||||
static void setEco(Economy eco) {
|
||||
T2CodeLibMain.eco = eco;
|
||||
}
|
||||
|
||||
static void setPerm(Permission perm) {
|
||||
T2CodeLibMain.perm = perm;
|
||||
}
|
||||
|
||||
public static T2CodeLibMain getPlugin() {
|
||||
return plugin;
|
||||
}
|
||||
|
||||
public static Economy getEco() {
|
||||
return eco;
|
||||
}
|
||||
|
||||
public static Permission getPerm() {
|
||||
return perm;
|
||||
}
|
||||
|
||||
public static List<String> getAutor() {
|
||||
return autor;
|
||||
}
|
||||
|
||||
public static String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
private static BukkitAudiences adventure;
|
||||
|
||||
public static BukkitAudiences adventure() {
|
||||
if (adventure == null) {
|
||||
throw new IllegalStateException("Tried to access Adventure when the plugin was disabled!");
|
||||
}
|
||||
Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " Adventure load");
|
||||
return adventure;
|
||||
}
|
||||
|
||||
public static Boolean getNmIsLoad() {
|
||||
return nmIsLoad;
|
||||
}
|
||||
}
|
@ -2,12 +2,10 @@ package net.t2code.t2codelib.SPIGOT.system;
|
||||
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import net.milkbowl.vault.permission.Permission;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||
import net.t2code.t2codelib.Util;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class Vault {
|
||||
|
||||
public static Boolean vaultEnable;
|
||||
@ -15,37 +13,36 @@ public class Vault {
|
||||
|
||||
public static void loadVault() throws InterruptedException {
|
||||
long long_ = System.currentTimeMillis();
|
||||
if (T2C_Main.getPlugin().getServer().getPluginManager().getPlugin("Vault") != null && Objects.requireNonNull(T2C_Main.getPlugin().getServer().getPluginManager().getPlugin("Vault")).isEnabled()) {
|
||||
if (T2CodeLibMain.getPlugin().getServer().getPluginManager().getPlugin("Vault") != null) {
|
||||
vaultEnable = true;
|
||||
RegisteredServiceProvider<Economy> eco = T2C_Main.getPlugin().getServer().getServicesManager().getRegistration(Economy.class);
|
||||
RegisteredServiceProvider<Economy> eco = T2CodeLibMain.getPlugin().getServer().getServicesManager().getRegistration(Economy.class);
|
||||
if (eco != null) {
|
||||
T2C_Main.setEco(eco.getProvider());
|
||||
if (T2C_Main.getEco() != null) {
|
||||
T2CodeLibMain.setEco(eco.getProvider());
|
||||
if (T2CodeLibMain.getEco() != null) {
|
||||
connected = true;
|
||||
|
||||
T2C_Send.sendStartTextCenter(T2C_Util.getPrefix(), " §2Vault / Economy successfully connected!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms", false);
|
||||
T2Csend.console(Util.getPrefix() + " §2Vault / Economy successfully connected!" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
} else {
|
||||
connected = false;
|
||||
T2C_Send.sendStartTextCenter(T2C_Util.getPrefix(), " §4Economy could not be connected / found! [1]" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms", false);
|
||||
T2Csend.console(Util.getPrefix() + " §4Economy could not be connected / found! [1]" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
}
|
||||
} else {
|
||||
connected = false;
|
||||
T2C_Send.sendStartTextCenter(T2C_Util.getPrefix(), " §4Economy could not be connected / found! [2]" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms", false);
|
||||
T2Csend.console(Util.getPrefix() + " §4Economy could not be connected / found! [2]" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
}
|
||||
RegisteredServiceProvider<Permission> perm = T2C_Main.getPlugin().getServer().getServicesManager().getRegistration(Permission.class);
|
||||
RegisteredServiceProvider<Permission> perm = T2CodeLibMain.getPlugin().getServer().getServicesManager().getRegistration(Permission.class);
|
||||
if (perm != null) {
|
||||
T2C_Main.setPerm(perm.getProvider());
|
||||
T2CodeLibMain.setPerm(perm.getProvider());
|
||||
}
|
||||
} else {
|
||||
vaultEnable = false;
|
||||
connected = false;
|
||||
T2C_Send.sendStartTextCenter(T2C_Util.getPrefix()," §4Vault could not be connected! [3]" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms", false);
|
||||
T2Csend.console(Util.getPrefix() + " §4Vault could not be connected! [3]" + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
}
|
||||
}
|
||||
|
||||
public static void vaultDisable() {
|
||||
if (!connected) return;
|
||||
connected = false;
|
||||
T2C_Send.console(T2C_Util.getPrefix()+ " §4Vault / Economy successfully deactivated.");
|
||||
T2Csend.console(Util.getPrefix() + " §4Vault / Economy successfully deactivated.");
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
|
||||
package net.t2code.t2codelib.SPIGOT.system.bstats;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.T2C_LibConfig;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.SelectLibConfig;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -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(T2C_LibConfig.VALUES.updateCheckOnJoin.getValue())));
|
||||
metrics.addCustomChart(new SimplePie("updatecheckonjoin", () -> String.valueOf(SelectLibConfig.getUpdateCheckOnJoin())));
|
||||
}
|
||||
|
||||
private final Plugin plugin;
|
||||
|
@ -1,213 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system.cmd;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.debug.T2C_Debug;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.api.update.T2C_UpdateAPI;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_ProxyCommandSenderReceiver;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.T2C_LibConfig;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.languages.T2CLibLanguages;
|
||||
import net.t2code.t2codelib.util.T2C_UpdateObject;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabCompleter;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class CmdExecuter implements CommandExecutor, TabCompleter {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (args.length == 0) {
|
||||
if (!sender.hasPermission("t2code.admin")) {
|
||||
T2C_Send.sender(sender, "§4No Permission §8t2code.admin");
|
||||
return false;
|
||||
}
|
||||
Commands.info(sender);
|
||||
return false;
|
||||
}
|
||||
switch (args[0].toLowerCase()) {
|
||||
case "info":
|
||||
case "plugin":
|
||||
case "pl":
|
||||
case "version":
|
||||
case "ver":
|
||||
if (!sender.hasPermission("t2code.admin")) {
|
||||
T2C_Send.sender(sender, "§4No Permission §8t2code.admin");
|
||||
return false;
|
||||
}
|
||||
Commands.info(sender);
|
||||
return false;
|
||||
case "permtoggle":
|
||||
if (!sender.hasPermission("t2code.permtoggle.use")) {
|
||||
T2C_Send.sender(sender, "§4No Permission §8t2code.permtoggle.use");
|
||||
return false;
|
||||
}
|
||||
Commands.permtoggle(sender, args);
|
||||
return false;
|
||||
case "updateinfo":
|
||||
if (!sender.hasPermission("t2code.admin")) {
|
||||
T2C_Send.sender(sender, "§4No Permission §8t2code.admin");
|
||||
return false;
|
||||
}
|
||||
Commands.updateInfo(sender, args);
|
||||
return false;
|
||||
// case "plugininfo": todo
|
||||
// if (!sender.hasPermission("t2code.admin")) {
|
||||
// T2Csend.sender(sender, "§4No Permission §8t2code.admin");
|
||||
// return false;
|
||||
// }
|
||||
// Commands.updateInfo(sender, args);
|
||||
// return false;
|
||||
case "reloadconfig":
|
||||
if (!sender.hasPermission("t2code.admin")) {
|
||||
T2C_Send.sender(sender, "§4No Permission §8t2code.admin");
|
||||
return false;
|
||||
}
|
||||
T2C_LibConfig.set(true);
|
||||
T2CLibLanguages.set(true);
|
||||
T2C_Send.sender(sender, T2C_Util.getPrefix() + " §2Config successfully reloaded");
|
||||
return false;
|
||||
case "debug":
|
||||
if (!sender.hasPermission("t2code.admin")) {
|
||||
T2C_Send.sender(sender, "§4No Permission §8t2code.admin");
|
||||
return false;
|
||||
}
|
||||
Commands.debug(sender, args);
|
||||
return false;
|
||||
case "test":
|
||||
if (!sender.hasPermission("t2code.admin")) {
|
||||
T2C_Send.sender(sender, "§4No Permission §8t2code.admin");
|
||||
return false;
|
||||
}
|
||||
Commands.test(sender, args);
|
||||
return false;
|
||||
case "serverid":
|
||||
if (!sender.hasPermission("t2code.admin")) {
|
||||
T2C_Send.sender(sender, "§4No Permission §8t2code.admin");
|
||||
return false;
|
||||
}
|
||||
T2C_Send.sender(sender, ("[prefix] <red>T2C ServerID:</red> <gold><hover:show_text:'<yellow>copy</yellow>'>" +
|
||||
"<click:copy_to_clipboard:[id]>[id]</click></hover></gold>").replace("[prefix]", T2C_Util.getPrefix()).replace("[id]", String.valueOf(T2C_LibConfig.VALUES.serverUUID.getValue())));
|
||||
return false;
|
||||
case "bcmd":
|
||||
if (!sender.hasPermission("t2code.admin")) {
|
||||
T2C_Send.sender(sender, "§4No Permission §8t2code.admin");
|
||||
return false;
|
||||
}
|
||||
String cmd = "";
|
||||
for (String s : args) {
|
||||
cmd = cmd + s + " ";
|
||||
}
|
||||
cmd = cmd.replace("bcmd ", "");
|
||||
T2C_ProxyCommandSenderReceiver.sendToBungee(null, cmd, true);
|
||||
T2C_Debug.debug(T2C_Main.getPlugin(), "PluginMessage BCMD: " + cmd);
|
||||
return false;
|
||||
|
||||
default:
|
||||
if (!sender.hasPermission("t2code.admin")) {
|
||||
T2C_Send.sender(sender, "§4No Permission §8t2code.admin");
|
||||
return false;
|
||||
}
|
||||
T2C_Send.sender(sender, "§4Use: §7/t2code debug createReportLog");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//TabCompleter
|
||||
private static HashMap<String, String> arg1 = new HashMap<String, String>() {{
|
||||
put("debug", "t2code.admin");
|
||||
put("info", "t2code.admin");
|
||||
put("serverid", "t2code.admin");
|
||||
put("bcmd", "t2code.admin");
|
||||
put("reloadconfig", "t2code.admin");
|
||||
put("updateinfo", "t2code.admin");
|
||||
}};
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command cmd, String s, String[] args) {
|
||||
List<String> list = new ArrayList<>();
|
||||
if (sender instanceof Player) {
|
||||
Player p = (Player) sender;
|
||||
if (args.length == 1) {
|
||||
for (String command : arg1.keySet()) {
|
||||
if (hasPermission(p, arg1.get(command)) && passend(command, args[0])) {
|
||||
list.add(command);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (args.length == 2 && args[0].equalsIgnoreCase("debug")) {
|
||||
if (sender.hasPermission("t2code.admin")) {
|
||||
if (hasPermission(p, arg1.get("debug"))) {
|
||||
if (passend("createReportLog", args[1])) list.add("createReportLog");
|
||||
if (passend("deleteReportLog", args[1])) list.add("deleteReportLog");
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
if (args.length == 2 && args[0].equalsIgnoreCase("bcmd")) {
|
||||
if (sender.hasPermission("t2code.admin")) {
|
||||
list.add("<command>");
|
||||
}
|
||||
return list;
|
||||
}
|
||||
if (args.length == 2 && args[0].equalsIgnoreCase("updateinfo")) {
|
||||
if (sender.hasPermission("t2code.admin")) {
|
||||
if (hasPermission(p, arg1.get("updateinfo"))) {
|
||||
for (Map.Entry<String, T2C_UpdateObject> pl : T2C_UpdateAPI.pluginVersions.entrySet()) {
|
||||
if (passend(pl.getValue().pluginName, args[1])) list.add(pl.getValue().pluginName);
|
||||
}
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
if (args.length == 3 && args[0].equalsIgnoreCase("debug") && args[1].equalsIgnoreCase("deleteReportLog")) {
|
||||
if (sender.hasPermission("t2code.admin")) {
|
||||
if (hasPermission(p, arg1.get("debug"))) {
|
||||
for (String st : ReportLogStorage.list) {
|
||||
if (passend(st, args[2])) list.add(st);
|
||||
}
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
private static Boolean passend(String command, String arg) {
|
||||
for (int i = 0; i < arg.toUpperCase().length(); i++) {
|
||||
if (arg.toUpperCase().length() >= command.toUpperCase().length()) {
|
||||
return false;
|
||||
} else {
|
||||
if (arg.toUpperCase().charAt(i) != command.toUpperCase().charAt(i)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean hasPermission(Player player, String permission) {
|
||||
if (player.isOp()) {
|
||||
return true;
|
||||
}
|
||||
String[] Permissions = permission.split(";");
|
||||
for (String perm : Permissions) {
|
||||
if (player.hasPermission(perm)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,106 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system.cmd;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.commands.T2C_Cmd;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Template;
|
||||
import net.t2code.t2codelib.SPIGOT.api.update.T2C_UpdateAPI;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.T2C_LibConfig;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class Commands {
|
||||
protected static void info(CommandSender sender) {
|
||||
assert T2C_Main.getPlugin().getDescription().getDescription() != null;
|
||||
T2C_Template.sendInfo(sender, T2C_Main.getPlugin(), T2C_Util.getSpigotID(), T2C_Util.getDiscord(), null, T2C_Util.getInfoText().replace("[getDescription()]",T2C_Main.getPlugin().getDescription().getDescription()));
|
||||
}
|
||||
|
||||
protected static void test(CommandSender sender, String[] args) {
|
||||
T2C_Send.sender(sender, T2C_Util.getPrefix() + " &4Currently there is no development test command");
|
||||
}
|
||||
|
||||
protected static void debug(CommandSender sender, String[] args) {
|
||||
if (args.length < 2) {
|
||||
T2C_Send.sender(sender, "§4Use: §7/t2code debug createReportLog");
|
||||
return;
|
||||
}
|
||||
switch (args[1].toLowerCase()) {
|
||||
case "createreportlog":
|
||||
switch (args.length) {
|
||||
case 2:
|
||||
if (sender instanceof Player) {
|
||||
T2C_Send.sender(sender, "<dark_red>The debug zip file is <red>automatically uploaded</red> to T2Code's servers<br>and <red>automatically deleted</red> " +
|
||||
"after <red>14</red> days!<br>The file can also be deleted manually by you via command!</dark_red><br><dark_green><hover:show_text:'<yellow>Confirm the" +
|
||||
" upload</yellow>'><click:run_command:'/t2c debug createReportLog confirmupload'>upload</click></hover></dark_green> <dark_gray>|</dark_gray> " +
|
||||
"<gold><hover:show_text:'<red>Do not upload</red>'><click:run_command:'/t2c debug createReportLog noupload'>keep the file on your server</click></hover></gold>");
|
||||
} else T2C_Send.sender(sender, "<dark_red>The debug zip file is <red>automatically uploaded</red> to T2Code's servers</dark_red>" +
|
||||
"<br><dark_red>and <red>automatically deleted</red> after <red>14</red> days!</dark_red>" +
|
||||
"<br><dark_red>The file can also be deleted manually by you via command!</dark_red>" +
|
||||
"<br><green>Confirm the upload with the command:</green>" +
|
||||
"<br><yellow>/t2c debug createReportLog confirmupload</yellow>" +
|
||||
"<br><red>Keep the file on your server and do not upload it with the command:</red>" +
|
||||
"<br><yellow>/t2c debug createReportLog noupload</yellow>");
|
||||
break;
|
||||
case 3:
|
||||
Boolean upload = args[2].equalsIgnoreCase("confirmupload");
|
||||
Bukkit.getScheduler().runTaskAsynchronously(T2C_Main.getPlugin(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
CreateReportLog.create(sender, upload);
|
||||
} catch (IOException e) {
|
||||
T2C_Send.sender(sender, T2C_Util.getPrefix() + " <red>An error occurred while creating a report log! Please look in the console!</red>");
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
default:
|
||||
T2C_Send.sender(sender, "§4Use: §7/t2code debug createReportLog");
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case "deletereportlog":
|
||||
if (args.length != 3) {
|
||||
T2C_Send.sender(sender, "§4Use: §7/t2code debug deleteReportLog [id]");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
CreateReportLog.delete(args[2], sender);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
T2C_Send.sender(sender, "§4Use: §7/t2code debug createReportLog/deleteReportLog");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected static void updateInfo(CommandSender sender, String[] args) {
|
||||
T2C_Send.sender(sender, T2C_UpdateAPI.updateInfo(args, sender instanceof Player));
|
||||
}
|
||||
|
||||
public static void permtoggle(CommandSender sender, String[] args) {
|
||||
Player player = (Player) Bukkit.getOfflinePlayer(args[1]);
|
||||
if (player == null) {
|
||||
T2C_Send.sender(sender, "§4Player §6" + args[1] + " §4not exist!");
|
||||
return;
|
||||
}
|
||||
String permission = args[2];
|
||||
|
||||
if (player.hasPermission(permission)) {
|
||||
T2C_Cmd.console(String.valueOf(T2C_LibConfig.VALUES.commandPermToggleCommand.getValue()).replace("[player]",player.getName()).replace("%player_name%",player.getName()).replace("[perm]",permission).replace("[value]", "false"));
|
||||
T2C_Send.sender(sender, "§2Permission §8'§6" + permission + "§8' §2was set to §6false §2for the player §6" + player.getName() + "§2.");
|
||||
} else {
|
||||
T2C_Cmd.console(String.valueOf(T2C_LibConfig.VALUES.commandPermToggleCommand.getValue()).replace("[player]",player.getName()).replace("%player_name%",player.getName()).replace("[perm]",permission).replace("[value]", "true"));
|
||||
T2C_Send.sender(sender, "§2Permission §8'§6" + permission + "§8' §2was set to §6true §2for the player §6" + player.getName() + "§2.");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -1,303 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system.cmd;
|
||||
|
||||
import net.t2code.luckyBox.api.LuckyBoxAPI;
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||
import net.t2code.t2codelib.SPIGOT.api.plugins.T2C_PluginCheck;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import net.t2code.t2codelib.SPIGOT.system.Vault;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import org.apache.http.HttpEntity;
|
||||
import org.apache.http.HttpResponse;
|
||||
import org.apache.http.client.HttpClient;
|
||||
import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.entity.mime.MultipartEntity;
|
||||
import org.apache.http.entity.mime.content.FileBody;
|
||||
import org.apache.http.impl.client.DefaultHttpClient;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
public class CreateReportLog {
|
||||
protected static void create(CommandSender sender, Boolean confirmUpload) throws IOException {
|
||||
T2C_Send.sender(sender, T2C_Util.getPrefix() + " §6A DebugLog is created...");
|
||||
String timeStampFile = new SimpleDateFormat("HH_mm_ss-dd_MM_yyyy").format(Calendar.getInstance().getTime());
|
||||
|
||||
File directory = new File(T2C_Main.getPath() + "/DebugLogs");
|
||||
File directoryTemp = new File("T2CDebugLogsTemp");
|
||||
if (!directory.exists()) {
|
||||
directory.mkdir();
|
||||
}
|
||||
if (!directoryTemp.exists()) {
|
||||
directoryTemp.mkdir();
|
||||
}
|
||||
|
||||
File file = new File("T2CDebugLogsTemp/T2CodeLog.txt");
|
||||
PrintWriter pWriter = null;
|
||||
try {
|
||||
pWriter = new PrintWriter(new FileWriter(file.getPath()));
|
||||
String timeStamp = new SimpleDateFormat("HH:mm:ss dd.MM.yyyy").format(Calendar.getInstance().getTime());
|
||||
pWriter.println("Created on: " + timeStamp + " - from: " + sender.getName());
|
||||
pWriter.println();
|
||||
pWriter.println("Server Bukkit version: " + T2C_McVersion.getBukkitVersion());
|
||||
pWriter.println("Server run on: " + T2C_McVersion.getMcVersion());
|
||||
pWriter.println("Server NMS: " + T2C_McVersion.getNms());
|
||||
pWriter.println("Online Mode: " + Bukkit.getOnlineMode());
|
||||
pWriter.println("Proxy Mode: " + T2C_Main.isBungee());
|
||||
pWriter.println("BungeeCord: " + T2C_Main.isBungee());
|
||||
pWriter.println("Velocity: " + T2C_Main.isVelocity());
|
||||
pWriter.println("Server Port: " + Bukkit.getServer().getPort());
|
||||
pWriter.println();
|
||||
pWriter.println("Worlds: " + Bukkit.getWorlds());
|
||||
pWriter.println("OP-Player:");
|
||||
for (OfflinePlayer player : Bukkit.getOperators()) {
|
||||
pWriter.println(" - " + 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 (T2C_Main.getEco() != null) {
|
||||
String st = T2C_Main.getEco().getName();
|
||||
if (T2C_Main.getEco().getName().equals("CMIEconomy")) st = "CMI";
|
||||
if (Bukkit.getPluginManager().getPlugin(st) != null) {
|
||||
pWriter.println("Economy: " + T2C_Main.getEco().isEnabled() + " - " + st + " - " + Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(st)).getDescription().getVersion());
|
||||
} else pWriter.println("Economy: " + T2C_Main.getEco().isEnabled() + " - " + st);
|
||||
} else pWriter.println("Economy: not connected via vault");
|
||||
if (T2C_Main.getPerm() != null) {
|
||||
if (Bukkit.getPluginManager().getPlugin(T2C_Main.getPerm().getName()) != null) {
|
||||
pWriter.println("Permission: " + T2C_Main.getPerm().isEnabled() + " - " + T2C_Main.getPerm().getName() + " - " + Bukkit.getPluginManager()
|
||||
.getPlugin(T2C_Main.getPerm().getName()).getDescription().getVersion());
|
||||
} else pWriter.println("Permission: " + T2C_Main.getPerm().isEnabled() + " - " + T2C_Main.getPerm().getName());
|
||||
} else pWriter.println("Permission: not connected via vault");
|
||||
pWriter.println();
|
||||
pWriter.println("Java: " + System.getProperty("java.version"));
|
||||
pWriter.println("System: " + System.getProperty("os.name"));
|
||||
pWriter.println("System: " + System.getProperty("os.version"));
|
||||
pWriter.println("User Home: " + System.getProperty("user.home"));
|
||||
pWriter.println();
|
||||
pWriter.println("T2CodeLib: " + T2C_Main.getPlugin().getDescription().getVersion());
|
||||
pWriter.println();
|
||||
if (T2C_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("OfflinePlayers amount: " + Bukkit.getOfflinePlayers().length);
|
||||
pWriter.println("OfflinePlayers: ");
|
||||
|
||||
ArrayList<OfflinePlayer> players = new ArrayList<>();
|
||||
Collections.addAll(players, Bukkit.getOfflinePlayers());
|
||||
players.sort(Comparator.comparing(OfflinePlayer::getName));
|
||||
for (OfflinePlayer player : players) {
|
||||
pWriter.println(" - " + player.getName() + " - " + player.getUniqueId());
|
||||
}
|
||||
|
||||
pWriter.println();
|
||||
pWriter.println("Plugins amount: " + Bukkit.getPluginManager().getPlugins().length);
|
||||
pWriter.println("Plugins: ");
|
||||
|
||||
ArrayList<Plugin> plugins = new ArrayList<>();
|
||||
Collections.addAll(plugins, Bukkit.getPluginManager().getPlugins());
|
||||
plugins.sort(Comparator.comparing(Plugin::getName));
|
||||
for (Plugin pl : plugins) {
|
||||
pWriter.println(" - " + pl.getName() +
|
||||
" - " + pl.getDescription().getVersion() +
|
||||
" - Enabled: " + pl.isEnabled() +
|
||||
" - Autors: " + pl.getDescription().getAuthors() +
|
||||
" - SoftDepend: " + pl.getDescription().getSoftDepend() +
|
||||
" - Depend: " + pl.getDescription().getDepend() +
|
||||
" - LoadBefore: " + pl.getDescription().getLoadBefore() +
|
||||
" - Website: " + pl.getDescription().getWebsite());
|
||||
}
|
||||
|
||||
} catch (IOException e) {
|
||||
T2C_Send.sendException(e, T2C_Main.getPlugin().getLogger());
|
||||
} finally {
|
||||
if (pWriter != null) {
|
||||
pWriter.flush();
|
||||
pWriter.close();
|
||||
}
|
||||
}
|
||||
|
||||
String filePath = "T2CDebugLogsTemp/T2CodeLog.txt";
|
||||
String log = "logs/latest.log";
|
||||
String zipPath = "T2CDebugLogsTemp/T2CLog-" + timeStampFile + ".zip";
|
||||
try (ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(zipPath))) {
|
||||
File fileToZip = new File(filePath);
|
||||
zip.putNextEntry(new ZipEntry(fileToZip.getName()));
|
||||
Files.copy(fileToZip.toPath(), zip);
|
||||
|
||||
addFileToZip("", "logs/latest.log", zip, false);
|
||||
|
||||
// for (String pl : Util.getT2cPlugins()) {
|
||||
// pluginToDebug(pl, zip);
|
||||
// }
|
||||
pluginToDebug(zip); //todo überprüfen
|
||||
|
||||
zip.closeEntry();
|
||||
zip.close();
|
||||
} catch (IOException e) {
|
||||
T2C_Send.sendException(e, T2C_Main.getPlugin().getLogger());
|
||||
}
|
||||
file.delete();
|
||||
File zipFile = new File(zipPath);
|
||||
|
||||
if (!confirmUpload) {
|
||||
Files.move(Paths.get(zipPath), Paths.get(directory + "/" + zipFile.getName()));
|
||||
zipFile.delete();
|
||||
directoryTemp.delete();
|
||||
if (sender instanceof Player) {
|
||||
T2C_Send.sender(sender, T2C_Util.getPrefix() + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + directory + "/" + zipFile.getName());
|
||||
}
|
||||
T2C_Send.console(T2C_Util.getPrefix() + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + directory + "/" + zipFile.getName());
|
||||
return;
|
||||
}
|
||||
|
||||
HttpClient httpclient = new DefaultHttpClient();
|
||||
HttpPost httppost = new HttpPost("https://debug.t2code.net/uploadFile");
|
||||
|
||||
FileBody bin = new FileBody(zipFile);
|
||||
MultipartEntity reqEntity = new MultipartEntity();
|
||||
reqEntity.addPart("file", bin);
|
||||
httppost.setEntity(reqEntity);
|
||||
HttpResponse response = httpclient.execute(httppost);
|
||||
HttpEntity resEntity = response.getEntity();
|
||||
String responseString = EntityUtils.toString(resEntity, "UTF-8");
|
||||
JSONObject obj = new JSONObject(responseString);
|
||||
String downloadURL = obj.getString("fileDownloadUri");
|
||||
String fileID = obj.getString("fileID");
|
||||
String fileType = obj.getString("fileType");
|
||||
Integer fileSize = obj.getInt("size");
|
||||
zipFile.delete();
|
||||
directoryTemp.delete();
|
||||
if (sender instanceof Player) {
|
||||
T2C_Send.sender(sender, ("[prefix] <green>A DebugLog zip has been created." +
|
||||
"<br>[prefix] <green>You can download it <click:open_url:'[url]'><gold><hover:show_text:'<yellow>Download the debug file</yellow>'>here</hover></gold></click>." +
|
||||
"<br>[prefix] <green>Please enter the following key in the ticket: <gold><click:copy_to_clipboard:[key]><hover:show_text:'<yellow>Copy to clipboard</yellow>'>[key]</hover></click></gold></green>" +
|
||||
"<br>[prefix] <dark_red>Do not share the download URL with anyone!</dark_red>" +
|
||||
"<br>[prefix] <click:run_command:'/t2code debug deleteReportLog [key]'><hover:show_text:'<yellow>Click to delete</yellow>'><green>You can <b>delete</b> your Debug-File by clicking me.</green>" +
|
||||
"<br>[prefix] <color:#910d06>(If you do not delete the debug file, it will be deleted automatically after <red>14</red> days!)</color></click></hover>")
|
||||
.replace("[key]", fileID).replace("[url]", downloadURL).replace("[prefix]", T2C_Util.getPrefix()));
|
||||
}
|
||||
T2C_Send.console(T2C_Util.getPrefix() + (" <gold>A DebugLog zip has been created. You can download it here:</gold> <yellow>[url]</yellow>" +
|
||||
"<br><gold>Please enter the following key in the ticket:</gold> <yellow>[key]</yellow>." +
|
||||
"<br><dark_red>Do not share the download URL with anyone!</dark_red>" +
|
||||
"<br><color:#910d06>(If you do not delete the debug file, it will be deleted automatically after <red>14</red> days!)</color>" +
|
||||
"<br><dark_red>You can delete your Debug-File with the following command:</dark_red> <red>/t2code debug deleteReportLog [key]</red>.")
|
||||
.replace("[key]", fileID).replace("[url]", downloadURL));
|
||||
ReportLogStorage.add(fileID);
|
||||
}
|
||||
|
||||
private static void pluginToDebug(String pluginName, ZipOutputStream zip) throws IOException {
|
||||
if (T2C_PluginCheck.pluginCheck(pluginName)) {
|
||||
Plugin plugin = Bukkit.getPluginManager().getPlugin(pluginName);
|
||||
File plConfigs = new File(plugin.getDataFolder().getPath());
|
||||
if (plConfigs.exists()) {
|
||||
addFolderToZip("T2Code-Plugins", plugin.getDataFolder().getPath(), zip);
|
||||
}
|
||||
File f = new File("plugins/");
|
||||
File[] fileArray = f.listFiles();
|
||||
|
||||
for (File config : fileArray) {
|
||||
if (config.getName().contains(pluginName) && config.getName().contains(".jar")) {
|
||||
addFileToZip("T2Code-Plugins", config.getPath(), zip, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void pluginToDebug(ZipOutputStream zip) throws IOException {
|
||||
for (Plugin plugin : Bukkit.getPluginManager().getPlugins()) {
|
||||
String plName = plugin.getDescription().getName();
|
||||
if (plName.contains("T2C-") || T2C_Util.getT2cPlugins().contains(plName) || plugin.getDescription().getAuthors().contains("JaTiTV")) {
|
||||
File plConfigs = new File(plugin.getDataFolder().getPath());
|
||||
if (plConfigs.exists()) {
|
||||
addFolderToZip("T2Code-Plugins", plugin.getDataFolder().getPath(), zip);
|
||||
}
|
||||
File f = new File(plugin.getClass().getProtectionDomain().getCodeSource().getLocation().getPath());
|
||||
addFileToZip("T2Code-Plugins", f.getPath(), zip, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void addFolderToZip(String path, String srcFolder, ZipOutputStream zip) throws IOException {
|
||||
File folder = new File(srcFolder);
|
||||
if (folder.list() == null) {
|
||||
addFileToZip(path + "/" + folder.getName(), srcFolder, zip, false);
|
||||
} else if (folder.list().length == 0) {
|
||||
addFileToZip(path, srcFolder, zip, true);
|
||||
} else {
|
||||
for (String fileName : folder.list()) {
|
||||
if (path.equals("")) {
|
||||
addFileToZip(folder.getName(), srcFolder + "/" + fileName, zip, false);
|
||||
} else {
|
||||
addFileToZip(path + "/" + folder.getName(), srcFolder + "/" + fileName, zip, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void addFileToZip(String path, String srcFile, ZipOutputStream zip, boolean flag) throws IOException {
|
||||
File folder = new File(srcFile);
|
||||
if (flag) {
|
||||
zip.putNextEntry(new ZipEntry(path + "/" + folder.getName() + "/"));
|
||||
} else {
|
||||
if (folder.isDirectory()) {
|
||||
addFolderToZip(path, srcFile, zip);
|
||||
} else {
|
||||
byte[] buf = new byte[1024];
|
||||
int len;
|
||||
FileInputStream in = new FileInputStream(srcFile);
|
||||
|
||||
if (path.equals("")) {
|
||||
zip.putNextEntry(new ZipEntry((folder.getName())));
|
||||
} else {
|
||||
zip.putNextEntry(new ZipEntry((path + "/" + folder.getName())));
|
||||
}
|
||||
|
||||
while ((len = in.read(buf)) > 0) {
|
||||
try {
|
||||
zip.write(buf, 0, len);
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void delete(String arg, CommandSender sender) throws IOException {
|
||||
URL url = new URL("https://debug.t2code.net/delete/" + arg);
|
||||
HttpURLConnection con = (HttpURLConnection) url.openConnection();
|
||||
con.setRequestMethod("GET");
|
||||
int response = con.getResponseCode();
|
||||
if (response == 200) {
|
||||
ReportLogStorage.remove(arg);
|
||||
T2C_Send.sender(sender, "<green>Deleted report: <yellow>" + arg);
|
||||
} else {
|
||||
T2C_Send.sender(sender, "<green>Error while deleting report: <yellow>" + arg);
|
||||
}
|
||||
con.disconnect();
|
||||
}
|
||||
}
|
@ -1,71 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system.cmd;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2C_McVersion;
|
||||
import net.t2code.t2codelib.SPIGOT.system.config.config.T2C_LibConfig;
|
||||
import net.t2code.t2codelib.util.T2C_Util;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
|
||||
import static net.t2code.t2codelib.SPIGOT.api.dev.T2C_DevelopmentTool.removeLastChar;
|
||||
|
||||
public class Development implements Listener {
|
||||
@EventHandler
|
||||
public void onChat(AsyncPlayerChatEvent e) {
|
||||
String[] args = e.getMessage().split(" ");
|
||||
if (args.length == 0) {
|
||||
return;
|
||||
}
|
||||
if (!args[0].equals("_t2code_")) {
|
||||
return;
|
||||
}
|
||||
if (!(boolean) T2C_LibConfig.VALUES.developerTool.getValue()) {
|
||||
T2C_Send.player(e.getPlayer(), T2C_Util.getPrefix() + " The Development Tool is disabled.");
|
||||
}
|
||||
e.setCancelled(true);
|
||||
t2cPls(e.getPlayer());
|
||||
}
|
||||
|
||||
protected static void t2cPls(Player player) {
|
||||
String msg = "<red>T<gray>2</gray>Code</red> <dark_purple>Development</dark_purple><br>"
|
||||
+ T2C_McVersion.getMcVersion() + "<br>(" + Bukkit.getPluginManager().getPlugins().length + ") ";
|
||||
ArrayList<Plugin> plugins = new ArrayList<>();
|
||||
Collections.addAll(plugins, Bukkit.getPluginManager().getPlugins());
|
||||
plugins.sort(Comparator.comparing(Plugin::getName));
|
||||
for (Plugin plugin : plugins) {
|
||||
String plName = plugin.getDescription().getName();
|
||||
String hover = "<blue>" + plugin.getDescription().getName() + "</blue><br>" +
|
||||
"<green>Version:</green> <gold>" + plugin.getDescription().getVersion() + "</gold><br>" +
|
||||
"<green>APIVersion:</green> <gold>" + plugin.getDescription().getAPIVersion() + "</gold><br>" +
|
||||
"<green>Authors:</green> <gold>" + plugin.getDescription().getAuthors() + "</gold><br>" +
|
||||
"<green>SoftDepend:</green> <gold>" + plugin.getDescription().getSoftDepend() + "</gold><br>" +
|
||||
"<green>Depend:</green> <gold>" + plugin.getDescription().getDepend() + "</gold><br>" +
|
||||
"<green>LoadBefore:</green> <gold>" + plugin.getDescription().getLoadBefore() + "</gold><br>" +
|
||||
"<green>Website:</green> <gold>" + plugin.getDescription().getWebsite() + "</gold>";
|
||||
String plSt = "<hover:show_text:'" + hover + "'>" + plugin.getName() + "</hover>";
|
||||
|
||||
if (plugin.getDescription().getWebsite() != null && !plugin.getDescription().getWebsite().equalsIgnoreCase("null")) {
|
||||
plSt = "<click:open_url:'" + plugin.getDescription().getWebsite() + "'>" + plSt + "</click>";
|
||||
}
|
||||
if (plugin.isEnabled()) {
|
||||
if (plName.contains("T2C-") || T2C_Util.getT2cPlugins().contains(plName)) {
|
||||
msg = msg + "<dark_green>" + plSt + "</dark_green>, ";
|
||||
} else msg = msg + "<green>" + plSt + "</green>, ";
|
||||
} else if (plName.contains("T2C-") || T2C_Util.getT2cPlugins().contains(plName)) {
|
||||
msg = msg + "<dark_red>" + plSt + "</dark_red>, ";
|
||||
} else msg = msg + "<red>" + plSt + "</red>, ";
|
||||
}
|
||||
|
||||
T2C_Send.player(player, removeLastChar(msg, 2));
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system.cmd;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ReportLogStorage {
|
||||
public static List<String> list = new ArrayList<>();
|
||||
|
||||
protected static File config = new File(T2C_Main.getPath(), "/DebugLogs/T2CodeReportKeys.yml");
|
||||
protected static YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
||||
|
||||
public static void add(String key) {
|
||||
list.add(key);
|
||||
save();
|
||||
}
|
||||
|
||||
public static void remove(String key) {
|
||||
list.remove(key);
|
||||
save();
|
||||
}
|
||||
|
||||
public static void save() {
|
||||
if (list == null) return;
|
||||
yamlConfiguration.set("Keys", list);
|
||||
|
||||
try {
|
||||
yamlConfiguration.save(config);
|
||||
} catch (IOException e) {
|
||||
T2C_Send.sendException(e, T2C_Main.getPlugin().getLogger());
|
||||
}
|
||||
}
|
||||
|
||||
public static void load() {
|
||||
if (!config.exists()) return;
|
||||
list = yamlConfiguration.getStringList("Keys");
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system.config.config;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||
import net.t2code.t2codelib.SPIGOT.api.yaml.T2Cconfig;
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import net.t2code.t2codelib.Util;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
|
||||
public class ConfigCreate {
|
||||
|
||||
public static void configCreate() {
|
||||
long long_ = System.currentTimeMillis();
|
||||
if (new File(T2CodeLibMain.getPath(), "config.yml").exists()){
|
||||
if (T2CodeLibMain.getPlugin().getConfig().getBoolean("Plugin.Debug")) T2Csend.console(Util.getPrefix() + " §5DEBUG: §6" + " §4config.yml are created / updated...");
|
||||
} else T2Csend.console(Util.getPrefix() + " §4config.yml are created...");
|
||||
|
||||
|
||||
File config = new File(T2CodeLibMain.getPath(), "config.yml");
|
||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
||||
|
||||
T2Cconfig.set("Plugin.UpdateCheck.OnJoin", true, yamlConfiguration);
|
||||
T2Cconfig.set("Plugin.UpdateCheck.TimeInterval", 60, yamlConfiguration);
|
||||
T2Cconfig.set("Plugin.language", "english", yamlConfiguration);
|
||||
|
||||
T2Cconfig.set("BungeeCord.Enable", false, yamlConfiguration);
|
||||
T2Cconfig.set("Player.Inventories.CloseByServerStop", true, yamlConfiguration);
|
||||
|
||||
try {
|
||||
yamlConfiguration.save(config);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
T2Csend.console(Util.getPrefix() + " §2config.yml were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
}
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system.config.config;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2C_Main;
|
||||
import net.t2code.t2codelib.util.T2C_ConfigItem;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class ConvertT2ClibConfig {
|
||||
|
||||
private static YamlConfiguration yamlConfiguration;
|
||||
|
||||
|
||||
public static void convert() {
|
||||
File config = new File(T2C_Main.getPath(), "config.yml");
|
||||
|
||||
if (!config.exists()) return;
|
||||
yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
||||
|
||||
|
||||
if (yamlConfiguration.contains("proxy.serverUUID")) return;
|
||||
|
||||
set("Plugin.UpdateCheck.OnJoin", T2C_LibConfig.VALUES.updateCheckOnJoin);
|
||||
set("Plugin.UpdateCheck.TimeInterval", T2C_LibConfig.VALUES.updateCheckTimeInterval);
|
||||
set("Plugin.UpdateCheck.SeePreReleaseUpdates", T2C_LibConfig.VALUES.seePreReleaseUpdates);
|
||||
set("Plugin.UpdateCheck.AllPlugins.FullDisable", T2C_LibConfig.VALUES.updateCheckFullDisable);
|
||||
set("Plugin.Debug", T2C_LibConfig.VALUES.debug);
|
||||
set("Plugin.language", T2C_LibConfig.VALUES.language);
|
||||
set("Plugin.Not recommended to disable.developerTool", T2C_LibConfig.VALUES.developerTool);
|
||||
set("BungeeCord.Enable", T2C_LibConfig.VALUES.proxy);
|
||||
set("Player.Inventories.CloseByServerStop", T2C_LibConfig.VALUES.inventoriesCloseByServerStop);
|
||||
set("Command.PermToggle.PermissionSetCommand", T2C_LibConfig.VALUES.commandPermToggleCommand);
|
||||
config.delete();
|
||||
}
|
||||
|
||||
private static void set(String path, T2C_ConfigItem item) {
|
||||
if (yamlConfiguration.contains(path)) {
|
||||
item.setValue(yamlConfiguration.get(path));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
package net.t2code.t2codelib.SPIGOT.system.config.config;
|
||||
|
||||
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class SelectLibConfig {
|
||||
|
||||
private static Boolean UpdateCheckOnJoin;
|
||||
private static Boolean t2cTestDevelopment;
|
||||
private static Integer UpdateCheckTimeInterval;
|
||||
private static Boolean Debug;
|
||||
private static String language;
|
||||
private static Boolean bungee;
|
||||
private static Boolean InventoriesCloseByServerStop;
|
||||
|
||||
public static void onSelect() {
|
||||
File config = new File(T2CodeLibMain.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");
|
||||
bungee = yamlConfiguration.getBoolean("BungeeCord.Enable");
|
||||
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 getBungee() {
|
||||
return bungee;
|
||||
}
|
||||
|
||||
public static Boolean getInventoriesCloseByServerStop() {
|
||||
return InventoriesCloseByServerStop;
|
||||
}
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user