Skip to content

Commit bda5b18

Browse files
committed
fplib 1.5.0 configs
1 parent a99f656 commit bda5b18

20 files changed

Lines changed: 360 additions & 272 deletions

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ repositories {
7171
}
7272

7373
dependencies {
74-
implementationSplit("com.falsepattern:falsepatternlib-mc1.7.10:1.4.7")
74+
implementationSplit("com.falsepattern:falsepatternlib-mc1.7.10:1.5.0")
7575
implementation("org.joml:joml:1.10.5")
7676
implementation("it.unimi.dsi:fastutil:8.5.13")
7777

src/main/java/com/falsepattern/falsetweaks/api/Modules.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
public final class Modules {
3333
@StableAPI.Expose
3434
public static boolean startupOptimizationsActive() {
35-
return ModuleConfig.STARTUP_OPTIMIZATIONS_V2;
35+
return ModuleConfig.STARTUP_OPTIMIZATIONS;
3636
}
3737

3838
@StableAPI.Expose

src/main/java/com/falsepattern/falsetweaks/config/DynamicLightsConfig.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,31 @@
2727
import com.falsepattern.lib.config.Config;
2828
import com.falsepattern.lib.config.ConfigurationManager;
2929

30+
@Config.Comment("Dynamic hand and entity lights")
3031
@Config(modid = Tags.MOD_ID,
31-
category = "dynamiclights")
32+
category = "dynamic_lights",
33+
categoryMigrations = "dynamiclights")
34+
@Config.LangKey
3235
public class DynamicLightsConfig {
36+
3337
@Config.Comment("Enable/disable dynamic lights without restarting the game")
34-
@Config.LangKey("config.falsetweaks.dynlights.state")
38+
@Config.LangKey
39+
@Config.Name(value = "state", migrations = "")
3540
@Config.DefaultEnum("Fast")
3641
public static DynamicLightsState STATE;
42+
3743
@Config.Comment("Should items/blocks held by the player emit light?")
38-
@Config.LangKey("config.falsetweaks.dynlights.hand_light")
44+
@Config.LangKey
45+
@Config.Name(value = "handLight", migrations = "")
3946
@Config.DefaultBoolean(true)
4047
public static boolean DYNAMIC_HAND_LIGHT;
48+
4149
@Config.Comment("Set this to false if you want to make dynamic lights diamond-shaped, like block lights.")
42-
@Config.LangKey("config.falsetweaks.dynlights.circular")
50+
@Config.LangKey
51+
@Config.Name(value = "circular", migrations = "")
4352
@Config.DefaultBoolean(true)
4453
public static boolean CIRCULAR;
54+
4555
static {
4656
ConfigurationManager.selfInit();
4757
}

src/main/java/com/falsepattern/falsetweaks/config/FalseTweaksGuiConfig.java

Lines changed: 17 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -26,70 +26,49 @@
2626
import com.falsepattern.falsetweaks.Compat;
2727
import com.falsepattern.falsetweaks.Tags;
2828
import com.falsepattern.lib.config.ConfigException;
29-
import com.falsepattern.lib.config.ConfigurationManager;
29+
import com.falsepattern.lib.config.SimpleGuiConfig;
3030
import lombok.val;
3131

3232
import net.minecraft.client.gui.GuiScreen;
33-
import net.minecraft.client.resources.I18n;
34-
35-
import cpw.mods.fml.client.config.DummyConfigElement;
36-
import cpw.mods.fml.client.config.DummyConfigElement.DummyCategoryElement;
37-
import cpw.mods.fml.client.config.GuiConfig;
38-
import cpw.mods.fml.client.config.IConfigElement;
3933

4034
import java.util.ArrayList;
41-
import java.util.Collections;
42-
import java.util.List;
4335

44-
public class FalseTweaksGuiConfig extends GuiConfig {
36+
public class FalseTweaksGuiConfig extends SimpleGuiConfig {
4537
public FalseTweaksGuiConfig(GuiScreen parent) throws ConfigException {
46-
super(parent,
47-
getConfigElements(),
48-
Tags.MOD_ID,
49-
false,
50-
false,
51-
Tags.MOD_NAME + " Configuration"
52-
);
38+
super(parent, Tags.MOD_ID, Tags.MOD_NAME, getConfigClasses());
5339
}
5440

55-
@SuppressWarnings({"rawtypes"})
56-
private static List<IConfigElement> getConfigElements() throws ConfigException {
57-
val result = new ArrayList<IConfigElement>();
41+
private static Class<?>[] getConfigClasses() {
42+
val result = new ArrayList<Class<?>>();
43+
result.add(ModuleConfig.class);
5844
if (Compat.dynamicLightsPresent()) {
59-
result.add(category("dynlights", DynamicLightsConfig.class));
45+
result.add(DynamicLightsConfig.class);
6046
}
6147
if (ModuleConfig.TRIANGULATOR()) {
62-
result.add(category("triangulator", TriangulatorConfig.class));
48+
result.add(TriangulatorConfig.class);
6349
}
6450
if (ModuleConfig.ITEM_RENDER_LISTS) {
65-
result.add(category("item_render_lists", RenderListConfig.class));
51+
result.add(RenderListConfig.class);
6652
}
6753
if (ModuleConfig.VOXELIZER) {
68-
result.add(category("voxelizer", VoxelizerConfig.class));
54+
result.add(VoxelizerConfig.class);
6955
}
7056
if (ModuleConfig.ADVANCED_PROFILER) {
71-
result.add(category("profiler", ProfilerConfig.class));
57+
result.add(ProfilerConfig.class);
7258
}
7359
if (ModuleConfig.BLOCK_LAYER_TRANSPARENCY_FIX) {
74-
result.add(category("translucent_block_layers_fix", TranslucentBlockLayersConfig.class));
60+
result.add(TranslucentBlockLayersConfig.class);
7561
}
7662
if (ModuleConfig.THREADED_CHUNK_UPDATES()) {
77-
result.add(category("occlusion", OcclusionConfig.class));
78-
result.add(category("threading", ThreadingConfig.class));
63+
result.add(OcclusionConfig.class);
64+
result.add(ThreadingConfig.class);
7965
}
8066
if (ModuleConfig.RENDERING_SAFETY) {
81-
result.add(category("rendering_safety", RenderingSafetyConfig.class));
67+
result.add(RenderingSafetyConfig.class);
8268
}
8369
if (ModuleConfig.OPTIFINE_LOGSPAM_FIX && Compat.optiFineHasShaders()) {
84-
result.add(category("optispam", OptiSpamConfig.class));
70+
result.add(OptiSpamConfig.class);
8571
}
86-
return result;
87-
}
88-
89-
@SuppressWarnings({"rawtypes", "unchecked"})
90-
private static IConfigElement category(String name, Class<?> klass) throws ConfigException {
91-
return new DummyCategoryElement(name,
92-
"config.falsetweaks." + name + ".category",
93-
ConfigurationManager.getConfigElementsMulti(klass));
72+
return result.toArray(new Class<?>[0]);
9473
}
9574
}

src/main/java/com/falsepattern/falsetweaks/config/ModuleConfig.java

Lines changed: 49 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,30 @@
2727
import com.falsepattern.lib.config.Config;
2828
import com.falsepattern.lib.config.ConfigurationManager;
2929

30+
@Config.Comment("Toggles for all FalseTweaks modules")
3031
@Config(modid = Tags.MOD_ID,
3132
category = "00_modules")
33+
@Config.LangKey
3234
@Config.RequiresMcRestart
3335
public class ModuleConfig {
3436
@Config.Comment({
3537
"Optimizes the way forge scans the classpath during launch.",
3638
"Not compatible with some badly-written mods.",
3739
"FPS impact: None, but makes startup a bit faster"
3840
})
41+
@Config.LangKey
42+
@Config.Name(value = "startupOptimizations", migrations = "STARTUP_OPTIMIZATIONS_V2")
3943
@Config.DefaultBoolean(false)
40-
public static boolean STARTUP_OPTIMIZATIONS_V2;
44+
public static boolean STARTUP_OPTIMIZATIONS;
4145

4246
@Config.Comment({
4347
"Enable/Disable texture optimizations. This includes:",
4448
"- Multithreaded animated textures",
4549
"- Faster texture atlas packing during startup",
4650
"FPS impact: Reduced stuttering in heavily modded packs"
4751
})
52+
@Config.LangKey
53+
@Config.Name(value = "textureOptimizations", migrations = "")
4854
@Config.DefaultBoolean(true)
4955
public static boolean TEXTURE_OPTIMIZATIONS;
5056

@@ -53,6 +59,8 @@ public class ModuleConfig {
5359
"an experimental feature.",
5460
"Also includes the 3D rails."
5561
})
62+
@Config.LangKey("config.falsetweaks.voxelizer")
63+
@Config.Name(value = "voxelizer", migrations = "")
5664
@Config.DefaultBoolean(true)
5765
public static boolean VOXELIZER;
5866

@@ -63,6 +71,8 @@ public class ModuleConfig {
6371
"property to false in the triangulator category.",
6472
"FPS impact: Tiny performance decrease, but smooth lighting will look way better."
6573
})
74+
@Config.LangKey("config.falsetweaks.triangulator")
75+
@Config.Name(value = "triangulator", migrations = "")
6676
@Config.DefaultBoolean(true)
6777
public static boolean TRIANGULATOR;
6878

@@ -71,6 +81,8 @@ public class ModuleConfig {
7181
"Force-enables TRIANGULATOR.",
7282
"FPS impact: A little bit less stuttering when moving around with a lot of stained glass-like blocks around"
7383
})
84+
@Config.LangKey
85+
@Config.Name(value = "bspSorting", migrations = "")
7486
@Config.DefaultBoolean(true)
7587
public static boolean BSP_SORTING;
7688

@@ -81,10 +93,14 @@ public class ModuleConfig {
8193
"(same things that chunks use) to minimize the amount of work done by the cpu for every single item.",
8294
"FPS impact: Decent improvement with lots of items on ground"
8395
})
96+
@Config.LangKey("config.falsetweaks.item_render_lists")
97+
@Config.Name(value = "itemRenderLists", migrations = "")
8498
@Config.DefaultBoolean(true)
8599
public static boolean ITEM_RENDER_LISTS;
86100

87101
@Config.Comment("Disables the Realms button on the main menu.")
102+
@Config.LangKey
103+
@Config.Name(value = "noRealmsOnMenu", migrations = "")
88104
@Config.DefaultBoolean(true)
89105
public static boolean NO_REALMS_ON_MENU;
90106

@@ -93,6 +109,8 @@ public class ModuleConfig {
93109
"you can toggle said optimization here.",
94110
"FPS impact: Tiny improvement near beacons"
95111
})
112+
@Config.LangKey
113+
@Config.Name(value = "beaconOptimization", migrations = "")
96114
@Config.DefaultBoolean(true)
97115
public static boolean BEACON_OPTIMIZATION;
98116

