Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
115 changes: 115 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# User-specific stuff
.idea/

*.iml
*.ipr
*.iws

# IntelliJ
out/

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

*~

# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*

# KDE directory preferences
.directory

# Linux trash folder which might appear on any partition or disk
.Trash-*

# .nfs files are created when an open file is removed but is still being accessed
.nfs*

# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk

target/

pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next

release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar
.flattened-pom.xml

# Common working directory
run/

.junie
3 changes: 3 additions & 0 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
wrapperVersion=3.3.4
distributionType=only-script
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip
10 changes: 0 additions & 10 deletions api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -122,16 +122,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package org.btuk.proxy.api.impl;

import jakarta.inject.Inject;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.core.Response;
import org.btuk.proxy.api.BuildingsApi;
import org.btuk.proxy.api.model.Building;
Expand All @@ -17,17 +19,16 @@
import java.util.UUID;
import java.util.stream.Collectors;

@Path("/buildings")
public class BuildingsApiImpl implements BuildingsApi {

private final GlobalSQL globalSQL;

@Inject
public BuildingsApiImpl(GlobalSQL globalSQL) {
this.globalSQL = globalSQL;
}




@Override
public Response getBuildingsByArea(Double minLat, Double maxLat, Double minLon, Double maxLon, UUID playerUuid) {
String playerUuidStr = playerUuid != null ? playerUuid.toString() : null;
Expand Down
13 changes: 8 additions & 5 deletions api/src/main/java/org/btuk/proxy/api/impl/PlayerApiImpl.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package org.btuk.proxy.api.impl;

import jakarta.inject.Inject;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.core.Response;
import net.bteuk.network.lib.dto.DirectMessage;
import net.bteuk.network.lib.utils.ChatUtils;
import org.btuk.network.lib.dto.DirectMessage;
import org.btuk.network.lib.utils.ChatUtils;
import org.btuk.proxy.api.PlayerApi;
import org.btuk.proxy.api.model.Message;
import org.btuk.proxy.api.model.Player;
Expand All @@ -14,14 +16,15 @@
import java.util.UUID;
import java.util.stream.Collectors;

import static net.bteuk.network.lib.enums.ChatChannels.GLOBAL;
import static org.btuk.network.lib.enums.ChatChannels.GLOBAL;
import static org.btuk.proxy.core.utils.Constants.SERVER_SENDER;

@Path("/player")
public class PlayerApiImpl implements PlayerApi {

private final GlobalSQL globalSQL;
private final ChatManager chatManager;

@Inject
public PlayerApiImpl(GlobalSQL globalSQL, ChatManager chatManager) {
this.globalSQL = globalSQL;this.chatManager = chatManager;
}
Expand Down Expand Up @@ -63,7 +66,7 @@ public Response sendPlayerMessage(String playerID, Message message){

try {
String messagePlainText = message.getMessage();
DirectMessage m = new DirectMessage(GLOBAL.getChannelName(), playerID.toString(), SERVER_SENDER, ChatUtils.success(messagePlainText), true);
DirectMessage m = new DirectMessage(GLOBAL.getChannelName(), playerID, SERVER_SENDER, ChatUtils.success(messagePlainText), true);
chatManager.sendDirectMessage(m);
return Response.status(Response.Status.CREATED).build();
}catch (Exception e)
Expand Down
2 changes: 2 additions & 0 deletions api/src/main/java/org/btuk/proxy/api/impl/StatusApiImpl.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package org.btuk.proxy.api.impl;

import jakarta.ws.rs.Path;
import jakarta.ws.rs.core.Response;
import org.btuk.proxy.api.StatusApi;
import org.btuk.proxy.api.model.Status;

@Path("/status")
public class StatusApiImpl implements StatusApi {

@Override
Expand Down
33 changes: 29 additions & 4 deletions api/src/main/java/org/btuk/proxy/api/server/ProxyApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import org.glassfish.grizzly.http.server.HttpServer;
import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
import org.glassfish.jersey.internal.inject.AbstractBinder;
import org.glassfish.jersey.server.ResourceConfig;

import java.net.URI;
Expand Down Expand Up @@ -43,10 +44,34 @@ public void start() {

String baseUri = "http://0.0.0.0:" + apiPort + "/api/";

ResourceConfig rc = new ResourceConfig()
.register(new StatusApiImpl())
.register(new PlayerApiImpl(globalSQL,chatManager))
.register(new BuildingsApiImpl(globalSQL));

ResourceConfig rc = new ResourceConfig();

// 1. Disable WADL warning
rc.property("jersey.config.server.wadl.disableWadl", true);

// 2. Bind SQL and ChatManager dependencies for injection
rc.register(new AbstractBinder() {
@Override
protected void configure() {
bind(globalSQL).to(GlobalSQL.class);
bind(chatManager).to(ChatManager.class);
}
});

// 3. Register the implementation CLASSES (or scan the package)
rc.register(StatusApiImpl.class);
rc.register(PlayerApiImpl.class);
rc.register(BuildingsApiImpl.class);

// ResourceConfig rc = new ResourceConfig()
// .property("jersey.config.server.wadl.disableWadl", true)
// .packages("org.btuk.proxy.api.impl");

// ResourceConfig rc = new ResourceConfig()
// .register(new StatusApiImpl())
// .register(new PlayerApiImpl(globalSQL,chatManager))
// .register(new BuildingsApiImpl(globalSQL));

try {
server = GrizzlyHttpServerFactory.createHttpServer(URI.create(baseUri), rc);
Expand Down
2 changes: 1 addition & 1 deletion api/src/main/resources/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ paths:
responses:
"201":
description: Message Added
/players/online:
/player/online:
get:
tags:
- Player
Expand Down
96 changes: 96 additions & 0 deletions app/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<?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>
<parent>
<groupId>org.btuk</groupId>
<artifactId>Proxy</artifactId>
<version>1.13.0-SNAPSHOT</version>
</parent>

<groupId>org.btuk.proxy</groupId>
<artifactId>app</artifactId>
<name>App</name>

<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>org.btuk.proxy</groupId>
<artifactId>api</artifactId>
</dependency>
<dependency>
<groupId>org.btuk.proxy</groupId>
<artifactId>core</artifactId>
</dependency>
<dependency>
<groupId>org.btuk.proxy</groupId>
<artifactId>database</artifactId>
</dependency>

<dependency>
<groupId>com.github.BuildtheUK</groupId>
<artifactId>NetworkLib</artifactId>
</dependency>

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>

<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j2-impl</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</dependency>

<dependency>
<groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId>
</dependency>

<dependency>
<groupId>net.kyori</groupId>
<artifactId>adventure-text-serializer-plain</artifactId>
<version>4.16.0</version>
</dependency>
<dependency>
<groupId>net.kyori</groupId>
<artifactId>adventure-text-minimessage</artifactId>
<version>4.16.0</version>
</dependency>

<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</dependency>

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Loading