Skip to content

Commit

Permalink
Resolve fallout
Browse files Browse the repository at this point in the history
  • Loading branch information
Kas-tle committed Aug 24, 2022
1 parent 9232310 commit e35f378
Show file tree
Hide file tree
Showing 10 changed files with 27 additions and 17 deletions.
2 changes: 2 additions & 0 deletions api/geyser/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ plugins {

dependencies {
api(projects.api)

implementation("net.kyori", "adventure-text-serializer-legacy", Versions.adventureVersion)
}

publishing {
Expand Down
2 changes: 2 additions & 0 deletions bootstrap/bungeecord/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ val bungeeVersion = "a7c6ede";

dependencies {
api(projects.core)

implementation("net.kyori", "adventure-text-serializer-bungeecord", Versions.adventurePlatformVersion)
}

platformRelocate("net.md_5.bungee.jni")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
import net.md_5.bungee.event.EventHandler;
import org.geysermc.geyser.Constants;
import org.geysermc.geyser.GeyserImpl;
import org.geysermc.geyser.platform.bungeecord.command.BungeeCommandSender;
import org.geysermc.geyser.platform.bungeecord.command.BungeeCommandSource;
import org.geysermc.geyser.util.VersionCheckUtils;

public final class GeyserBungeeUpdateListener implements Listener {
Expand All @@ -41,7 +41,7 @@ public void onPlayerJoin(final PostLoginEvent event) {
if (GeyserImpl.getInstance().getConfig().isNotifyOnNewBedrockUpdate()) {
final ProxiedPlayer player = event.getPlayer();
if (player.hasPermission(Constants.UPDATE_PERMISSION)) {
VersionCheckUtils.checkForGeyserUpdate(() -> new BungeeCommandSender(player));
VersionCheckUtils.checkForGeyserUpdate(() -> new BungeeCommandSource(player));
}
}
}
Expand Down
7 changes: 6 additions & 1 deletion bootstrap/spigot/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
val paperVersion = "1.19-R0.1-SNAPSHOT"
val viaVersion = "4.0.0"
val adaptersVersion = "1.5-SNAPSHOT"
val commodoreVersion = "1.13"
val commodoreVersion = "2.2"

dependencies {
api(projects.core)

implementation("org.geysermc.geyser.adapters", "spigot-all", adaptersVersion)

implementation("me.lucko", "commodore", commodoreVersion)

implementation("net.kyori", "adventure-text-serializer-bungeecord", Versions.adventurePlatformVersion)

// Both paper-api and paper-mojangapi only provide Java 17 versions for 1.19
compileOnly("io.papermc.paper", "paper-api", paperVersion) {
Expand Down Expand Up @@ -61,5 +63,8 @@ tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {

// Commodore includes Brigadier
exclude(dependency("com.mojang:.*"))

// Adventure slf4j
exclude(dependency("net.kyori.adventure.text.logger.slf4j:ComponentLogger"))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
import org.bukkit.event.player.PlayerJoinEvent;
import org.geysermc.geyser.Constants;
import org.geysermc.geyser.GeyserImpl;
import org.geysermc.geyser.platform.spigot.command.SpigotCommandSender;
import org.geysermc.geyser.platform.spigot.command.SpigotCommandSource;
import org.geysermc.geyser.util.VersionCheckUtils;

public final class GeyserSpigotUpdateListener implements Listener {
Expand All @@ -41,7 +41,7 @@ public void onPlayerJoin(final PlayerJoinEvent event) {
if (GeyserImpl.getInstance().getConfig().isNotifyOnNewBedrockUpdate()) {
final Player player = event.getPlayer();
if (player.hasPermission(Constants.UPDATE_PERMISSION)) {
VersionCheckUtils.checkForGeyserUpdate(() -> new SpigotCommandSender(player));
VersionCheckUtils.checkForGeyserUpdate(() -> new SpigotCommandSource(player));
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
import com.velocitypowered.api.proxy.Player;
import org.geysermc.geyser.Constants;
import org.geysermc.geyser.GeyserImpl;
import org.geysermc.geyser.platform.velocity.command.VelocityCommandSender;
import org.geysermc.geyser.platform.velocity.command.VelocityCommandSource;
import org.geysermc.geyser.util.VersionCheckUtils;

public final class GeyserVelocityUpdateListener {
Expand All @@ -40,7 +40,7 @@ public void onPlayerJoin(PostLoginEvent event) {
if (GeyserImpl.getInstance().getConfig().isNotifyOnNewBedrockUpdate()) {
final Player player = event.getPlayer();
if (player.hasPermission(Constants.UPDATE_PERMISSION)) {
VersionCheckUtils.checkForGeyserUpdate(() -> new VelocityCommandSender(player));
VersionCheckUtils.checkForGeyserUpdate(() -> new VelocityCommandSource(player));
}
}
}
Expand Down
1 change: 1 addition & 0 deletions build-logic/src/main/kotlin/Versions.kt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ object Versions {
const val mcprotocollibversion = "9f78bd5"
const val packetlibVersion = "3.0"
const val adventureVersion = "4.9.3"
const val adventurePlatformVersion = "4.1.2"
const val junitVersion = "4.13.1"
const val checkerQualVersion = "3.19.0"
const val cumulusVersion = "1.1.1"
Expand Down
4 changes: 2 additions & 2 deletions core/src/main/java/org/geysermc/geyser/GeyserLogger.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@
package org.geysermc.geyser;

import net.kyori.adventure.text.Component;
import org.geysermc.geyser.command.CommandSender;
import org.geysermc.geyser.command.GeyserCommandSource;

import javax.annotation.Nullable;

public interface GeyserLogger extends CommandSender {
public interface GeyserLogger extends GeyserCommandSource {

/**
* Logs a severe message to console
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
import org.geysermc.geyser.inventory.PlayerInventory;
import org.geysermc.geyser.inventory.click.Click;
import org.geysermc.geyser.level.block.BlockStateValues;
import org.geysermc.geyser.network.MinecraftProtocol;
import org.geysermc.geyser.network.GameProtocol;
import org.geysermc.geyser.registry.BlockRegistries;
import org.geysermc.geyser.registry.type.ItemMapping;
import org.geysermc.geyser.registry.type.ItemMappings;
Expand Down Expand Up @@ -467,7 +467,7 @@ public void translate(GeyserSession session, InventoryTransactionPacket packet)
InteractAction.ATTACK, session.isSneaking());
session.sendDownstreamPacket(attackPacket);

if (MinecraftProtocol.supports1_19_10(session)) {
if (GameProtocol.supports1_19_10(session)) {
// Since 1.19.10, LevelSoundEventPackets are no longer sent by the client when attacking entities
CooldownUtils.sendCooldown(session);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
import org.geysermc.geyser.Constants;
import org.geysermc.geyser.GeyserImpl;
import org.geysermc.geyser.GeyserLogger;
import org.geysermc.geyser.command.CommandSender;
import org.geysermc.geyser.network.MinecraftProtocol;
import org.geysermc.geyser.command.GeyserCommandSource;
import org.geysermc.geyser.network.GameProtocol;
import org.geysermc.geyser.text.GeyserLocale;

import java.util.concurrent.CompletableFuture;
Expand All @@ -54,25 +54,25 @@ public static void checkForOutdatedFloodgate(GeyserLogger logger) {
}
}

public static void checkForGeyserUpdate(Supplier<CommandSender> recipient) {
public static void checkForGeyserUpdate(Supplier<GeyserCommandSource> recipient) {
CompletableFuture.runAsync(() -> {
try {
JsonNode json = WebUtils.getJson("https://api.geysermc.org/v2/versions/geyser");
JsonNode bedrock = json.get("bedrock").get("protocol");
int protocolVersion = bedrock.get("id").asInt();
if (MinecraftProtocol.getBedrockCodec(protocolVersion) != null) {
if (GameProtocol.getBedrockCodec(protocolVersion) != null) {
// We support the latest version! No need to print a message.
return;
}

final String newBedrockVersion = bedrock.get("name").asText();

// Delayed for two reasons: save unnecessary processing, and wait to load locale if this is on join.
CommandSender sender = recipient.get();
GeyserCommandSource sender = recipient.get();

// Overarching component is green - geyser.version.new component cannot be green or else the link blue is overshadowed
Component message = Component.text().color(NamedTextColor.GREEN)
.append(Component.text(GeyserLocale.getPlayerLocaleString("geyser.version.new", sender.getLocale(), newBedrockVersion))
.append(Component.text(GeyserLocale.getPlayerLocaleString("geyser.version.new", sender.locale(), newBedrockVersion))
.replaceText(TextReplacementConfig.builder()
.match("\\{1\\}") // Replace "Download here: {1}" so we can use fancy text component yesyes
.replacement(Component.text()
Expand Down

0 comments on commit e35f378

Please sign in to comment.