Skip to content

Commit

Permalink
Added a new initializer and implementation of renaming the applicatio…
Browse files Browse the repository at this point in the history
…n window
  • Loading branch information
OldSerpskiStalker committed Sep 20, 2024
1 parent 1159be1 commit 8ebb498
Show file tree
Hide file tree
Showing 15 changed files with 243 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,13 @@
import net.minecraftforge.fml.common.event.FMLServerStoppedEvent;

import org.imesense.dynamicspawncontrol.debug.CheckDebugger;
import org.imesense.dynamicspawncontrol.technical.eventprocessor.single.OnWindowTitle;
import org.imesense.dynamicspawncontrol.technical.initializer.RegisterGameplayClasses;
import org.imesense.dynamicspawncontrol.technical.initializer.RegisterCommandsClasses;
import org.imesense.dynamicspawncontrol.technical.customlibrary.Log;
import org.imesense.dynamicspawncontrol.technical.eventprocessor.single.OnUpdateTimeWorld;
import org.imesense.dynamicspawncontrol.technical.gamestructures.Structures;
import org.imesense.dynamicspawncontrol.technical.initializer.RegisterTechnicalClasses;
import org.imesense.dynamicspawncontrol.technical.network.MessageHandler;
import org.imesense.dynamicspawncontrol.technical.proxy.IProxy;
import org.imesense.dynamicspawncontrol.technical.worldcache.CacheConfig;
Expand Down Expand Up @@ -178,14 +180,20 @@ public synchronized void preInit(FMLPreInitializationEvent event)

//
Log.createLogFile(globalDirectory.getPath() + File.separator + STRUCT_FILES_DIRS.NAME_DIRECTORY);
Log.writeDataToLogFile(0, "Check debugger -> " + checkDebugger.IsRunDebugger);
Log.writeDataToLogFile(1, "Debugger is running: " + (checkDebugger.IsRunDebugger ? "true" : "false"));

//
MessageHandler.init();

//
cacheStorage = new CacheStorage("CacheStorage");

//
RegisterTechnicalClasses.registerClasses();

//
OnWindowTitle.replace();

//
RegisterGameplayClasses.registerClasses();

