Skip to content

Commit 0fe0130

Browse files
committed
working
0 parents  commit 0fe0130

22 files changed

Lines changed: 2061 additions & 0 deletions

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.idea
2+
target
3+
*/target
4+
BedWarsProxy.iml
5+
proxy.iml

.gitlab-ci.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
variables:
2+
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
3+
MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
4+
5+
6+
image: "maven:latest"
7+
8+
maven-job:
9+
script:
10+
- 'mvn -DbuildNumber=$CI_PIPELINE_ID clean deploy -s ci_settings.xml'
11+
artifacts:
12+
paths:
13+
- '*/target/*.jar'

ci_settings.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
3+
<servers>
4+
<server>
5+
<id>gitlab-maven</id>
6+
<configuration>
7+
<httpHeaders>
8+
<property>
9+
<name>Job-Token</name>
10+
<value>${env.CI_JOB_TOKEN}</value>
11+
</property>
12+
</httpHeaders>
13+
</configuration>
14+
</server>
15+
</servers>
16+
</settings>

dependency-reduced-pom.xml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<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/maven-v4_0_0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
<groupId>com.andrei1058.bedwars</groupId>
5+
<artifactId>proxy</artifactId>
6+
<version>1.0-SNAPSHOT</version>
7+
<build>
8+
<resources>
9+
<resource>
10+
<filtering>true</filtering>
11+
<directory>src/main/resources</directory>
12+
<includes>
13+
<include>plugin.yml</include>
14+
</includes>
15+
</resource>
16+
</resources>
17+
<plugins>
18+
<plugin>
19+
<artifactId>maven-compiler-plugin</artifactId>
20+
<configuration>
21+
<source>8</source>
22+
<target>8</target>
23+
</configuration>
24+
</plugin>
25+
<plugin>
26+
<artifactId>maven-shade-plugin</artifactId>
27+
<version>3.0.0</version>
28+
<executions>
29+
<execution>
30+
<phase>package</phase>
31+
<goals>
32+
<goal>shade</goal>
33+
</goals>
34+
</execution>
35+
</executions>
36+
</plugin>
37+
</plugins>
38+
</build>
39+
<repositories>
40+
<repository>
41+
<id>spigot-repo</id>
42+
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
43+
</repository>
44+
<repository>
45+
<id>gitlab-maven</id>
46+
<url>https://gitlab.com/api/v4/projects/14877570/packages/maven</url>
47+
</repository>
48+
</repositories>
49+
<dependencies>
50+
<dependency>
51+
<groupId>org.spigotmc</groupId>
52+
<artifactId>spigot-api</artifactId>
53+
<version>1.14.4-R0.1-SNAPSHOT</version>
54+
<scope>provided</scope>
55+
<exclusions>
56+
<exclusion>
57+
<artifactId>commons-lang</artifactId>
58+
<groupId>commons-lang</groupId>
59+
</exclusion>
60+
<exclusion>
61+
<artifactId>guava</artifactId>
62+
<groupId>com.google.guava</groupId>
63+
</exclusion>
64+
<exclusion>
65+
<artifactId>gson</artifactId>
66+
<groupId>com.google.code.gson</groupId>
67+
</exclusion>
68+
<exclusion>
69+
<artifactId>bungeecord-chat</artifactId>
70+
<groupId>net.md-5</groupId>
71+
</exclusion>
72+
<exclusion>
73+
<artifactId>snakeyaml</artifactId>
74+
<groupId>org.yaml</groupId>
75+
</exclusion>
76+
</exclusions>
77+
</dependency>
78+
</dependencies>
79+
<properties>
80+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
81+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
82+
</properties>
83+
</project>
84+

