Skip to content

Commit b7e8d84

Browse files
committed
wip
1 parent df003d7 commit b7e8d84

File tree

23 files changed

+785
-18
lines changed

23 files changed

+785
-18
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<mxfile host="drawio-plugin" modified="2024-12-16T18:11:38.160Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" etag="MklkFdSozUmNt0a_Y5yQ" version="22.1.22" type="embed">
2+
<diagram id="23iRSUPoRavnBvh4doch" name="Page-1">
3+
<mxGraphModel dx="584" dy="548" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
4+
<root>
5+
<mxCell id="0" />
6+
<mxCell id="1" parent="0" />
7+
<mxCell id="2" value="plugin&lt;br&gt;bootstrap" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
8+
<mxGeometry x="120" y="120" width="120" height="40" as="geometry" />
9+
</mxCell>
10+
<mxCell id="5" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;curved=0;" edge="1" parent="1" source="3" target="4">
11+
<mxGeometry relative="1" as="geometry" />
12+
</mxCell>
13+
<mxCell id="3" value="&lt;div style=&quot;background-color:#282a36;color:#f8f8f2&quot;&gt;&lt;pre style=&quot;font-family:&#39;JetBrains Mono&#39;,monospace;font-size:12,0pt;&quot;&gt;ServerPlatformManager&lt;/pre&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
14+
<mxGeometry x="360" y="80" width="160" height="40" as="geometry" />
15+
</mxCell>
16+
<mxCell id="6" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;curved=0;" edge="1" parent="1" source="4" target="2">
17+
<mxGeometry relative="1" as="geometry" />
18+
</mxCell>
19+
<mxCell id="4" value="&lt;div style=&quot;background-color:#282a36;color:#f8f8f2&quot;&gt;&lt;pre style=&quot;font-family:&#39;JetBrains Mono&#39;,monospace;font-size:12,0pt;&quot;&gt;loadPlatformSupport&lt;/pre&gt;&lt;pre style=&quot;font-family:&#39;JetBrains Mono&#39;,monospace;font-size:12,0pt;&quot;&gt;:ServerPlatform&lt;/pre&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
20+
<mxGeometry x="220" y="200" width="140" height="60" as="geometry" />
21+
</mxCell>
22+
<mxCell id="7" value="&lt;div style=&quot;background-color:#282a36;color:#f8f8f2&quot;&gt;&lt;pre style=&quot;font-family:&#39;JetBrains Mono&#39;,monospace;font-size:12,0pt;&quot;&gt;ServerPlatform&lt;/pre&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
23+
<mxGeometry x="560" y="240" width="120" height="40" as="geometry" />
24+
</mxCell>
25+
<mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=0;" edge="1" parent="1" source="8" target="7">
26+
<mxGeometry relative="1" as="geometry" />
27+
</mxCell>
28+
<mxCell id="8" value="&lt;div style=&quot;background-color:#282a36;color:#f8f8f2&quot;&gt;&lt;pre style=&quot;font-family:&#39;JetBrains Mono&#39;,monospace;font-size:12,0pt;&quot;&gt;IPlatformLoader&lt;/pre&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
29+
<mxGeometry x="480" y="160" width="120" height="40" as="geometry" />
30+
</mxCell>
31+
</root>
32+
</mxGraphModel>
33+
</diagram>
34+
</mxfile>

bedwars-plugin/pom.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,24 @@
358358
<version>${project.version}</version>
359359
<scope>compile</scope>
360360
</dependency>
361+
<dependency>
362+
<groupId>dev.andrei1058.bedwars.platform.common</groupId>
363+
<artifactId>server_platform_common</artifactId>
364+
<version>${project.version}</version>
365+
<scope>compile</scope>
366+
</dependency>
367+
<dependency>
368+
<groupId>dev.andrei1058.bedwars.platform.paper</groupId>
369+
<artifactId>server_platform_paper_common</artifactId>
370+
<version>${project.version}</version>
371+
<scope>compile</scope>
372+
</dependency>
373+
<dependency>
374+
<groupId>dev.andrei1058.bedwars.platform.paper</groupId>
375+
<artifactId>server_platform_paper_v1_21_R1</artifactId>
376+
<version>${project.version}</version>
377+
<scope>compile</scope>
378+
</dependency>
361379

362380
<!-- <dependency>-->
363381
<!-- <groupId>dev.andrei1058.bedwars.platform.master</groupId>-->