@@ -101,6 +119,8 @@ public class ModuleConfig {
101119
"actually BEHIND the transparent part. Sorting the tile entities before rendering fixes this bug.",
102120
"FPS impact: Slight decrease"
103121
})
122+
@Config.LangKey
123+
@Config.Name(value = "tileEntityTransparencyFix", migrations = "")
104124
@Config.DefaultBoolean(false)
105125
public static boolean TE_TRANSPARENCY_FIX;
106126

@@ -110,17 +130,20 @@ public class ModuleConfig {
110130
"at the cost of far away geometry sometimes rendering on top of opaque geometry. (>100~ blocks)",
111131
"FPS impact: Unknown"
112132
})
133+
@Config.LangKey("config.falsetweaks.translucent_block_layers_fix")
134+
@Config.Name(value = "translucentBlockLayersFix", migrations = "")
113135
@Config.DefaultBoolean(false)
114136
public static boolean BLOCK_LAYER_TRANSPARENCY_FIX;
115137

116-
@Config.Comment("Particle water transparency fix")
138+
@Config.Comment("Fixes layering issues with particles always rendering behind water.")
139+
@Config.LangKey
140+
@Config.Name(value = "particleTransparencyFix", migrations = "")
117141
@Config.DefaultBoolean(true)
118142
public static boolean PARTICLE_TRANSPARENCY_FIX;
119143

