Skip to content

Commit 8da2ba0

Browse files
committed
Add default config gui
1 parent 687d668 commit 8da2ba0

File tree

3 files changed

+55
-10
lines changed

3 files changed

+55
-10
lines changed

src/main/java/org/dave/compactmachines3/CompactMachines3.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,12 @@
2929
import org.dave.compactmachines3.world.data.provider.ExtraTileDataProviderRegistry;
3030
import org.dave.compactmachines3.world.tools.DimensionTools;
3131

32-
@Mod(modid = CompactMachines3.MODID, version = CompactMachines3.VERSION, acceptedMinecraftVersions = "[1.12,1.13)", dependencies = "after:refinedstorage;after:yunomakegoodmap")
32+
@Mod(modid = CompactMachines3.MODID, version = CompactMachines3.VERSION, acceptedMinecraftVersions = "[1.12,1.13)", dependencies = "after:refinedstorage;after:yunomakegoodmap", guiFactory = CompactMachines3.GUI_FACTORY)
3333
public class CompactMachines3
3434
{
3535
public static final String MODID = "compactmachines3";
3636
public static final String VERSION = "3.0.15";
37+
public static final String GUI_FACTORY = "org.dave.compactmachines3.misc.ConfigGuiFactory";
3738

3839
@Mod.Instance(CompactMachines3.MODID)
3940
public static CompactMachines3 instance;
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package org.dave.compactmachines3.misc;
2+
3+
import net.minecraft.client.Minecraft;
4+
import net.minecraft.client.gui.GuiScreen;
5+
import net.minecraftforge.fml.client.IModGuiFactory;
6+
import net.minecraftforge.fml.client.config.GuiConfig;
7+
import org.dave.compactmachines3.CompactMachines3;
8+
9+
import java.util.Set;
10+
11+
public class ConfigGuiFactory implements IModGuiFactory {
12+
@Override
13+
public void initialize(Minecraft minecraftInstance) {
14+
15+
}
16+
17+
@Override
18+
public boolean hasConfigGui() {
19+
return true;
20+
}
21+
22+
@Override
23+
public GuiScreen createConfigGui(GuiScreen parentScreen) {
24+
return new ConfigScreen(parentScreen);
25+
}
26+
27+
@Override
28+
public Set<RuntimeOptionCategoryElement> runtimeGuiCategories() {
29+
return null;
30+
}
31+
32+
public class ConfigScreen extends GuiConfig {
33+
34+
public ConfigScreen(GuiScreen parentScreen) {
35+
super(parentScreen, ConfigurationHandler.getConfigElements(), CompactMachines3.MODID, false, false, "Compact Machines");
36+
}
37+
}
38+
}

src/main/java/org/dave/compactmachines3/misc/ConfigurationHandler.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
package org.dave.compactmachines3.misc;
22

3+
import net.minecraftforge.common.config.ConfigElement;
34
import net.minecraftforge.common.config.Configuration;
5+
import net.minecraftforge.fml.client.config.IConfigElement;
46
import net.minecraftforge.fml.client.event.ConfigChangedEvent;
57
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
68
import org.dave.compactmachines3.CompactMachines3;
79
import org.dave.compactmachines3.utility.Logz;
810

911
import java.io.File;
12+
import java.util.ArrayList;
13+
import java.util.List;
1014

1115
public class ConfigurationHandler {
1216
public static Configuration configuration;
@@ -73,13 +77,6 @@ private static void loadConfiguration() {
7377
"Force chunk load"
7478
);
7579

76-
Settings.worldgenDimensions = configuration.get(
77-
CATEGORY_INTERNAL,
78-
"worldgenDimensions",
79-
new int[] {0},
80-
"Allowed dimensions broken Compact Machine cubes can generate in."
81-
).getIntList();
82-
8380
Settings.maximumCraftingAreaSize = configuration.getInt(
8481
"maximumCraftingAreaSize",
8582
CATEGORY_MINIATURIZATION,
@@ -191,14 +188,24 @@ public static void saveConfiguration() {
191188
}
192189

193190
@SubscribeEvent
194-
public void onConfigurationChanged(ConfigChangedEvent event) {
191+
public static void onConfigurationChanged(ConfigChangedEvent event) {
195192
if(!event.getModID().equalsIgnoreCase(CompactMachines3.MODID)) {
196193
return;
197194
}
198195

199196
loadConfiguration();
200197
}
201198

199+
public static List<IConfigElement> getConfigElements() {
200+
List<IConfigElement> result = new ArrayList<>();
201+
result.add(new ConfigElement(configuration.getCategory(CATEGORY_MINIATURIZATION)));
202+
result.add(new ConfigElement(configuration.getCategory(CATEGORY_MACHINES)));
203+
result.add(new ConfigElement(configuration.getCategory(CATEGORY_COMPAT)));
204+
result.add(new ConfigElement(configuration.getCategory(CATEGORY_INTERNAL)));
205+
206+
return result;
207+
}
208+
202209
public static class CompatSettings {
203210
public static boolean doesWaterVaporize;
204211
}
@@ -219,7 +226,6 @@ public static class Settings {
219226
public static int dimensionId;
220227
public static int dimensionTypeId;
221228
public static boolean forceLoadChunks;
222-
public static int[] worldgenDimensions;
223229
public static int maximumCraftingAreaSize;
224230
public static int maximumCraftingCatalystAge;
225231

0 commit comments

Comments
 (0)