mirror of
https://github.com/GTNewHorizons/StorageDrawers.git
synced 2026-11-13 00:47:31 +00:00
Config work
This commit is contained in:
1 parent
eaae3b4490
commit
a5a24bb3c2
5 files changed
+209
-2
No files matched your search
@@ -1,11 +1,13 @@
|
||||
itemGroup.storageDrawers=Storage Drawers
|
||||
|
||||
# Items
|
||||
item.upgrade.iron.name=Drawer Upgrade (II)
|
||||
item.upgrade.gold.name=Drawer Upgrade (III)
|
||||
item.upgrade.obsidian.name=Drawer Upgrade (IV)
|
||||
item.upgrade.diamond.name=Drawer Upgrade (V)
|
||||
item.upgrade.emerald.name=Drawer Upgrade (VI)
|
||||
|
||||
# Blocks
|
||||
tile.fullDrawers2.oak.name=Oak Drawers 1x2
|
||||
tile.fullDrawers2.spruce.name=Spruce Drawers 1x2
|
||||
tile.fullDrawers2.birch.name=Birch Drawers 1x2
|
||||
@@ -37,6 +39,24 @@ tile.halfDrawers4.big_oak.name=Compact Dark Oak Drawers 2x2
|
||||
storageDrawers.drawers.description=Holds %d stacks per drawer
|
||||
storageDrawers.upgrade.description=Increases storage to %d times base value
|
||||
|
||||
# Integration
|
||||
storageDrawers.waila.empty=Empty
|
||||
storageDrawers.waila.level=Upgrade Level: %s
|
||||
storageDrawers.waila.drawer=Drawer #%s: %s
|
||||
storageDrawers.waila.drawer=Drawer #%s: %s
|
||||
|
||||
# Configuration
|
||||
storageDrawers.config.title=Storage Drawers Configuration
|
||||
|
||||
storageDrawers.config.general=General Settings
|
||||
storageDrawers.config.general.tooltip=This and that.
|
||||
|
||||
storageDrawers.config.blocks=Block Settings
|
||||
storageDrawers.config.blocks.tooltip=Configure individual storage blocks.
|
||||
|
||||
storageDrawers.config.blocks.fullDrawers2=Drawers 1x2
|
||||
storageDrawers.config.blocks.fullDrawers4=Drawers 2x2
|
||||
storageDrawers.config.blocks.halfDrawers2=Compact Drawers 1x2
|
||||
storageDrawers.config.blocks.halfDrawers4=Compact Drawers 2x2
|
||||
|
||||
storageDrawers.config.upgrades=Upgrade Settings
|
||||
storageDrawers.config.upgrades.tooltip=Configure individual storage upgrades.
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.jaquadro.minecraft.storagedrawers;
|
||||
|
||||
import com.jaquadro.minecraft.storagedrawers.config.ConfigManager;
|
||||
import com.jaquadro.minecraft.storagedrawers.core.*;
|
||||
import com.jaquadro.minecraft.storagedrawers.network.BlockClickMessage;
|
||||
import cpw.mods.fml.client.event.ConfigChangedEvent;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import cpw.mods.fml.common.Mod;
|
||||
import cpw.mods.fml.common.SidedProxy;
|
||||
@@ -9,12 +12,15 @@ import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLInterModComms;
|
||||
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
|
||||
@Mod(modid = StorageDrawers.MOD_ID, name = StorageDrawers.MOD_NAME, version = StorageDrawers.MOD_VERSION, dependencies = "after:waila;")
|
||||
import java.io.File;
|
||||
|
||||
@Mod(modid = StorageDrawers.MOD_ID, name = StorageDrawers.MOD_NAME, version = StorageDrawers.MOD_VERSION, dependencies = "after:waila;", guiFactory = StorageDrawers.SOURCE_PATH + "core.ModGuiFactory")
|
||||
public class StorageDrawers
|
||||
{
|
||||
public static final String MOD_ID = "StorageDrawers";
|
||||
@@ -27,6 +33,7 @@ public class StorageDrawers
|
||||
public static final ModRecipes recipes = new ModRecipes();
|
||||
|
||||
public static SimpleNetworkWrapper network;
|
||||
public static ConfigManager config;
|
||||
|
||||
@Mod.Instance(MOD_ID)
|
||||
public static StorageDrawers instance;
|
||||
@@ -36,6 +43,8 @@ public class StorageDrawers
|
||||
|
||||
@Mod.EventHandler
|
||||
public void preInit (FMLPreInitializationEvent event) {
|
||||
config = new ConfigManager(new File(event.getModConfigurationDirectory(), MOD_ID + ".cfg"));
|
||||
|
||||
network = NetworkRegistry.INSTANCE.newSimpleChannel(MOD_ID);
|
||||
network.registerMessage(BlockClickMessage.Handler.class, BlockClickMessage.class, 0, Side.SERVER);
|
||||
|
||||
@@ -51,6 +60,7 @@ public class StorageDrawers
|
||||
public void init (FMLInitializationEvent event) {
|
||||
proxy.registerRenderers();
|
||||
|
||||
FMLCommonHandler.instance().bus().register(instance);
|
||||
MinecraftForge.EVENT_BUS.register(new ForgeEventHandler());
|
||||
}
|
||||
|
||||
@@ -58,4 +68,10 @@ public class StorageDrawers
|
||||
public void postInit (FMLPostInitializationEvent event) {
|
||||
recipes.init();
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onConfigChanged (ConfigChangedEvent.OnConfigChangedEvent event) {
|
||||
if (event.modID.equals(MOD_ID))
|
||||
config.syncConfig();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
package com.jaquadro.minecraft.storagedrawers.config;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraftforge.common.config.ConfigCategory;
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
import net.minecraftforge.common.config.Property;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class ConfigManager
|
||||
{
|
||||
public class ConfigSection {
|
||||
public final ConfigSection parent;
|
||||
public final String name;
|
||||
public final String lang;
|
||||
|
||||
private ConfigCategory category;
|
||||
|
||||
public ConfigSection (List<ConfigSection> list, ConfigSection parent, String name, String lang) {
|
||||
this.parent = parent;
|
||||
this.name = name;
|
||||
this.lang = lang;
|
||||
|
||||
list.add(this);
|
||||
}
|
||||
|
||||
public ConfigSection (List<ConfigSection> list, String name, String lang) {
|
||||
this(list, null, name, lang);
|
||||
}
|
||||
|
||||
public ConfigCategory getCategory () {
|
||||
if (category != null)
|
||||
return category;
|
||||
|
||||
if (parent != null)
|
||||
category = config.getCategory(parent.getCategory().getQualifiedName() + "." + name.toLowerCase());
|
||||
else
|
||||
category = config.getCategory(name.toLowerCase());
|
||||
|
||||
category.setLanguageKey(LANG_PREFIX + lang);
|
||||
return category;
|
||||
}
|
||||
|
||||
public String getQualifiedName () {
|
||||
return getCategory().getQualifiedName();
|
||||
}
|
||||
}
|
||||
|
||||
private static final String LANG_PREFIX = "storageDrawers.config.";
|
||||
|
||||
private final Configuration config;
|
||||
|
||||
public final List<ConfigSection> sections = new ArrayList<ConfigSection>();
|
||||
public final ConfigSection sectionGeneral = new ConfigSection(sections, "general", "general");
|
||||
public final ConfigSection sectionBlocks = new ConfigSection(sections, "blocks", "blocks");
|
||||
public final ConfigSection sectionUpgrades = new ConfigSection(sections, "upgrades", "upgrades");
|
||||
|
||||
public final List<ConfigSection> blockSections = new ArrayList<ConfigSection>();
|
||||
public final ConfigSection sectionBlocksFullDrawers1x2 = new ConfigSection(blockSections, sectionBlocks, "fulldrawers2", "blocks.fullDrawers2");
|
||||
public final ConfigSection sectionBlocksFullDrawers2x2 = new ConfigSection(blockSections, sectionBlocks, "fulldrawers4", "blocks.fullDrawers4");
|
||||
public final ConfigSection sectionBlocksHalfDrawers1x2 = new ConfigSection(blockSections, sectionBlocks, "halfdrawers2", "blocks.halfDrawers2");
|
||||
public final ConfigSection sectionBlocksHalfDrawers2x2 = new ConfigSection(blockSections, sectionBlocks, "halfdrawers4", "blocks.halfDrawers4");
|
||||
|
||||
public Map<String, ConfigCategory> blockSubcategories;
|
||||
|
||||
private Property itemRenderType;
|
||||
|
||||
public ConfigManager (File file) {
|
||||
config = new Configuration(file);
|
||||
|
||||
for (ConfigSection section : sections)
|
||||
section.getCategory();
|
||||
|
||||
for (ConfigSection section : blockSections)
|
||||
section.getCategory();
|
||||
|
||||
syncConfig();
|
||||
}
|
||||
|
||||
public void syncConfig () {
|
||||
itemRenderType = config.get(Configuration.CATEGORY_GENERAL, "Item Render Type", "fancy", null, new String[] { "fancy", "fast" });
|
||||
|
||||
config.get(sectionBlocksFullDrawers1x2.getQualifiedName(), "enabled", true);
|
||||
config.get(sectionBlocksFullDrawers1x2.getQualifiedName(), "baseStorage", 8);
|
||||
|
||||
config.get(sectionBlocksFullDrawers2x2.getQualifiedName(), "enabled", true);
|
||||
config.get(sectionBlocksFullDrawers2x2.getQualifiedName(), "baseStorage", 4);
|
||||
|
||||
config.get(sectionBlocksHalfDrawers1x2.getQualifiedName(), "enabled", true);
|
||||
config.get(sectionBlocksHalfDrawers1x2.getQualifiedName(), "baseStorage", 4);
|
||||
|
||||
config.get(sectionBlocksHalfDrawers2x2.getQualifiedName(), "enabled", true);
|
||||
config.get(sectionBlocksHalfDrawers2x2.getQualifiedName(), "baseStorage", 2);
|
||||
|
||||
if (config.hasChanged())
|
||||
config.save();
|
||||
}
|
||||
|
||||
public boolean fancyItemRenderEnabled () {
|
||||
if (itemRenderType.getString().equals("fancy"))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getPath () {
|
||||
return config.toString();
|
||||
}
|
||||
|
||||
private String getBlockName (Block block) {
|
||||
return block.getUnlocalizedName().replace("tile.", "");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.jaquadro.minecraft.storagedrawers.config;
|
||||
|
||||
import com.jaquadro.minecraft.storagedrawers.StorageDrawers;
|
||||
import cpw.mods.fml.client.config.GuiConfig;
|
||||
import cpw.mods.fml.client.config.IConfigElement;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraftforge.common.config.ConfigElement;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ModConfigGui extends GuiConfig
|
||||
{
|
||||
public ModConfigGui (GuiScreen parent) {
|
||||
super(parent, getConfigElements(), StorageDrawers.MOD_ID, false, false, "Storage Drawers Configuration");
|
||||
}
|
||||
|
||||
private static List<IConfigElement> getConfigElements () {
|
||||
List<IConfigElement> list = new ArrayList<IConfigElement>();
|
||||
|
||||
for (ConfigManager.ConfigSection section : StorageDrawers.config.sections)
|
||||
list.add(new ConfigElement(section.getCategory()));
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.jaquadro.minecraft.storagedrawers.core;
|
||||
|
||||
import com.jaquadro.minecraft.storagedrawers.config.ModConfigGui;
|
||||
import cpw.mods.fml.client.IModGuiFactory;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public class ModGuiFactory 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;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user