pom.xml

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>com.andrei1058.bedwars</groupId>
8+
<artifactId>proxy</artifactId>
9+
<version>1.0-SNAPSHOT</version>
10+
11+
<properties>
12+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
13+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
14+
</properties>
15+
<packaging>jar</packaging>
16+
17+
<repositories>
18+
<!-- This adds the Spigot Maven repository to the build -->
19+
<repository>
20+
<id>spigot-repo</id>
21+
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
22+
</repository>
23+
<repository>
24+
<id>gitlab-maven</id>
25+
<url>https://gitlab.com/api/v4/projects/14877570/packages/maven</url>
26+
</repository>
27+
</repositories>
28+
29+
<dependencies>
30+
<dependency>
31+
<groupId>org.spigotmc</groupId>
32+
<artifactId>spigot-api</artifactId>
33+
<version>1.14.4-R0.1-SNAPSHOT</version>
34+
<scope>provided</scope>
35+
</dependency>
36+
<dependency>
37+
<groupId>com.andrei1058.mcversionsupport</groupId>
38+
<artifactId>itemstack-version</artifactId>
39+
<version>1.1</version>
40+
<scope>compile</scope>
41+
</dependency>
42+
<dependency>
43+
<groupId>com.andrei1058.mcversionsupport</groupId>
44+
<artifactId>sounds-version</artifactId>
45+
<version>1.1</version>
46+
<scope>compile</scope>
47+
</dependency>
48+
<dependency>
49+
<groupId>com.andrei1058.mcversionsupport</groupId>
50+
<artifactId>material-version</artifactId>
51+
<version>1.1</version>
52+
<scope>compile</scope>
53+
</dependency>
54+
<dependency>
55+
<groupId>com.andrei1058.mcversionsupport</groupId>
56+
<artifactId>block-version</artifactId>
57+
<version>1.1</version>
58+
<scope>compile</scope>
59+
</dependency>
60+
</dependencies>
61+
62+
<build>
63+
<resources>
64+
<resource>
65+
<directory>src/main/resources</directory>
66+
<filtering>true</filtering>
67+
<includes>
68+
<include>plugin.yml</include>
69+
</includes>
70+
</resource>
71+
</resources>
72+
<plugins>
73+
<plugin>
74+
<groupId>org.apache.maven.plugins</groupId>
75+
<artifactId>maven-compiler-plugin</artifactId>
76+
<configuration>
77+
<source>8</source>
78+
<target>8</target>
79+
</configuration>
80+
</plugin>
81+
<plugin>
82+
<groupId>org.apache.maven.plugins</groupId>
83+
<artifactId>maven-shade-plugin</artifactId>
84+
<version>3.0.0</version>
85+
<executions>
86+
<execution>
87+
<phase>package</phase>
88+
<goals>
89+
<goal>shade</goal>
90+
</goals>
91+
</execution>
92+
</executions>
93+
</plugin>
94+
</plugins>
95+
</build>
96+
97+
</project>
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
package com.andrei1058.bedwars.proxy;
2+
3+
import com.andrei1058.bedwars.proxy.arenamanager.ArenaSelectorListener;
4+
import com.andrei1058.bedwars.proxy.arenamanager.RefreshGUI;
5+
import com.andrei1058.bedwars.proxy.configuration.BedWarsConfig;
6+
import com.andrei1058.bedwars.proxy.configuration.SoundsConfig;
7+
import com.andrei1058.bedwars.proxy.database.Database;
8+
import com.andrei1058.bedwars.proxy.database.MySQL;
9+
import com.andrei1058.bedwars.proxy.database.NoDatabase;
10+
import com.andrei1058.bedwars.proxy.database.StatsCache;
11+
import com.andrei1058.bedwars.proxy.language.English;
12+
import com.andrei1058.bedwars.proxy.language.LangListeners;
13+
import com.andrei1058.bedwars.proxy.language.Language;
14+
import com.andrei1058.bedwars.proxy.socketmanager.ServerSocketTask;
15+
import com.andrei1058.spigot.versionsupport.BlockSupport;
16+
import com.andrei1058.spigot.versionsupport.ItemStackSupport;
17+
import com.andrei1058.spigot.versionsupport.MaterialSupport;
18+
import com.andrei1058.spigot.versionsupport.SoundSupport;
19+
import org.bukkit.Bukkit;
20+
import org.bukkit.event.Listener;
21+
import org.bukkit.plugin.Plugin;
22+
import org.bukkit.plugin.java.JavaPlugin;
23+
24+
public class BedWarsProxy extends JavaPlugin {
25+
26+
private static String defaultLanguage = "ro";
27+
private static Plugin plugin;
28+
public static BedWarsConfig config;
29+
private static Database remoteDatabase = null;
30+
private static StatsCache statsCache;
31+
32+
private static SoundSupport soundAdapter;
33+
private static MaterialSupport materialAdapter;
34+
private static BlockSupport blockAdapter;
35+
private static ItemStackSupport itemAdapter;
36+
37+
@Override
38+
public void onLoad() {
39+
plugin = this;
40+
// Setup languages
41+
new English();
42+
}
43+
44+
@Override
45+
public void onEnable() {
46+
soundAdapter = SoundSupport.SupportBuilder.load();
47+
materialAdapter = MaterialSupport.SupportBuilder.load();
48+
blockAdapter = BlockSupport.SupportBuilder.load();
49+
itemAdapter = ItemStackSupport.SupportBuilder.load();
50+
51+
config = new BedWarsConfig();
52+
if (config.getBoolean("database.enable")){
53+
Bukkit.getScheduler().runTaskAsynchronously(this, () -> remoteDatabase = new MySQL());
54+
} else {
55+
remoteDatabase = new NoDatabase();
56+
}
57+
statsCache = new StatsCache();
58+
59+
//todo make port configurable
60+
if (!ServerSocketTask.init(25569)){
61+
//todo could not register socket on given port
62+
}
63+
64+
//Leave this code at the end of the enable method
65+
for (Language l : Language.getLanguages()) {
66+
Language.addDefaultMessagesCommandItems(l);
67+
}
68+
69+
registerListeners(new LangListeners(), new RefreshGUI(), new ArenaSelectorListener());
70+
new SoundsConfig();
71+
}
72+
73+
@Override
74+
public void onDisable() {
75+
ServerSocketTask.stopTasks();
76+
}
77+
78+
public static String getDefaultLanguage() {
79+
return defaultLanguage;
80+
}
81+
82+
public static Plugin getPlugin() {
83+
return plugin;
84+
}
85+
86+
public static Database getRemoteDatabase() {
87+
return remoteDatabase;
88+
}
89+
90+
public static StatsCache getStatsCache() {
91+
return statsCache;
92+
}
93+
94+
public static MaterialSupport getMaterialAdapter() {
95+
return materialAdapter;
96+
}
97+
98+
public static BlockSupport getBlockAdapter() {
99+
return blockAdapter;
100+
}
101+
102+
public static ItemStackSupport getItemAdapter() {
103+
return itemAdapter;
104+
}
105+
106+
public static SoundSupport getSoundAdapter() {
107+
return soundAdapter;
108+
}
109+
110+
private static void registerListeners(Listener... listeners){
111+
for (Listener listener : listeners){
112+
Bukkit.getPluginManager().registerEvents(listener, getPlugin());
113+
}
114+
}
115+
}

0 commit comments

Comments
 (0)