120-
@Config.Comment({
121-
"3D particles (experimental)",
122-
"FPS impact: Unknown"
123-
})
144+
@Config.Comment("3D block breaking particles")
145+
@Config.LangKey
146+
@Config.Name(value = "cubicParticles", migrations = "")
124147
@Config.DefaultBoolean(false)
125148
public static boolean CUBIC_PARTICLES;
126149

@@ -130,6 +153,8 @@ public class ModuleConfig {
130153
"2. Replaces the mipmap generation with a multithreaded system, which scales with the number of cores in your system.",
131154
"FPS impact: none, but resource pack reload times (and startup time) are cut down by a lot"
132155
})
156+
@Config.LangKey
157+
@Config.Name(value = "mipmapFix", migrations = "")
133158
@Config.DefaultBoolean(true)
134159
public static boolean MIPMAP_FIX;
135160

@@ -138,6 +163,8 @@ public class ModuleConfig {
138163
"Also check the profiler config category!",
139164
"FPS impact: Slightly faster profiler"
140165
})
166+
@Config.LangKey("config.falsetweaks.profiler")
167+
@Config.Name(value = "advancedProfiler", migrations = "")
141168
@Config.DefaultBoolean(true)
142169
public static boolean ADVANCED_PROFILER;
143170

@@ -148,6 +175,8 @@ public class ModuleConfig {
148175
"COMPATIBLE WITH OPTIFINE AND SHADERS",
149176
"FPS impact: Significant FPS and world rendering speed gains. Even higher with Neodymium installed."
150177
})
178+
@Config.LangKey("config.falsetweaks.threading")
179+
@Config.Name(value = "threadedChunkUpdates", migrations = "")
151180
@Config.DefaultBoolean(false)
152181
@Config.RequiresMcRestart
153182
public static boolean THREADED_CHUNK_UPDATES;
@@ -158,6 +187,8 @@ public class ModuleConfig {
158187
"Implicitly enabled when OptiFine is installed for compatibility.",
159188
"See the dynamiclights config entry for more configs.",
160189
})
190+
@Config.LangKey("config.falsetweaks.dynamic_lights")
191+
@Config.Name(value = "dynamicLights", migrations = "")
161192
@Config.DefaultBoolean(true)
162193
@Config.RequiresMcRestart
163194
public static boolean DYNAMIC_LIGHTS;
@@ -166,16 +197,22 @@ public class ModuleConfig {
166197
"Replaces the renderer chunk cache with a more efficient version.",
167198
"FPS impact: Faster chunk rendering"
168199
})
200+
@Config.LangKey
201+
@Config.Name(value = "fasterChunkCache", migrations = "")
169202
@Config.DefaultBoolean(true)
170203
@Config.RequiresMcRestart
171204
public static boolean FASTER_CHUNK_CACHE;
172205

