import pcc.chemicraft.item.ItemAtomsGrenade;
import pcc.chemicraft.item.ItemCompounds;
import pcc.chemicraft.item.ItemGasCollectingBottle;
+import pcc.chemicraft.ore.BlockAtomsOre;
import pcc.chemicraft.system.CommonProxy;
import pcc.chemicraft.system.PacketHandler;
import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
public int toolAndWeaponCraftingTableID;
public int chemicalCraftingTableID;
+ public int atomsOreID;
+
/**
* GUIID.
*/
public Block blockToolAndWeaponCraftingTable;
public Block blockChemicalCraftingTable;
+ public Block blockAtomsOre;
+
/**
* Item型変数.
*/
/**
* このmodで使用するTextureのパス.
*/
- public final String ITEMATOMSTEXTURE = "/pcc/chemicraft/items/Atoms.png";
- public final String ITEMCOMPOUNDSTEXTURE = "/pcc/chemicraft/items/Compounds.png";
- public final String ITEMTEXTURE = "/pcc/chemicraft/items/items.png";
- public final String BLOCKCHEMICALCRAFTINGTABLETEXTURE = "/pcc/chemicraft/blocks/cctable.png";
- public final String GUIPYROLYSISTEXTURE = "/pcc/chemicraft/guis/Pyrolysis.png";
- public final String GUIELECTROLYSISTEXTURE = "/pcc/chemicraft/guis/Electrolysis.png";
- public final String GUICHEMICALCOMBINATIONTEXTURE = "/pcc/chemicraft/guis/ChemicalCombination.png";
- public final String GUITOOLANDWEAPONCRAFTINGTEXTURE = "/pcc/chemicraft/guis/ToolAndWeaponCrafting.png";
- public final String GUICHEMICALCRAFTINGTEXTURE = "/pcc/chemicraft/guis/MaterialCrafting.png";
+ public final String ITEM_ATOMS_TEXTURE = "/pcc/chemicraft/items/Atoms.png";
+ public final String ITEM_COMPOUNDS_TEXTURE = "/pcc/chemicraft/items/Compounds.png";
+ public final String ITEM_TEXTURE = "/pcc/chemicraft/items/items.png";
+ public final String BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE = "/pcc/chemicraft/blocks/cctable.png";
+ public final String BLOCK_ATOMS_ORE_TEXTURE = "/pcc/chemicraft/blocks/AtomsOres.png";
+ public final String GUI_PYROLYSIS_TEXTURE = "/pcc/chemicraft/guis/Pyrolysis.png";
+ public final String GUI_ELECTROLYSIS_TEXTURE = "/pcc/chemicraft/guis/Electrolysis.png";
+ public final String GUI_CHEMICALCOMBINATION_TEXTURE = "/pcc/chemicraft/guis/ChemicalCombination.png";
+ public final String GUI_TOOLANDWEAPONCRAFTING_TEXTURE = "/pcc/chemicraft/guis/ToolAndWeaponCrafting.png";
+ public final String GUI_CHEMICALCRAFTING_TEXTURE = "/pcc/chemicraft/guis/MaterialCrafting.png";
/**
* このmodに必要な補助クラスのインスタンス.
Property toolAndWeaponCraftingTableIDProp = cfg.getBlock("ToolAndWeaponCraftingTableID", 2403);
Property chemicalCraftingTableIDProp = cfg.getBlock("ChemicalCraftingTableID", 2404);
+ Property atomsOreIDProp = cfg.getBlock("AtomsOreID", 2500);
+
Property atomsIDProp = cfg.getItem("AtomsID", 25000);
Property compoundsIDProp = cfg.getItem("CompoundsID", 25001);
Property gasCollectingBottleIDProp = cfg.getItem("gasCollectingBottleID", 25002);
this.chemicalConbinationTableID = chemicalCombinationTableIDProp.getInt();
this.toolAndWeaponCraftingTableID = toolAndWeaponCraftingTableIDProp.getInt();
this.chemicalCraftingTableID = chemicalCraftingTableIDProp.getInt();
+ this.atomsOreID = atomsOreIDProp.getInt();
this.atomsID = atomsIDProp.getInt();
this.compoundsID = compoundsIDProp.getInt();
this.gasCollectingBottleID = gasCollectingBottleIDProp.getInt();
setResistance(0.0F).
setStepSound(Block.soundStoneFootstep).
setBlockName("PyrolysisTable");
+ this.blockElectrolysisTable = new BlockElectrolysisTable(this.electrolysisTableID, 0, Material.ground).
+ setHardness(2.0F).
+ setResistance(0.0F).
+ setStepSound(Block.soundStoneFootstep).
+ setBlockName("ElectrolysisTable");
this.blockChemicalCombinationTable = new BlockChemicalCombinationTable(this.chemicalConbinationTableID, 0, Material.ground).
setHardness(2.0F).
setResistance(0.0F).
setResistance(0.0F).
setStepSound(Block.soundStoneFootstep).
setBlockName("ChemicalCraftingTable");
- this.blockElectrolysisTable = new BlockElectrolysisTable(this.electrolysisTableID, 0, Material.ground).
- setHardness(2.0F).
- setResistance(0.0F).
- setStepSound(Block.soundStoneFootstep).
- setBlockName("ElectrolysisTable");
// Itemを追加します
this.itemAtoms = new ItemAtoms(this.atomsID).setItemName("atoms");
Character.valueOf('A'), new ItemStack(this.itemAtoms, 1, 0),
});
+ //鉱石の登録
+ for (int i = 0; i < api.getAtomsOreIDList().size(); i++) {
+ this.blockAtomsOre = new BlockAtomsOre(api.getAtomsOreIDList().get(i)).
+ setHardness(3.0F).setResistance(5.0F).
+ setStepSound(Block.soundStoneFootstep).
+ setBlockName("AtomsOre" + "." + api.getAtomsOreIDList().get(i));
+ GameRegistry.registerBlock(this.blockAtomsOre, "AtomsOre");
+ }
+
//鉱石を追加します
- api.addAtomsOre(Block.blockDiamond.blockID, 0, 5, 5, 20); //テスト用。ダイヤモンドブロックを生成します
+ api.addAtomsOre("Test", Block.blockDiamond.blockID, 0, 5, 5, 20); //テスト用
//鉱石の生成
for (int i = 0; i < api.getAtomsOreIDList().size(); i++) {
+ /**
+ * 鉱石名リスト
+ */
+ private ArrayList<String> atomsOreNameList = new ArrayList<String>();
+
+
+ /**
+ * 鉱石IDリスト
+ */
private ArrayList<Integer> atomsOreIDList = new ArrayList<Integer>();
+ /**
+ * 鉱石メタデータリスト
+ */
private ArrayList<Integer> atomsOreMetaList = new ArrayList<Integer>();
+ /**
+ * 鉱石量リスト
+ */
private ArrayList<Integer> atomsOreSizeList = new ArrayList<Integer>();
+ /**
+ * 鉱石頻度リスト
+ */
private ArrayList<Integer> atomsOreFrequencyList = new ArrayList<Integer>();
+ /**
+ * 鉱石Y座標リスト
+ */
private ArrayList<Integer> atomsOrePosYList = new ArrayList<Integer>();
- public void addAtomsOre(int id, int size, int frequency, int posY){
- addAtomsOre(id, 0, size, frequency, posY);
+ /**
+ * 鉱石を追加します
+ * @param name 鉱石名
+ * @param id 鉱石ID
+ * @param meta 鉱石メタデータ
+ * @param size 一度に生成される量
+ * @param frequency 生成頻度
+ * @param posY Y座標
+ */
+ public void addAtomsOre(String name, int id, int size, int frequency, int posY){
+ addAtomsOre(name, id, 0, size, frequency, posY);
}
- public void addAtomsOre(int id, int meta, int size, int frequency, int posY){
+ public void addAtomsOre(String name, int id, int meta, int size, int frequency, int posY){
+ atomsOreNameList.add(name);
atomsOreIDList.add(id);
atomsOreMetaList.add(meta);
atomsOreSizeList.add(size);
atomsOreFrequencyList.add(frequency);
atomsOrePosYList.add(posY);
}
+
+
+
//以下システム関連//////////////////////////////////////////////////////
public ArrayList<ICompoundHandler> getCompoundHandler(){
+ public ArrayList<String> getAtomsOreNameList(){
+ return atomsOreNameList;
+ }
+
+
+
public ArrayList<Integer> getAtomsOreIDList(){
return atomsOreIDList;
}
@Override
public String getTextureFile() {
- return ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE;
+ return ChemiCraft.instance.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
}
@Override
public String getTextureFile(){
- return ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE;
+ return ChemiCraft.instance.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
}
@Override
public String getTextureFile()
{
- return ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE;
+ return ChemiCraft.instance.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
}
@Override
@Override
public String getTextureFile(){
- return ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE;
+ return ChemiCraft.instance.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
}
@Override
public String getTextureFile(){
- return ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE;
+ return ChemiCraft.instance.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
}
@Override
public void registerRenderInformation() {
- MinecraftForgeClient.preloadTexture(ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE);
- MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEMATOMSTEXTURE);
- MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEMCOMPOUNDSTEXTURE);
- MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEMTEXTURE);
- MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUIPYROLYSISTEXTURE);
- MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUIELECTROLYSISTEXTURE);
- MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUICHEMICALCOMBINATIONTEXTURE);
- MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUICHEMICALCRAFTINGTEXTURE);
- MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUITOOLANDWEAPONCRAFTINGTEXTURE);
+ MinecraftForgeClient.preloadTexture(ChemiCraft.instance.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE);
+ MinecraftForgeClient.preloadTexture(ChemiCraft.instance.BLOCK_ATOMS_ORE_TEXTURE);
+ MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEM_ATOMS_TEXTURE);
+ MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEM_COMPOUNDS_TEXTURE);
+ MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEM_TEXTURE);
+ MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUI_PYROLYSIS_TEXTURE);
+ MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUI_ELECTROLYSIS_TEXTURE);
+ MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUI_CHEMICALCOMBINATION_TEXTURE);
+ MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUI_CHEMICALCRAFTING_TEXTURE);
+ MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUI_TOOLANDWEAPONCRAFTING_TEXTURE);
RenderingRegistry.registerEntityRenderingHandler(EntityAtomsGrenade.class, new RenderAtomsGrenade(0.5F));
}
@Override
protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
- this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUICHEMICALCOMBINATIONTEXTURE));
+ this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUI_CHEMICALCOMBINATION_TEXTURE));
this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
}
@Override
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3){
- this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUICHEMICALCRAFTINGTEXTURE));
+ this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUI_CHEMICALCRAFTING_TEXTURE));
this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
}
@Override
protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3)
{
- this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUIELECTROLYSISTEXTURE));
+ this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUI_ELECTROLYSIS_TEXTURE));
this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
}
@Override
protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
- this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUIPYROLYSISTEXTURE));
+ this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUI_PYROLYSIS_TEXTURE));
this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
}
@Override
protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
- this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUITOOLANDWEAPONCRAFTINGTEXTURE));
+ this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUI_TOOLANDWEAPONCRAFTING_TEXTURE));
this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
}
@Override
public String getTextureFile(){
- return ChemiCraft.instance.ITEMATOMSTEXTURE;
+ return ChemiCraft.instance.ITEM_ATOMS_TEXTURE;
}
@Override
public String getTextureFile(){
- return ChemiCraft.instance.ITEMCOMPOUNDSTEXTURE;
+ return ChemiCraft.instance.ITEM_COMPOUNDS_TEXTURE;
}
@Override
public String getTextureFile()
{
- return ChemiCraft.instance.ITEMTEXTURE;
+ return ChemiCraft.instance.ITEM_TEXTURE;
}
}
--- /dev/null
+package pcc.chemicraft.ore;
+
+import java.util.List;
+import java.util.Random;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+import pcc.chemicraft.ChemiCraft;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+public class BlockAtomsOre extends Block
+{
+
+ public BlockAtomsOre(int id)
+ {
+ super(id, Material.rock);
+ this.setCreativeTab(ChemiCraft.instance.creativeTab);
+ }
+
+ @Override
+ public int getBlockTextureFromSideAndMetadata(int par1, int par2)
+ {
+ return this.blockID * 16 + par2;
+ }
+
+ @Override
+ public int damageDropped(int par1)
+ {
+ return par1;
+ }
+
+ public static int getBlockFromDye(int par0)
+ {
+ return ~par0 & 15;
+ }
+
+ public static int getDyeFromBlock(int par0)
+ {
+ return ~par0 & 15;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
+ {
+ for (int var4 = 0; var4 < 16; ++var4) {
+ par3List.add(new ItemStack(par1, 1, var4));
+ }
+ }
+
+ @Override
+ public String getTextureFile()
+ {
+ return ChemiCraft.instance.BLOCK_ATOMS_ORE_TEXTURE;
+ }
+
+}
float var10 = this.field_77002_a;
GL11.glScalef(var10 / 1.0F, var10 / 1.0F, var10 / 1.0F);
byte var11 = 1;
- this.loadTexture(ChemiCraft.instance.ITEMTEXTURE);
+ this.loadTexture(ChemiCraft.instance.ITEM_TEXTURE);
Tessellator var12 = Tessellator.instance;
float var13 = (float)(var11 % 16 * 16 + 0) / 256.0F;
float var14 = (float)(var11 % 16 * 16 + 16) / 256.0F;