Skip to content

Commit 1e3c4d7

Browse files
committed
clean
1 parent 9ce8a9a commit 1e3c4d7

34 files changed

Lines changed: 104 additions & 315 deletions
Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
11
package jp.s12kuma01.celeritasextra;
22

3-
import net.minecraftforge.fml.common.Loader;
3+
import java.util.List;
4+
import java.util.Set;
5+
46
import org.objectweb.asm.tree.ClassNode;
57
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
68
import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
79

8-
import java.util.List;
9-
import java.util.Set;
10-
1110
/**
12-
* Mixin configuration plugin for Celeritas Extra
13-
* Handles conditional mixin loading based on mod compatibility
11+
* Mixin configuration plugin for Celeritas Extra.
12+
* Currently uses default behavior for all mixins.
1413
*/
1514
public class CeleritasExtraMixinConfigPlugin implements IMixinConfigPlugin {
1615

1716
@Override
1817
public void onLoad(String mixinPackage) {
19-
// No initialization needed
2018
}
2119

2220
@Override
@@ -26,14 +24,13 @@ public String getRefMapperConfig() {
2624

2725
@Override
2826
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
29-
// Add conditional mixin loading based on mod compatibility here
30-
// For example, only load certain mixins if specific mods are present
27+
// Currently all mixins are applied unconditionally
28+
// Can add conditional loading based on mod compatibility if needed
3129
return true;
3230
}
3331

3432
@Override
3533
public void acceptTargets(Set<String> myTargets, Set<String> otherTargets) {
36-
// No target filtering needed
3734
}
3835

3936
@Override
@@ -43,11 +40,9 @@ public List<String> getMixins() {
4340

4441
@Override
4542
public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
46-
// No pre-apply logic needed
4743
}
4844

4945
@Override
5046
public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
51-
// No post-apply logic needed
5247
}
5348
}

src/main/java/jp/s12kuma01/celeritasextra/CeleritasExtraMod.java

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
package jp.s12kuma01.celeritasextra;
22

3-
import net.minecraftforge.common.MinecraftForge;
3+
import jp.s12kuma01.celeritasextra.client.CeleritasExtraClientMod;
4+
import jp.s12kuma01.celeritasextra.client.gui.CeleritasExtraOptionsListener;
5+
6+
import net.minecraftforge.fml.common.FMLCommonHandler;
47
import net.minecraftforge.fml.common.Loader;
58
import net.minecraftforge.fml.common.Mod;
69
import net.minecraftforge.fml.common.event.FMLConstructionEvent;
710
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
811
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
12+
913
import org.apache.logging.log4j.LogManager;
1014
import org.apache.logging.log4j.Logger;
1115
import org.taumc.celeritas.api.OptionGUIConstructionEvent;
1216

