Fix dimension switching (untested)

This commit is contained in:
s809
2024-08-03 15:42:43 +05:00
parent 93b57ae2e1
commit 9d11733444
2 changed files with 6 additions and 6 deletions
@@ -235,7 +235,7 @@ public class ClientApi
AbstractDhWorld world = SharedApi.getAbstractDhWorld();
if (world != null)
{
if (!this.pluginChannelApi.allowLevelAutoload())
if (!this.pluginChannelApi.allowLevelLoading(level))
{
LOGGER.info("Levels in this connection are managed by the server, skipping auto-load.");
@@ -27,24 +27,24 @@ public class ClientPluginChannelApi
private static final IMinecraftClientWrapper MC = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class);
private static final IKeyedClientLevelManager KEYED_CLIENT_LEVEL_MANAGER = SingletonInjector.INSTANCE.get(IKeyedClientLevelManager.class);
private final Consumer<IServerKeyedClientLevel> levelLoadHandler;
private final Consumer<IClientLevelWrapper> levelUnloadHandler;
private final Consumer<IServerKeyedClientLevel> multiverseLevelLoadHandler;
@Nullable
public Session session;
public boolean allowLevelAutoload()
public boolean allowLevelLoading(IClientLevelWrapper level)
{
return (KEYED_CLIENT_LEVEL_MANAGER.isEnabled() && KEYED_CLIENT_LEVEL_MANAGER.getServerKeyedLevel() != null)
return (KEYED_CLIENT_LEVEL_MANAGER.isEnabled() && level instanceof IServerKeyedClientLevel)
|| !KEYED_CLIENT_LEVEL_MANAGER.isEnabled();
}
public ClientPluginChannelApi(Consumer<IServerKeyedClientLevel> levelLoadHandler, Consumer<IClientLevelWrapper> levelUnloadHandler)
{
this.levelLoadHandler = levelLoadHandler;
this.levelUnloadHandler = levelUnloadHandler;
this.multiverseLevelLoadHandler = levelLoadHandler;
}
public void onJoin(@NonNull Session session)
@@ -90,7 +90,7 @@ public class ClientPluginChannelApi
{
LOGGER.info("Loading level with key: " + msg.levelKey);
IServerKeyedClientLevel keyedLevel = KEYED_CLIENT_LEVEL_MANAGER.setServerKeyedLevel(clientLevel, msg.levelKey);
this.multiverseLevelLoadHandler.accept(keyedLevel);
this.levelLoadHandler.accept(keyedLevel);
}
});
}