Skip to content

Commit c15fb6f

Browse files
committed
First release
1 parent bbf9d07 commit c15fb6f

74 files changed

Lines changed: 1125 additions & 513 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,6 @@ proxy.iml
66
/dependency-reduced-pom.xml
77
/proxy (1).iml
88
/proxy (2).iml
9+
/bwp-plugin/bwp-plugin.iml
10+
/bwp-api/bwp-api.iml
11+
/bwp-plugin/proxy-plugin.iml

.gitlab-ci.yml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,25 @@ variables:
55

66
image: "maven:latest"
77

8-
maven-job:
8+
development-job:
9+
except:
10+
- 'tags'
911
script:
12+
- 'mvn versions:set -DnewVersion=1.0.0-SNAPSHOT'
13+
- 'mvn versions:update-child-modules'
1014
- 'mvn -DgitVer=git-$CI_COMMIT_SHORT_SHA- clean install -s ci_settings.xml'
1115
artifacts:
1216
paths:
13-
- 'target/*.jar'
17+
- '*/target/*.jar'
18+
19+
release-job:
20+
only:
21+
- 'tags'
22+
script:
23+
- 'mvn versions:set -DnewVersion=1.0.0'
24+
- 'mvn versions:update-child-modules'
25+
- 'mvn clean deploy -s ci_settings.xml javadoc:javadoc'
26+
artifacts:
27+
paths:
28+
- '*/target/*.jar'
29+
- '*/target/site/*'

bwp-api/pom.xml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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+
<parent>
6+
<artifactId>proxy</artifactId>
7+
<groupId>com.andrei1058.bedwars</groupId>
8+
<version>1.0-SNAPSHOT</version>
9+
</parent>
10+
<modelVersion>4.0.0</modelVersion>
11+
12+
<artifactId>proxy-api</artifactId>
13+
<version>${parent.version}</version>
14+
<build>
15+
<plugins>
16+
<plugin>
17+
<groupId>org.apache.maven.plugins</groupId>
18+
<artifactId>maven-compiler-plugin</artifactId>
19+
<configuration>
20+
<source>8</source>
21+
<target>8</target>
22+
</configuration>
23+
</plugin>
24+
<plugin>
25+
<groupId>org.apache.maven.plugins</groupId>
26+
<artifactId>maven-javadoc-plugin</artifactId>
27+
<version>3.0.0-M1</version>
28+
<configuration>
29+
<show>private</show> <!--javadoc shows all classes and members-->
30+
</configuration>
31+
</plugin>
32+
<plugin>
33+
<groupId>org.apache.maven.plugins</groupId>
34+
<artifactId>maven-deploy-plugin</artifactId>
35+
</plugin>
36+
</plugins>
37+
</build>
38+
39+
40+
</project>

src/main/java/com/andrei1058/bedwars/proxy/arenamanager/ArenaStatus.java renamed to bwp-api/src/main/java/com/andrei1058/bedwars/proxy/api/ArenaStatus.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.andrei1058.bedwars.proxy.arenamanager;
1+
package com.andrei1058.bedwars.proxy.api;
22

