Mirror von
https://github.com/GeyserMC/Geyser.git
synchronisiert 2024-11-16 04:50:07 +01:00
Some additional merge changes
Dieser Commit ist enthalten in:
Ursprung
6ca53f5bf3
Commit
d14a20845d
@ -30,7 +30,7 @@ import javax.annotation.processing.SupportedSourceVersion;
|
|||||||
import javax.lang.model.SourceVersion;
|
import javax.lang.model.SourceVersion;
|
||||||
|
|
||||||
@SupportedAnnotationTypes("*")
|
@SupportedAnnotationTypes("*")
|
||||||
@SupportedSourceVersion(SourceVersion.RELEASE_16)
|
@SupportedSourceVersion(SourceVersion.RELEASE_17)
|
||||||
public class BlockEntityProcessor extends ClassProcessor {
|
public class BlockEntityProcessor extends ClassProcessor {
|
||||||
public BlockEntityProcessor() {
|
public BlockEntityProcessor() {
|
||||||
super("org.geysermc.geyser.translator.level.block.entity.BlockEntity");
|
super("org.geysermc.geyser.translator.level.block.entity.BlockEntity");
|
||||||
|
@ -30,7 +30,7 @@ import javax.annotation.processing.SupportedSourceVersion;
|
|||||||
import javax.lang.model.SourceVersion;
|
import javax.lang.model.SourceVersion;
|
||||||
|
|
||||||
@SupportedAnnotationTypes("*")
|
@SupportedAnnotationTypes("*")
|
||||||
@SupportedSourceVersion(SourceVersion.RELEASE_16)
|
@SupportedSourceVersion(SourceVersion.RELEASE_17)
|
||||||
public class CollisionRemapperProcessor extends ClassProcessor {
|
public class CollisionRemapperProcessor extends ClassProcessor {
|
||||||
public CollisionRemapperProcessor() {
|
public CollisionRemapperProcessor() {
|
||||||
super("org.geysermc.geyser.translator.collision.CollisionRemapper");
|
super("org.geysermc.geyser.translator.collision.CollisionRemapper");
|
||||||
|
@ -30,7 +30,7 @@ import javax.annotation.processing.SupportedSourceVersion;
|
|||||||
import javax.lang.model.SourceVersion;
|
import javax.lang.model.SourceVersion;
|
||||||
|
|
||||||
@SupportedAnnotationTypes("*")
|
@SupportedAnnotationTypes("*")
|
||||||
@SupportedSourceVersion(SourceVersion.RELEASE_16)
|
@SupportedSourceVersion(SourceVersion.RELEASE_17)
|
||||||
public class PacketTranslatorProcessor extends ClassProcessor {
|
public class PacketTranslatorProcessor extends ClassProcessor {
|
||||||
public PacketTranslatorProcessor() {
|
public PacketTranslatorProcessor() {
|
||||||
super("org.geysermc.geyser.translator.protocol.Translator");
|
super("org.geysermc.geyser.translator.protocol.Translator");
|
||||||
|
@ -30,7 +30,7 @@ import javax.annotation.processing.SupportedSourceVersion;
|
|||||||
import javax.lang.model.SourceVersion;
|
import javax.lang.model.SourceVersion;
|
||||||
|
|
||||||
@SupportedAnnotationTypes("*")
|
@SupportedAnnotationTypes("*")
|
||||||
@SupportedSourceVersion(SourceVersion.RELEASE_16)
|
@SupportedSourceVersion(SourceVersion.RELEASE_17)
|
||||||
public class SoundHandlerProcessor extends ClassProcessor {
|
public class SoundHandlerProcessor extends ClassProcessor {
|
||||||
public SoundHandlerProcessor() {
|
public SoundHandlerProcessor() {
|
||||||
super("org.geysermc.geyser.translator.sound.SoundTranslator");
|
super("org.geysermc.geyser.translator.sound.SoundTranslator");
|
||||||
|
@ -3,7 +3,7 @@ dependencies {
|
|||||||
|
|
||||||
implementation(libs.adventure.text.serializer.bungeecord)
|
implementation(libs.adventure.text.serializer.bungeecord)
|
||||||
|
|
||||||
implementation("org.geysermc.floodgate", "bungee", "2.2.0-SNAPSHOT")
|
implementation(libs.floodgate.bungee)
|
||||||
}
|
}
|
||||||
|
|
||||||
platformRelocate("net.md_5.bungee.jni")
|
platformRelocate("net.md_5.bungee.jni")
|
||||||
|
@ -31,9 +31,9 @@ import net.md_5.bungee.api.config.ListenerInfo;
|
|||||||
import net.md_5.bungee.api.plugin.Plugin;
|
import net.md_5.bungee.api.plugin.Plugin;
|
||||||
import net.md_5.bungee.protocol.ProtocolConstants;
|
import net.md_5.bungee.protocol.ProtocolConstants;
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
import org.geysermc.floodgate.BungeePlatform;
|
import org.geysermc.floodgate.bungee.BungeePlatform;
|
||||||
import org.geysermc.floodgate.pluginmessage.BungeeSkinApplier;
|
import org.geysermc.floodgate.bungee.pluginmessage.BungeeSkinApplier;
|
||||||
import org.geysermc.floodgate.skin.SkinApplier;
|
import org.geysermc.floodgate.core.skin.SkinApplier;
|
||||||
import org.geysermc.geyser.GeyserBootstrap;
|
import org.geysermc.geyser.GeyserBootstrap;
|
||||||
import org.geysermc.geyser.GeyserImpl;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
import org.geysermc.geyser.api.command.Command;
|
import org.geysermc.geyser.api.command.Command;
|
||||||
@ -307,7 +307,8 @@ public class GeyserBungeePlugin extends Plugin implements GeyserBootstrap {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SkinApplier createSkinApplier() {
|
public SkinApplier createSkinApplier() {
|
||||||
new BungeePlatform(this); // TODO hack to ensure ReflectionUtils prefix is applied and I don't forget about dealing with it
|
// new BungeePlatform(this); // TODO hack to ensure ReflectionUtils prefix is applied and I don't forget about dealing with it
|
||||||
return new BungeeSkinApplier(null); // Also TODO
|
// return new BungeeSkinApplier(null); // Also TODO
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -116,7 +116,7 @@ public class GeyserFabricMod implements ModInitializer, GeyserBootstrap {
|
|||||||
|
|
||||||
GeyserConfiguration.checkGeyserConfiguration(geyserConfig, geyserLogger);
|
GeyserConfiguration.checkGeyserConfiguration(geyserConfig, geyserLogger);
|
||||||
|
|
||||||
this.geyser = GeyserImpl.load(PlatformType.FABRIC, this);
|
this.geyser = GeyserImpl.load(PlatformType.FABRIC, this, null);
|
||||||
|
|
||||||
if (server == null) {
|
if (server == null) {
|
||||||
// Server has yet to start
|
// Server has yet to start
|
||||||
|
@ -10,19 +10,10 @@ dependencies {
|
|||||||
|
|
||||||
implementation(libs.adventure.text.serializer.bungeecord)
|
implementation(libs.adventure.text.serializer.bungeecord)
|
||||||
|
|
||||||
// Both folia-api and paper-mojangapi only provide Java 17 versions for 1.19
|
compileOnly(libs.folia.api)
|
||||||
compileOnly(libs.folia.api) {
|
compileOnly(libs.paper.mojangapi)
|
||||||
attributes {
|
|
||||||
attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 17)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
compileOnly(libs.paper.mojangapi) {
|
|
||||||
attributes {
|
|
||||||
attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 17)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
implementation("org.geysermc.floodgate", "spigot", "2.2.0-SNAPSHOT")
|
implementation(libs.floodgate.spigot)
|
||||||
}
|
}
|
||||||
|
|
||||||
platformRelocate("it.unimi.dsi.fastutil")
|
platformRelocate("it.unimi.dsi.fastutil")
|
||||||
|
@ -42,9 +42,7 @@ import org.bukkit.permissions.Permission;
|
|||||||
import org.bukkit.permissions.PermissionDefault;
|
import org.bukkit.permissions.PermissionDefault;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import org.geysermc.floodgate.pluginmessage.SpigotSkinApplier;
|
import org.geysermc.floodgate.core.skin.SkinApplier;
|
||||||
import org.geysermc.floodgate.skin.SkinApplier;
|
|
||||||
import org.geysermc.floodgate.util.SpigotVersionSpecificMethods;
|
|
||||||
import org.geysermc.geyser.Constants;
|
import org.geysermc.geyser.Constants;
|
||||||
import org.geysermc.geyser.GeyserBootstrap;
|
import org.geysermc.geyser.GeyserBootstrap;
|
||||||
import org.geysermc.geyser.GeyserImpl;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
@ -431,7 +429,8 @@ public class GeyserSpigotPlugin extends JavaPlugin implements GeyserBootstrap {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SkinApplier createSkinApplier() {
|
public SkinApplier createSkinApplier() {
|
||||||
return new SpigotSkinApplier(new SpigotVersionSpecificMethods(this), this);
|
// return new SpigotSkinApplier(new SpigotVersionSpecificMethods(this), this);
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -29,13 +29,13 @@ import com.mojang.authlib.GameProfile;
|
|||||||
import io.netty.channel.ChannelHandler;
|
import io.netty.channel.ChannelHandler;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelInboundHandlerAdapter;
|
import io.netty.channel.ChannelInboundHandlerAdapter;
|
||||||
import org.geysermc.floodgate.util.ClassNames;
|
import org.geysermc.floodgate.spigot.util.ClassNames;
|
||||||
import org.geysermc.geyser.hybrid.IntegratedHybridProvider;
|
import org.geysermc.geyser.hybrid.IntegratedHybridProvider;
|
||||||
import org.geysermc.geyser.session.GeyserSession;
|
import org.geysermc.geyser.session.GeyserSession;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
import static org.geysermc.floodgate.util.ReflectionUtils.setValue;
|
import static org.geysermc.floodgate.core.util.ReflectionUtils.setValue;
|
||||||
|
|
||||||
@ChannelHandler.Sharable
|
@ChannelHandler.Sharable
|
||||||
public final class SpigotHybridChannelHandler extends ChannelInboundHandlerAdapter {
|
public final class SpigotHybridChannelHandler extends ChannelInboundHandlerAdapter {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
dependencies {
|
dependencies {
|
||||||
annotationProcessor(libs.velocity.api)
|
annotationProcessor(libs.velocity.api)
|
||||||
implementation("org.geysermc.floodgate", "velocity", "2.2.0-SNAPSHOT")
|
implementation(libs.floodgate.velocity)
|
||||||
api(projects.core)
|
api(projects.core)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ import com.velocitypowered.api.plugin.Plugin;
|
|||||||
import com.velocitypowered.api.proxy.ProxyServer;
|
import com.velocitypowered.api.proxy.ProxyServer;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.kyori.adventure.util.Codec;
|
import net.kyori.adventure.util.Codec;
|
||||||
import org.geysermc.floodgate.FloodgatePlatform;
|
import org.geysermc.floodgate.core.FloodgatePlatform;
|
||||||
import org.geysermc.geyser.GeyserBootstrap;
|
import org.geysermc.geyser.GeyserBootstrap;
|
||||||
import org.geysermc.geyser.GeyserImpl;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
import org.geysermc.geyser.api.command.Command;
|
import org.geysermc.geyser.api.command.Command;
|
||||||
|
@ -25,22 +25,21 @@
|
|||||||
|
|
||||||
package org.geysermc.geyser.platform.velocity.floodgate;
|
package org.geysermc.geyser.platform.velocity.floodgate;
|
||||||
|
|
||||||
import com.google.inject.Module;
|
import org.geysermc.floodgate.isolation.library.LibraryManager;
|
||||||
import org.geysermc.floodgate.VelocityPlatform;
|
import org.geysermc.floodgate.velocity.VelocityPlatform;
|
||||||
import org.geysermc.geyser.GeyserImpl;
|
|
||||||
import org.geysermc.geyser.floodgate.GeyserLoadStage;
|
|
||||||
|
|
||||||
import java.nio.file.Paths;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class FloodgateVelocityPlatform extends VelocityPlatform {
|
public class FloodgateVelocityPlatform extends VelocityPlatform {
|
||||||
@Override
|
public FloodgateVelocityPlatform(LibraryManager manager) {
|
||||||
protected List<Module> loadStageModules() {
|
super(manager);
|
||||||
// Geyser being a dumb dumb
|
|
||||||
super.dataDirectory = Paths.get("plugins/" + GeyserImpl.NAME + "-Velocity/");
|
|
||||||
|
|
||||||
var loaded = super.loadStageModules();
|
|
||||||
loaded.add(new GeyserLoadStage());
|
|
||||||
return loaded;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Override
|
||||||
|
// protected List<Module> loadStageModules() {
|
||||||
|
// // Geyser being a dumb dumb
|
||||||
|
// super.dataDirectory = Paths.get("plugins/" + GeyserImpl.NAME + "-Velocity/");
|
||||||
|
//
|
||||||
|
// var loaded = super.loadStageModules();
|
||||||
|
// loaded.add(new GeyserLoadStage());
|
||||||
|
// return loaded;
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ indra {
|
|||||||
mitLicense()
|
mitLicense()
|
||||||
|
|
||||||
javaVersions {
|
javaVersions {
|
||||||
target(16)
|
target(17)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,8 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
api("org.geysermc.floodgate", "core", "2.2.0-SNAPSHOT")
|
api(libs.floodgate.core)
|
||||||
|
annotationProcessor(libs.floodgate.core)
|
||||||
api(projects.api)
|
api(projects.api)
|
||||||
|
|
||||||
// Jackson JSON and YAML serialization
|
// Jackson JSON and YAML serialization
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
package org.geysermc.geyser;
|
package org.geysermc.geyser;
|
||||||
|
|
||||||
import org.geysermc.floodgate.skin.SkinApplier;
|
import org.geysermc.floodgate.core.skin.SkinApplier;
|
||||||
import org.geysermc.geyser.command.GeyserCommandManager;
|
import org.geysermc.geyser.command.GeyserCommandManager;
|
||||||
import org.geysermc.geyser.configuration.GeyserConfiguration;
|
import org.geysermc.geyser.configuration.GeyserConfiguration;
|
||||||
import org.geysermc.geyser.dump.BootstrapDumpInfo;
|
import org.geysermc.geyser.dump.BootstrapDumpInfo;
|
||||||
|
@ -46,7 +46,7 @@ import org.geysermc.api.Geyser;
|
|||||||
import org.geysermc.cumulus.form.Form;
|
import org.geysermc.cumulus.form.Form;
|
||||||
import org.geysermc.cumulus.form.util.FormBuilder;
|
import org.geysermc.cumulus.form.util.FormBuilder;
|
||||||
import org.geysermc.erosion.packet.Packets;
|
import org.geysermc.erosion.packet.Packets;
|
||||||
import org.geysermc.floodgate.FloodgatePlatform;
|
import org.geysermc.floodgate.core.FloodgatePlatform;
|
||||||
import org.geysermc.floodgate.news.NewsItemAction;
|
import org.geysermc.floodgate.news.NewsItemAction;
|
||||||
import org.geysermc.geyser.api.GeyserApi;
|
import org.geysermc.geyser.api.GeyserApi;
|
||||||
import org.geysermc.geyser.api.event.EventBus;
|
import org.geysermc.geyser.api.event.EventBus;
|
||||||
|
@ -31,6 +31,7 @@ import org.checkerframework.checker.nullness.qual.NonNull;
|
|||||||
import org.geysermc.geyser.api.extension.ExtensionDescription;
|
import org.geysermc.geyser.api.extension.ExtensionDescription;
|
||||||
import org.geysermc.geyser.api.extension.exception.InvalidDescriptionException;
|
import org.geysermc.geyser.api.extension.exception.InvalidDescriptionException;
|
||||||
import org.geysermc.geyser.text.GeyserLocale;
|
import org.geysermc.geyser.text.GeyserLocale;
|
||||||
|
import org.yaml.snakeyaml.LoaderOptions;
|
||||||
import org.yaml.snakeyaml.Yaml;
|
import org.yaml.snakeyaml.Yaml;
|
||||||
import org.yaml.snakeyaml.constructor.CustomClassLoaderConstructor;
|
import org.yaml.snakeyaml.constructor.CustomClassLoaderConstructor;
|
||||||
|
|
||||||
@ -48,7 +49,7 @@ public record GeyserExtensionDescription(@NonNull String id,
|
|||||||
@NonNull String version,
|
@NonNull String version,
|
||||||
@NonNull List<String> authors) implements ExtensionDescription {
|
@NonNull List<String> authors) implements ExtensionDescription {
|
||||||
|
|
||||||
private static final Yaml YAML = new Yaml(new CustomClassLoaderConstructor(Source.class.getClassLoader()));
|
private static final Yaml YAML = new Yaml(new CustomClassLoaderConstructor(Source.class.getClassLoader(), new LoaderOptions()));
|
||||||
|
|
||||||
public static final Pattern ID_PATTERN = Pattern.compile("[a-z][a-z0-9-_]{0,63}");
|
public static final Pattern ID_PATTERN = Pattern.compile("[a-z][a-z0-9-_]{0,63}");
|
||||||
public static final Pattern NAME_PATTERN = Pattern.compile("^[A-Za-z_.-]+$");
|
public static final Pattern NAME_PATTERN = Pattern.compile("^[A-Za-z_.-]+$");
|
||||||
|
@ -25,16 +25,11 @@
|
|||||||
|
|
||||||
package org.geysermc.geyser.floodgate;
|
package org.geysermc.geyser.floodgate;
|
||||||
|
|
||||||
import com.google.inject.AbstractModule;
|
public class GeyserLoadStage {
|
||||||
import com.google.inject.Provides;
|
// @Provides
|
||||||
import com.google.inject.Singleton;
|
// @Singleton
|
||||||
import com.google.inject.name.Named;
|
// @Named("configFile")
|
||||||
|
// private String floodgateConfigName() {
|
||||||
public class GeyserLoadStage extends AbstractModule {
|
// return "floodgate.yml";
|
||||||
@Provides
|
// }
|
||||||
@Singleton
|
|
||||||
@Named("configFile")
|
|
||||||
private String floodgateConfigName() {
|
|
||||||
return "floodgate.yml";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
package org.geysermc.geyser.hybrid;
|
package org.geysermc.geyser.hybrid;
|
||||||
|
|
||||||
import org.geysermc.floodgate.crypto.FloodgateCipher;
|
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
|
||||||
import org.geysermc.geyser.GeyserImpl;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
import org.geysermc.geyser.session.GeyserSession;
|
import org.geysermc.geyser.session.GeyserSession;
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ public final class FloodgateHybridProvider implements HybridProvider {
|
|||||||
private final FloodgateCipher cipher;
|
private final FloodgateCipher cipher;
|
||||||
|
|
||||||
public FloodgateHybridProvider(GeyserImpl geyser) {
|
public FloodgateHybridProvider(GeyserImpl geyser) {
|
||||||
cipher = geyser.getFloodgatePlatform().getInstance(FloodgateCipher.class);
|
cipher = geyser.getFloodgatePlatform().getBean(FloodgateCipher.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
package org.geysermc.geyser.hybrid;
|
package org.geysermc.geyser.hybrid;
|
||||||
|
|
||||||
import org.geysermc.floodgate.crypto.FloodgateCipher;
|
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
|
||||||
import org.geysermc.geyser.session.GeyserSession;
|
import org.geysermc.geyser.session.GeyserSession;
|
||||||
|
|
||||||
public interface HybridProvider {
|
public interface HybridProvider {
|
||||||
|
@ -26,9 +26,9 @@
|
|||||||
package org.geysermc.geyser.hybrid;
|
package org.geysermc.geyser.hybrid;
|
||||||
|
|
||||||
import io.netty.util.AttributeKey;
|
import io.netty.util.AttributeKey;
|
||||||
import org.geysermc.floodgate.crypto.FloodgateCipher;
|
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
|
||||||
import org.geysermc.floodgate.skin.SkinApplier;
|
import org.geysermc.floodgate.core.skin.SkinApplier;
|
||||||
import org.geysermc.floodgate.skin.SkinData;
|
import org.geysermc.floodgate.core.skin.SkinDataImpl;
|
||||||
import org.geysermc.geyser.GeyserImpl;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
import org.geysermc.geyser.session.GeyserSession;
|
import org.geysermc.geyser.session.GeyserSession;
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ public class IntegratedHybridProvider implements HybridProvider {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSkinUpload(GeyserSession session, String value, String signature) {
|
public void onSkinUpload(GeyserSession session, String value, String signature) {
|
||||||
skinApplier.applySkin(session, new SkinData(value, signature));
|
skinApplier.applySkin(session, new SkinDataImpl(value, signature));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
package org.geysermc.geyser.hybrid;
|
package org.geysermc.geyser.hybrid;
|
||||||
|
|
||||||
import org.geysermc.floodgate.crypto.FloodgateCipher;
|
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
|
||||||
import org.geysermc.geyser.GeyserImpl;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
|
|
||||||
public final class ProxyHybridProvider extends IntegratedHybridProvider {
|
public final class ProxyHybridProvider extends IntegratedHybridProvider {
|
||||||
@ -33,7 +33,7 @@ public final class ProxyHybridProvider extends IntegratedHybridProvider {
|
|||||||
|
|
||||||
public ProxyHybridProvider(GeyserImpl geyser) {
|
public ProxyHybridProvider(GeyserImpl geyser) {
|
||||||
super(geyser);
|
super(geyser);
|
||||||
this.cipher = geyser.getFloodgatePlatform().getInstance(FloodgateCipher.class);
|
this.cipher = geyser.getFloodgatePlatform().getBean(FloodgateCipher.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -96,7 +96,7 @@ import org.geysermc.api.util.InputMode;
|
|||||||
import org.geysermc.api.util.UiProfile;
|
import org.geysermc.api.util.UiProfile;
|
||||||
import org.geysermc.cumulus.form.Form;
|
import org.geysermc.cumulus.form.Form;
|
||||||
import org.geysermc.cumulus.form.util.FormBuilder;
|
import org.geysermc.cumulus.form.util.FormBuilder;
|
||||||
import org.geysermc.floodgate.crypto.FloodgateCipher;
|
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
|
||||||
import org.geysermc.floodgate.util.BedrockData;
|
import org.geysermc.floodgate.util.BedrockData;
|
||||||
import org.geysermc.geyser.Constants;
|
import org.geysermc.geyser.Constants;
|
||||||
import org.geysermc.geyser.GeyserImpl;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
|
@ -32,7 +32,7 @@ import com.fasterxml.jackson.databind.node.ArrayNode;
|
|||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
import com.nimbusds.jwt.SignedJWT;
|
import com.nimbusds.jwt.SignedJWT;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.geysermc.floodgate.util.WebsocketEventType;
|
import org.geysermc.floodgate.core.util.WebsocketEventType;
|
||||||
import org.geysermc.geyser.Constants;
|
import org.geysermc.geyser.Constants;
|
||||||
import org.geysermc.geyser.GeyserImpl;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
import org.geysermc.geyser.GeyserLogger;
|
import org.geysermc.geyser.GeyserLogger;
|
||||||
|
@ -32,13 +32,10 @@ import com.fasterxml.jackson.databind.node.JsonNodeType;
|
|||||||
import com.github.steveice10.mc.auth.service.MsaAuthenticationService;
|
import com.github.steveice10.mc.auth.service.MsaAuthenticationService;
|
||||||
import com.nimbusds.jose.JWSObject;
|
import com.nimbusds.jose.JWSObject;
|
||||||
import com.nimbusds.jose.Payload;
|
import com.nimbusds.jose.Payload;
|
||||||
import com.nimbusds.jose.shaded.json.JSONObject;
|
|
||||||
import com.nimbusds.jose.shaded.json.JSONValue;
|
|
||||||
import com.nimbusds.jwt.SignedJWT;
|
import com.nimbusds.jwt.SignedJWT;
|
||||||
import org.cloudburstmc.protocol.bedrock.packet.LoginPacket;
|
import org.cloudburstmc.protocol.bedrock.packet.LoginPacket;
|
||||||
import org.cloudburstmc.protocol.bedrock.packet.ServerToClientHandshakePacket;
|
import org.cloudburstmc.protocol.bedrock.packet.ServerToClientHandshakePacket;
|
||||||
import org.cloudburstmc.protocol.bedrock.util.EncryptionUtils;
|
import org.cloudburstmc.protocol.bedrock.util.EncryptionUtils;
|
||||||
import org.cloudburstmc.protocol.common.util.Preconditions;
|
|
||||||
import org.geysermc.cumulus.form.CustomForm;
|
import org.geysermc.cumulus.form.CustomForm;
|
||||||
import org.geysermc.cumulus.form.ModalForm;
|
import org.geysermc.cumulus.form.ModalForm;
|
||||||
import org.geysermc.cumulus.form.SimpleForm;
|
import org.geysermc.cumulus.form.SimpleForm;
|
||||||
@ -109,12 +106,12 @@ public class LoginEncryptionUtils {
|
|||||||
mojangSigned = true;
|
mojangSigned = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Object payload = JSONValue.parse(jwt.getPayload().toString());
|
// Object payload = JSONValue.parse(jwt.getPayload().toString());
|
||||||
Preconditions.checkArgument(payload instanceof JSONObject, "Payload is not an object");
|
// Preconditions.checkArgument(payload instanceof JSONObject, "Payload is not an object");
|
||||||
|
//
|
||||||
Object identityPublicKey = ((JSONObject) payload).get("identityPublicKey");
|
// Object identityPublicKey = ((JSONObject) payload).get("identityPublicKey");
|
||||||
Preconditions.checkArgument(identityPublicKey instanceof String, "identityPublicKey node is missing in chain");
|
// Preconditions.checkArgument(identityPublicKey instanceof String, "identityPublicKey node is missing in chain");
|
||||||
lastKey = EncryptionUtils.generateKey((String) identityPublicKey);
|
// lastKey = EncryptionUtils.generateKey((String) identityPublicKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
return mojangSigned;
|
return mojangSigned;
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 56c3eee7a5241b5609d1936f2a11b05dd1a3d568
|
Subproject commit d449a0a18549f1b6f2a62e363974019337a26b16
|
@ -1,5 +1,6 @@
|
|||||||
[versions]
|
[versions]
|
||||||
base-api = "1.0.0-SNAPSHOT"
|
base-api = "feature-floodgate-merge-1.0.0-SNAPSHOT"
|
||||||
|
floodgate = "development-2.2.2-SNAPSHOT"
|
||||||
cumulus = "1.1.1"
|
cumulus = "1.1.1"
|
||||||
erosion = "1.0-20230406.174837-8"
|
erosion = "1.0-20230406.174837-8"
|
||||||
events = "1.0-SNAPSHOT"
|
events = "1.0-SNAPSHOT"
|
||||||
@ -37,6 +38,11 @@ base-api = { group = "org.geysermc.api", name = "base-api", version.ref = "base-
|
|||||||
cumulus = { group = "org.geysermc.cumulus", name = "cumulus", version.ref = "cumulus" }
|
cumulus = { group = "org.geysermc.cumulus", name = "cumulus", version.ref = "cumulus" }
|
||||||
events = { group = "org.geysermc.event", name = "events", version.ref = "events" }
|
events = { group = "org.geysermc.event", name = "events", version.ref = "events" }
|
||||||
|
|
||||||
|
floodgate-core = { module = "org.geysermc.floodgate:core", version.ref = "floodgate" }
|
||||||
|
floodgate-bungee = { module = "org.geysermc.floodgate:bungee-base", version.ref = "floodgate" }
|
||||||
|
floodgate-spigot = { module = "org.geysermc.floodgate:spigot-base", version.ref = "floodgate" }
|
||||||
|
floodgate-velocity = { module = "org.geysermc.floodgate:velocity-base", version.ref = "floodgate" }
|
||||||
|
|
||||||
erosion-bukkit-common = { group = "org.geysermc.erosion", name = "bukkit-common", version.ref = "erosion" }
|
erosion-bukkit-common = { group = "org.geysermc.erosion", name = "bukkit-common", version.ref = "erosion" }
|
||||||
erosion-common = { group = "org.geysermc.erosion", name = "common", version.ref = "erosion" }
|
erosion-common = { group = "org.geysermc.erosion", name = "common", version.ref = "erosion" }
|
||||||
|
|
||||||
@ -100,9 +106,9 @@ protocol-codec = { group = "org.cloudburstmc.protocol", name = "bedrock-codec",
|
|||||||
protocol-connection = { group = "org.cloudburstmc.protocol", name = "bedrock-connection", version.ref = "protocol-connection" }
|
protocol-connection = { group = "org.cloudburstmc.protocol", name = "bedrock-connection", version.ref = "protocol-connection" }
|
||||||
|
|
||||||
[bundles]
|
[bundles]
|
||||||
jackson = [ "jackson-annotations", "jackson-core", "jackson-dataformat-yaml" ]
|
jackson = ["jackson-annotations", "jackson-core", "jackson-dataformat-yaml"]
|
||||||
fastutil = [ "fastutil-int-int-maps", "fastutil-int-long-maps", "fastutil-int-byte-maps", "fastutil-int-boolean-maps", "fastutil-object-int-maps", "fastutil-object-object-maps" ]
|
fastutil = ["fastutil-int-int-maps", "fastutil-int-long-maps", "fastutil-int-byte-maps", "fastutil-int-boolean-maps", "fastutil-object-int-maps", "fastutil-object-object-maps"]
|
||||||
adventure = [ "adventure-text-serializer-gson", "adventure-text-serializer-legacy", "adventure-text-serializer-plain" ]
|
adventure = ["adventure-text-serializer-gson", "adventure-text-serializer-legacy", "adventure-text-serializer-plain"]
|
||||||
log4j = [ "log4j-api", "log4j-core", "log4j-slf4j18-impl" ]
|
log4j = ["log4j-api", "log4j-core", "log4j-slf4j18-impl"]
|
||||||
jline = [ "jline-terminal", "jline-terminal-jna", "jline-reader" ]
|
jline = ["jline-terminal", "jline-terminal-jna", "jline-reader"]
|
||||||
protocol = [ "protocol-common", "protocol-codec", "protocol-connection" ]
|
protocol = ["protocol-common", "protocol-codec", "protocol-connection"]
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren