Skip to content
Draft

dev #69

Show file tree
Hide file tree
Changes from all commits
Commits
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
40 changes: 40 additions & 0 deletions .github/workflows/publish-modrinth.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Publish to Modrinth

on:
release:
types: [published]

permissions:
contents: read

jobs:
publish:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
persist-credentials: false

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'

- name: Build with Gradle
run: ./gradlew build

- name: Publish to Modrinth
uses: cloudnode-pro/modrinth-publish@v2
with:
token: ${{ secrets.MODRINTH_TOKEN }}
project: ${{ vars.MODRINTH_PROJECT_ID }}
version: ${{ github.event.release.tag_name }}
changelog: ${{ github.event.release.body }}
loaders: |-
velocity
bungeecord
game-versions: ">=1.8"
files: build/libs/*.jar
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public void onEnable() {

getProxy()
.getPluginManager()
.registerListener(this, new PlayerListener(core.getCorePlayerListener()));
.registerListener(this, new PlayerListener(core.getCorePlayerListener(), bungeeLogger));

getProxy()
.getPluginManager()
Expand Down Expand Up @@ -124,16 +124,6 @@ public CoreCommandSender getConsole() {
return console;
}

@Override
public Core getCore() {
return core;
}

@Override
public ServerType getServerType() {
return ServerType.BUNGEE;
}

@Override
public CoreLogger getCoreLogger() {
return bungeeLogger;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
import xyz.earthcow.networkjoinmessages.bungee.BungeeMain;
import xyz.earthcow.networkjoinmessages.bungee.abstraction.BungeeLogger;
import xyz.earthcow.networkjoinmessages.bungee.abstraction.BungeePlayer;
import xyz.earthcow.networkjoinmessages.bungee.abstraction.BungeeServer;
import xyz.earthcow.networkjoinmessages.common.abstraction.CorePlayer;
Expand All @@ -16,9 +17,11 @@
public class PlayerListener implements Listener {

private final CorePlayerListener corePlayerListener;
private final BungeeLogger logger;

public PlayerListener(CorePlayerListener corePlayerListener) {
public PlayerListener(CorePlayerListener corePlayerListener, BungeeLogger logger) {
this.corePlayerListener = corePlayerListener;
this.logger = logger;
}

@EventHandler
Expand All @@ -42,8 +45,10 @@ public void onServerConnected(ServerConnectedEvent e) {
@EventHandler
public void onDisconnect(PlayerDisconnectEvent event) {
// Check that the player disconnected is not a duplicate user session (the same account tries to join the server while already joined)
CorePlayer corePlayer = BungeeMain.getInstance().getOrPutPlayer(new BungeePlayer(event.getPlayer()));
if (corePlayer.getConnectionIdentity() != System.identityHashCode(event.getPlayer())) {
CorePlayer corePlayer = BungeeMain.getInstance().getPlayerManager().getPlayer(event.getPlayer().getUniqueId());
if (corePlayer == null || corePlayer.getConnectionIdentity() != System.identityHashCode(event.getPlayer())) {
logger.debug("Ignoring disconnect event for " + (corePlayer == null ? "null" : corePlayer.getName())
+ " (" + event.getPlayer().getName() + ") - null or duplicate player identity");
return;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
package xyz.earthcow.networkjoinmessages.common.abstraction;

import xyz.earthcow.networkjoinmessages.common.Core;
import xyz.earthcow.networkjoinmessages.common.modules.DiscordIntegration;

import java.io.File;
import java.util.List;
import java.util.UUID;

public interface CorePlugin {
Core getCore();

void disable();

ServerType getServerType();
File getDataFolder();
CoreLogger getCoreLogger();

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ public void onProxyInitialization(ProxyInitializeEvent event) {
velocityLogger.info("Successfully hooked into PremiumVanish!");
}

proxy.getEventManager().register(this, new PlayerListener(core.getCorePlayerListener()));
proxy.getEventManager().register(this, new PlayerListener(core.getCorePlayerListener(), velocityLogger));

registerCommands();

Expand Down Expand Up @@ -261,16 +261,6 @@ public PremiumVanish getVanishAPI() {
return premiumVanish;
}

@Override
public ServerType getServerType() {
return ServerType.VELOCITY;
}

@Override
public Core getCore() {
return core;
}

@Override
public CoreCommandSender getConsole() {
return console;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,18 @@
import xyz.earthcow.networkjoinmessages.common.abstraction.CorePlayer;
import xyz.earthcow.networkjoinmessages.common.listeners.CorePlayerListener;
import xyz.earthcow.networkjoinmessages.velocity.VelocityMain;
import xyz.earthcow.networkjoinmessages.velocity.abstraction.VelocityLogger;
import xyz.earthcow.networkjoinmessages.velocity.abstraction.VelocityPlayer;
import xyz.earthcow.networkjoinmessages.velocity.abstraction.VelocityServer;

public class PlayerListener {

private final CorePlayerListener corePlayerListener;
private final VelocityLogger logger;

public PlayerListener(CorePlayerListener corePlayerListener) {
public PlayerListener(CorePlayerListener corePlayerListener, VelocityLogger logger) {
this.corePlayerListener = corePlayerListener;
this.logger = logger;
}

@Subscribe
Expand All @@ -36,11 +39,12 @@ public void onServerConnected(ServerConnectedEvent event) {
@Subscribe
public void onDisconnect(DisconnectEvent event) {
// Check that the player disconnected is not a duplicate user session (the same account tries to join the server while already joined)
CorePlayer corePlayer = VelocityMain.getInstance().getOrPutPlayer(new VelocityPlayer(event.getPlayer()));
if (corePlayer.getConnectionIdentity() != System.identityHashCode(event.getPlayer())) {
CorePlayer corePlayer = VelocityMain.getInstance().getPlayerManager().getPlayer(event.getPlayer().getUniqueId());
if (corePlayer == null || corePlayer.getConnectionIdentity() != System.identityHashCode(event.getPlayer())) {
logger.debug("Ignoring disconnect event for " + (corePlayer == null ? "null" : corePlayer.getName())
+ " (" + event.getPlayer().getUsername() + ") - null or duplicate player identity");
return;
}

corePlayerListener.onDisconnect(corePlayer);
}
}
Loading