package pcc.chemicraft.base;
+import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.Property;
-import net.minecraftforge.oredict.OreDictionary;
import pcc.chemicraft.ChemiCraft;
import pcc.chemicraft.ChemiCraftConfiguration;
import pcc.chemicraft.ChemiCraftRegister;
import pcc.chemicraft.EnumLoggingType;
import pcc.chemicraft.base.creativetab.CreativeTabAtomOres;
-import pcc.chemicraft.base.gen.WorldGenAtomsOre;
import pcc.chemicraft.base.system.CommonProxy;
import pcc.chemicraft.base.system.PacketHandler;
import pcc.chemicraft.core.ChemiCraftAPI;
import pcc.chemicraft.core.ChemiCraftCore;
import cpw.mods.fml.common.Loader;
-import cpw.mods.fml.common.Mod;
-import cpw.mods.fml.common.ModContainer;
import cpw.mods.fml.common.LoaderState.ModState;
+import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.Mod.PostInit;
import cpw.mods.fml.common.Mod.PreInit;
+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.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
-import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.common.registry.LanguageRegistry;
@Mod(modid = "ChemiCraftBase", name = "ChemiCraftBase", version = "beta1")
@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.4.7", channels = "chemicraftbase", packetHandler = PacketHandler.class)
public ChemiCraftRegister registerRecipe;
public ChemiCraftRegister registerEntitys;
+ /**
+ * the Textures
+ */
+ public static final String ORE = ChemiCraft.TEXTURE + "AtomsOre_";
+
public ChemiCraftBase() {
this.registerCompounds = new ChemiCraftRegisterCompounds(this);
this.registerCompoundsHandler = new ChemiCraftRegisterCompoundsHandler(this);
private void apiProcessing(final FMLPostInitializationEvent event) {
// API用の処理
- for (int i = 0; i < apiBase.getAtomOresName().sizeKeysList(); i++) {
- for (int j = 0; j < apiBase.getAtomOresName().sizeElementsList(apiBase.getAtomOresName().getKeyList(i)); j++) {
- ChemiCraftCore.logger.write("OreAddName:" + "Name-" + apiBase.getAtomOresName().get(apiBase.getAtomOresName().getKeyList(i), j) +
- "/Lang-" + apiBase.getAtomOresLanguage().get(apiBase.getAtomOresName().getKeyList(i), j),
+ Iterator<String> langoresItr = this.apiBase.getAtomOresName().iterator();
+ while (langoresItr.hasNext()){
+ String lang = langoresItr.next();
+ ArrayList<String> names = this.apiBase.getAtomOresName().get(lang);
+ for (int i = 0; i < names.size(); i++) {
+ ChemiCraftCore.logger.write("AtomOresAddName:" + "Name-" + names.get(i) + "/Damage-" + (i - i / 16 * 16) + "/Lang-" + lang,
EnumLoggingType.INFO);
- this.nameAuxiliary.addName(
- new ItemStack(
- blockAtomOres[i / 16], 0, i - i / 16 * 16),
- apiBase.getAtomOresLanguage().get(apiBase.getAtomOresName().getKeyList(i), j),
- apiBase.getAtomOresName().get(apiBase.getAtomOresName().getKeyList(i), j));
- OreDictionary.registerOre("ore" + apiBase.getAtomOresName().getKeyList(i),
- new ItemStack(blockAtomOres[i / 16], 1, i - i / 16 * 16));
- GameRegistry.registerWorldGenerator(apiBase.getAtomOres().get(i));
+ LanguageRegistry.instance().addNameForObject(
+ new ItemStack(this.blockAtomOres[i / 16], 1, i - i / 16 * 16),
+ lang,
+ names.get(i));
}
}
}
import pcc.chemicraft.base.gen.EnumOreSpawnFrequency;
import pcc.chemicraft.base.gen.WorldGenAtomsOre;
-import pcc.chemicraft.util.AtomInfo;
import pcc.chemicraft.util.Formula;
import pcc.chemicraft.util.ListHash;
/**
- * 鉱石の言語リスト
- */
- private ListHash<String, String> atomOresLangListHash = new ListHash<String, String>();
-
-
- /**
* 鉱石リスト
*/
private ArrayList<WorldGenAtomsOre> atomOresList = new ArrayList<WorldGenAtomsOre>();
var7 = var7.concat(" Ore");
}
- this.atomOresEnglishList.add(par1Name + " Ore");
- addAtomOresLanguage(par1Name, var7, "en_US");
+ this.atomOresEnglishList.add(var7);
+ addAtomOresLanguage(var7, "en_US");
}
* @param par2NewName 新しい名前
* @param par3Language 言語
*/
- public void addAtomOresLanguage(String par1Name, String par2NewName, String par3Language){
- atomOresNameListHash.add(par1Name,
- par2NewName);
- atomOresLangListHash.add(par1Name,
- par3Language);
+ public void addAtomOresLanguage(String par1Name, String par2Language){
+ atomOresNameListHash.add(
+ par2Language,
+ par1Name
+ );
}
- public ListHash<String, String> getAtomOresLanguage(){
- return atomOresLangListHash;
- }
-
-
-
public int getAtomOresLastIndex(){
- return atomOresNameListHash.sizeKeysList() / 16;
+ return atomOresEnglishList.size() / 16;
}
public int getAtomOresMetaOfLastIndex(){
- return atomOresNameListHash.sizeKeysList() - getAtomOresLastIndex() * 16;
+ return atomOresEnglishList.size() - getAtomOresLastIndex() * 16;
}
this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
EnumOreSpawnFrequency.NORMAL);
//日本語名で追加
- this.mod.apiBase.addAtomOresLanguage(ChemiCraftCore.ATOMSNAME[i], ChemiCraftCore.ATOMSNAMEJP[i] + "鉱石", "ja_JP");
+ this.mod.apiBase.addAtomOresLanguage(ChemiCraftCore.ATOMSNAMEJP[i] + "鉱石", "ja_JP");
}
}
this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
EnumOreSpawnFrequency.RARE);
// LaCePrNdPmSmEuGdTbDyHoErTmYbLu
- this.mod.apiBase.addAtomOresLanguage("Lanthanoid", "ランタノイド鉱石", "ja_JP");
+ this.mod.apiBase.addAtomOresLanguage("ランタノイド鉱石", "ja_JP");
// アクチノイド鉱石
this.mod.apiBase.addAtomOres(
this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
EnumOreSpawnFrequency.RARE);
// AcThPaUNpPuAmCmBkCfEsFmMdNoLr
- this.mod.apiBase.addAtomOresLanguage("Actinoid", "アクチノイド鉱石", "ja_JP");
+ this.mod.apiBase.addAtomOresLanguage("アクチノイド鉱石", "ja_JP");
}
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
*/
public class BlockAtomOres extends Block {
+ @SideOnly(Side.CLIENT)
+ private Icon[] iconArray;
+
public BlockAtomOres(int id) {
super(id, Material.rock);
this.setCreativeTab(ChemiCraftBase.instance.creativeTabAtomsOre);
}
- /* 一時保留。詳しい事が決まらないと、変更が難しいため。 --WIP--
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IconRegister par1IconRegister) {
+ this.iconArray = new Icon[ChemiCraftCore.ATOMSNAME.length];
+
+ for (int i = 0; i < this.iconArray.length; i++){
+ this.iconArray[i] = par1IconRegister.registerIcon(ChemiCraftBase.ORE + "WIP");
+ }
+ }
+
@Override
public Icon getBlockTextureFromSideAndMetadata(int par1, int par2) {
- return (this.blockID - ChemiCraftBase.instance.atomOresID[0]) * 16 + par2;
+ int var3 = this.blockID - ChemiCraftBase.instance.atomOresID[0];
+ return this.iconArray[var3 - var3 / 16 * 16];
}
- */
@Override
public int damageDropped(int par1) {