1
0
mirror of https://github.com/GeyserMC/Floodgate.git synced 2025-12-19 14:59:20 +00:00

Bumped Adventure. Only set empty texture when needed

This commit is contained in:
Tim203
2022-03-03 00:31:44 +01:00
parent b447fcbbff
commit 0e055d106d
5 changed files with 39 additions and 25 deletions

View File

@@ -24,17 +24,17 @@
*/
object Versions {
const val geyserVersion= "2.0.0-SNAPSHOT"
const val cumulusVersion= "1.0-SNAPSHOT"
const val spigotVersion= "1.13-R0.1-SNAPSHOT"
const val fastutilVersion= "8.5.3"
const val lombokVersion= "1.18.20"
const val guiceVersion= "5.0.1"
const val nettyVersion= "4.1.49.Final"
const val snakeyamlVersion= "1.28"
const val cloudVersion= "1.5.0"
const val adventureApiVersion= "4.9.1"
const val adventurePlatformVersion= "4.0.0"
const val geyserVersion = "2.0.0-SNAPSHOT"
const val cumulusVersion = "1.0-SNAPSHOT"
const val spigotVersion = "1.13-R0.1-SNAPSHOT"
const val fastutilVersion = "8.5.3"
const val lombokVersion = "1.18.20"
const val guiceVersion = "5.0.1"
const val nettyVersion = "4.1.49.Final"
const val snakeyamlVersion = "1.28"
const val cloudVersion = "1.5.0"
const val adventureApiVersion = "4.10.0"
const val adventurePlatformVersion = "4.0.1"
const val javaWebsocketVersion = "1.5.2"

View File

@@ -46,7 +46,7 @@ import net.md_5.bungee.netty.ChannelWrapper;
import org.geysermc.floodgate.api.ProxyFloodgateApi;
import org.geysermc.floodgate.api.logger.FloodgateLogger;
import org.geysermc.floodgate.api.player.FloodgatePlayer;
import org.geysermc.floodgate.player.FloodgatePlayerImpl;
import org.geysermc.floodgate.config.ProxyFloodgateConfig;
import org.geysermc.floodgate.skin.SkinApplier;
import org.geysermc.floodgate.skin.SkinData;
import org.geysermc.floodgate.util.BungeeCommandUtil;
@@ -67,6 +67,7 @@ public final class BungeeListener implements Listener {
checkNotNull(PLAYER_NAME, "Initial name field cannot be null");
}
@Inject private ProxyFloodgateConfig config;
@Inject private ProxyFloodgateApi api;
@Inject private LanguageManager languageManager;
@Inject private FloodgateLogger logger;
@@ -128,11 +129,13 @@ public final class BungeeListener implements Listener {
@EventHandler(priority = EventPriority.LOWEST)
public void onPostLogin(PostLoginEvent event) {
// To fix the February 2 2022 Mojang authentication changes
if (!config.isSendFloodgateData()) {
FloodgatePlayer player = api.getPlayer(event.getPlayer().getUniqueId());
if (player != null) {
if (player != null && !player.isLinked()) {
skinApplier.applySkin(player, new SkinData("", ""));
}
}
}
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerDisconnect(PlayerDisconnectEvent event) {

View File

@@ -34,6 +34,7 @@ import java.util.UUID;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.geysermc.floodgate.api.SimpleFloodgateApi;
import org.geysermc.floodgate.api.player.FloodgatePlayer;
public final class PaperProfileListener implements Listener {
@Inject private SimpleFloodgateApi api;
@@ -41,10 +42,18 @@ public final class PaperProfileListener implements Listener {
@EventHandler
public void onFill(PreFillProfileEvent event) {
UUID id = event.getPlayerProfile().getId();
if (id == null) {
return;
}
FloodgatePlayer player = api.getPlayer(id);
if (player == null || player.isLinked()) {
return;
}
// back when this event got added the PlayerProfile class didn't have the
// hasProperty / hasTextures methods
if (id == null || !this.api.isFloodgatePlayer(id) ||
event.getPlayerProfile().getProperties().stream().anyMatch(
if (event.getPlayerProfile().getProperties().stream().anyMatch(
prop -> "textures".equals(prop.getName()))) {
return;
}

View File

@@ -38,10 +38,6 @@ public final class SpigotListenerRegistration implements ListenerRegistration<Li
@Override
public void register(Listener listener) {
if (listener == null) {
return;
}
Bukkit.getServer().getPluginManager().registerEvents(listener, plugin);
}
}

View File

@@ -55,6 +55,7 @@ import net.kyori.adventure.text.Component;
import org.geysermc.floodgate.api.ProxyFloodgateApi;
import org.geysermc.floodgate.api.logger.FloodgateLogger;
import org.geysermc.floodgate.api.player.FloodgatePlayer;
import org.geysermc.floodgate.config.ProxyFloodgateConfig;
import org.geysermc.floodgate.util.LanguageManager;
import org.geysermc.floodgate.util.VelocityCommandUtil;
@@ -90,6 +91,7 @@ public final class VelocityListener {
.expireAfterAccess(20, TimeUnit.SECONDS)
.build();
@Inject private ProxyFloodgateConfig config;
@Inject private ProxyFloodgateApi api;
@Inject private LanguageManager languageManager;
@Inject private FloodgateLogger logger;
@@ -143,9 +145,13 @@ public final class VelocityListener {
if (player != null) {
playerCache.invalidate(event.getConnection());
// The texture properties addition is to fix the February 2 2022 Mojang authentication changes
event.setGameProfile(new GameProfile(player.getCorrectUniqueId(),
player.getCorrectUsername(), Collections.singletonList(
new Property("textures", "", ""))));
if (!config.isSendFloodgateData() && !player.isLinked()) {
event.setGameProfile(new GameProfile(
player.getCorrectUniqueId(),
player.getCorrectUsername(),
Collections.singletonList(new Property("textures", "", ""))
));
}
}
}