Mirror von
https://github.com/GeyserMC/Geyser.git
synchronisiert 2024-12-26 16:12:46 +01:00
Java-1.18 (WIP) (#43)
Dieser Commit ist enthalten in:
Ursprung
3f88f20272
Commit
4f44fa8358
4
bootstrap/fabric/.gitignore
vendored
4
bootstrap/fabric/.gitignore
vendored
@ -15,6 +15,7 @@ local.properties
|
|||||||
.loadpath
|
.loadpath
|
||||||
.recommenders
|
.recommenders
|
||||||
|
|
||||||
|
|
||||||
# External tool builders
|
# External tool builders
|
||||||
.externalToolBuilders/
|
.externalToolBuilders/
|
||||||
|
|
||||||
@ -134,6 +135,7 @@ hs_err_pid*
|
|||||||
# Gradle
|
# Gradle
|
||||||
.idea/**/gradle.xml
|
.idea/**/gradle.xml
|
||||||
.idea/**/libraries
|
.idea/**/libraries
|
||||||
|
/.gradle/
|
||||||
|
|
||||||
# Gradle and Maven with auto-import
|
# Gradle and Maven with auto-import
|
||||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||||
@ -235,5 +237,3 @@ nbdist/
|
|||||||
|
|
||||||
# End of https://www.gitignore.io/api/git,java,maven,eclipse,netbeans,jetbrains+all,visualstudiocode
|
# End of https://www.gitignore.io/api/git,java,maven,eclipse,netbeans,jetbrains+all,visualstudiocode
|
||||||
|
|
||||||
### Geyser ###
|
|
||||||
run/
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id 'fabric-loom' version '0.8-SNAPSHOT'
|
id 'fabric-loom' version '0.10-SNAPSHOT'
|
||||||
id 'maven-publish'
|
id 'maven-publish'
|
||||||
id 'com.github.johnrengelman.shadow' version '6.1.0'
|
id 'com.github.johnrengelman.shadow' version '7.0.0'
|
||||||
id 'java'
|
id 'java'
|
||||||
}
|
}
|
||||||
|
|
||||||
apply plugin: 'com.github.johnrengelman.shadow'
|
apply plugin: 'com.github.johnrengelman.shadow'
|
||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
|
|
||||||
sourceCompatibility = JavaVersion.VERSION_16
|
sourceCompatibility = JavaVersion.VERSION_17
|
||||||
targetCompatibility = JavaVersion.VERSION_16
|
targetCompatibility = JavaVersion.VERSION_17
|
||||||
|
|
||||||
archivesBaseName = project.archives_base_name
|
archivesBaseName = project.archives_base_name
|
||||||
version = project.mod_version
|
version = project.mod_version
|
||||||
@ -27,8 +27,8 @@ dependencies {
|
|||||||
// PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs.
|
// PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs.
|
||||||
// You may need to force-disable transitiveness on them.
|
// You may need to force-disable transitiveness on them.
|
||||||
|
|
||||||
implementation 'org.geysermc:connector:1.4.3-SNAPSHOT'
|
implementation 'org.geysermc:core:2.0.0-SNAPSHOT'
|
||||||
shadow('org.geysermc:connector:1.4.3-SNAPSHOT') {
|
shadow('org.geysermc:core:2.0.0-SNAPSHOT') {
|
||||||
exclude group: 'com.google.guava', module: "guava"
|
exclude group: 'com.google.guava', module: "guava"
|
||||||
exclude group: 'com.google.code.gson', module: "gson"
|
exclude group: 'com.google.code.gson', module: "gson"
|
||||||
exclude group: 'org.slf4j'
|
exclude group: 'org.slf4j'
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
org.gradle.jvmargs=-Xmx1G
|
org.gradle.jvmargs=-Xmx1G
|
||||||
# Fabric Properties
|
# Fabric Properties
|
||||||
# check these on https://modmuss50.me/fabric.html
|
# check these on https://modmuss50.me/fabric.html
|
||||||
minecraft_version=1.17.1
|
minecraft_version=1.18
|
||||||
yarn_mappings=1.17.1+build.14
|
yarn_mappings=1.18+build.1
|
||||||
loader_version=0.11.6
|
loader_version=0.12.8
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version=1.4.3-SNAPSHOT
|
mod_version=1.4.3-SNAPSHOT
|
||||||
maven_group=org.geysermc.platform
|
maven_group=org.geysermc.platform
|
||||||
archives_base_name=Geyser-Fabric
|
archives_base_name=Geyser-Fabric
|
||||||
# Dependencies
|
# Dependencies
|
||||||
# check this on https://modmuss50.me/fabric.html
|
# check this on https://modmuss50.me/fabric.html
|
||||||
fabric_version=0.37.0+1.17
|
fabric_version=0.43.1+1.18
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
@ -28,8 +28,8 @@ package org.geysermc.platform.fabric;
|
|||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.fabricmc.loader.api.ModContainer;
|
import net.fabricmc.loader.api.ModContainer;
|
||||||
import org.geysermc.connector.FloodgateKeyLoader;
|
import org.geysermc.geyser.FloodgateKeyLoader;
|
||||||
import org.geysermc.connector.configuration.GeyserJacksonConfiguration;
|
import org.geysermc.geyser.configuration.GeyserJacksonConfiguration;
|
||||||
|
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
|
||||||
|
@ -29,8 +29,8 @@ import net.fabricmc.api.EnvType;
|
|||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.fabricmc.loader.api.ModContainer;
|
import net.fabricmc.loader.api.ModContainer;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import org.geysermc.connector.common.serializer.AsteriskSerializer;
|
import org.geysermc.geyser.dump.BootstrapDumpInfo;
|
||||||
import org.geysermc.connector.dump.BootstrapDumpInfo;
|
import org.geysermc.geyser.text.AsteriskSerializer;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -27,7 +27,7 @@ package org.geysermc.platform.fabric;
|
|||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.geysermc.connector.GeyserLogger;
|
import org.geysermc.geyser.GeyserLogger;
|
||||||
|
|
||||||
public class GeyserFabricLogger implements GeyserLogger {
|
public class GeyserFabricLogger implements GeyserLogger {
|
||||||
|
|
||||||
|
@ -35,19 +35,19 @@ import net.minecraft.server.MinecraftServer;
|
|||||||
import net.minecraft.server.command.ServerCommandSource;
|
import net.minecraft.server.command.ServerCommandSource;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.geysermc.common.PlatformType;
|
import org.geysermc.common.PlatformType;
|
||||||
import org.geysermc.connector.GeyserConnector;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
import org.geysermc.connector.GeyserLogger;
|
import org.geysermc.geyser.GeyserLogger;
|
||||||
import org.geysermc.connector.bootstrap.GeyserBootstrap;
|
import org.geysermc.geyser.command.CommandManager;
|
||||||
import org.geysermc.connector.command.CommandManager;
|
import org.geysermc.geyser.command.GeyserCommand;
|
||||||
import org.geysermc.connector.command.GeyserCommand;
|
import org.geysermc.geyser.dump.BootstrapDumpInfo;
|
||||||
import org.geysermc.connector.common.AuthType;
|
import org.geysermc.geyser.ping.GeyserLegacyPingPassthrough;
|
||||||
import org.geysermc.connector.configuration.GeyserConfiguration;
|
import org.geysermc.geyser.session.auth.AuthType;
|
||||||
import org.geysermc.connector.dump.BootstrapDumpInfo;
|
import org.geysermc.geyser.text.GeyserLocale;
|
||||||
import org.geysermc.connector.network.translators.world.WorldManager;
|
import org.geysermc.geyser.GeyserBootstrap;
|
||||||
import org.geysermc.connector.ping.GeyserLegacyPingPassthrough;
|
import org.geysermc.geyser.configuration.GeyserConfiguration;
|
||||||
import org.geysermc.connector.ping.IGeyserPingPassthrough;
|
import org.geysermc.geyser.level.WorldManager;
|
||||||
import org.geysermc.connector.utils.FileUtils;
|
import org.geysermc.geyser.ping.IGeyserPingPassthrough;
|
||||||
import org.geysermc.connector.utils.LanguageUtils;
|
import org.geysermc.geyser.util.FileUtils;
|
||||||
import org.geysermc.platform.fabric.command.GeyserFabricCommandExecutor;
|
import org.geysermc.platform.fabric.command.GeyserFabricCommandExecutor;
|
||||||
import org.geysermc.platform.fabric.command.GeyserFabricCommandManager;
|
import org.geysermc.platform.fabric.command.GeyserFabricCommandManager;
|
||||||
import org.geysermc.platform.fabric.world.GeyserFabricWorldManager;
|
import org.geysermc.platform.fabric.world.GeyserFabricWorldManager;
|
||||||
@ -65,7 +65,7 @@ public class GeyserFabricMod implements ModInitializer, GeyserBootstrap {
|
|||||||
|
|
||||||
private boolean reloading;
|
private boolean reloading;
|
||||||
|
|
||||||
private GeyserConnector connector;
|
private GeyserImpl connector;
|
||||||
private Path dataFolder;
|
private Path dataFolder;
|
||||||
private MinecraftServer server;
|
private MinecraftServer server;
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ public class GeyserFabricMod implements ModInitializer, GeyserBootstrap {
|
|||||||
File permissionsFile = fileOrCopiedFromResource(dataFolder.resolve("permissions.yml").toFile(), "permissions.yml");
|
File permissionsFile = fileOrCopiedFromResource(dataFolder.resolve("permissions.yml").toFile(), "permissions.yml");
|
||||||
this.playerCommands = Arrays.asList(FileUtils.loadConfig(permissionsFile, GeyserFabricPermissions.class).getCommands());
|
this.playerCommands = Arrays.asList(FileUtils.loadConfig(permissionsFile, GeyserFabricPermissions.class).getCommands());
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
LogManager.getLogger("geyser-fabric").error(LanguageUtils.getLocaleStringLog("geyser.config.failed"), ex);
|
LogManager.getLogger("geyser-fabric").error(GeyserLocale.getLocaleStringLog("geyser.config.failed"), ex);
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -152,7 +152,7 @@ public class GeyserFabricMod implements ModInitializer, GeyserBootstrap {
|
|||||||
Optional<ModContainer> floodgate = FabricLoader.getInstance().getModContainer("floodgate");
|
Optional<ModContainer> floodgate = FabricLoader.getInstance().getModContainer("floodgate");
|
||||||
boolean floodgatePresent = floodgate.isPresent();
|
boolean floodgatePresent = floodgate.isPresent();
|
||||||
if (geyserConfig.getRemote().getAuthType() == AuthType.FLOODGATE && !floodgatePresent) {
|
if (geyserConfig.getRemote().getAuthType() == AuthType.FLOODGATE && !floodgatePresent) {
|
||||||
geyserLogger.severe(LanguageUtils.getLocaleStringLog("geyser.bootstrap.floodgate.not_installed") + " " + LanguageUtils.getLocaleStringLog("geyser.bootstrap.floodgate.disabling"));
|
geyserLogger.severe(GeyserLocale.getLocaleStringLog("geyser.bootstrap.floodgate.not_installed") + " " + GeyserLocale.getLocaleStringLog("geyser.bootstrap.floodgate.disabling"));
|
||||||
return;
|
return;
|
||||||
} else if (geyserConfig.isAutoconfiguredRemote() && floodgatePresent) {
|
} else if (geyserConfig.isAutoconfiguredRemote() && floodgatePresent) {
|
||||||
// Floodgate installed means that the user wants Floodgate authentication
|
// Floodgate installed means that the user wants Floodgate authentication
|
||||||
@ -162,7 +162,7 @@ public class GeyserFabricMod implements ModInitializer, GeyserBootstrap {
|
|||||||
|
|
||||||
geyserConfig.loadFloodgate(this, floodgate.orElse(null));
|
geyserConfig.loadFloodgate(this, floodgate.orElse(null));
|
||||||
|
|
||||||
this.connector = GeyserConnector.start(PlatformType.FABRIC, this);
|
this.connector = GeyserImpl.start(PlatformType.FABRIC, this);
|
||||||
|
|
||||||
this.geyserPingPassthrough = GeyserLegacyPingPassthrough.init(connector);
|
this.geyserPingPassthrough = GeyserLegacyPingPassthrough.init(connector);
|
||||||
|
|
||||||
|
@ -28,9 +28,9 @@ package org.geysermc.platform.fabric.command;
|
|||||||
import net.minecraft.server.command.ServerCommandSource;
|
import net.minecraft.server.command.ServerCommandSource;
|
||||||
import net.minecraft.server.network.ServerPlayerEntity;
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
import net.minecraft.text.LiteralText;
|
import net.minecraft.text.LiteralText;
|
||||||
import org.geysermc.connector.GeyserConnector;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
import org.geysermc.connector.command.CommandSender;
|
import org.geysermc.geyser.command.CommandSender;
|
||||||
import org.geysermc.connector.common.ChatColor;
|
import org.geysermc.geyser.text.ChatColor;
|
||||||
import org.geysermc.platform.fabric.GeyserFabricMod;
|
import org.geysermc.platform.fabric.GeyserFabricMod;
|
||||||
|
|
||||||
public class FabricCommandSender implements CommandSender {
|
public class FabricCommandSender implements CommandSender {
|
||||||
@ -42,7 +42,7 @@ public class FabricCommandSender implements CommandSender {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getName() {
|
public String name() {
|
||||||
return source.getName();
|
return source.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ public class FabricCommandSender implements CommandSender {
|
|||||||
if (source.getEntity() instanceof ServerPlayerEntity) {
|
if (source.getEntity() instanceof ServerPlayerEntity) {
|
||||||
((ServerPlayerEntity) source.getEntity()).sendMessage(new LiteralText(message), false);
|
((ServerPlayerEntity) source.getEntity()).sendMessage(new LiteralText(message), false);
|
||||||
} else {
|
} else {
|
||||||
GeyserConnector.getInstance().getLogger().info(ChatColor.toANSI(message + ChatColor.RESET));
|
GeyserImpl.getInstance().getLogger().info(ChatColor.toANSI(message + ChatColor.RESET));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,12 +28,12 @@ package org.geysermc.platform.fabric.command;
|
|||||||
import com.mojang.brigadier.Command;
|
import com.mojang.brigadier.Command;
|
||||||
import com.mojang.brigadier.context.CommandContext;
|
import com.mojang.brigadier.context.CommandContext;
|
||||||
import net.minecraft.server.command.ServerCommandSource;
|
import net.minecraft.server.command.ServerCommandSource;
|
||||||
import org.geysermc.connector.GeyserConnector;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
import org.geysermc.connector.command.CommandExecutor;
|
import org.geysermc.geyser.command.CommandExecutor;
|
||||||
import org.geysermc.connector.command.GeyserCommand;
|
import org.geysermc.geyser.command.GeyserCommand;
|
||||||
import org.geysermc.connector.common.ChatColor;
|
import org.geysermc.geyser.session.GeyserSession;
|
||||||
import org.geysermc.connector.network.session.GeyserSession;
|
import org.geysermc.geyser.text.ChatColor;
|
||||||
import org.geysermc.connector.utils.LanguageUtils;
|
import org.geysermc.geyser.text.GeyserLocale;
|
||||||
import org.geysermc.platform.fabric.GeyserFabricMod;
|
import org.geysermc.platform.fabric.GeyserFabricMod;
|
||||||
import org.geysermc.platform.fabric.GeyserFabricPermissions;
|
import org.geysermc.platform.fabric.GeyserFabricPermissions;
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ public class GeyserFabricCommandExecutor extends CommandExecutor implements Comm
|
|||||||
*/
|
*/
|
||||||
private final boolean requiresPermission;
|
private final boolean requiresPermission;
|
||||||
|
|
||||||
public GeyserFabricCommandExecutor(GeyserConnector connector, GeyserCommand command, boolean requiresPermission) {
|
public GeyserFabricCommandExecutor(GeyserImpl connector, GeyserCommand command, boolean requiresPermission) {
|
||||||
super(connector);
|
super(connector);
|
||||||
this.command = command;
|
this.command = command;
|
||||||
this.requiresPermission = requiresPermission;
|
this.requiresPermission = requiresPermission;
|
||||||
@ -67,7 +67,7 @@ public class GeyserFabricCommandExecutor extends CommandExecutor implements Comm
|
|||||||
FabricCommandSender sender = new FabricCommandSender(source);
|
FabricCommandSender sender = new FabricCommandSender(source);
|
||||||
GeyserSession session = getGeyserSession(sender);
|
GeyserSession session = getGeyserSession(sender);
|
||||||
if (!canRun(source)) {
|
if (!canRun(source)) {
|
||||||
sender.sendMessage(LanguageUtils.getLocaleStringLog("geyser.bootstrap.command.permission_fail"));
|
sender.sendMessage(GeyserLocale.getLocaleStringLog("geyser.bootstrap.command.permission_fail"));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (this.command.getName().equals("reload")) {
|
if (this.command.getName().equals("reload")) {
|
||||||
@ -75,7 +75,7 @@ public class GeyserFabricCommandExecutor extends CommandExecutor implements Comm
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (command.isBedrockOnly() && session == null) {
|
if (command.isBedrockOnly() && session == null) {
|
||||||
sender.sendMessage(ChatColor.RED + LanguageUtils.getPlayerLocaleString("geyser.bootstrap.command.bedrock_only", sender.getLocale()));
|
sender.sendMessage(ChatColor.RED + GeyserLocale.getPlayerLocaleString("geyser.bootstrap.command.bedrock_only", sender.getLocale()));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
command.execute(session, sender, new String[0]);
|
command.execute(session, sender, new String[0]);
|
||||||
|
@ -25,12 +25,12 @@
|
|||||||
|
|
||||||
package org.geysermc.platform.fabric.command;
|
package org.geysermc.platform.fabric.command;
|
||||||
|
|
||||||
import org.geysermc.connector.GeyserConnector;
|
import org.geysermc.geyser.GeyserImpl;
|
||||||
import org.geysermc.connector.command.CommandManager;
|
import org.geysermc.geyser.command.CommandManager;
|
||||||
|
|
||||||
public class GeyserFabricCommandManager extends CommandManager {
|
public class GeyserFabricCommandManager extends CommandManager {
|
||||||
|
|
||||||
public GeyserFabricCommandManager(GeyserConnector connector) {
|
public GeyserFabricCommandManager(GeyserImpl connector) {
|
||||||
super(connector);
|
super(connector);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ import net.minecraft.server.MinecraftServer;
|
|||||||
import net.minecraft.server.integrated.IntegratedServer;
|
import net.minecraft.server.integrated.IntegratedServer;
|
||||||
import net.minecraft.text.LiteralText;
|
import net.minecraft.text.LiteralText;
|
||||||
import net.minecraft.world.GameMode;
|
import net.minecraft.world.GameMode;
|
||||||
import org.geysermc.connector.utils.LanguageUtils;
|
import org.geysermc.geyser.text.GeyserLocale;
|
||||||
import org.geysermc.platform.fabric.GeyserFabricMod;
|
import org.geysermc.platform.fabric.GeyserFabricMod;
|
||||||
import org.geysermc.platform.fabric.GeyserServerPortGetter;
|
import org.geysermc.platform.fabric.GeyserServerPortGetter;
|
||||||
import org.spongepowered.asm.mixin.Final;
|
import org.spongepowered.asm.mixin.Final;
|
||||||
@ -56,9 +56,9 @@ public class IntegratedServerMixin implements GeyserServerPortGetter {
|
|||||||
// If the LAN is opened, starts Geyser.
|
// If the LAN is opened, starts Geyser.
|
||||||
GeyserFabricMod.getInstance().startGeyser((MinecraftServer) (Object) this);
|
GeyserFabricMod.getInstance().startGeyser((MinecraftServer) (Object) this);
|
||||||
// Ensure player locale has been loaded, in case it's different from Java system language
|
// Ensure player locale has been loaded, in case it's different from Java system language
|
||||||
LanguageUtils.loadGeyserLocale(this.client.options.language);
|
GeyserLocale.loadGeyserLocale(this.client.options.language);
|
||||||
// Give indication that Geyser is loaded
|
// Give indication that Geyser is loaded
|
||||||
this.client.player.sendMessage(new LiteralText(LanguageUtils.getPlayerLocaleString("geyser.core.start",
|
this.client.player.sendMessage(new LiteralText(GeyserLocale.getPlayerLocaleString("geyser.core.start",
|
||||||
this.client.options.language, "localhost", String.valueOf(this.lanPort))), false);
|
this.client.options.language, "localhost", String.valueOf(this.lanPort))), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,10 +38,10 @@ import net.minecraft.item.WrittenBookItem;
|
|||||||
import net.minecraft.nbt.NbtList;
|
import net.minecraft.nbt.NbtList;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import org.geysermc.connector.network.session.GeyserSession;
|
import org.geysermc.geyser.level.GeyserWorldManager;
|
||||||
import org.geysermc.connector.network.translators.inventory.translators.LecternInventoryTranslator;
|
import org.geysermc.geyser.session.GeyserSession;
|
||||||
import org.geysermc.connector.network.translators.world.GeyserWorldManager;
|
import org.geysermc.geyser.translator.inventory.LecternInventoryTranslator;
|
||||||
import org.geysermc.connector.utils.BlockEntityUtils;
|
import org.geysermc.geyser.util.BlockEntityUtils;
|
||||||
import org.geysermc.platform.fabric.GeyserFabricMod;
|
import org.geysermc.platform.fabric.GeyserFabricMod;
|
||||||
import org.geysermc.platform.fabric.command.GeyserFabricCommandExecutor;
|
import org.geysermc.platform.fabric.command.GeyserFabricCommandExecutor;
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ public class GeyserFabricWorldManager extends GeyserWorldManager {
|
|||||||
};
|
};
|
||||||
if (isChunkLoad) {
|
if (isChunkLoad) {
|
||||||
// Hacky hacks to allow lectern loading to be delayed
|
// Hacky hacks to allow lectern loading to be delayed
|
||||||
session.getConnector().getGeneralThreadPool().schedule(() -> server.execute(lecternGet), 1, TimeUnit.SECONDS);
|
session.scheduleInEventLoop(() -> server.execute(lecternGet), 1, TimeUnit.SECONDS);
|
||||||
} else {
|
} else {
|
||||||
server.execute(lecternGet);
|
server.execute(lecternGet);
|
||||||
}
|
}
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren