Skip to content

Commit

Permalink
Fix API Calling
Browse files Browse the repository at this point in the history
  • Loading branch information
Laica-Lunasys committed Jun 18, 2024
1 parent 65fe478 commit 416949c
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 14 deletions.
1 change: 0 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ tasks {
reloc("redis.clients")
reloc("org.apache.commons")
reloc("com.google.protobuf")
reloc("com.google.common")
reloc("org.apache.commons.pool2")
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/net/synchthia/systera/APIClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -255,8 +255,8 @@ public CompletableFuture<SysteraProtos.ReportResponse> report(UUID fromUUID, Str
return future;
}

public CompletableFuture<SysteraProtos.FetchGroupsResponse> fetchGroups(@NonNull String serverName) {
SysteraProtos.FetchGroupsRequest request = SysteraProtos.FetchGroupsRequest.newBuilder().setServerName(serverName).build();
public CompletableFuture<SysteraProtos.FetchGroupsResponse> fetchGroups() {
SysteraProtos.FetchGroupsRequest request = SysteraProtos.FetchGroupsRequest.newBuilder().build();
CompletableFuture<SysteraProtos.FetchGroupsResponse> future = new CompletableFuture<>();
stub.fetchGroups(request, new CompletableFutureObserver<>(future));
return future;
Expand Down
17 changes: 17 additions & 0 deletions src/main/java/net/synchthia/systera/SysteraPlugin.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package net.synchthia.systera;

import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.ProtocolManager;
import lombok.Getter;
import lombok.Setter;
import lombok.SneakyThrows;
Expand All @@ -14,6 +16,7 @@
import net.synchthia.systera.punishments.PunishAPI;
import net.synchthia.systera.server.ServerListener;
import net.synchthia.systera.stream.RedisClient;
import net.synchthia.systera.tablist.TabListModule;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
Expand Down Expand Up @@ -49,6 +52,9 @@ public class SysteraPlugin extends JavaPlugin {
@Setter
private boolean started;

@Getter
private ProtocolManager protocolManager;

// Stream
@Getter
private RedisClient redisClient;
Expand All @@ -69,6 +75,10 @@ public class SysteraPlugin extends JavaPlugin {
private AnnotationParser<CommandSender> annotationParser;
private LegacyPaperCommandManager<CommandSender> commandManager;

// TabList
@Getter
private TabListModule tabListModule;

@Override
public void onEnable() {
try {
Expand All @@ -86,6 +96,11 @@ public void onEnable() {
registerEvents();
registerCommands();

this.protocolManager = ProtocolLibrary.getProtocolManager();

this.tabListModule = new TabListModule(this);
tabListModule.setup();

this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
this.getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", new BungeeListener(this));

Expand Down Expand Up @@ -193,6 +208,8 @@ public void onDisable() {
this.getServer().getMessenger().unregisterOutgoingPluginChannel(this);
this.getServer().getMessenger().unregisterIncomingPluginChannel(this);

tabListModule.release();

this.getLogger().log(Level.INFO, "Disabled: " + this.getName());
this.started = false;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,9 @@ public class SysteraCommand {
private final SysteraPlugin plugin;

@Command("systera")
@Permission("systera.command.systera")
@CommandDescription("Systera command")
public void onSystera(CommandSender sender) {

sender.sendRichMessage("<gray>Systera</gray>");
}

@Command("systera reload")
Expand Down
18 changes: 12 additions & 6 deletions src/main/java/net/synchthia/systera/group/Group.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,29 @@
import lombok.Data;
import net.synchthia.api.systera.SysteraProtos;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Data
public class Group {
private String name;
private String prefix;
private List<String> globalPerms;
private List<String> serverPerms;
private Map<String, String[]> permissions = new HashMap<>();

public Group(String name, String prefix, List<String> globalPerms, List<String> serverPerms) {
public Group(String name, String prefix, List<SysteraProtos.PermissionsEntry> permissionsList) {
this.name = name;
this.prefix = prefix;
this.globalPerms = globalPerms;
this.serverPerms = serverPerms;

for (SysteraProtos.PermissionsEntry permissionsEntry : permissionsList) {
this.permissions.put(
permissionsEntry.getServerName(),
permissionsEntry.getPermissionsList().stream().toList().toArray(new String[0])
);
}
}

public static Group fromProto(SysteraProtos.GroupEntry entry) {
return new Group(entry.getGroupName(), entry.getGroupPrefix(), entry.getGlobalPermsList(), entry.getServerPermsList());
return new Group(entry.getGroupName(), entry.getGroupPrefix(), entry.getPermissionsList());
}
}
2 changes: 1 addition & 1 deletion src/main/java/net/synchthia/systera/group/GroupStore.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public int size() {
}

public CompletableFuture<SysteraProtos.FetchGroupsResponse> fetch() {
return plugin.getApiClient().fetchGroups(SysteraPlugin.getServerId()).whenComplete((res, throwable) -> {
return plugin.getApiClient().fetchGroups().whenComplete((res, throwable) -> {
if (throwable != null) {
plugin.getLogger().log(Level.WARNING, "Failed fetch group: ", throwable);
return;
Expand Down
8 changes: 6 additions & 2 deletions src/main/java/net/synchthia/systera/player/SysteraPlayer.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.bukkit.permissions.PermissionAttachment;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
Expand Down Expand Up @@ -140,8 +141,11 @@ public void applyPermissionsByGroup() {

this.groups.stream().map(groupName -> plugin.getGroupStore().get(groupName)).forEach(group -> {
if (group != null) {
applyPermissions(group.getGlobalPerms());
applyPermissions(group.getServerPerms());
applyPermissions(Arrays.stream(group.getPermissions().get("global")).toList());
String[] serverPerms = group.getPermissions().get(SysteraPlugin.getServerId());
if (serverPerms != null) {
applyPermissions(Arrays.stream(serverPerms).toList());
}
} else {
plugin.getLogger().log(Level.WARNING, "Group is null");
}
Expand Down

0 comments on commit 416949c

Please sign in to comment.