mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-11-21 22:36:18 +01:00
Initial 1.21.3 changes for mod platforms
This commit is contained in:
parent
e17ad64d8c
commit
1a04aa6ea6
11 changed files with 32 additions and 22 deletions
|
@ -32,7 +32,7 @@ import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
|
||||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
|
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.minecraft.commands.CommandSourceStack;
|
import net.minecraft.commands.CommandSourceStack;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import org.geysermc.geyser.GeyserImpl;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
import org.geysermc.geyser.command.CommandRegistry;
|
import org.geysermc.geyser.command.CommandRegistry;
|
||||||
import org.geysermc.geyser.command.CommandSourceConverter;
|
import org.geysermc.geyser.command.CommandSourceConverter;
|
||||||
|
@ -80,7 +80,7 @@ public class GeyserFabricBootstrap extends GeyserModBootstrap implements ModInit
|
||||||
var sourceConverter = CommandSourceConverter.layered(
|
var sourceConverter = CommandSourceConverter.layered(
|
||||||
CommandSourceStack.class,
|
CommandSourceStack.class,
|
||||||
id -> getServer().getPlayerList().getPlayer(id),
|
id -> getServer().getPlayerList().getPlayer(id),
|
||||||
Player::createCommandSourceStack,
|
ServerPlayer::createCommandSourceStack,
|
||||||
() -> getServer().createCommandSourceStack(), // NPE if method reference is used, since server is not available yet
|
() -> getServer().createCommandSourceStack(), // NPE if method reference is used, since server is not available yet
|
||||||
ModCommandSource::new
|
ModCommandSource::new
|
||||||
);
|
);
|
||||||
|
|
|
@ -23,8 +23,8 @@
|
||||||
"geyser.mixins.json"
|
"geyser.mixins.json"
|
||||||
],
|
],
|
||||||
"depends": {
|
"depends": {
|
||||||
"fabricloader": ">=0.15.11",
|
"fabricloader": ">=0.16.7",
|
||||||
"fabric": "*",
|
"fabric": "*",
|
||||||
"minecraft": ">=1.21"
|
"minecraft": ">=1.21.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
package org.geysermc.geyser.platform.neoforge;
|
package org.geysermc.geyser.platform.neoforge;
|
||||||
|
|
||||||
import net.minecraft.commands.CommandSourceStack;
|
import net.minecraft.commands.CommandSourceStack;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import net.neoforged.bus.api.EventPriority;
|
import net.neoforged.bus.api.EventPriority;
|
||||||
import net.neoforged.fml.ModContainer;
|
import net.neoforged.fml.ModContainer;
|
||||||
import net.neoforged.fml.common.Mod;
|
import net.neoforged.fml.common.Mod;
|
||||||
|
@ -72,7 +72,7 @@ public class GeyserNeoForgeBootstrap extends GeyserModBootstrap {
|
||||||
var sourceConverter = CommandSourceConverter.layered(
|
var sourceConverter = CommandSourceConverter.layered(
|
||||||
CommandSourceStack.class,
|
CommandSourceStack.class,
|
||||||
id -> getServer().getPlayerList().getPlayer(id),
|
id -> getServer().getPlayerList().getPlayer(id),
|
||||||
Player::createCommandSourceStack,
|
ServerPlayer::createCommandSourceStack,
|
||||||
() -> getServer().createCommandSourceStack(),
|
() -> getServer().createCommandSourceStack(),
|
||||||
ModCommandSource::new
|
ModCommandSource::new
|
||||||
);
|
);
|
||||||
|
@ -104,7 +104,9 @@ public class GeyserNeoForgeBootstrap extends GeyserModBootstrap {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onPlayerJoin(PlayerEvent.PlayerLoggedInEvent event) {
|
private void onPlayerJoin(PlayerEvent.PlayerLoggedInEvent event) {
|
||||||
GeyserModUpdateListener.onPlayReady(event.getEntity());
|
if (event.getEntity() instanceof ServerPlayer player) {
|
||||||
|
GeyserModUpdateListener.onPlayReady(player);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -28,8 +28,8 @@ package org.geysermc.geyser.platform.mod;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelOutboundHandlerAdapter;
|
import io.netty.channel.ChannelOutboundHandlerAdapter;
|
||||||
import io.netty.channel.ChannelPromise;
|
import io.netty.channel.ChannelPromise;
|
||||||
import net.minecraft.network.protocol.login.ClientboundGameProfilePacket;
|
|
||||||
import net.minecraft.network.protocol.login.ClientboundLoginCompressionPacket;
|
import net.minecraft.network.protocol.login.ClientboundLoginCompressionPacket;
|
||||||
|
import net.minecraft.network.protocol.login.ClientboundLoginFinishedPacket;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disables the compression packet (and the compression handlers from being added to the pipeline) for Geyser clients
|
* Disables the compression packet (and the compression handlers from being added to the pipeline) for Geyser clients
|
||||||
|
@ -45,7 +45,7 @@ public class GeyserModCompressionDisabler extends ChannelOutboundHandlerAdapter
|
||||||
Class<?> msgClass = msg.getClass();
|
Class<?> msgClass = msg.getClass();
|
||||||
// Don't let any compression packet get through
|
// Don't let any compression packet get through
|
||||||
if (!ClientboundLoginCompressionPacket.class.isAssignableFrom(msgClass)) {
|
if (!ClientboundLoginCompressionPacket.class.isAssignableFrom(msgClass)) {
|
||||||
if (ClientboundGameProfilePacket.class.isAssignableFrom(msgClass)) {
|
if (ClientboundLoginFinishedPacket.class.isAssignableFrom(msgClass)) {
|
||||||
|
|
||||||
// We're past the point that a compression packet can be sent, so we can safely yeet ourselves away
|
// We're past the point that a compression packet can be sent, so we can safely yeet ourselves away
|
||||||
ctx.channel().pipeline().remove(this);
|
ctx.channel().pipeline().remove(this);
|
||||||
|
|
|
@ -25,13 +25,13 @@
|
||||||
|
|
||||||
package org.geysermc.geyser.platform.mod;
|
package org.geysermc.geyser.platform.mod;
|
||||||
|
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import org.geysermc.geyser.Permissions;
|
import org.geysermc.geyser.Permissions;
|
||||||
import org.geysermc.geyser.platform.mod.command.ModCommandSource;
|
import org.geysermc.geyser.platform.mod.command.ModCommandSource;
|
||||||
import org.geysermc.geyser.util.VersionCheckUtils;
|
import org.geysermc.geyser.util.VersionCheckUtils;
|
||||||
|
|
||||||
public final class GeyserModUpdateListener {
|
public final class GeyserModUpdateListener {
|
||||||
public static void onPlayReady(Player player) {
|
public static void onPlayReady(ServerPlayer player) {
|
||||||
// Should be creating this in the supplier, but we need it for the permission check.
|
// Should be creating this in the supplier, but we need it for the permission check.
|
||||||
// Not a big deal currently because ModCommandSource doesn't load locale, so don't need to try to wait for it.
|
// Not a big deal currently because ModCommandSource doesn't load locale, so don't need to try to wait for it.
|
||||||
ModCommandSource source = new ModCommandSource(player.createCommandSourceStack());
|
ModCommandSource source = new ModCommandSource(player.createCommandSourceStack());
|
||||||
|
|
|
@ -84,7 +84,7 @@ public class GeyserModWorldManager extends GeyserWorldManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
Level level = player.level();
|
Level level = player.level();
|
||||||
if (y < level.getMinBuildHeight()) {
|
if (y < level.getMinY()) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ public class GeyserModWorldManager extends GeyserWorldManager {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int worldOffset = level.getMinBuildHeight() >> 4;
|
int worldOffset = level.getMinY() >> 4;
|
||||||
int chunkOffset = (y >> 4) - worldOffset;
|
int chunkOffset = (y >> 4) - worldOffset;
|
||||||
if (chunkOffset < chunk.getSections().length) {
|
if (chunkOffset < chunk.getSections().length) {
|
||||||
LevelChunkSection section = chunk.getSections()[chunkOffset];
|
LevelChunkSection section = chunk.getSections()[chunkOffset];
|
||||||
|
|
|
@ -12,7 +12,7 @@ modrinth {
|
||||||
versionNumber.set(projectVersion(project))
|
versionNumber.set(projectVersion(project))
|
||||||
versionType.set("beta")
|
versionType.set("beta")
|
||||||
changelog.set(System.getenv("CHANGELOG") ?: "")
|
changelog.set(System.getenv("CHANGELOG") ?: "")
|
||||||
gameVersions.addAll("1.21", libs.minecraft.get().version as String)
|
gameVersions.addAll("1.21.2", libs.minecraft.get().version as String)
|
||||||
failSilently.set(true)
|
failSilently.set(true)
|
||||||
|
|
||||||
syncBodyFrom.set(rootProject.file("README.md").readText())
|
syncBodyFrom.set(rootProject.file("README.md").readText())
|
||||||
|
|
|
@ -6,6 +6,10 @@ plugins {
|
||||||
id("io.freefair.lombok")
|
id("io.freefair.lombok")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.test {
|
||||||
|
enabled = false
|
||||||
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
constraints {
|
constraints {
|
||||||
implementation(libs.raknet) // Ensure protocol does not override the RakNet version
|
implementation(libs.raknet) // Ensure protocol does not override the RakNet version
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 93f207e7e9d73f58a7c8902f7deda9dcb0524c8e
|
Subproject commit 4594e8f88738d2e623d0854a8831b9033e60154a
|
|
@ -6,7 +6,10 @@ org.gradle.parallel=true
|
||||||
org.gradle.caching=true
|
org.gradle.caching=true
|
||||||
org.gradle.vfs.watch=false
|
org.gradle.vfs.watch=false
|
||||||
|
|
||||||
|
# TODO remove once architectury loom updates to 1.8
|
||||||
|
loom.ignoreDependencyLoomVersionValidation=true
|
||||||
|
|
||||||
group=org.geysermc
|
group=org.geysermc
|
||||||
id=geyser
|
id=geyser
|
||||||
version=2.4.3-SNAPSHOT
|
version=2.5.0-SNAPSHOT
|
||||||
description=Allows for players from Minecraft: Bedrock Edition to join Minecraft: Java Edition servers.
|
description=Allows for players from Minecraft: Bedrock Edition to join Minecraft: Java Edition servers.
|
||||||
|
|
|
@ -33,12 +33,12 @@ commodore = "2.2"
|
||||||
bungeecord = "a7c6ede"
|
bungeecord = "a7c6ede"
|
||||||
velocity = "3.3.0-SNAPSHOT"
|
velocity = "3.3.0-SNAPSHOT"
|
||||||
viaproxy = "3.3.2-SNAPSHOT"
|
viaproxy = "3.3.2-SNAPSHOT"
|
||||||
fabric-loader = "0.15.11"
|
fabric-loader = "0.16.7"
|
||||||
fabric-api = "0.100.1+1.21"
|
fabric-api = "0.106.1+1.21.3"
|
||||||
neoforge-minecraft = "21.1.1"
|
neoforge-minecraft = "21.3.0-beta"
|
||||||
mixin = "0.8.5"
|
mixin = "0.8.5"
|
||||||
mixinextras = "0.3.5"
|
mixinextras = "0.3.5"
|
||||||
minecraft = "1.21.1"
|
minecraft = "1.21.3"
|
||||||
mockito = "5.+"
|
mockito = "5.+"
|
||||||
|
|
||||||
# plugin versions
|
# plugin versions
|
||||||
|
@ -105,7 +105,7 @@ mixinextras = { module = "io.github.llamalad7:mixinextras-common", version.ref =
|
||||||
|
|
||||||
minecraft = { group = "com.mojang", name = "minecraft", version.ref = "minecraft" }
|
minecraft = { group = "com.mojang", name = "minecraft", version.ref = "minecraft" }
|
||||||
|
|
||||||
# Check these on https://modmuss50.me/fabric.html
|
# Check these on https://fabricmc.net/develop/
|
||||||
fabric-loader = { group = "net.fabricmc", name = "fabric-loader", version.ref = "fabric-loader" }
|
fabric-loader = { group = "net.fabricmc", name = "fabric-loader", version.ref = "fabric-loader" }
|
||||||
fabric-api = { group = "net.fabricmc.fabric-api", name = "fabric-api", version.ref = "fabric-api" }
|
fabric-api = { group = "net.fabricmc.fabric-api", name = "fabric-api", version.ref = "fabric-api" }
|
||||||
|
|
||||||
|
@ -120,7 +120,8 @@ guava = { group = "com.google.guava", name = "guava", version.ref = "guava" }
|
||||||
gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" }
|
gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" }
|
||||||
junit = { group = "org.junit.jupiter", name = "junit-jupiter", version.ref = "junit" }
|
junit = { group = "org.junit.jupiter", name = "junit-jupiter", version.ref = "junit" }
|
||||||
minecraftauth = { group = "net.raphimc", name = "MinecraftAuth", version.ref = "minecraftauth" }
|
minecraftauth = { group = "net.raphimc", name = "MinecraftAuth", version.ref = "minecraftauth" }
|
||||||
mcprotocollib = { group = "org.geysermc.mcprotocollib", name = "protocol", version.ref = "mcprotocollib" }
|
#mcprotocollib = { group = "org.geysermc.mcprotocollib", name = "protocol", version.ref = "mcprotocollib" }
|
||||||
|
mcprotocollib = { group = "com.github.geysermc", name = "mcprotocollib", version = "feature~1.21.2-SNAPSHOT"}
|
||||||
raknet = { group = "org.cloudburstmc.netty", name = "netty-transport-raknet", version.ref = "raknet" }
|
raknet = { group = "org.cloudburstmc.netty", name = "netty-transport-raknet", version.ref = "raknet" }
|
||||||
terminalconsoleappender = { group = "net.minecrell", name = "terminalconsoleappender", version.ref = "terminalconsoleappender" }
|
terminalconsoleappender = { group = "net.minecrell", name = "terminalconsoleappender", version.ref = "terminalconsoleappender" }
|
||||||
velocity-api = { group = "com.velocitypowered", name = "velocity-api", version.ref = "velocity" }
|
velocity-api = { group = "com.velocitypowered", name = "velocity-api", version.ref = "velocity" }
|
||||||
|
|
Loading…
Reference in a new issue