add max render count and radius config

This commit is contained in:
ABKQPO committed 2026-10-15 19:52:21 +08:00
1 parent 9672d40b34
commit f31de65a1d
3 files changed
+52

No files matched your search

@@ -28,7 +28,10 @@ public enum ConfigurationHandler {
private Configuration config;
private int maxCoexistingHologram;
private int maxRenderRadius;
private int maxRenderCount;
private boolean removeCollidingHologram;
private boolean skipCorrectlyPlacedHints;
private int hintLifespan;
private int hintTransparency;
private int autoPlaceBudget;
@@ -64,6 +67,31 @@ public enum ConfigurationHandler {
1,
100,
"An attempt will be made to prune old holograms when a new hologram is about to be projected");
maxRenderRadius = config.getInt(
"maxRenderRadius",
"client.hologram",
512,
1,
Integer.MAX_VALUE,
"Maximum distance from the client player at which projected blocks are kept and rendered.");
maxRenderCount = config.getInt(
"maxRenderCount",
"client.hologram",
1_000_000,
1,
Integer.MAX_VALUE,
"Maximum number of projected blocks kept for rendering across all holograms.\n"
+ "Blocks that are already placed correctly are not projected and do not count towards this.\n"
+ "When a hologram exceeds this, the blocks nearest to the player are the ones kept.");
skipCorrectlyPlacedHints = config.getBoolean(
"skipCorrectlyPlaced",
"client.hologram",
true,
"Do not project a block that is already placed correctly, so the render budget is spent on the blocks\n"
+ "that are actually still missing.\n"
+ "This needs each structure element to be checked while the hologram is built. Elements are\n"
+ "not strictly required to have a side effect free check, so turn this off if a multiblock\n"
+ "misbehaves while being projected.");
removeCollidingHologram = config.getBoolean(
"removeColliding",
"client.hologram",
@@ -156,10 +184,22 @@ public enum ConfigurationHandler {
return maxCoexistingHologram;
}
public int getMaxRenderRadius() {
return maxRenderRadius;
}
public int getMaxRenderCount() {
return maxRenderCount;
}
public boolean isRemoveCollidingHologram() {
return removeCollidingHologram;
}
public boolean isSkipCorrectlyPlacedHints() {
return skipCorrectlyPlacedHints;
}
public int getHintLifespan() {
return hintLifespan;
}
@@ -187,6 +187,12 @@ structurelib.config.client.hologram.maxCoexisting=Max Coexisting Holograms
structurelib.config.client.hologram.maxCoexisting.tooltip=Number of holograms that can coexist. Usually all hints generated by one right click belongs to one hologram. An attempt will be made to prune old holograms when a new hologram is about to be projected and this limit would be exceeded.
structurelib.config.client.hologram.removeColliding=Remove Colliding Holograms
structurelib.config.client.hologram.removeColliding.tooltip=Whether an attempt will be made to remove any existing hologram that collides with a new hologram.
structurelib.config.client.hologram.maxRenderRadius=Maximum Hologram Render Radius
structurelib.config.client.hologram.maxRenderRadius.tooltip=Maximum distance from the player at which projected blocks are kept and rendered.
structurelib.config.client.hologram.maxRenderCount=Maximum Hologram Render Count
structurelib.config.client.hologram.maxRenderCount.tooltip=Maximum number of projected blocks kept for rendering across all holograms. Blocks that are already placed correctly are not projected and do not count towards this limit. When a hologram exceeds this limit, the blocks nearest to the player are the ones kept.
structurelib.config.client.hologram.skipCorrectlyPlaced=Skip Correctly Placed Blocks
structurelib.config.client.hologram.skipCorrectlyPlaced.tooltip=Do not project a block that is already placed correctly, so the render budget is spent on the blocks that are actually still missing. This requires each structure element to be checked while the hologram is built. Elements are not strictly required to have a side effect free check, so turn this off if a multiblock misbehaves while being projected.
structurelib.config.registries=Sorted Registries
structurelib.config.registries.tooltip=Sorted Registry is how StructureLib internally keep track of certain features. Each individual elements may be reordered, disabled and enabled at user's command. Changes will be synced to server if needed.\nThis gui can also be accessed in game by shift right clicking air with Multiblock Structure Hologram Projector.
@@ -181,6 +181,12 @@ structurelib.config.client.hologram.maxCoexisting=最多可以同时存在的全
structurelib.config.client.hologram.maxCoexisting.tooltip=这决定最多可以同时存在多少台机器的全息投影。一般一次使用全息投影仪右键生成的所有机器结构细节被视为一个全息投影。当同时存在多个全息投影,并超过此数量时,再次使用全息投影仪会移除旧有的全息投影。
structurelib.config.client.hologram.removeColliding=移除冲突的全息投影
structurelib.config.client.hologram.removeColliding.tooltip=当新的全息投影与已存在的全息投影冲突时,开启此选项时会移除已存在的全息投影。
structurelib.config.client.hologram.maxRenderRadius=全息投影最大渲染半径
structurelib.config.client.hologram.maxRenderRadius.tooltip=只保留并渲染玩家指定距离内的投影方块。
structurelib.config.client.hologram.maxRenderCount=全息投影最大渲染数量
structurelib.config.client.hologram.maxRenderCount.tooltip=所有全息投影合计保留并渲染的投影方块数量上限。已正确放置的方块不会被投影,也不计入此上限。当全息投影超过此上限时,优先保留离玩家最近的方块。
structurelib.config.client.hologram.skipCorrectlyPlaced=跳过已正确放置的方块
structurelib.config.client.hologram.skipCorrectlyPlaced.tooltip=不再投影已经正确放置的方块,从而把渲染额度全部用在真正缺失的方块上。这需要在生成全息投影时检查每一个结构元素。结构元素并不强制要求其检查无副作用,因此若某个多方块在投影时出现异常,可关闭此选项。
structurelib.config.registries=注册表
structurelib.config.registries.tooltip=StructureLib 使用注册表来管理其部分功能。每个注册表中的每一个元素都可以被单独排序、禁用。需要时,注册表的内容将被同步至服务端。