Hide non-rendering levels in the F3 screen
This commit is contained in:
@@ -1158,6 +1158,11 @@ public class Config
|
||||
.comment("Shows what levels are loaded and world gen/rendering info about those levels.")
|
||||
.build();
|
||||
|
||||
public static ConfigEntry<Boolean> onlyShowRenderingLevels = new ConfigEntry.Builder<Boolean>()
|
||||
.set(true)
|
||||
.comment("Only show levels that DH is actively rendering.")
|
||||
.build();
|
||||
|
||||
}
|
||||
|
||||
/** This class is used to debug the different features of the config GUI */
|
||||
|
||||
@@ -96,6 +96,7 @@ public class DhClientLevel extends AbstractDhLevel implements IDhClientLevel
|
||||
//=============//
|
||||
// constructor //
|
||||
//=============//
|
||||
//region
|
||||
|
||||
public DhClientLevel(
|
||||
ISaveStructure saveStructure,
|
||||
@@ -205,11 +206,14 @@ public class DhClientLevel extends AbstractDhLevel implements IDhClientLevel
|
||||
});
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//==============//
|
||||
// tick methods //
|
||||
//==============//
|
||||
//region
|
||||
|
||||
@Override
|
||||
public void clientTick()
|
||||
@@ -250,11 +254,14 @@ public class DhClientLevel extends AbstractDhLevel implements IDhClientLevel
|
||||
@Override
|
||||
public DhBlockPos2D getTargetPosForGeneration() { return new DhBlockPos2D(MC_CLIENT.getPlayerBlockPos()); }
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//===========//
|
||||
// world gen //
|
||||
//===========//
|
||||
//region
|
||||
|
||||
@Override
|
||||
public void onWorldGenTaskComplete(long pos)
|
||||
@@ -262,11 +269,14 @@ public class DhClientLevel extends AbstractDhLevel implements IDhClientLevel
|
||||
this.clientside.reloadPos(pos);
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//=========//
|
||||
// getters //
|
||||
//=========//
|
||||
//region
|
||||
|
||||
@Override
|
||||
public IClientLevelWrapper getClientLevelWrapper() { return this.levelWrapper; }
|
||||
@@ -296,6 +306,9 @@ public class DhClientLevel extends AbstractDhLevel implements IDhClientLevel
|
||||
return (renderState != null) ? renderState.renderBufferHandler : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRendering() { return this.clientside.isRendering(); }
|
||||
|
||||
public boolean shouldProcessChunkUpdate(DhChunkPos chunkPos)
|
||||
{
|
||||
if (this.networkState == null || !this.networkState.isReady())
|
||||
@@ -306,11 +319,14 @@ public class DhClientLevel extends AbstractDhLevel implements IDhClientLevel
|
||||
return !this.networkState.sessionConfig.isRealTimeUpdatesEnabled() || this.loadedOnceChunks.add(chunkPos);
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//===========//
|
||||
// debugging //
|
||||
//===========//
|
||||
//region
|
||||
|
||||
@Override
|
||||
public void addDebugMenuStringsToList(List<String> messageList)
|
||||
@@ -342,11 +358,14 @@ public class DhClientLevel extends AbstractDhLevel implements IDhClientLevel
|
||||
}
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//================//
|
||||
// base overrides //
|
||||
//================//
|
||||
//region
|
||||
|
||||
@Override
|
||||
public String toString() { return "DhClientLevel{" + this.getClientLevelWrapper().getDhIdentifier() + "}"; }
|
||||
@@ -371,11 +390,14 @@ public class DhClientLevel extends AbstractDhLevel implements IDhClientLevel
|
||||
LOGGER.info("Closed [" + DhClientLevel.class.getSimpleName() + "] for [" + this.levelWrapper + "]");
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//================//
|
||||
// helper classes //
|
||||
//================//
|
||||
//region
|
||||
|
||||
private static class LodRequestState extends LodRequestModule.AbstractLodRequestState
|
||||
{
|
||||
@@ -385,4 +407,8 @@ public class DhClientLevel extends AbstractDhLevel implements IDhClientLevel
|
||||
}
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -50,6 +50,7 @@ public class DhClientServerLevel extends AbstractDhServerLevel implements IDhCli
|
||||
//=============//
|
||||
// constructor //
|
||||
//=============//
|
||||
//region
|
||||
|
||||
public DhClientServerLevel(
|
||||
ISaveStructure saveStructure,
|
||||
@@ -64,30 +65,42 @@ public class DhClientServerLevel extends AbstractDhServerLevel implements IDhCli
|
||||
this.runRepoReliantSetup();
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//==============//
|
||||
// tick methods //
|
||||
//==============//
|
||||
//region
|
||||
|
||||
@Override
|
||||
public void clientTick() { this.clientside.clientTick(); }
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//========//
|
||||
// render //
|
||||
//========//
|
||||
//region
|
||||
|
||||
public void startRenderer() { this.clientside.startRenderer(); }
|
||||
|
||||
public void stopRenderer() { this.clientside.stopRenderer(); }
|
||||
|
||||
@Override
|
||||
public boolean isRendering() { return this.clientside.isRendering(); }
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//================//
|
||||
// level handling //
|
||||
//================//
|
||||
//region
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
@@ -96,11 +109,14 @@ public class DhClientServerLevel extends AbstractDhServerLevel implements IDhCli
|
||||
@Override
|
||||
public void clearRenderCache() { this.clientside.clearRenderCache(); }
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//===========//
|
||||
// debugging //
|
||||
//===========//
|
||||
//region
|
||||
|
||||
@Override
|
||||
public void addDebugMenuStringsToList(List<String> messageList)
|
||||
@@ -130,11 +146,14 @@ public class DhClientServerLevel extends AbstractDhServerLevel implements IDhCli
|
||||
return (renderState != null) ? renderState.renderBufferHandler : null;
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//===============//
|
||||
// data handling //
|
||||
//===============//
|
||||
//region
|
||||
|
||||
@Override
|
||||
public void onWorldGenTaskComplete(long pos)
|
||||
@@ -143,11 +162,14 @@ public class DhClientServerLevel extends AbstractDhServerLevel implements IDhCli
|
||||
this.clientside.reloadPos(pos);
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
//================//
|
||||
// base overrides //
|
||||
//================//
|
||||
//region
|
||||
|
||||
@Override
|
||||
public String toString() { return "DhClientServerLevel{"+this.serverLevelWrapper.getKeyedLevelDimensionName()+"}"; }
|
||||
@@ -161,4 +183,8 @@ public class DhClientServerLevel extends AbstractDhServerLevel implements IDhCli
|
||||
LOGGER.info("Closed " + this.getClass().getSimpleName() + " for " + this.getServerLevelWrapper());
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
package com.seibel.distanthorizons.core.level;
|
||||
|
||||
import com.seibel.distanthorizons.core.logging.f3.F3Screen;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -39,4 +40,12 @@ public interface IDhClientLevel extends IDhLevel
|
||||
*/
|
||||
void clearRenderCache();
|
||||
|
||||
/**
|
||||
* returns true if this level is currently rendering. <br>
|
||||
* Designed for use for debugging and the {@link F3Screen}.
|
||||
*/
|
||||
boolean isRendering();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.seibel.distanthorizons.core.config.Config;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.core.enums.MinecraftTextFormat;
|
||||
import com.seibel.distanthorizons.core.jar.ModJarInfo;
|
||||
import com.seibel.distanthorizons.core.level.IDhClientLevel;
|
||||
import com.seibel.distanthorizons.core.level.IDhLevel;
|
||||
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
|
||||
import com.seibel.distanthorizons.core.util.objects.pooling.PhantomArrayListPool;
|
||||
@@ -171,7 +172,23 @@ public class F3Screen
|
||||
messageList.add("");
|
||||
for (IDhLevel level : levelIterator)
|
||||
{
|
||||
// skip non-rendering levels if requested
|
||||
if (Config.Client.Advanced.Debugging.F3Screen.onlyShowRenderingLevels.get())
|
||||
{
|
||||
if (level instanceof IDhClientLevel)
|
||||
{
|
||||
IDhClientLevel clientLevel = (IDhClientLevel) level;
|
||||
if (!clientLevel.isRendering())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
level.addDebugMenuStringsToList(messageList);
|
||||
|
||||
// LOD rendering
|
||||
RenderBufferHandler renderBufferHandler = level.getRenderBufferHandler();
|
||||
if (renderBufferHandler != null)
|
||||
@@ -183,6 +200,7 @@ public class F3Screen
|
||||
messageList.add(showPassString);
|
||||
}
|
||||
}
|
||||
|
||||
// Generic rendering
|
||||
GenericObjectRenderer genericRenderer = level.getGenericRenderer();
|
||||
if (genericRenderer != null)
|
||||
|
||||
@@ -569,6 +569,8 @@
|
||||
"Show Queued Chunk Update Count",
|
||||
"distanthorizons.config.client.advanced.debugging.f3Screen.showLevelStatus":
|
||||
"Show Level Status",
|
||||
"distanthorizons.config.client.advanced.debugging.f3Screen.onlyShowRenderingLevels":
|
||||
"Only Show Rendering Levels",
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user