import java.util.List;
import net.minecraft.block.Block;
+import net.minecraft.block.BlockDispenser;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
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.dispenser.DispenserBehaviorAtomsGrenade;
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.LoaderState.ModState;
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)
+@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.5", channels = "chemicraftbase", packetHandler = PacketHandler.class)
public class ChemiCraftBase extends ChemiCraft {
/**
/**
* API Instance.
*/
- public ChemiCraftAPI api = ChemiCraftAPI.instance();
public ChemiCraftBaseAPI apiBase = ChemiCraftBaseAPI.instance();
/**
* CreativeTab of ChemiCraft.
*/
- public static final CreativeTabs creativeTabAtomsOre = new CreativeTabAtomOres("AtomsOre");
+ public static final CreativeTabs creativeTabAtomOres = new CreativeTabAtomOres("AtomOres");
/**
* the ItemID.
*/
+ public int atomIngotsID;
public int atomGrenadeID;
public int blackSmokeID;
+ public int oreSerarcherID;
public int dustID;
public int radiationGunID;
public int radiationBalletID;
- public int oreSerarcherID;
+ public int raditionGunDataChipID;
/**
* the BlockID.
/**
* Variables of Item type.
*/
+ public Item itemAtomIngots;
public Item itemAtomGrenade;
public Item itemBlackSmoke;
public Item itemDust;
public Item itemRadiationGun;
public Item itemRadiationBallet;
public Item itemOreSearcher;
+ public Item itemRaditionGunDataChip;
/**
* the Register Instances.
public ChemiCraftRegister registerEntitys;
/**
- * the Textures
+ * the Textures.
*/
- public static final String ORE = ChemiCraft.TEXTURE + "AtomsOre_";
+ public static final String INGOT = ChemiCraft.TEXTURE + "atom_ingots_";
+ public static final String ORE = ChemiCraft.TEXTURE + "atom_ores_";
public ChemiCraftBase() {
this.registerCompounds = new ChemiCraftRegisterCompounds(this);
while (true) {
if (proxy != null && instance != null) {
this.settingProcessing((FMLPostInitializationEvent) event);
- this.apiProcessing((FMLPostInitializationEvent) event);
break;
}
}
this.atomOresID[i] = ccfgBlock.additionID();
}
+ this.atomIngotsID = ccfgItem.additionID();
this.atomGrenadeID = ccfgItem.additionID();
this.dustID = ccfgItem.additionID();
this.radiationGunID = ccfgItem.additionID();
this.registerChemicalRecipe.start();
this.registerRecipe.start();
this.registerEntitys.start();
+
+ BlockDispenser.dispenseBehaviorRegistry.putObject(this.itemAtomGrenade, new DispenserBehaviorAtomsGrenade());
+
}
private void apiProcessing(final FMLPostInitializationEvent event) {
// API用の処理
+ for (int i = 0; i < this.apiBase.getAtomOres().size(); i++) {
+ OreDictionary.registerOre("ore" + this.apiBase.getAtomOresAtomName().get(i), new ItemStack(this.blockAtomOres[i / 16], 1, i % 16));
+ OreDictionary.registerOre("ingot" + this.apiBase.getAtomOresAtomName().get(i), new ItemStack(this.itemAtomIngots, 1, i ));
+ GameRegistry.registerWorldGenerator(this.apiBase.getAtomOres().get(i));
+ }
+
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,
+ ArrayList<String> oresName = this.apiBase.getAtomOresName().get(lang);
+ ArrayList<String> ingotsName = this.apiBase.getAtomIngotsName().get(lang);
+ for (int i = 0; i < oresName.size(); i++) {
+ ChemiCraftCore.logger.write("AtomOresAddName:" + "IngotName-" + ingotsName.get(i) + "OreName-" + oresName.get(i) + "ID-" + (i / 16)+ "/Damage-" + (i - i / 16 * 16) + "/Lang-" + lang,
EnumLoggingType.INFO);
LanguageRegistry.instance().addNameForObject(
- new ItemStack(this.blockAtomOres[i / 16], 1, i - i / 16 * 16),
+ new ItemStack(this.atomOresID[i / 16], 1, i % 16),
lang,
- names.get(i));
+ oresName.get(i)
+ );
+
+ /*
+ LanguageRegistry.instance().addNameForObject(
+ new ItemStack(this.atomIngotsID, 1, i),
+ lang,
+ ingotsName.get(i)
+ );
+ */
+
}
}
+
}
}