From 59df1b5c8f0544340faa2c8b1b48635be45a8d8b Mon Sep 17 00:00:00 2001 From: "Aidan C. Brady" Date: Sat, 21 Jun 2014 11:57:08 -0400 Subject: [PATCH] Properly load MekanismTools configuration --- .../common/GeneratorsCommonProxy.java | 1 + .../tools/client/ToolsClientProxy.java | 5 ++++ .../mekanism/tools/common/MekanismTools.java | 24 +++++++++++++++---- .../tools/common/ToolsCommonProxy.java | 17 +++++++++++++ 4 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 src/main/java/mekanism/tools/client/ToolsClientProxy.java create mode 100644 src/main/java/mekanism/tools/common/ToolsCommonProxy.java diff --git a/src/main/java/mekanism/generators/common/GeneratorsCommonProxy.java b/src/main/java/mekanism/generators/common/GeneratorsCommonProxy.java index ad63eb6f7..2eb57034e 100644 --- a/src/main/java/mekanism/generators/common/GeneratorsCommonProxy.java +++ b/src/main/java/mekanism/generators/common/GeneratorsCommonProxy.java @@ -99,6 +99,7 @@ public class GeneratorsCommonProxy case 5: return new ContainerWindTurbine(player.inventory, (TileEntityWindTurbine)tileEntity); } + return null; } } diff --git a/src/main/java/mekanism/tools/client/ToolsClientProxy.java b/src/main/java/mekanism/tools/client/ToolsClientProxy.java new file mode 100644 index 000000000..900e0fb76 --- /dev/null +++ b/src/main/java/mekanism/tools/client/ToolsClientProxy.java @@ -0,0 +1,5 @@ +package mekanism.tools.client; + +import mekanism.tools.common.ToolsCommonProxy; + +public class ToolsClientProxy extends ToolsCommonProxy {} diff --git a/src/main/java/mekanism/tools/common/MekanismTools.java b/src/main/java/mekanism/tools/common/MekanismTools.java index bcb40d843..076a1fc8b 100644 --- a/src/main/java/mekanism/tools/common/MekanismTools.java +++ b/src/main/java/mekanism/tools/common/MekanismTools.java @@ -1,6 +1,9 @@ package mekanism.tools.common; import io.netty.buffer.ByteBuf; + +import java.io.IOException; + import mekanism.common.IModule; import mekanism.common.Mekanism; import mekanism.common.Version; @@ -21,18 +24,21 @@ import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.config.Configuration; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.event.entity.living.LivingSpawnEvent; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; +import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = "MekanismTools", name = "MekanismTools", version = "7.0.0", dependencies = "required-after:Mekanism") public class MekanismTools implements IModule { + @SidedProxy(clientSide = "mekanism.tools.client.ToolsClientProxy", serverSide = "mekanism.tools.common.ToolsCommonProxy") + public static ToolsCommonProxy proxy; + @Instance("MekanismTools") public static MekanismTools instance; @@ -140,6 +146,7 @@ public class MekanismTools implements IModule public static Item SteelLeggings; public static Item SteelBoots; + //Tools Configuration public static double armourSpawnRate; @EventHandler @@ -151,6 +158,9 @@ public class MekanismTools implements IModule //Register this class to the event bus for special mob spawning (mobs with Mekanism armor/tools) MinecraftForge.EVENT_BUS.register(this); + //Load the proxy + proxy.loadConfiguration(); + //Load this module addItems(); addRecipes(); @@ -531,8 +541,6 @@ public class MekanismTools implements IModule , Mekanism.configuration.get("armor-balance", "steel-enchantability", 50).getInt() ); - armourSpawnRate = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "mob-armour-spawn-rate", 0.03).getDouble(0.03); - //Bronze BronzeHelmet = (new ItemMekanismArmor(armorBRONZE, Mekanism.proxy.getArmorIndex("bronze"), 0)).setUnlocalizedName("BronzeHelmet"); BronzeChestplate = (new ItemMekanismArmor(armorBRONZE, Mekanism.proxy.getArmorIndex("bronze"), 1)).setUnlocalizedName("BronzeChestplate"); @@ -804,8 +812,14 @@ public class MekanismTools implements IModule } @Override - public void writeConfig(ByteBuf dataStream) {} + public void writeConfig(ByteBuf dataStream) throws IOException + { + dataStream.writeDouble(armourSpawnRate); + } @Override - public void readConfig(ByteBuf dataStream) {} + public void readConfig(ByteBuf dataStream) throws IOException + { + armourSpawnRate = dataStream.readDouble(); + } } diff --git a/src/main/java/mekanism/tools/common/ToolsCommonProxy.java b/src/main/java/mekanism/tools/common/ToolsCommonProxy.java new file mode 100644 index 000000000..d0723856e --- /dev/null +++ b/src/main/java/mekanism/tools/common/ToolsCommonProxy.java @@ -0,0 +1,17 @@ +package mekanism.tools.common; + +import mekanism.common.Mekanism; +import net.minecraftforge.common.config.Configuration; + +public class ToolsCommonProxy +{ + /** + * Set and load the mod's common configuration properties. + */ + public void loadConfiguration() + { + Mekanism.configuration.load(); + MekanismTools.armourSpawnRate = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "mob-armor-spawn-rate", 0.03).getDouble(0.03); + Mekanism.configuration.save(); + } +}