Expand Down Expand Up @@ -227,7 +235,7 @@ public synchronized void postInit(FMLPostInitializationEvent event)
@EventHandler
public synchronized void onLoadComplete(FMLLoadCompleteEvent event)
{
cacheConfig = new CacheConfig("onLoadComplete -> CacheConfig");
cacheConfig = new CacheConfig("CacheConfig");
cacheConfig.loadConfig(true);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
/**
*
*/
public class ConfigDebugSingleEvents implements IConfig
public final class ConfigDebugSingleEvents implements IConfig
{
/**
*
Expand All @@ -32,13 +32,10 @@ public ConfigDebugSingleEvents(final String nameClass)
/**
*
* @param event
* @param nameClass
*/
@Override
public void init(FMLPreInitializationEvent event, final String nameClass)
public void init(FMLPreInitializationEvent event)
{
Log.writeDataToLogFile(0, nameClass);

ClientProxy.ConfigDebugSingleEvents = this.createConfiguration("debug_actions_single_events");

this.read();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,10 @@ public ConfigGameDebugger(final String nameClass)
/**
*
* @param event
* @param nameClass
*/
@Override
public void init(FMLPreInitializationEvent event, final String nameClass)
public void init(FMLPreInitializationEvent event)
{
Log.writeDataToLogFile(0, nameClass);

ClientProxy.ConfigGameDebugger = this.createConfiguration("game_debugger");

this.read();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,10 @@ public ConfigLogFile(final String nameClass)
/**
*
* @param event
* @param nameClass
*/
@Override
public void init(FMLPreInitializationEvent event, final String nameClass)
public void init(FMLPreInitializationEvent event)
{
Log.writeDataToLogFile(0, nameClass);

ClientProxy.ConfigLogFile = this.createConfiguration("log");

this.read();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,10 @@ public ConfigPlayer(final String nameClass)
/**
*
* @param event
* @param nameClass
*/
@Override
public void init(FMLPreInitializationEvent event, final String nameClass)
public void init(FMLPreInitializationEvent event)
{
Log.writeDataToLogFile(0, nameClass);

ClientProxy.ConfigPlayer = this.createConfiguration("player");

this.read();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
*
*/
public class ConfigRenderNight implements IConfig
public final class ConfigRenderNight implements IConfig
{
/**
*
Expand Down Expand Up @@ -85,13 +85,10 @@ public ConfigRenderNight(final String nameClass)
/**
*
* @param event
* @param nameClass
*/
@Override
public void init(FMLPreInitializationEvent event, final String nameClass)
public void init(FMLPreInitializationEvent event)
{
Log.writeDataToLogFile(0, nameClass);

ClientProxy.ConfigNights = this.createConfiguration("nights");

this.read();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package org.imesense.dynamicspawncontrol.technical.configs;

import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import org.imesense.dynamicspawncontrol.DynamicSpawnControl;
import org.imesense.dynamicspawncontrol.technical.customlibrary.Log;
import org.imesense.dynamicspawncontrol.technical.proxy.ClientProxy;

/**
*
*/
public final class ConfigWindowTitle implements IConfig
{
/**
*
*/
public static String WindowTitle =
String.format("Minecraft: %s + %s", DynamicSpawnControl.STRUCT_INFO_MOD.VERSION, DynamicSpawnControl.STRUCT_INFO_MOD.NAME);

public ConfigWindowTitle(final String nameClass)
{

}

/**
*
* @param event
*/
@Override
public void init(FMLPreInitializationEvent event)
{
ClientProxy.ConfigWindowTitle = this.createConfiguration("name_window");

this.read();
}

/**
*
* @param configuration
*/
@Override
public void readProperties(Configuration configuration)
{
WindowTitle = this.getConfigValueS(
configuration,
"Window title",
"window", WindowTitle,
"The title of the Minecraft window");
}

/**
*
*/
@Override
public void read()
{
Configuration configuration = ClientProxy.ConfigWindowTitle;

try
{
configuration.load();

this.readProperties(configuration);
}
finally
{
if (configuration.hasChanged())
{
configuration.save();
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,10 @@ public ConfigWorldGenerator(final String nameClass)
/**
*
* @param event
* @param nameClass
*/
@Override
public void init(FMLPreInitializationEvent event, final String nameClass)
public void init(FMLPreInitializationEvent event)
{
Log.writeDataToLogFile(0, nameClass);

ClientProxy.ConfigOreGeneratorFile = this.createConfiguration("ore_generator");

this.read();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,10 @@ public ConfigWorldTime(final String nameClass)
/**
*
* @param event
* @param nameClass
*/
@Override
public void init(FMLPreInitializationEvent event, final String nameClass)
public void init(FMLPreInitializationEvent event)
{
Log.writeDataToLogFile(0, nameClass);

ClientProxy.ConfigWorldTime = this.createConfiguration("world_time");

this.read();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,10 @@ public ConfigZombieDropItem(final String nameClass)
/**
*
* @param event
* @param nameClass
*/
@Override
public void init(FMLPreInitializationEvent event, final String nameClass)
public void init(FMLPreInitializationEvent event)
{
Log.writeDataToLogFile(0, nameClass);

ClientProxy.ConfigZombieDropItem = this.createConfiguration("zombie_drop");

this.read();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@ public interface IConfig
/**
*
* @param event
* @param nameClass
*/
void init(FMLPreInitializationEvent event, final String nameClass);
void init(FMLPreInitializationEvent event);

/**
*
Expand Down Expand Up @@ -72,6 +71,20 @@ default boolean getConfigValueB(Configuration config, String name, String catego
return config.getBoolean(name, category, defaultValue, comment);
}

/**
*
* @param config
* @param name
* @param category
* @param defaultValue
* @param comment
* @return
*/
default String getConfigValueS(Configuration config, String name, String category, String defaultValue, String comment)
{
return config.getString(name, category, defaultValue, comment);
}

/**
*
* @param config
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
package org.imesense.dynamicspawncontrol.technical.eventprocessor.single;

import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
import org.imesense.dynamicspawncontrol.technical.configs.ConfigWindowTitle;
import org.imesense.dynamicspawncontrol.technical.customlibrary.Log;
import org.lwjgl.opengl.Display;

import javax.annotation.Nonnull;
import java.util.Objects;

/**
*
*/
@Mod.EventBusSubscriber
public final class OnWindowTitle
{
/**
*
* @param nameClass
*/
public OnWindowTitle(final String nameClass)
{

}

/**
*
*/
@Nonnull
private static final String TITLE = ConfigWindowTitle.WindowTitle;

/**
*
* @param event
*/
@SubscribeEvent(priority = EventPriority.LOWEST)
public synchronized void onUpdateClientTick_0(TickEvent.ClientTickEvent event)
{
replace();
}

/**
*
* @param formatString
* @return
*/
public static String setTextWindowTitle(@Nonnull String formatString)
{
@Nonnull final String mcVersion = Loader.instance().getMinecraftModContainer().getVersion();
@Nonnull final String modCount = Integer.toString(Loader.instance().getModList().size());

formatString = formatString.replaceAll("%mcver%", mcVersion);
formatString = formatString.replaceAll("%modcount%", modCount);

return formatString;
}

/**
*
*/
public static void replace()
{
if (FMLCommonHandler.instance().getSide().isClient())
{
if (!Objects.equals(TITLE, ""))
{
Display.setTitle(setTextWindowTitle(TITLE));
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public final class RegisterConfigClasses
*/
private static final Class<?>[] CONFIG_CLASSES =
{
ConfigWindowTitle.class,
ConfigLogFile.class,
ConfigGameDebugger.class,
ConfigWorldGenerator.class,
Expand Down Expand Up @@ -43,17 +44,17 @@ public static void init(FMLPreInitializationEvent event)
{
try
{
Log.writeDataToLogFile(0, "Start reading class: " + configClass.getName());
Log.writeDataToLogFile(0, "Reading class: " + configClass.getName());

if (!CodeGenericUtils.hasConstructorWithParameter(configClass, String.class))
{
Log.writeDataToLogFile(0, "Class " + configClass.getName() + " does not have a constructor with a String parameter.");
Log.writeDataToLogFile(2, "Class " + configClass.getName() + " does not have a constructor with a String parameter.");
throw new RuntimeException();
}

Object configInstance = configClass.getConstructor(String.class).newInstance(configClass.getSimpleName());

((IConfig)configInstance).init(event, configClass.getSimpleName());
((IConfig)configInstance).init(event);
}
catch (Exception exception)
{
Expand Down
Loading

0 comments on commit 8ebb498

Please sign in to comment.