aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/config/Client.java
blob: f51c154466f4680559b2d5189f46df4c575b18a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
package gregtech.common.config;

import static gregtech.api.recipe.RecipeCategorySetting.ENABLE;

import com.gtnewhorizon.gtnhlib.config.Config;

import gregtech.api.enums.Mods;
import gregtech.api.recipe.RecipeCategorySetting;

@Config(modid = Mods.Names.GREG_TECH, category = "client", configSubDirectory = "GregTech", filename = "Client")
@Config.LangKey("GT5U.gui.config.client")
public class Client {

    @Config.Comment("Color Modulation section")
    public static final ColorModulation colorModulation = new ColorModulation();

    @Config.Comment("Interface section")
    public static final Interface iface = new Interface();

    @Config.Comment("Preference section")
    public static final Preference preference = new Preference();

    @Config.Comment("Render section")
    public static final Render render = new Render();

    @Config.Comment("Waila section")
    public static final Waila waila = new Waila();

    @Config.Comment("NEI section")
    public static final NEI nei = new NEI();

    @Config.LangKey("GT5U.gui.config.client.color_modulation")
    public static class ColorModulation {

        @Config.Comment("RGB values for the cable insulation color modulation.")
        public CableInsulation cableInsulation = new CableInsulation();

        @Config.Comment("RGB values for the construction foam color modulation.")
        public ConstructionFoam constructionFoam = new ConstructionFoam();

        @Config.Comment("RGB values for the machine metal color modulation (default GUI color).")
        public MachineMetal machineMetal = new MachineMetal();

        @Config.LangKey("GT5U.gui.config.client.color_modulation.cable_insulation")
        public static class CableInsulation {

            @Config.DefaultInt(64)
            public int red;

            @Config.DefaultInt(64)
            public int green;

            @Config.DefaultInt(64)
            public int blue;
        }

        @Config.LangKey("GT5U.gui.config.client.color_modulation.construction_foam")
        public static class ConstructionFoam {

            @Config.DefaultInt(64)
            public int red;

            @Config.DefaultInt(64)
            public int green;

            @Config.DefaultInt(64)
            public int blue;
        }

        @Config.LangKey("GT5U.gui.config.client.color_modulation.machine_metal")
        public static class MachineMetal {

            @Config.DefaultInt(210)
            public int red;

            @Config.DefaultInt(220)
            public int green;

            @Config.DefaultInt(255)
            public int blue;
        }
    }

    @Config.LangKey("GT5U.gui.config.client.interface")
    public static class Interface {

        @Config.Comment("if true, makes cover tabs visible on GregTech machines.")
        @Config.DefaultBoolean(true)
        public boolean coverTabsVisible;

        @Config.Comment("if true, puts the cover tabs display on the right of the UI instead of the left.")
        @Config.DefaultBoolean(false)
        public boolean coverTabsFlipped;

        @Config.Comment("How verbose should tooltips be? 0: disabled, 1: one-line, 2: normal, 3+: extended.")
        @Config.DefaultInt(2)
        public int tooltipVerbosity;

        @Config.Comment("How verbose should tooltips be when LSHIFT is held? 0: disabled, 1: one-line, 2: normal, 3+: extended.")
        @Config.DefaultInt(3)
        public int tooltipShiftVerbosity;

        @Config.Comment("Which style to use for title tab on machine GUI? 0: text tab split-dark, 1: text tab unified, 2: item icon tab.")
        @Config.DefaultInt(0)
        public int titleTabStyle;

        @Config.Comment("Which style should tooltip separator lines have? 0: empty line, 1: dashed line, 2+: continuous line.")
        @Config.DefaultInt(2)
        public int separatorStyle;
    }

    @Config.LangKey("GT5U.gui.config.client.preference")
    public static class Preference {

        @Config.Comment("if true, input filter will initially be on when input buses are placed in the world.")
        @Config.DefaultBoolean(false)
        public boolean inputBusInitialFilter;

        @Config.Comment("if true, allow multistacks on single blocks by default when they are first placed in the world.")
        @Config.DefaultBoolean(false)
        public boolean singleBlockInitialAllowMultiStack;

        @Config.Comment("if true, input filter will initially be on when machines are placed in the world.")
        @Config.DefaultBoolean(false)
        public boolean singleBlockInitialFilter;
    }

    @Config.LangKey("GT5U.gui.config.client.render")
    public static class Render {

        @Config.Comment("if true, enables ambient-occlusion smooth lighting on tiles.")
        @Config.DefaultBoolean(true)
        public boolean renderTileAmbientOcclusion;

        @Config.Comment("if true, enables glowing of the machine controllers.")
        @Config.DefaultBoolean(true)
        public boolean renderGlowTextures;