33
public enum ArenaStatus {
44

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
package com.andrei1058.bedwars.proxy.api;
2+
3+
import org.bukkit.entity.Player;
4+
5+
import javax.annotation.Nullable;
6+
import javax.validation.constraints.NotNull;
7+
import java.util.List;
8+
import java.util.UUID;
9+
10+
public interface BedWars {
11+
12+
/**
13+
* Get language util.
14+
*
15+
* @return utils.
16+
*/
17+
LanguageUtil getLanguageUtil();
18+
19+
interface LanguageUtil {
20+
/**
21+
* Save default data if not exists in the language files.
22+
* Save a default message on all languages files.
23+
*
24+
* @param path message path.
25+
* @param data message value.
26+
*/
27+
void saveIfNotExists(String path, Object data);
28+
29+
/**
30+
* Get installed language list.
31+
*
32+
* @return available languages list.
33+
*/
34+
List<Language> getLanguages();
35+
36+
/**
37+
* Get message in player's language.
38+
*
39+
* @param p target player.
40+
* @param path message path.
41+
* @return color translated message.
42+
*/
43+
String getMsg(Player p, String path);
44+
45+
/**
46+
* Retrieve a player language.
47+
*
48+
* @param p target player.
49+
* @return player language.
50+
*/
51+
Language getPlayerLanguage(Player p);
52+
53+
/**
54+
* Get a string list in player's language.
55+
*
56+
* @param p target player.
57+
* @param path list path.
58+
* @return translated list with translated colors.
59+
*/
60+
List<String> getList(Player p, String path);
61+
62+
/**
63+
* Check if a language is loaded.
64+
* Iso example: en, ro etc.
65+
*
66+
* @param iso language iso code.
67+
* @return true if the language is loaded.
68+
*/
69+
boolean isLanguageExist(String iso);
70+
71+
/**
72+
* Add a language to the list.
73+
*
74+
* @param language new language.
75+
* @return true if the language was added successfully.
76+
*/
77+
boolean addLanguage(Language language);
78+
79+
/**
80+
* Get a language by iso code.
81+
*
82+
* @param iso language code. Ex: ro, en.
83+
* @return NULL if not found.
84+
*/
85+
@Nullable
86+
Language getLang(String iso);
87+
88+
/**
89+
* Change server default language.
90+
*
91+
* @param defaultLanguage language.
92+
*/
93+
void setDefaultLanguage(Language defaultLanguage);
94+
95+
96+
/**
97+
* Get server default language.
98+
*
99+
* @return server default language.
100+
*/
101+
Language getDefaultLanguage();
102+
}
103+
104+
interface ArenaUtil {
105+
/**
106+
* Destroy available rejoins for the given arena.
107+
*
108+
* @param arena target arena.
109+
*/
110+
void destroyReJoins(CachedArena arena);
111+
112+
/**
113+
* Get available rejoin session for a player.
114+
*
115+
* @param player player uuid.
116+
* @return NULL if not found.
117+
*/
118+
@Nullable
119+
RemoteReJoin getReJoin(UUID player);
120+
121+
/**
122+
* Get an arena by server and map identifier.
123+
*
124+
* @param server server id.
125+
* @param remoteIdentifier remote map identifier.
126+
* @return arena.
127+
*/
128+
@Nullable
129+
CachedArena getArena(String server, String remoteIdentifier);
130+
131+
/**
132+
* Add a player to the most filled arena from a group.
133+
*
134+
* @param p target player.
135+
* @param group arena group.
136+
* @return true if joined successfully.
137+
*/
138+
boolean joinRandomFromGroup(@NotNull Player p, String group);
139+
140+
/**
141+
* Add a player to the most filled arena.
142+
* Check if is the party owner first.
143+
*
144+
* @param p target player.
145+
* @return true if joined successfully.
146+
*/
147+
boolean joinRandomArena(@NotNull Player p);
148+
149+
/**
150+
* Remove an arena and destroy its data.
151+
* @param a arena.
152+
*/
153+
void disableArena(CachedArena a);
154+
}
155+
156+
/**
157+
* Get arena util.
158+
*
159+
* @return utils.
160+
*/
161+
ArenaUtil getArenaUtil();
162+
}

src/main/java/com/andrei1058/bedwars/proxy/arenamanager/CachedArena.java renamed to bwp-api/src/main/java/com/andrei1058/bedwars/proxy/api/CachedArena.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
package com.andrei1058.bedwars.proxy.arenamanager;
1+
package com.andrei1058.bedwars.proxy.api;
22

3-
import com.andrei1058.bedwars.proxy.language.Language;
4-
import com.andrei1058.bedwars.proxy.rejoin.RemoteReJoin;
53
import org.bukkit.entity.Player;
64

75
public interface CachedArena {
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.andrei1058.bedwars.proxy.api;
2+
3+
import java.util.List;
4+
5+
public interface Language {
6+
7+
/**
8+
* Set chat prefix.
9+
*
10+
* @param prefix messages prefix.
11+
*/
12+
void setPrefix(String prefix);
13+
14+
/**
15+
* Get language iso code.
16+
*
17+
* @return language iso code. Ex: ro, en.
18+
*/
19+
String getIso();
20+
21+
/**
22+
* Get language name.
23+
* This is used in the /bw lang list.
24+
* It is a sort of display name.
25+
*
26+
* @return language display name.
27+
*/
28+
String getLangName();
29+
30+
/**
31+
* Check if a message was set.
32+
*
33+
* @param path message path.
34+
* @return true if the given path exists.
35+
*/
36+
boolean exists(String path);
37+
38+
/**
39+
* Get a color translated message.
40+
*
41+
* @param path message path.
42+
* @return a color translated message.
43+
*/
44+
String getMsg(String path);
45+
46+
/**
47+
* Get a color translated list.
48+
*
49+
* @param path message path.
50+
* @return a color translated list.
51+
*/
52+
List<String> getList(String path);
53+
54+
/**
55+
* Set a message.
56+
*
57+
* @param path message path.
58+
* @param value message value.
59+
*/
60+
void set(String path, Object value);
61+
}

src/main/java/com/andrei1058/bedwars/proxy/language/Messages.java renamed to bwp-api/src/main/java/com/andrei1058/bedwars/proxy/api/Messages.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.andrei1058.bedwars.proxy.language;
1+
package com.andrei1058.bedwars.proxy.api;
22

33
public class Messages {
44

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.andrei1058.bedwars.proxy.api;
2+
3+
import java.util.UUID;
4+
5+
public interface RemoteReJoin {
6+
7+
/**
8+
* Remove re-join data.
9+
*/
10+
void destroy();
11+
12+
/**
13+
* Get user uuid.
14+
*
15+
* @return user uuid.
16+
*/
17+
UUID getUUID();
18+
19+
/**
20+
* Get arena.
21+
*
22+
* @return arena.
23+
**/
24+
CachedArena getArena();
25+
}

src/main/java/com/andrei1058/bedwars/proxy/event/ArenaCacheCreateEvent.java renamed to bwp-api/src/main/java/com/andrei1058/bedwars/proxy/api/event/ArenaCacheCreateEvent.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package com.andrei1058.bedwars.proxy.event;
1+
package com.andrei1058.bedwars.proxy.api.event;
22

3-
import com.andrei1058.bedwars.proxy.arenamanager.CachedArena;
3+
import com.andrei1058.bedwars.proxy.api.CachedArena;
44
import org.bukkit.event.Event;
55
import org.bukkit.event.HandlerList;
66

@@ -11,23 +11,37 @@ public class ArenaCacheCreateEvent extends Event {
1111

1212
/**
1313
* Called when an arena is enabled successfully. It's called after a restart as well.
14+
*
15+
* @param a target arena.
1416
*/
1517
public ArenaCacheCreateEvent(CachedArena a) {
1618
this.arena = a;
1719
}
1820

1921
/**
20-
* Get the arena
22+
* Get the arena.
23+
*
24+
* @return arena.
2125
*/
2226
public CachedArena getArena() {
2327
return arena;
2428
}
2529

30+
/**
31+
* Bukkit stuff.
32+
*
33+
* @return handlers.
34+
*/
2635
@Override
2736
public HandlerList getHandlers() {
2837
return HANDLERS;
2938
}
3039

40+
/**
41+
* Bukkit stuff.
42+
*
43+
* @return handlers.
44+
*/
3145
public static HandlerList getHandlerList() {
3246
return HANDLERS;
3347
}

0 commit comments

Comments
 (0)