bedwars-plugin/src/main/java/com/andrei1058/bedwars/BedWars.java

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
import com.andrei1058.bedwars.support.vipfeatures.VipListeners;
8282
import com.andrei1058.vipfeatures.api.IVipFeatures;
8383
import com.andrei1058.vipfeatures.api.MiniGameAlreadyRegistered;
84+
import dev.andrei1058.bedwars.platform.common.ServerPlatform;
8485
import dev.andrei1058.bedwars.platform.master.ServerPlatformManager;
8586
import org.bukkit.Bukkit;
8687
import org.bukkit.Location;
@@ -136,9 +137,23 @@ public class BedWars extends JavaPlugin {
136137

137138
private static com.andrei1058.bedwars.api.BedWars api;
138139

140+
private static ServerPlatform serverPlatform;
141+
139142
@Override
140143
public void onLoad() {
141144

145+
Optional<ServerPlatform> loader = ServerPlatformManager.loadPlatformSupport();
146+
147+
// todo platform not supported
148+
if (loader.isEmpty()){
149+
return;
150+
}
151+
152+
serverPlatform = loader.get();
153+
serverPlatform.onLoad();
154+
nms = serverPlatform.getOldWrapper();
155+
156+
142157
//Spigot support
143158
try {
144159
Class.forName("org.spigotmc.SpigotConfig");
@@ -221,6 +236,12 @@ public void onLoad() {
221236

222237
@Override
223238
public void onEnable() {
239+
if (null == serverPlatform) {
240+
return;
241+
}
242+
serverPlatform.onEnable();
243+
244+
224245
getLogger().severe(Bukkit.getServer().getClass().getName());
225246
getLogger().severe(Bukkit.getServer().getClass().getName());
226247
getLogger().severe(Bukkit.getServer().getClass().getName());
@@ -606,6 +627,11 @@ private void registerDelayedCommands() {
606627

607628
public void onDisable() {
608629
shuttingDown = true;
630+
631+
if (null != serverPlatform) {
632+
serverPlatform.onDisable();
633+
}
634+
609635
if (!serverSoftwareSupport) return;
610636
if (getServerType() == ServerType.BUNGEE) {
611637
ArenaSocket.disable();
@@ -748,13 +774,14 @@ public static void setLobbyWorld(String lobbyWorld) {
748774
*/
749775
@Deprecated(forRemoval = true)
750776
public static String getServerVersion() {
751-
if (null == version) {
752-
version = Bukkit.getServer().getClass().getName().split("\\.")[3];
753-
if (version.equals("CraftServer")) {
754-
// todo it is probably PAPER, find out how to get nms version
755-
}
756-
}
757-
return version;
777+
return ServerPlatformManager.getServerVersion();
778+
// if (null == version) {
779+
// version = Bukkit.getServer().getClass().getName().split("\\.")[3];
780+
// if (version.equals("CraftServer")) {
781+
// // todo it is probably PAPER, find out how to get nms version
782+
// }
783+
// }
784+
// return version;
758785
}
759786

760787
public static String getLobbyWorld() {

pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,6 @@
118118
<module>versionsupport_v1_21_R1</module>
119119
<module>versionsupport_nms_cmn1</module>
120120
<module>server_platform</module>
121-
<module>server_platform/server_platform_master</module>
122-
<module>server_platform/server_platform_common</module>
123-
<module>server_platform/server_platform_spigot</module>
124121
</modules>
125122

126123
<distributionManagement>

server_platform/pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,11 @@
2020
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
2121
</properties>
2222

23+
<modules>
24+
<module>server_platform_common</module>
25+
<module>server_platform_master</module>
26+
<module>server_platform_spigot</module>
27+
<module>server_platform_paper</module>
28+
</modules>
29+
2330
</project>

server_platform/server_platform_common/pom.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,13 @@
1717
<maven.compiler.target>22</maven.compiler.target>
1818
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1919
</properties>
20+
<dependencies>
21+
<dependency>
22+
<groupId>com.andrei1058.bedwars</groupId>
23+
<artifactId>bedwars-api</artifactId>
24+
<version>24.8-SNAPSHOT</version>
25+
<scope>compile</scope>
26+
</dependency>
27+
</dependencies>
2028

2129
</project>

server_platform/server_platform_common/src/main/java/ServerPlatform.java

Lines changed: 0 additions & 2 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package dev.andrei1058.bedwars.platform.common;
2+
3+
public @interface LoaderPriority {
4+
int order();
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package dev.andrei1058.bedwars.platform.common;
2+
3+
import com.andrei1058.bedwars.api.server.VersionSupport;
4+
import org.bukkit.plugin.java.JavaPlugin;
5+
6+
public interface ServerPlatform {
7+
8+
void onLoad();
9+
void onEnable();
10+
void onDisable();
11+
12+
VersionSupport getOldWrapper(JavaPlugin plugin, String name);
13+
}

server_platform/server_platform_master/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@
2525
<version>1.8.8-R0.1-SNAPSHOT</version>
2626
<scope>provided</scope>
2727
</dependency>
28+
<dependency>
29+
<groupId>dev.andrei1058.bedwars.platform.common</groupId>
30+
<artifactId>server_platform_common</artifactId>
31+
<version>${project.version}</version>
32+
<scope>compile</scope>
33+
</dependency>
2834
</dependencies>
2935

3036
</project>

0 commit comments

Comments
 (0)