        @Config.Comment("if true, render flipped machine with flipped textures.")
        @Config.DefaultBoolean(true)
        public boolean renderFlippedMachinesFlipped;

        @Config.Comment("if true, render indicators on hatches.")
        @Config.DefaultBoolean(true)
        public boolean renderIndicatorsOnHatch;

        @Config.Comment("if true, enables dirt particles when pollution reaches the threshold.")
        @Config.DefaultBoolean(true)
        public boolean renderDirtParticles;

        @Config.Comment("if true, enables pollution fog when pollution reaches the threshold.")
        @Config.DefaultBoolean(true)
        public boolean renderPollutionFog;

        @Config.Comment("if true, enables the green -> red durability for an item's damage value.")
        @Config.DefaultBoolean(true)
        public boolean renderItemDurabilityBar;

        @Config.Comment("if true, enables the blue charge bar for an electric item's charge.")
        @Config.DefaultBoolean(true)
        public boolean renderItemChargeBar;

        @Config.Comment("enables BaseMetaTileEntity block updates handled by BlockUpdateHandler.")
        @Config.DefaultBoolean(false)
        public boolean useBlockUpdateHandler;
    }

    @Config.LangKey("GT5U.gui.config.client.waila")
    public static class Waila {

        /**
         * This enables showing voltage tier of transformer for Waila, instead of raw voltage number
         */
        @Config.Comment("if true, enables showing voltage tier of transformer for Waila, instead of raw voltage number.")
        @Config.DefaultBoolean(true)
        public boolean wailaTransformerVoltageTier;

        @Config.Comment("if true, enables showing voltage tier of transformer for Waila, instead of raw voltage number.")
        @Config.DefaultBoolean(false)
        public boolean wailaAverageNS;
    }

    @Config.LangKey("GT5U.gui.config.client.nei")
    public static class NEI {

        @Config.Comment("Recipe category section")
        public final RecipeCategories recipeCategories = new RecipeCategories();

        @Config.Comment("if true, shows the recipes using seconds (as opposed to ticks).")
        @Config.DefaultBoolean(true)
        public boolean NEIRecipeSecondMode;

        @Config.Comment("if true, shows the mod which added the recipe.")
        @Config.DefaultBoolean(false)
        public boolean NEIRecipeOwner;

        @Config.Comment("if true, show the stacktrace related to the recipe addition.")
        @Config.DefaultBoolean(false)
        public boolean NEIRecipeOwnerStackTrace;

        @Config.Comment("if true, show original voltage when overclocked.")
        @Config.DefaultBoolean(false)
        public boolean NEIOriginalVoltage;

        @Config.LangKey("GT5U.gui.config.client.nei.recipe_categories")
        public static class RecipeCategories {

            @Config.LangKey("gt.recipe.category.arc_furnace_recycling")
            @Config.DefaultEnum("ENABLE")
            public RecipeCategorySetting arcFurnaceRecycling = ENABLE;

            @Config.LangKey("gt.recipe.category.plasma_arc_furnace_recycling")
            @Config.DefaultEnum("ENABLE")
            public RecipeCategorySetting plasmaArcFurnaceRecycling = ENABLE;

            @Config.LangKey("gt.recipe.category.macerator_recycling")
            @Config.DefaultEnum("ENABLE")
            public RecipeCategorySetting maceratorRecycling = ENABLE;

            @Config.LangKey("gt.recipe.category.fluid_extractor_recycling")
            @Config.DefaultEnum("ENABLE")
            public RecipeCategorySetting fluidExtractorRecycling = ENABLE;

            @Config.LangKey("gt.recipe.category.alloy_smelter_recycling")
            @Config.DefaultEnum("ENABLE")
            public RecipeCategorySetting alloySmelterRecycling = ENABLE;

            @Config.LangKey("gt.recipe.category.alloy_smelter_molding")
            @Config.DefaultEnum("ENABLE")
            public RecipeCategorySetting alloySmelterMolding = ENABLE;

            @Config.LangKey("gt.recipe.category.forge_hammer_recycling")
            @Config.DefaultEnum("ENABLE")
            public RecipeCategorySetting forgeHammerRecycling = ENABLE;

            @Config.LangKey("gt.recipe.category.tic_part_extruding")
            @Config.DefaultEnum("ENABLE")
            public RecipeCategorySetting ticPartExtruding = ENABLE;

            @Config.LangKey("gt.recipe.category.tic_bolt_molding")
            @Config.DefaultEnum("ENABLE")
            public RecipeCategorySetting ticBoltMolding = ENABLE;

            @Config.LangKey("gtpp.recipe.category.abs_non_alloy_recipes")
            @Config.DefaultEnum("ENABLE")
            public RecipeCategorySetting absNonAlloyRecipes = ENABLE;
        }
    }
}