Initial commit
This commit is contained in:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
.idea
|
||||||
|
out
|
||||||
|
target
|
||||||
90
pom.xml
Normal file
90
pom.xml
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>net.lab4code</groupId>
|
||||||
|
<artifactId>MC-WirelessHopper</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<name>MC-WirelessHopper</name>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<java.version>21</java.version>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<defaultGoal>clean package</defaultGoal>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.13.0</version>
|
||||||
|
<configuration>
|
||||||
|
<source>java.version</source>
|
||||||
|
<target>java.version</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-shade-plugin</artifactId>
|
||||||
|
<version>3.5.3</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>shade</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>papermc-repo</id>
|
||||||
|
<url>https://repo.papermc.io/repository/maven-public/</url>
|
||||||
|
</repository>
|
||||||
|
<repository>
|
||||||
|
<id>sonatype</id>
|
||||||
|
<url>https://oss.sonatype.org/content/groups/public/</url>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.papermc.paper</groupId>
|
||||||
|
<artifactId>paper-api</artifactId>
|
||||||
|
<version>1.21.3-R0.1-SNAPSHOT</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<version>1.18.22</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>me.clip</groupId>
|
||||||
|
<artifactId>placeholderapi</artifactId>
|
||||||
|
<version>2.10.10</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.zaxxer</groupId>
|
||||||
|
<artifactId>HikariCP</artifactId>
|
||||||
|
<version>4.0.3</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
||||||
25
src/main/java/net/lab4code/main/Command_Executer.java
Normal file
25
src/main/java/net/lab4code/main/Command_Executer.java
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
package net.lab4code.main;
|
||||||
|
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandExecutor;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.command.TabCompleter;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Command_Executer implements CommandExecutor, TabCompleter {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] args) {
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> onTabComplete(CommandSender commandSender, Command command, String s, String[] args) {
|
||||||
|
List<String> result = new ArrayList<>();
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
32
src/main/java/net/lab4code/main/Config.java
Normal file
32
src/main/java/net/lab4code/main/Config.java
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
package net.lab4code.main;
|
||||||
|
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
public class Config {
|
||||||
|
private static final File config = new File(Main.instance.getDataFolder().getPath(), "config.yml");
|
||||||
|
private static YamlConfiguration yamlConfiguration;
|
||||||
|
|
||||||
|
public static void create() {
|
||||||
|
if (!config.exists()) {
|
||||||
|
Main.instance.saveResource("config.yml", false);
|
||||||
|
}
|
||||||
|
yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
||||||
|
loadConfig();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void loadStorage() {
|
||||||
|
Database.setIp(yamlConfiguration.getString("Datastore.Ip"));
|
||||||
|
Database.setPort(yamlConfiguration.getInt("Datastore.Port"));
|
||||||
|
Database.setUser(yamlConfiguration.getString("Datastore.User"));
|
||||||
|
Database.setPassword(yamlConfiguration.getString("Datastore.Password"));
|
||||||
|
Database.setDatabase(yamlConfiguration.getString("Datastore.Database"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void loadConfig() {
|
||||||
|
// shopConfirmation = yamlConfiguration.getBoolean("Shop.Confirmbuy");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
244
src/main/java/net/lab4code/main/Database.java
Normal file
244
src/main/java/net/lab4code/main/Database.java
Normal file
@@ -0,0 +1,244 @@
|
|||||||
|
package net.lab4code.main;
|
||||||
|
|
||||||
|
import com.zaxxer.hikari.HikariConfig;
|
||||||
|
import com.zaxxer.hikari.HikariDataSource;
|
||||||
|
import lombok.Setter;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import java.sql.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import net.lab4code.objects.Query;
|
||||||
|
|
||||||
|
public class Database {
|
||||||
|
private static String url;
|
||||||
|
private static HikariConfig config = new HikariConfig();
|
||||||
|
private static HikariDataSource ds;
|
||||||
|
@Setter
|
||||||
|
private static String ip;
|
||||||
|
@Setter
|
||||||
|
private static Integer port;
|
||||||
|
@Setter
|
||||||
|
private static String database;
|
||||||
|
@Setter
|
||||||
|
private static String user;
|
||||||
|
@Setter
|
||||||
|
private static String password;
|
||||||
|
|
||||||
|
|
||||||
|
protected static void main() {
|
||||||
|
url = "jdbc:mysql://" + ip + ":" + port + "/" + database + "?useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Europe/Berlin";
|
||||||
|
config.setJdbcUrl(url);
|
||||||
|
config.setUsername(user);
|
||||||
|
config.setPassword(password);
|
||||||
|
config.addDataSourceProperty( "cachePrepStmts" , "true" );
|
||||||
|
config.addDataSourceProperty( "prepStmtCacheSize" , "250" );
|
||||||
|
config.addDataSourceProperty( "prepStmtCacheSqlLimit" , "2048" );
|
||||||
|
ds = new HikariDataSource( config );
|
||||||
|
try (Connection con = ds.getConnection()) {
|
||||||
|
Statement stmt = con.createStatement();
|
||||||
|
stmt.addBatch("CREATE TABLE IF NOT EXISTS `test` (" +
|
||||||
|
"`UUID` VARCHAR(50) NOT NULL," +
|
||||||
|
"`Name` VARCHAR(50) NOT NULL," +
|
||||||
|
"PRIMARY KEY (`UUID`) USING BTREE" +
|
||||||
|
")");
|
||||||
|
stmt.executeBatch();
|
||||||
|
stmt.close();
|
||||||
|
Bukkit.getConsoleSender().sendMessage(Messages.getMessage("Prefix", null) + " §2MySQL verbunden!");
|
||||||
|
} catch (SQLException exc) {
|
||||||
|
Bukkit.getConsoleSender().sendMessage(exc.getMessage());
|
||||||
|
Bukkit.getConsoleSender().sendMessage(Messages.getMessage("Prefix", null) + " §cMySQL nicht verbunden!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void query(String query, String... args) {
|
||||||
|
try (Connection con = ds.getConnection()) {
|
||||||
|
PreparedStatement stmt = con.prepareStatement(query);
|
||||||
|
for(int i = 0; i < args.length; i++){
|
||||||
|
stmt.setObject(i+1, args[i]);
|
||||||
|
}
|
||||||
|
stmt.execute();
|
||||||
|
stmt.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.err.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void query(String query, List<String> args) {
|
||||||
|
try (Connection con = ds.getConnection()) {
|
||||||
|
PreparedStatement stmt = con.prepareStatement(query);
|
||||||
|
for(int i = 0; i < args.size(); i++){
|
||||||
|
stmt.setObject(i+1, args.get(i));
|
||||||
|
}
|
||||||
|
stmt.execute();
|
||||||
|
stmt.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.err.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<List<String>> selectAll(String query, String... args) {
|
||||||
|
//long long_ = System.currentTimeMillis();
|
||||||
|
List<List<String>> Result = new ArrayList<>();
|
||||||
|
try (Connection con = ds.getConnection()) {
|
||||||
|
PreparedStatement stmt = con.prepareStatement(query);
|
||||||
|
for(int i = 0; i < args.length; i++){
|
||||||
|
stmt.setObject(i+1, args[i]);
|
||||||
|
}
|
||||||
|
ResultSet rs = stmt.executeQuery();
|
||||||
|
int columns = rs.getMetaData().getColumnCount();
|
||||||
|
while (rs.next()) {
|
||||||
|
List<String> columnList = new ArrayList<>();
|
||||||
|
for (int i = 1; i <= columns; i++) {
|
||||||
|
columnList.add(rs.getString(i));
|
||||||
|
}
|
||||||
|
Result.add(columnList);
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
stmt.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.err.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<List<String>> selectAll(String query, List<String> args) {
|
||||||
|
//long long_ = System.currentTimeMillis();
|
||||||
|
List<List<String>> Result = new ArrayList<>();
|
||||||
|
try (Connection con = ds.getConnection()) {
|
||||||
|
PreparedStatement stmt = con.prepareStatement(query);
|
||||||
|
for(int i = 0; i < args.size(); i++){
|
||||||
|
stmt.setObject(i+1, args.get(i));
|
||||||
|
}
|
||||||
|
ResultSet rs = stmt.executeQuery();
|
||||||
|
int columns = rs.getMetaData().getColumnCount();
|
||||||
|
while (rs.next()) {
|
||||||
|
List<String> columnList = new ArrayList<>();
|
||||||
|
for (int i = 1; i <= columns; i++) {
|
||||||
|
columnList.add(rs.getString(i));
|
||||||
|
}
|
||||||
|
Result.add(columnList);
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
stmt.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.err.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<String> selectRow(String query, String... args) {
|
||||||
|
//long long_ = System.currentTimeMillis();
|
||||||
|
List<String> Result = new ArrayList<>();
|
||||||
|
try (Connection con = ds.getConnection()) {
|
||||||
|
PreparedStatement stmt = con.prepareStatement(query);
|
||||||
|
for(int i = 0; i < args.length; i++){
|
||||||
|
stmt.setObject(i+1, args[i]);
|
||||||
|
}
|
||||||
|
ResultSet rs = stmt.executeQuery();
|
||||||
|
int columns = rs.getMetaData().getColumnCount();
|
||||||
|
while (rs.next()) {
|
||||||
|
for (int i = 1; i <= columns; i++) {
|
||||||
|
Result.add(rs.getString(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
stmt.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.err.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HashMap<String, String> selectRowIncludeColumnName(String query, String... args) {
|
||||||
|
//long long_ = System.currentTimeMillis();
|
||||||
|
HashMap<String,String> Result = new HashMap<>();
|
||||||
|
try (Connection con = ds.getConnection()) {
|
||||||
|
PreparedStatement stmt = con.prepareStatement(query);
|
||||||
|
for(int i = 0; i < args.length; i++){
|
||||||
|
stmt.setObject(i+1, args[i]);
|
||||||
|
}
|
||||||
|
ResultSet rs = stmt.executeQuery();
|
||||||
|
int columns = rs.getMetaData().getColumnCount();
|
||||||
|
while (rs.next()) {
|
||||||
|
for (int i = 1; i <= columns; i++) {
|
||||||
|
Result.put(rs.getMetaData().getColumnName(i), rs.getString(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
stmt.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.err.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<String> selectColum(String query, String... args) {
|
||||||
|
//long long_ = System.currentTimeMillis();
|
||||||
|
List<String> Result = new ArrayList<>();
|
||||||
|
try (Connection con = ds.getConnection()) {
|
||||||
|
PreparedStatement stmt = con.prepareStatement(query);
|
||||||
|
for(int i = 0; i < args.length; i++){
|
||||||
|
stmt.setObject(i+1, args[i]);
|
||||||
|
}
|
||||||
|
ResultSet rs = stmt.executeQuery();
|
||||||
|
int columns = rs.getMetaData().getColumnCount();
|
||||||
|
if(columns > 0) {
|
||||||
|
while (rs.next()) {
|
||||||
|
Result.add(rs.getString(1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
stmt.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.err.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static String select(String query, String... args) {
|
||||||
|
String Ausgabe = "";
|
||||||
|
try (Connection con = ds.getConnection()) {
|
||||||
|
PreparedStatement stmt = con.prepareStatement(query);
|
||||||
|
for(int i = 0; i < args.length; i++){
|
||||||
|
stmt.setObject(i+1, args[i]);
|
||||||
|
}
|
||||||
|
ResultSet rs = stmt.executeQuery();
|
||||||
|
while (rs.next()) {
|
||||||
|
Ausgabe = String.valueOf(rs.getString(1));
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
stmt.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
System.err.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
return Ausgabe;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void query(List<Query> queryList) {
|
||||||
|
try (Connection con = ds.getConnection()) {
|
||||||
|
for (Query query : queryList) {
|
||||||
|
PreparedStatement stmt = con.prepareStatement(query.getQuery());
|
||||||
|
for(int i = 0; i < query.getParameters().size(); i++){
|
||||||
|
stmt.setObject(i+1, query.getParameters().get(i));
|
||||||
|
}
|
||||||
|
stmt.execute();
|
||||||
|
stmt.close();
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
StringBuilder st = new StringBuilder();
|
||||||
|
for(Query query : queryList){
|
||||||
|
st.append(query.getQuery());
|
||||||
|
}
|
||||||
|
System.err.println(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void close() {
|
||||||
|
if(ds != null){
|
||||||
|
ds.close();
|
||||||
|
Bukkit.getConsoleSender().sendMessage(Messages.getMessage("Prefix", null) + " §2MySQL getrennt!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
13
src/main/java/net/lab4code/main/Event_Handler.java
Normal file
13
src/main/java/net/lab4code/main/Event_Handler.java
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
package net.lab4code.main;
|
||||||
|
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
|
|
||||||
|
public class Event_Handler implements Listener {
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onJoin(PlayerJoinEvent e){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
23
src/main/java/net/lab4code/main/Greeting.java
Normal file
23
src/main/java/net/lab4code/main/Greeting.java
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
package net.lab4code.main;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
|
||||||
|
public class Greeting {
|
||||||
|
|
||||||
|
protected static void sendGreeting(){
|
||||||
|
Bukkit.getConsoleSender().sendMessage("§3------------------------------------------------------------------");
|
||||||
|
Bukkit.getConsoleSender().sendMessage("§3 ");
|
||||||
|
// Bukkit.getConsoleSender().sendMessage("§3 _ ___ _____ ______ _ ");
|
||||||
|
// Bukkit.getConsoleSender().sendMessage("§3 | | / / __ \\ | ___ \\ | | ");
|
||||||
|
// Bukkit.getConsoleSender().sendMessage("§3 | | / /| | / \\/ ______ | |_/ /__ _ __| | _____ ");
|
||||||
|
// Bukkit.getConsoleSender().sendMessage("§3 | | / /_| | | |______| | __/ _ \\ '__| |/ / __|");
|
||||||
|
// Bukkit.getConsoleSender().sendMessage("§3 | |___\\___ | \\__/\\ | | | __/ | | <\\__ \\");
|
||||||
|
// Bukkit.getConsoleSender().sendMessage("§3 \\_____/ |_/\\____/ \\_| \\___|_| |_|\\_\\___/");
|
||||||
|
Bukkit.getConsoleSender().sendMessage("§3 ");
|
||||||
|
Bukkit.getConsoleSender().sendMessage("§3 Coded by Lab4Code");
|
||||||
|
Bukkit.getConsoleSender().sendMessage("§3 Version: §6" + Main.instance.getDescription().getVersion());
|
||||||
|
Bukkit.getConsoleSender().sendMessage("§3 ");
|
||||||
|
Bukkit.getConsoleSender().sendMessage("§3------------------------------------------------------------------");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
35
src/main/java/net/lab4code/main/Main.java
Normal file
35
src/main/java/net/lab4code/main/Main.java
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
package net.lab4code.main;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
public final class Main extends JavaPlugin {
|
||||||
|
|
||||||
|
public static Main instance;
|
||||||
|
@Getter
|
||||||
|
private static Boolean placehodlerapi = false;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEnable() {
|
||||||
|
instance = this;
|
||||||
|
Greeting.sendGreeting();
|
||||||
|
Messages.initMessages();
|
||||||
|
Config.create();
|
||||||
|
Config.loadStorage();
|
||||||
|
getServer().getPluginManager().registerEvents(new Event_Handler(),this);
|
||||||
|
getCommand("${REPO_NAME}").setExecutor(new Command_Executer());
|
||||||
|
if (getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
|
||||||
|
new PAPI().register();
|
||||||
|
placehodlerapi = true;
|
||||||
|
Bukkit.getConsoleSender().sendMessage(Messages.getMessage("Prefix", null) + " §2PlaceholderAPI wurde geladen!");
|
||||||
|
} else {
|
||||||
|
Bukkit.getConsoleSender().sendMessage(Messages.getMessage("Prefix", null) + " §6PlaceholderAPI konnte nicht geladen werden!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDisable() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
42
src/main/java/net/lab4code/main/Messages.java
Normal file
42
src/main/java/net/lab4code/main/Messages.java
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
package net.lab4code.main;
|
||||||
|
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
public class Messages {
|
||||||
|
private static File message = new File(Main.instance.getDataFolder().getPath(), "messages.yml");
|
||||||
|
private static YamlConfiguration yamlConfiguration;
|
||||||
|
|
||||||
|
protected static String getPrefix() {
|
||||||
|
return Prefix;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String Prefix;
|
||||||
|
public static void initMessages(){
|
||||||
|
if(!message.exists()){
|
||||||
|
Main.instance.saveResource("messages.yml", false);
|
||||||
|
}
|
||||||
|
yamlConfiguration = YamlConfiguration.loadConfiguration(message);
|
||||||
|
Prefix = yamlConfiguration.getString("Prefix").replace("&","§");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getMessage(String path, Player player){
|
||||||
|
String result = yamlConfiguration.getString(path);
|
||||||
|
if(result == null){
|
||||||
|
return path;
|
||||||
|
}else {
|
||||||
|
return Util.replace(result, player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getMessageRaw(String path) {
|
||||||
|
String result = yamlConfiguration.getString(path);
|
||||||
|
if(result == null){
|
||||||
|
return path;
|
||||||
|
}else {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
38
src/main/java/net/lab4code/main/PAPI.java
Normal file
38
src/main/java/net/lab4code/main/PAPI.java
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
package net.lab4code.main;
|
||||||
|
|
||||||
|
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class PAPI extends PlaceholderExpansion {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getIdentifier() {
|
||||||
|
return "MC-WirelessHopper";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getAuthor() {
|
||||||
|
return "lab4Code";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getVersion() {
|
||||||
|
return Main.instance.getDescription().getVersion();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canRegister() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean persist() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onPlaceholderRequest(Player p, String params) {
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
87
src/main/java/net/lab4code/main/Util.java
Normal file
87
src/main/java/net/lab4code/main/Util.java
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
package net.lab4code.main;
|
||||||
|
|
||||||
|
import me.clip.placeholderapi.PlaceholderAPI;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Util {
|
||||||
|
|
||||||
|
|
||||||
|
public static String getUID() {
|
||||||
|
return "%%__USER__%%";
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getRID() {
|
||||||
|
return "%%__RESOURCE__%%";
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getDID() {
|
||||||
|
return "%%__NONCE__%%";
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String replace(String string, Player player){
|
||||||
|
if(string == null){
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
String result = string
|
||||||
|
.replace("&", "§")
|
||||||
|
.replace("%newline%", "\n")
|
||||||
|
.replace("%prefix%", Messages.getPrefix());
|
||||||
|
|
||||||
|
if (Main.getPlacehodlerapi()) {
|
||||||
|
return PlaceholderAPI.setPlaceholders(player, result);
|
||||||
|
}else {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static String replace(String string, String price, Player player) {
|
||||||
|
return replace(string.replace("%price%", price), player);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Player isPlayer(CommandSender sender){
|
||||||
|
if(sender instanceof Player player){
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<String> replace(List<String> string, String price, Player player) {
|
||||||
|
List<String> result = new ArrayList<>();
|
||||||
|
for (String s : string) {
|
||||||
|
result.add(replace(s, price, player));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<String> replace(List<String> string, Player player) {
|
||||||
|
return replace(string,"0", player);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sendMessage(Player player, String message){
|
||||||
|
if(message.isEmpty()){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// if(Config.getMiniMessageSupport()) {
|
||||||
|
// MiniMessageUtils.sendPlayerMiniMessage(message, player);
|
||||||
|
// }else {
|
||||||
|
player.sendMessage(message);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sendMessage(CommandSender player, String message){
|
||||||
|
if(message.isEmpty()){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// if(Config.getMiniMessageSupport()) {
|
||||||
|
// MiniMessageUtils.sendSenderMiniMessage(message, player);
|
||||||
|
// }else {
|
||||||
|
player.sendMessage(message);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
25
src/main/java/net/lab4code/objects/Query.java
Normal file
25
src/main/java/net/lab4code/objects/Query.java
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
package net.lab4code.objects;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
public class Query {
|
||||||
|
final private String query;
|
||||||
|
final private List<String> parameters = new ArrayList<>();
|
||||||
|
|
||||||
|
public Query(String query) {
|
||||||
|
this.query = query;
|
||||||
|
}
|
||||||
|
public Query(String query, String... params) {
|
||||||
|
this.query = query;
|
||||||
|
parameters.addAll(Arrays.stream(params).toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addParam(String param){
|
||||||
|
parameters.add(param);
|
||||||
|
}
|
||||||
|
}
|
||||||
8
src/main/resources/config.yml
Normal file
8
src/main/resources/config.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Datastore Types: YML or MySQL
|
||||||
|
Datastore:
|
||||||
|
Type: 'YML'
|
||||||
|
Ip: 'localhost'
|
||||||
|
Port: 3306
|
||||||
|
Database: 'MC-WirelessHopper'
|
||||||
|
User: 'root'
|
||||||
|
Password: 'Secret'
|
||||||
1
src/main/resources/messages.yml
Normal file
1
src/main/resources/messages.yml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Prefix: '&8[&4MC-WirelessHopper&8]'
|
||||||
8
src/main/resources/plugin.yml
Normal file
8
src/main/resources/plugin.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
name: MC-WirelessHopper
|
||||||
|
version: '1.0-SNAPSHOT'
|
||||||
|
main: net.lab4code.main.Main
|
||||||
|
api-version: '1.21'
|
||||||
|
authors: [ Lab4Code ]
|
||||||
|
website: https://lab4code.dev
|
||||||
|
commands:
|
||||||
|
MC-WirelessHopper:
|
||||||
Reference in New Issue
Block a user