This commit is contained in:
James Seibel
2023-02-25 21:33:54 -06:00
parent ad36204dfb
commit 221d011b48
3 changed files with 28 additions and 29 deletions
@@ -117,22 +117,13 @@ public class MinecraftClientWrapper implements IMinecraftClientWrapper, IMinecra
}
@Override
public boolean hasSinglePlayerServer()
{
return mc.hasSingleplayerServer();
}
public boolean hasSinglePlayerServer() { return mc.hasSingleplayerServer(); }
@Override
public String getCurrentServerName()
{
return mc.getCurrentServer().name;
}
public String getCurrentServerName() { return mc.getCurrentServer().name; }
@Override
public String getCurrentServerIp()
{
return mc.getCurrentServer().ip;
}
public String getCurrentServerIp() { return mc.getCurrentServer().ip; }
@Override
public String getCurrentServerVersion()
@@ -54,10 +54,10 @@ import org.jetbrains.annotations.Nullable;
*/
public class ServerLevelWrapper implements IServerLevelWrapper
{
private static final Logger LOGGER = DhLoggerBuilder.getLogger(ServerLevelWrapper.class.getSimpleName());
private static final Logger LOGGER = DhLoggerBuilder.getLogger();
private static final ConcurrentHashMap<ServerLevel, ServerLevelWrapper>
levelWrapperMap = new ConcurrentHashMap<>();
public static ServerLevelWrapper getWrapper(ServerLevel level)
{
return levelWrapperMap.computeIfAbsent(level, ServerLevelWrapper::new);
@@ -66,12 +66,14 @@ public class ServerLevelWrapper implements IServerLevelWrapper
{
levelWrapperMap.remove(level);
}
public static void cleanCheck() {
if (!levelWrapperMap.isEmpty()) {
LOGGER.warn("{} server levels havn't been freed!", levelWrapperMap.size());
levelWrapperMap.clear();
}
}
public static void cleanCheck()
{
if (!levelWrapperMap.isEmpty())
{
LOGGER.warn(levelWrapperMap.size()+" server levels haven't been freed!");
levelWrapperMap.clear();
}
}
final ServerLevel level;
ServerBlockDetailMap blockMap = new ServerBlockDetailMap(this);
@@ -82,15 +84,19 @@ public class ServerLevelWrapper implements IServerLevelWrapper
}
@Nullable
@Override
public IClientLevelWrapper tryGetClientSideWrapper() {
try {
MinecraftClientWrapper client = MinecraftClientWrapper.INSTANCE;
return ClientLevelWrapper.getWrapper(client.mc.level);
} catch (Exception e) {
LOGGER.error("Failed to get client side wrapper for server level {}.", level);
return null;
}
}
public IClientLevelWrapper tryGetClientLevelWrapper()
{
try
{
MinecraftClientWrapper client = MinecraftClientWrapper.INSTANCE;
return ClientLevelWrapper.getWrapper(client.mc.level);
}
catch (Exception e)
{
LOGGER.error("Failed to get client side wrapper for server level "+level+".");
return null;
}
}
@Override
public File getSaveFolder()
@@ -116,9 +116,11 @@ public class FabricServerProxy
{
ILevelWrapper level = getServerLevelWrapper((ServerLevel) chunk.getLevel());
if (isValidTime())
{
ServerApi.INSTANCE.serverChunkLoadEvent(
new ChunkWrapper(chunk, chunk.getLevel(), level),
level);
}
});
// ServerChunkSaveEvent - Done in MixinChunkMap
}