mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-08-14 23:57:35 +00:00
Some additional merge changes
This commit is contained in:
parent
6ca53f5bf3
commit
d14a20845d
28 changed files with 82 additions and 92 deletions
|
@ -7,7 +7,8 @@ plugins {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
api("org.geysermc.floodgate", "core", "2.2.0-SNAPSHOT")
|
||||
api(libs.floodgate.core)
|
||||
annotationProcessor(libs.floodgate.core)
|
||||
api(projects.api)
|
||||
|
||||
// Jackson JSON and YAML serialization
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
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.configuration.GeyserConfiguration;
|
||||
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.util.FormBuilder;
|
||||
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.geyser.api.GeyserApi;
|
||||
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.exception.InvalidDescriptionException;
|
||||
import org.geysermc.geyser.text.GeyserLocale;
|
||||
import org.yaml.snakeyaml.LoaderOptions;
|
||||
import org.yaml.snakeyaml.Yaml;
|
||||
import org.yaml.snakeyaml.constructor.CustomClassLoaderConstructor;
|
||||
|
||||
|
@ -48,7 +49,7 @@ public record GeyserExtensionDescription(@NonNull String id,
|
|||
@NonNull String version,
|
||||
@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 NAME_PATTERN = Pattern.compile("^[A-Za-z_.-]+$");
|
||||
|
|
|
@ -25,16 +25,11 @@
|
|||
|
||||
package org.geysermc.geyser.floodgate;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
import com.google.inject.Provides;
|
||||
import com.google.inject.Singleton;
|
||||
import com.google.inject.name.Named;
|
||||
|
||||
public class GeyserLoadStage extends AbstractModule {
|
||||
@Provides
|
||||
@Singleton
|
||||
@Named("configFile")
|
||||
private String floodgateConfigName() {
|
||||
return "floodgate.yml";
|
||||
}
|
||||
public class GeyserLoadStage {
|
||||
// @Provides
|
||||
// @Singleton
|
||||
// @Named("configFile")
|
||||
// private String floodgateConfigName() {
|
||||
// return "floodgate.yml";
|
||||
// }
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
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.session.GeyserSession;
|
||||
|
||||
|
@ -35,7 +35,7 @@ public final class FloodgateHybridProvider implements HybridProvider {
|
|||
private final FloodgateCipher cipher;
|
||||
|
||||
public FloodgateHybridProvider(GeyserImpl geyser) {
|
||||
cipher = geyser.getFloodgatePlatform().getInstance(FloodgateCipher.class);
|
||||
cipher = geyser.getFloodgatePlatform().getBean(FloodgateCipher.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
package org.geysermc.geyser.hybrid;
|
||||
|
||||
import org.geysermc.floodgate.crypto.FloodgateCipher;
|
||||
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
|
||||
import org.geysermc.geyser.session.GeyserSession;
|
||||
|
||||
public interface HybridProvider {
|
||||
|
|
|
@ -26,9 +26,9 @@
|
|||
package org.geysermc.geyser.hybrid;
|
||||
|
||||
import io.netty.util.AttributeKey;
|
||||
import org.geysermc.floodgate.crypto.FloodgateCipher;
|
||||
import org.geysermc.floodgate.skin.SkinApplier;
|
||||
import org.geysermc.floodgate.skin.SkinData;
|
||||
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
|
||||
import org.geysermc.floodgate.core.skin.SkinApplier;
|
||||
import org.geysermc.floodgate.core.skin.SkinDataImpl;
|
||||
import org.geysermc.geyser.GeyserImpl;
|
||||
import org.geysermc.geyser.session.GeyserSession;
|
||||
|
||||
|
@ -44,7 +44,7 @@ public class IntegratedHybridProvider implements HybridProvider {
|
|||
|
||||
@Override
|
||||
public void onSkinUpload(GeyserSession session, String value, String signature) {
|
||||
skinApplier.applySkin(session, new SkinData(value, signature));
|
||||
skinApplier.applySkin(session, new SkinDataImpl(value, signature));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
package org.geysermc.geyser.hybrid;
|
||||
|
||||
import org.geysermc.floodgate.crypto.FloodgateCipher;
|
||||
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
|
||||
import org.geysermc.geyser.GeyserImpl;
|
||||
|
||||
public final class ProxyHybridProvider extends IntegratedHybridProvider {
|
||||
|
@ -33,7 +33,7 @@ public final class ProxyHybridProvider extends IntegratedHybridProvider {
|
|||
|
||||
public ProxyHybridProvider(GeyserImpl geyser) {
|
||||
super(geyser);
|
||||
this.cipher = geyser.getFloodgatePlatform().getInstance(FloodgateCipher.class);
|
||||
this.cipher = geyser.getFloodgatePlatform().getBean(FloodgateCipher.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -96,7 +96,7 @@ import org.geysermc.api.util.InputMode;
|
|||
import org.geysermc.api.util.UiProfile;
|
||||
import org.geysermc.cumulus.form.Form;
|
||||
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.geyser.Constants;
|
||||
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.nimbusds.jwt.SignedJWT;
|
||||
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.GeyserImpl;
|
||||
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.nimbusds.jose.JWSObject;
|
||||
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 org.cloudburstmc.protocol.bedrock.packet.LoginPacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.ServerToClientHandshakePacket;
|
||||
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.ModalForm;
|
||||
import org.geysermc.cumulus.form.SimpleForm;
|
||||
|
@ -109,12 +106,12 @@ public class LoginEncryptionUtils {
|
|||
mojangSigned = true;
|
||||
}
|
||||
|
||||
Object payload = JSONValue.parse(jwt.getPayload().toString());
|
||||
Preconditions.checkArgument(payload instanceof JSONObject, "Payload is not an object");
|
||||
|
||||
Object identityPublicKey = ((JSONObject) payload).get("identityPublicKey");
|
||||
Preconditions.checkArgument(identityPublicKey instanceof String, "identityPublicKey node is missing in chain");
|
||||
lastKey = EncryptionUtils.generateKey((String) identityPublicKey);
|
||||
// Object payload = JSONValue.parse(jwt.getPayload().toString());
|
||||
// Preconditions.checkArgument(payload instanceof JSONObject, "Payload is not an object");
|
||||
//
|
||||
// Object identityPublicKey = ((JSONObject) payload).get("identityPublicKey");
|
||||
// Preconditions.checkArgument(identityPublicKey instanceof String, "identityPublicKey node is missing in chain");
|
||||
// lastKey = EncryptionUtils.generateKey((String) identityPublicKey);
|
||||
}
|
||||
|
||||
return mojangSigned;
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 56c3eee7a5241b5609d1936f2a11b05dd1a3d568
|
||||
Subproject commit d449a0a18549f1b6f2a62e363974019337a26b16
|
Loading…
Add table
Add a link
Reference in a new issue