173206
@Config.Comment("Wraps block renderer code and tile entity renderer code in extra opengl state guards.")
207+
@Config.LangKey
208+
@Config.Name(value = "renderingSafety", migrations = "")
174209
@Config.DefaultBoolean(true)
175210
@Config.RequiresMcRestart
176211
public static boolean RENDERING_SAFETY;
177212

178213
@Config.Comment("Gets rid of that obnoxious burst of minecart sounds when joining a world.")
214+
@Config.LangKey
215+
@Config.Name(value = "minecartEarBlastFix", migrations = "")
179216
@Config.DefaultBoolean(true)
180217
public static boolean MINECART_EAR_BLAST_FIX;
181218

@@ -184,6 +221,8 @@ public class ModuleConfig {
184221
"Also fixes the weird white lines that some OptiFine shaderpacks get with huge render distances.",
185222
"FPS impact: Negligible gain"
186223
})
224+
@Config.LangKey
225+
@Config.Name(value = "skyMeshOptimization", migrations = "")
187226
@Config.DefaultBoolean(true)
188227
@Config.RequiresMcRestart
189228
public static boolean SKY_MESH_OPTIMIZATION;
@@ -192,11 +231,15 @@ public class ModuleConfig {
192231
"Fixes an occasional crash that happens when trying to render a GUI block overlay (more common with optifine shaders enabled.)",
193232
"FPS impact: Zero"
194233
})
234+
@Config.LangKey
235+
@Config.Name(value = "overlayCrashFix", migrations = "")
195236
@Config.DefaultBoolean(true)
196237
@Config.RequiresMcRestart
197238
public static boolean OVERLAY_CRASH_FIX;
198239

199240
@Config.Comment("Suppresses logspam coming from optifine's shader system. Makes shaderpack reloads faster.")
241+
@Config.LangKey("config.falsetweaks.optifine_log_spam_fixes")
242+
@Config.Name(value = "optifineLogSpamFixes", migrations = "")
200243
@Config.DefaultBoolean(true)
201244
@Config.RequiresMcRestart
202245
public static boolean OPTIFINE_LOGSPAM_FIX;

0 commit comments

Comments
 (0)