13-
/**
14-
* Celeritas Extra - A port of Embeddium Extra to Celeritas 1.12.2
15-
*
16-
* @author Karnatour (port), FlashyReese (original)
17-
*/
1817
@Mod(modid = CeleritasExtraMod.MOD_ID, name = CeleritasExtraMod.MOD_NAME, version = CeleritasExtraMod.VERSION,
1918
clientSideOnly = true, acceptableRemoteVersions = "*")
2019
public class CeleritasExtraMod {
@@ -27,13 +26,19 @@ public class CeleritasExtraMod {
2726
@Mod.Instance
2827
public static CeleritasExtraMod INSTANCE;
2928

29+
/**
30+
* Construction phase - registers Celeritas Extra options with Celeritas GUI.
31+
* Checks for Celeritas 2.4.0+ compatibility by verifying OptionGUIConstructionEvent exists.
32+
*/
3033
@Mod.EventHandler
3134
public void construct(FMLConstructionEvent event) {
3235
if (Loader.isModLoaded("celeritas")) {
3336
try {
37+
// Verify Celeritas version is 2.4.0 or newer by checking for API class
3438
Class.forName("org.taumc.celeritas.api.OptionGUIConstructionEvent");
35-
// Register option GUI construction listener
36-
OptionGUIConstructionEvent.BUS.addListener(jp.s12kuma01.celeritasextra.client.gui.CeleritasExtraOptionsListener::onCeleritasOptionsConstruct);
39+
40+
// Register our options listener to Celeritas GUI system
41+
OptionGUIConstructionEvent.BUS.addListener(CeleritasExtraOptionsListener::onCeleritasOptionsConstruct);
3742
LOGGER.info("Successfully registered Celeritas Extra with Celeritas GUI");
3843
} catch (Throwable t) {
3944
if (t instanceof NoClassDefFoundError) {
@@ -52,10 +57,14 @@ public void preInit(FMLPreInitializationEvent event) {
5257
LOGGER.info("Celeritas Extra pre-initialization");
5358
}
5459

60+
/**
61+
* Initialization phase - initializes client-side configuration.
62+
*/
5563
@Mod.EventHandler
5664
public void init(FMLInitializationEvent event) {
57-
if (net.minecraftforge.fml.common.FMLCommonHandler.instance().getEffectiveSide().isClient()) {
58-
jp.s12kuma01.celeritasextra.client.CeleritasExtraClientMod.onClientInit();
65+
// Only initialize on client side (this is a client-only mod)
66+
if (FMLCommonHandler.instance().getEffectiveSide().isClient()) {
67+
CeleritasExtraClientMod.onClientInit();
5968
}
6069
LOGGER.info("Celeritas Extra initialized");
6170
}
Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,55 @@
11
package jp.s12kuma01.celeritasextra.client;
22

3+
import java.io.File;
4+
35
import jp.s12kuma01.celeritasextra.CeleritasExtraMod;
46
import jp.s12kuma01.celeritasextra.client.gui.CeleritasExtraGameOptions;
5-
import net.minecraftforge.fml.common.FMLCommonHandler;
67

7-
import java.io.File;
8+
import net.minecraftforge.fml.common.FMLCommonHandler;
89

910
/**
10-
* Client-side handler for Celeritas Extra
11+
* Client-side initialization and configuration management for Celeritas Extra.
1112
*/
1213
public class CeleritasExtraClientMod {
1314

1415
private static CeleritasExtraGameOptions CONFIG;
1516

17+
/**
18+
* Gets the mod configuration, loading it lazily if needed.
19+
*
20+
* @return The configuration instance
21+
*/
1622
public static CeleritasExtraGameOptions options() {
1723
if (CONFIG == null) {
1824
CONFIG = loadConfig();
1925
}
2026
return CONFIG;
2127
}
2228

29+
/**
30+
* Loads configuration from disk.
31+
* Creates config directory if it doesn't exist.
32+
*
33+
* @return Loaded configuration instance
34+
*/
2335
private static CeleritasExtraGameOptions loadConfig() {
2436
File configDir = new File("config");
2537
if (!configDir.exists()) {
2638
configDir.mkdirs();
2739
}
40+
2841
File configFile = new File(configDir, "celeritas-extra-options.json");
2942
return CeleritasExtraGameOptions.load(configFile);
3043
}
3144

45+
/**
46+
* Called during client initialization.
47+
* Triggers configuration loading.
48+
*/
3249
public static void onClientInit() {
3350
if (FMLCommonHandler.instance().getEffectiveSide().isClient()) {
3451
CeleritasExtraMod.LOGGER.info("Initializing Celeritas Extra client...");
35-
// Load configuration
36-
options();
52+
options(); // Load config
3753
}
3854
}
3955
}

src/main/java/jp/s12kuma01/celeritasextra/client/gui/CeleritasExtraGameOptionPages.java

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,13 @@
1515
import java.util.ArrayList;
1616
import java.util.List;
1717

18-
/**
19-
* Defines all option pages for Celeritas Extra
20-
*/
2118
public class CeleritasExtraGameOptionPages {
2219

2320
private static final CeleritasExtraOptionsStorage celeritasExtraOpts = new CeleritasExtraOptionsStorage();
2421

25-
/**
26-
* Animation settings page
27-
*/
2822
public static OptionPage animation() {
2923
List<OptionGroup> groups = new ArrayList<>();
3024

31-
// All animations toggle
3225
groups.add(OptionGroup.createBuilder()
3326
.add(OptionImpl.createBuilder(boolean.class, celeritasExtraOpts)
3427
.setName(TextComponent.literal(I18n.format("celeritasextra.option.animations.all")))
@@ -41,7 +34,6 @@ public static OptionPage animation() {
4134
)
4235
.build());
4336

44-
// Individual animation controls
4537
groups.add(OptionGroup.createBuilder()
4638
.add(OptionImpl.createBuilder(boolean.class, celeritasExtraOpts)
4739
.setName(TextComponent.literal(I18n.format("celeritasextra.option.animations.water")))
@@ -93,13 +85,9 @@ public static OptionPage animation() {
9385
return new OptionPage(CeleritasExtraOptionPages.ANIMATION, TextComponent.literal(I18n.format("celeritasextra.option.page.animations")), ImmutableList.copyOf(groups));
9486
}
9587

96-
/**
97-
* Particle settings page
98-
*/
9988
public static OptionPage particle() {
10089
List<OptionGroup> groups = new ArrayList<>();
10190

102-
// All particles toggle
10391
groups.add(OptionGroup.createBuilder()
10492
.add(OptionImpl.createBuilder(boolean.class, celeritasExtraOpts)
10593
.setName(TextComponent.literal(I18n.format("celeritasextra.option.particles.all")))
@@ -111,7 +99,6 @@ public static OptionPage particle() {
11199
)
112100
.build());
113101

114-
// Individual particle controls
115102
groups.add(OptionGroup.createBuilder()
116103
.add(OptionImpl.createBuilder(boolean.class, celeritasExtraOpts)
117104
.setName(TextComponent.literal(I18n.format("celeritasextra.option.particles.rain_splash")))
@@ -139,15 +126,9 @@ public static OptionPage particle() {
139126
)
140127
.build());
141128

142-
// NOTE: Individual particle type control is currently disabled due to mixin implementation issues
143-
// Only basic particle controls (rain splash, block break, block breaking) are available
144-
145129
return new OptionPage(CeleritasExtraOptionPages.PARTICLE, TextComponent.literal(I18n.format("celeritasextra.option.page.particles")), ImmutableList.copyOf(groups));
146130
}
147131

148-
/**
149-
* Detail settings page
150-
*/
151132
public static OptionPage details() {
152133
List<OptionGroup> groups = new ArrayList<>();
153134

@@ -201,9 +182,6 @@ public static OptionPage details() {
201182
return new OptionPage(CeleritasExtraOptionPages.DETAILS, TextComponent.literal(I18n.format("celeritasextra.option.page.details")), ImmutableList.copyOf(groups));
202183
}
203184

204-
/**
205-
* Render settings page
206-
*/
207185
public static OptionPage render() {
208186
List<OptionGroup> groups = new ArrayList<>();
209187

@@ -317,9 +295,6 @@ public static OptionPage render() {
317295
return new OptionPage(CeleritasExtraOptionPages.RENDER, TextComponent.literal(I18n.format("celeritasextra.option.page.render")), ImmutableList.copyOf(groups));
318296
}
319297

320-
/**
321-
* Extra settings page
322-
*/
323298
public static OptionPage extra() {
324299
List<OptionGroup> groups = new ArrayList<>();
325300

src/main/java/jp/s12kuma01/celeritasextra/client/gui/CeleritasExtraGameOptions.java

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
package jp.s12kuma01.celeritasextra.client.gui;
22

3-
import com.google.gson.FieldNamingPolicy;
4-
import com.google.gson.Gson;
5-
import com.google.gson.GsonBuilder;
6-
import jp.s12kuma01.celeritasextra.CeleritasExtraMod;
7-
83
import java.io.File;
94
import java.io.FileReader;
105
import java.io.FileWriter;
116
import java.io.IOException;
127
import java.lang.reflect.Modifier;
8+
import java.util.HashMap;
9+
import java.util.Map;
10+
11+
import com.google.gson.FieldNamingPolicy;
12+
import com.google.gson.Gson;
13+
import com.google.gson.GsonBuilder;
14+
15+
import jp.s12kuma01.celeritasextra.CeleritasExtraMod;
1316

1417
/**
15-
* Main configuration class for Celeritas Extra
16-
* Stores all game options and settings
18+
* Main configuration class for Celeritas Extra.
19+
* Stores all game options and settings, serialized to JSON.
1720
*/
1821
public class CeleritasExtraGameOptions {
1922

@@ -31,6 +34,13 @@ public class CeleritasExtraGameOptions {
3134

3235
private File file;
3336

37+
/**
38+
* Loads configuration from the specified file.
39+
* Falls back to defaults if file doesn't exist or parsing fails.
40+
*
41+
* @param file Configuration file path
42+
* @return Loaded configuration instance
43+
*/
3444
public static CeleritasExtraGameOptions load(File file) {
3545
CeleritasExtraGameOptions config;
3646

@@ -51,6 +61,9 @@ public static CeleritasExtraGameOptions load(File file) {
5161
return config;
5262
}
5363

64+
/**
65+
* Writes current configuration to disk.
66+
*/
5467
public void writeChanges() {
5568
File dir = this.file.getParentFile();
5669

@@ -69,7 +82,7 @@ public void writeChanges() {
6982
}
7083
}
7184

72-
// Settings classes
85+
/** Animation settings for textures. */
7386
public static class AnimationSettings {
7487
public boolean animation = true;
7588
public boolean water = true;
@@ -80,14 +93,16 @@ public static class AnimationSettings {
8093
public boolean sculkSensor = true;
8194
}
8295

96+
/** Particle rendering settings. */
8397
public static class ParticleSettings {
8498
public boolean particles = true;
8599
public boolean rainSplash = true;
86100
public boolean blockBreak = true;
87101
public boolean blockBreaking = true;
88-
public java.util.Map<String, Boolean> otherMap = new java.util.HashMap<>();
102+
public Map<String, Boolean> otherMap = new HashMap<>();
89103
}
90104

105+
/** World detail settings (sky, weather, biome colors). */
91106
public static class DetailSettings {
92107
public boolean sky = true;
93108
public boolean stars = true;
@@ -96,6 +111,7 @@ public static class DetailSettings {
96111
public boolean biomeColors = true;
97112
}
98113

114+
/** Rendering optimizations and entity rendering controls. */
99115
public static class RenderSettings {
100116
public boolean fog = true;
101117
public int fogStart = 100;
@@ -115,6 +131,7 @@ public static class RenderSettings {
115131
public boolean preventShaders = false;
116132
}
117133

134+
/** Extra features (overlays, HUD, accessibility). */
118135
public static class ExtraSettings {
119136
public boolean showFps = false;
120137
public boolean showCoords = false;

0 commit comments

Comments
 (0)