9
0
mirror of https://github.com/WiIIiam278/HuskSync.git synced 2025-12-23 08:39:19 +00:00

refactor: Use native adventure implementation on Paper

This commit is contained in:
William
2023-12-19 22:03:24 +00:00
parent 22eedc8522
commit fb069296e1
7 changed files with 44 additions and 15 deletions

View File

@@ -36,7 +36,6 @@ shadowJar {
relocate 'org.json', 'net.william278.husksync.libraries.json' relocate 'org.json', 'net.william278.husksync.libraries.json'
relocate 'com.fatboyindustrial', 'net.william278.husksync.libraries' relocate 'com.fatboyindustrial', 'net.william278.husksync.libraries'
relocate 'de.themoep', 'net.william278.husksync.libraries' relocate 'de.themoep', 'net.william278.husksync.libraries'
relocate 'net.kyori', 'net.william278.husksync.libraries'
relocate 'org.jetbrains', 'net.william278.husksync.libraries' relocate 'org.jetbrains', 'net.william278.husksync.libraries'
relocate 'org.intellij', 'net.william278.husksync.libraries' relocate 'org.intellij', 'net.william278.husksync.libraries'
relocate 'com.zaxxer', 'net.william278.husksync.libraries' relocate 'com.zaxxer', 'net.william278.husksync.libraries'

View File

@@ -46,7 +46,6 @@ import net.william278.husksync.migrator.MpdbMigrator;
import net.william278.husksync.redis.RedisManager; import net.william278.husksync.redis.RedisManager;
import net.william278.husksync.sync.DataSyncer; import net.william278.husksync.sync.DataSyncer;
import net.william278.husksync.user.BukkitUser; import net.william278.husksync.user.BukkitUser;
import net.william278.husksync.user.ConsoleUser;
import net.william278.husksync.user.OnlineUser; import net.william278.husksync.user.OnlineUser;
import net.william278.husksync.util.BukkitLegacyConverter; import net.william278.husksync.util.BukkitLegacyConverter;
import net.william278.husksync.util.BukkitMapPersister; import net.william278.husksync.util.BukkitMapPersister;
@@ -346,12 +345,6 @@ public class BukkitHuskSync extends JavaPlugin implements HuskSync, BukkitTask.S
} }
} }
@NotNull
@Override
public ConsoleUser getConsole() {
return new ConsoleUser(audiences.console());
}
@NotNull @NotNull
@Override @Override
public Version getPluginVersion() { public Version getPluginVersion() {

View File

@@ -6,7 +6,6 @@ dependencies {
api 'commons-io:commons-io:2.15.1' api 'commons-io:commons-io:2.15.1'
api 'org.apache.commons:commons-text:1.11.0' api 'org.apache.commons:commons-text:1.11.0'
api 'de.themoep:minedown-adventure:1.7.2-SNAPSHOT' api 'de.themoep:minedown-adventure:1.7.2-SNAPSHOT'
api 'net.kyori:adventure-api:4.14.0'
api 'org.json:json:20231013' api 'org.json:json:20231013'
api 'com.google.code.gson:gson:2.10.1' api 'com.google.code.gson:gson:2.10.1'
api 'com.fatboyindustrial.gson-javatime-serialisers:gson-javatime-serialisers:1.1.2' api 'com.fatboyindustrial.gson-javatime-serialisers:gson-javatime-serialisers:1.1.2'
@@ -18,6 +17,8 @@ dependencies {
exclude module: 'slf4j-api' exclude module: 'slf4j-api'
} }
compileOnly 'net.kyori:adventure-api:4.15.0'
compileOnly 'net.kyori:adventure-platform-api:4.3.1'
compileOnly 'org.jetbrains:annotations:24.1.0' compileOnly 'org.jetbrains:annotations:24.1.0'
compileOnly 'com.github.plan-player-analytics:Plan:5.5.2272' compileOnly 'com.github.plan-player-analytics:Plan:5.5.2272'
compileOnly "redis.clients:jedis:$jedis_version" compileOnly "redis.clients:jedis:$jedis_version"

View File

@@ -22,6 +22,8 @@ package net.william278.husksync;
import com.fatboyindustrial.gsonjavatime.Converters; import com.fatboyindustrial.gsonjavatime.Converters;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.platform.AudienceProvider;
import net.william278.annotaml.Annotaml; import net.william278.annotaml.Annotaml;
import net.william278.desertwell.util.ThrowingConsumer; import net.william278.desertwell.util.ThrowingConsumer;
import net.william278.desertwell.util.UpdateChecker; import net.william278.desertwell.util.UpdateChecker;
@@ -250,12 +252,35 @@ public interface HuskSync extends Task.Supplier, EventDispatcher {
} }
/** /**
* Get the console user * Get the {@link AudienceProvider} instance
* *
* @return the {@link ConsoleUser} * @return the {@link AudienceProvider} instance
* @since 1.0
*/ */
@NotNull @NotNull
ConsoleUser getConsole(); AudienceProvider getAudiences();
/**
* Get the {@link Audience} instance for the given {@link OnlineUser}
*
* @param user the {@link OnlineUser} to get the {@link Audience} for
* @return the {@link Audience} instance
*/
@NotNull
default Audience getAudience(@NotNull UUID user) {
return getAudiences().player(user);
}
/**
* Get the {@link ConsoleUser} instance
*
* @return the {@link ConsoleUser} instance
* @since 1.0
*/
@NotNull
default ConsoleUser getConsole() {
return new ConsoleUser(getAudiences());
}
/** /**
* Returns the plugin version * Returns the plugin version

View File

@@ -20,6 +20,7 @@
package net.william278.husksync.user; package net.william278.husksync.user;
import net.kyori.adventure.audience.Audience; import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.platform.AudienceProvider;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public final class ConsoleUser implements CommandUser { public final class ConsoleUser implements CommandUser {
@@ -27,8 +28,8 @@ public final class ConsoleUser implements CommandUser {
@NotNull @NotNull
private final Audience audience; private final Audience audience;
public ConsoleUser(@NotNull Audience console) { public ConsoleUser(@NotNull AudienceProvider audiences) {
this.audience = console; this.audience = audiences.console();
} }
@Override @Override

View File

@@ -17,7 +17,6 @@ shadowJar {
relocate 'org.json', 'net.william278.husksync.libraries.json' relocate 'org.json', 'net.william278.husksync.libraries.json'
relocate 'com.fatboyindustrial', 'net.william278.husksync.libraries' relocate 'com.fatboyindustrial', 'net.william278.husksync.libraries'
relocate 'de.themoep', 'net.william278.husksync.libraries' relocate 'de.themoep', 'net.william278.husksync.libraries'
relocate 'net.kyori', 'net.william278.husksync.libraries'
relocate 'org.jetbrains', 'net.william278.husksync.libraries' relocate 'org.jetbrains', 'net.william278.husksync.libraries'
relocate 'org.intellij', 'net.william278.husksync.libraries' relocate 'org.intellij', 'net.william278.husksync.libraries'
relocate 'com.zaxxer', 'net.william278.husksync.libraries' relocate 'com.zaxxer', 'net.william278.husksync.libraries'

View File

@@ -19,10 +19,14 @@
package net.william278.husksync; package net.william278.husksync;
import net.kyori.adventure.audience.Audience;
import net.william278.husksync.listener.BukkitEventListener; import net.william278.husksync.listener.BukkitEventListener;
import net.william278.husksync.listener.PaperEventListener; import net.william278.husksync.listener.PaperEventListener;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.util.UUID;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class PaperHuskSync extends BukkitHuskSync { public class PaperHuskSync extends BukkitHuskSync {
@@ -32,4 +36,11 @@ public class PaperHuskSync extends BukkitHuskSync {
return new PaperEventListener(this); return new PaperEventListener(this);
} }
@NotNull
@Override
public Audience getAudience(@NotNull UUID user) {
final Player player = getServer().getPlayer(user);
return player == null || !player.isOnline() ? Audience.empty() : player;
}
} }