Merge branch '1.10.2' of https://github.com/squeek502/Squake into 1.12.2

# Conflicts:
#	java/squeek/quakemovement/ModQuakeMovement.java
This commit is contained in:
Ryan Liptak 2018-06-18 23:54:17 -07:00
commit 9d29ddaa1f
5 changed files with 73 additions and 10 deletions

View File

@ -1,12 +1,15 @@
package squeek.quakemovement;
import java.io.File;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;
import net.minecraftforge.fml.client.event.ConfigChangedEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import java.io.File;
public class ModConfig
{
private static final String CATEGORY_MOVEMENT = "movement";
public static final String CATEGORY_MOVEMENT = "movement";
public static float TRIMP_MULTIPLIER;
private static final String TRIMP_MULTIPLIER_NAME = "trimpMultiplier";
@ -65,14 +68,19 @@ public class ModConfig
private static final String ENABLED_NAME = "enabled";
private static final boolean ENABLED_DEFAULT = true;
private static Configuration config;
public static Configuration config;
public static void init(File file)
{
if (config == null)
{
config = new Configuration(file);
load();
}
}
public static void load()
{
UNCAPPED_BUNNYHOP_ENABLED = config.get(CATEGORY_MOVEMENT, UNCAPPED_BUNNYHOP_ENABLED_NAME, UNCAPPED_BUNNYHOP_ENABLED_DEFAULT, "if enabled, the soft and hard caps will not be applied at all").getBoolean(UNCAPPED_BUNNYHOP_ENABLED_DEFAULT);
AIR_ACCELERATE = config.get(CATEGORY_MOVEMENT, AIR_ACCELERATE_NAME, AIR_ACCELERATE_DEFAULT, "a higher value means you can turn more sharply in the air without losing speed").getDouble(AIR_ACCELERATE_DEFAULT);
MAX_AIR_ACCEL_PER_TICK = config.get(CATEGORY_MOVEMENT, MAX_AIR_ACCEL_PER_TICK_NAME, MAX_AIR_ACCEL_PER_TICK_DEFAULT, "a higher value means faster air acceleration").getDouble(MAX_AIR_ACCEL_PER_TICK_DEFAULT);
@ -104,12 +112,19 @@ public class ModConfig
}
public static void save()
{
if (config.hasChanged())
{
config.save();
}
}
public static void load()
@SubscribeEvent
public void onConfigurationChangedEvent(ConfigChangedEvent.OnConfigChangedEvent event)
{
config.load();
if (event.getModID().equalsIgnoreCase(ModInfo.MODID))
{
load();
}
}
}

View File

@ -0,0 +1,13 @@
package squeek.quakemovement;
import net.minecraft.client.gui.GuiScreen;
import net.minecraftforge.common.config.ConfigElement;
import net.minecraftforge.fml.client.config.GuiConfig;
public class ModConfigGui extends GuiConfig
{
public ModConfigGui(GuiScreen parentScreen)
{
super(parentScreen, new ConfigElement(ModConfig.config.getCategory(ModConfig.CATEGORY_MOVEMENT)).getChildElements(), ModInfo.MODID, false, false, GuiConfig.getAbridgedConfigPath(ModConfig.config.toString()));
}
}

View File

@ -0,0 +1,33 @@
package squeek.quakemovement;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraftforge.fml.client.IModGuiFactory;
import java.util.Set;
public class ModConfigGuiFactory implements IModGuiFactory
{
@Override
public void initialize(Minecraft minecraftInstance)
{
}
@Override
public Class<? extends GuiScreen> mainConfigGuiClass()
{
return ModConfigGui.class;
}
@Override
public Set<RuntimeOptionCategoryElement> runtimeGuiCategories()
{
return null;
}
@Override
public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element)
{
return null;
}
}

View File

@ -4,4 +4,5 @@ public final class ModInfo
{
public static final String MODID = "squake";
public static final String VERSION = "${version}";
public static final String CONFIG_GUI_FACTORY_CLASS = "squeek.quakemovement.ModConfigGuiFactory";
}

View File

@ -11,7 +11,7 @@ import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
@Mod(modid = ModInfo.MODID, version = ModInfo.VERSION, name="Squake", acceptedMinecraftVersions="[1.12.2]", dependencies = "after:squeedometer")
@Mod(modid = ModInfo.MODID, version = ModInfo.VERSION, name="Squake", acceptedMinecraftVersions="[1.12.2]", dependencies = "after:squeedometer", guiFactory = ModInfo.CONFIG_GUI_FACTORY_CLASS)
public class ModQuakeMovement
{
// The instance of your mod that Forge uses.
@ -22,6 +22,7 @@ public class ModQuakeMovement
public void preInit(FMLPreInitializationEvent event)
{
ModConfig.init(event.getSuggestedConfigurationFile());
MinecraftForge.EVENT_BUS.register(new ModConfig());
MinecraftForge.EVENT_BUS.register(this);
if (event.getSide() == Side.CLIENT)
{