From dabeb9c6fa44950da98310f2641ecdd00cce72aa Mon Sep 17 00:00:00 2001 From: mozipi Date: Fri, 29 Mar 2013 14:34:38 +0900 Subject: [PATCH] =?utf8?q?=E5=90=8D=E5=89=8D=E3=81=A4=E3=81=91=E3=81=A7?= =?utf8?q?=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- common/pcc/chemicraft/core/ChemiCraftCore.java | 43 +++++++++++++++++----- common/pcc/chemicraft/core/item/ItemCompounds.java | 2 +- common/pcc/chemicraft/util/ListHash.java | 6 ++- 3 files changed, 40 insertions(+), 11 deletions(-) diff --git a/common/pcc/chemicraft/core/ChemiCraftCore.java b/common/pcc/chemicraft/core/ChemiCraftCore.java index 1b9f288..eaddef1 100644 --- a/common/pcc/chemicraft/core/ChemiCraftCore.java +++ b/common/pcc/chemicraft/core/ChemiCraftCore.java @@ -1,5 +1,9 @@ package pcc.chemicraft.core; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -16,17 +20,21 @@ import pcc.chemicraft.core.debug.CommandGenDebugRoom; import pcc.chemicraft.core.debug.CommandSetTile; import pcc.chemicraft.core.system.CommonProxy; import pcc.chemicraft.core.system.PacketHandler; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.LoaderState.ModState; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.Mod.PreInit; import cpw.mods.fml.common.Mod.ServerStarting; +import cpw.mods.fml.common.ModContainer; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkRegistry; +import cpw.mods.fml.common.registry.LanguageRegistry; /** * ChemiCraft本体 @@ -220,11 +228,26 @@ public class ChemiCraftCore extends ChemiCraft{ while (true) { if (proxy != null && instance != null) { this.settingProcessing((FMLInitializationEvent) event); - this.apiProcessing((FMLInitializationEvent) event); this.debug((FMLInitializationEvent) event); break; } } + + Thread loadCheckThread = new Thread() { + @Override + public void run() { + while (true) { + List mod = Loader.instance().getModList(); + ModContainer finalMod = mod.get(mod.size()-1); + ModState finalModState = Loader.instance().getModState(finalMod); + if (finalModState == ModState.AVAILABLE) { + apiProcessing((FMLInitializationEvent) event); + } + } + } + }; + loadCheckThread.start(); + } @@ -241,7 +264,7 @@ public class ChemiCraftCore extends ChemiCraft{ //電池を追加します this.api.addChemicalCell(itemChemicalCells, "ChemicalCell", 1000); - this.api.addChemicalCellLanguage("ChemicalCell", "ja_JP", "化学電池"); + this.api.addChemicalCellLanguage("ja_JP", "化学電池"); this.api.addPyrolysisDecompositionFuel(new ItemStack(Item.coal), 2000*8); } @@ -249,15 +272,17 @@ public class ChemiCraftCore extends ChemiCraft{ private void apiProcessing(final FMLInitializationEvent event) { - - for (int i = 0; i < api.getChemicalCellsName().sizeKeysList(); i++) - { - for (int j = 0; j < api.getChemicalCellsName().sizeElementsList(api.getChemicalCellsName().getKeyList(i)); j++) - { - this.nameAuxiliary.addName(new ItemStack(itemChemicalCells, 0, i), api.getChemicalCellsLanguage().get(api.getChemicalCellsName().getKeyList(i), j), api.getChemicalCellsName().get(api.getChemicalCellsName().getKeyList(i), j)); + Iterator langItr = this.api.getCompoundsName().keySet().iterator(); + while (langItr.hasNext()) { + String lang = langItr.next(); + ArrayList names = this.api.getCompoundsName().get(lang); + for (int i = 0; i < names.size(); i++) { + LanguageRegistry.instance().addNameForObject( + new ItemStack(this.itemCompounds, 1, i), + lang, + names.get(i)); } } - } diff --git a/common/pcc/chemicraft/core/item/ItemCompounds.java b/common/pcc/chemicraft/core/item/ItemCompounds.java index 98e7c73..69f6210 100644 --- a/common/pcc/chemicraft/core/item/ItemCompounds.java +++ b/common/pcc/chemicraft/core/item/ItemCompounds.java @@ -87,7 +87,7 @@ public class ItemCompounds extends Item { @Override public String getItemNameIS(ItemStack par1ItemStack){ try { - return super.getItemName() + "." + ChemiCraftAPI.instance().getCompoundsName().getKeyList(par1ItemStack.getItemDamage()); + return super.getItemName() + "." + ChemiCraftAPI.instance().getCompoundsName().get("en_US", par1ItemStack.getItemDamage()); } catch (ArrayIndexOutOfBoundsException e) { par1ItemStack.stackSize = 0; } diff --git a/common/pcc/chemicraft/util/ListHash.java b/common/pcc/chemicraft/util/ListHash.java index 7ee1298..0213a60 100644 --- a/common/pcc/chemicraft/util/ListHash.java +++ b/common/pcc/chemicraft/util/ListHash.java @@ -13,7 +13,7 @@ public class ListHash { /** * @author Ponkotate version:1.0.0 dev - * + * * Create ArrayList in HashMap. */ @@ -79,6 +79,10 @@ public class ListHash return this.elementsHash.get(par1Key).get(par2Index); } + public ArrayList get(K par1Key) { + return this.elementsHash.get(par1Key); + } + public int indexOf(K par1Key, E par2Element) { return this.elementsHash.get(par1Key).indexOf(par2Element); -- 2.11.0