revert delete bees

This commit is contained in:
Dream-Master 2016-06-25 15:24:45 +02:00
parent 05125232c6
commit a73309a5e5
5 changed files with 1181 additions and 1 deletions

View file

@ -32,6 +32,7 @@ import gregtech.loaders.load.GT_FuelLoader;
import gregtech.loaders.load.GT_ItemIterator; import gregtech.loaders.load.GT_ItemIterator;
import gregtech.loaders.load.GT_SonictronLoader; import gregtech.loaders.load.GT_SonictronLoader;
import gregtech.loaders.misc.GT_Achievements; import gregtech.loaders.misc.GT_Achievements;
import gregtech.loaders.misc.GT_Bees;
import gregtech.loaders.misc.GT_CoverLoader; import gregtech.loaders.misc.GT_CoverLoader;
import gregtech.loaders.misc.OreProcessingConfiguration; import gregtech.loaders.misc.OreProcessingConfiguration;
import gregtech.loaders.postload.*; import gregtech.loaders.postload.*;
@ -388,6 +389,7 @@ public class GT_Mod
e.printStackTrace(GT_Log.err); e.printStackTrace(GT_Log.err);
} }
} }
new GT_Bees();
gregtechproxy.onLoad(); gregtechproxy.onLoad();
if (gregtechproxy.mSortToTheEnd) { if (gregtechproxy.mSortToTheEnd) {

View file

@ -0,0 +1,301 @@
package gregtech.common.items;
import com.google.common.collect.ImmutableMap;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.core.Tabs;
import forestry.api.recipes.RecipeManagers;
import gregtech.GT_Mod;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import java.util.List;
import static gregtech.api.enums.GT_Values.MOD_ID;
public class ItemComb extends Item {
@SideOnly(Side.CLIENT)
private IIcon secondIcon;
public ItemComb() {
super();
this.setCreativeTab(Tabs.tabApiculture);
this.setHasSubtypes(true);
this.setUnlocalizedName("gt.comb");
GameRegistry.registerItem(this, "gt.comb", MOD_ID);
}
public ItemStack getStackForType(CombType type) {
return new ItemStack(this, 1, type.ordinal());
}
public ItemStack getStackForType(CombType type, int count) {
return new ItemStack(this, count, type.ordinal());
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tabs, List list) {
for (CombType type : CombType.values()) {
if (type.showInList) {
list.add(this.getStackForType(type));
}
}
}
@Override
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses() {
return true;
}
@Override
public int getRenderPasses(int meta) {
return 2;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister par1IconRegister) {
this.itemIcon = par1IconRegister.registerIcon("forestry:beeCombs.0");
this.secondIcon = par1IconRegister.registerIcon("forestry:beeCombs.1");
}
@Override
public IIcon getIcon(ItemStack stack, int pass) {
return (pass == 0) ? itemIcon : secondIcon;
}
@Override
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int pass) {
int meta = Math.max(0, Math.min(CombType.values().length - 1, stack.getItemDamage()));
int colour = CombType.values()[meta].getColours()[0];
if (pass >= 1) {
colour = CombType.values()[meta].getColours()[1];
}
return colour;
}
@Override
public String getItemStackDisplayName(ItemStack stack) {
return CombType.values()[stack.getItemDamage()].getName();
}
public void initCombsRecipes() {
ItemStack tComb;
//Organic
tComb = getStackForType(CombType.LIGNIE);
addSpecialCent(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1), 90);
addProcess(tComb, Materials.Lignite, 100);
tComb = getStackForType(CombType.COAL);
addSpecialCent(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1), 40);
addProcess(tComb, Materials.Coal, 100);
tComb = getStackForType(CombType.STICKY);
addSpecialCent(tComb, ItemList.IC2_Resin.get(1, new Object[0]), 70);
tComb = getStackForType(CombType.OIL);
addSpecialCent(tComb, ItemList.Crop_Drop_OilBerry.get(2, new Object[0]), 70);
addProcess(tComb, Materials.Oilsands, 100);
//Gem Line
tComb = getStackForType(CombType.STONE);
addSpecialCent(tComb,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), 70,GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Salt,1),20,GT_OreDictUnificator.get(OrePrefixes.dust,Materials.RockSalt,1),20);
addProcess(tComb, Materials.Soapstone, 100);
addProcess(tComb, Materials.Talc, 100);
addProcess(tComb, Materials.Apatite, 100);
addProcess(tComb, Materials.Phosphate, 100);
addProcess(tComb, Materials.Phosphorus, 100);
tComb = getStackForType(CombType.CERTUS);
addProcess(tComb, Materials.CertusQuartz, 100);
addProcess(tComb, Materials.Quartzite, 100);
addProcess(tComb, Materials.Barite, 100);
tComb = getStackForType(CombType.REDSTONE);
addProcess(tComb, Materials.Redstone, 100);
addProcess(tComb, Materials.Cinnabar, 100);
tComb = getStackForType(CombType.LAPIS);
addProcess(tComb, Materials.Lapis, 100);
addProcess(tComb, Materials.Sodalite, 100);
addProcess(tComb, Materials.Lazurite, 100);
addProcess(tComb, Materials.Calcite, 100);
tComb = getStackForType(CombType.RUBY);
addProcess(tComb, Materials.Ruby, 100);
addProcess(tComb, Materials.Redstone, 100);
tComb = getStackForType(CombType.SAPPHIRE);
addProcess(tComb, Materials.Sapphire, 100);
addProcess(tComb, Materials.GreenSapphire, 100);
addProcess(tComb, Materials.Almandine, 100);
addProcess(tComb, Materials.Pyrope, 100);
tComb = getStackForType(CombType.DIAMOND);
addProcess(tComb, Materials.Diamond, 100);
addProcess(tComb, Materials.Graphite, 100);
tComb = getStackForType(CombType.OLIVINE);
addProcess(tComb, Materials.Olivine, 100);
addProcess(tComb, Materials.Bentonite, 100);
addProcess(tComb, Materials.Magnesite, 100);
addProcess(tComb, Materials.Glauconite, 100);
tComb = getStackForType(CombType.EMERALD);
addProcess(tComb, Materials.Emerald, 100);
addProcess(tComb, Materials.Beryllium, 100);
addProcess(tComb, Materials.Thorium, 100);
// // Metals Line
tComb = getStackForType(CombType.SLAG);
addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), 50,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniteBlack, 1), 20,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniteRed, 1), 20);
addProcess(tComb, Materials.Salt, 100);
addProcess(tComb, Materials.RockSalt, 100);
addProcess(tComb, Materials.Lepidolite, 100);
addProcess(tComb, Materials.Spodumene, 100);
addProcess(tComb, Materials.Monazite, 100);
tComb = getStackForType(CombType.COPPER);
addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1), 70);
addProcess(tComb, Materials.Copper, 100);
addProcess(tComb, Materials.Tetrahedrite, 100);
addProcess(tComb, Materials.Chalcopyrite, 100);
addProcess(tComb, Materials.Malachite, 100);
addProcess(tComb, Materials.Pyrite, 100);
addProcess(tComb, Materials.Stibnite, 100);
tComb = getStackForType(CombType.TIN);
addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1), 60);
addProcess(tComb, Materials.Tin, 100);
addProcess(tComb, Materials.Cassiterite, 100);
tComb = getStackForType(CombType.LEAD);
addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1), 45);
addProcess(tComb, Materials.Lead, 100);
addProcess(tComb, Materials.Galena, 100);
tComb = getStackForType(CombType.IRON);
addProcess(tComb, Materials.Iron, 100);
addProcess(tComb, Materials.Magnetite, 100);
addProcess(tComb, Materials.BrownLimonite, 100);
addProcess(tComb, Materials.YellowLimonite, 100);
addProcess(tComb, Materials.VanadiumMagnetite, 100);
addProcess(tComb, Materials.BandedIron, 100);
addProcess(tComb, Materials.Pyrite, 100);
addProcess(tComb, Materials.MeteoricIron, 100);
tComb = getStackForType(CombType.STEEL);
addProcess(tComb, Materials.Iron, Materials.Steel, 100);
addProcess(tComb, Materials.Magnetite, Materials.Steel, 100);
addProcess(tComb, Materials.BrownLimonite, Materials.Steel, 100);
addProcess(tComb, Materials.YellowLimonite, Materials.Steel, 100);
addProcess(tComb, Materials.VanadiumMagnetite, Materials.VanadiumSteel, 100);
addProcess(tComb, Materials.BandedIron, Materials.Steel, 100);
addProcess(tComb, Materials.Pyrite, Materials.Steel, 100);
addProcess(tComb, Materials.MeteoricIron, Materials.MeteoricSteel, 100);
addProcess(tComb, Materials.Molybdenite, 100);
addProcess(tComb, Materials.Molybdenum, 100);
tComb = getStackForType(CombType.NICKEL);
addProcess(tComb, Materials.Nickel, 100);
addProcess(tComb, Materials.Garnierite, 100);
addProcess(tComb, Materials.Pentlandite, 100);
addProcess(tComb, Materials.Cobaltite, 100);
addProcess(tComb, Materials.Wulfenite, 100);
addProcess(tComb, Materials.Powellite, 100);
tComb = getStackForType(CombType.ZINC);
addProcess(tComb, Materials.Zinc, 100);
addProcess(tComb, Materials.Sphalerite, 100);
addProcess(tComb, Materials.Sulfur, 100);
tComb = getStackForType(CombType.SILVER);
addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), 30);
addProcess(tComb, Materials.Silver, 100);
addProcess(tComb, Materials.Galena, 100);
tComb = getStackForType(CombType.GOLD);
addProcess(tComb, Materials.Gold, 100);
addProcess(tComb, Materials.Magnetite, Materials.Gold, 100);
// Rare Metals Line
tComb = getStackForType(CombType.ALUMINIUM);
addProcess(tComb,Materials.Aluminium,60);
addProcess(tComb,Materials.Bauxite,100);
tComb = getStackForType(CombType.MANGANESE);
addProcess(tComb,Materials.Manganese,30);
addProcess(tComb,Materials.Grossular,100);
addProcess(tComb,Materials.Spessartine,100);
addProcess(tComb,Materials.Pyrolusite,100);
addProcess(tComb,Materials.Tantalite,100);
tComb = getStackForType(CombType.TITANIUM);
addProcess(tComb,Materials.Titanium,100);
addProcess(tComb,Materials.Ilmenite,100);
addProcess(tComb,Materials.Bauxite,100);
tComb = getStackForType(CombType.CHROME);
addProcess(tComb,Materials.Chrome,50);
addProcess(tComb,Materials.Ruby,100);
addProcess(tComb,Materials.Chromite,50);
addProcess(tComb,Materials.Redstone,100);
addProcess(tComb, Materials.Neodymium, 100);
addProcess(tComb, Materials.Bastnasite, 100);
tComb = getStackForType(CombType.TUNGSTEN);
addProcess(tComb,Materials.Tungstate,100);
addProcess(tComb,Materials.Scheelite,100);
addProcess(tComb,Materials.Lithium,100);
tComb = getStackForType(CombType.PLATINUM);
addProcess(tComb,Materials.Platinum,40);
addProcess(tComb,Materials.Cooperite,40);
addProcess(tComb,Materials.Palladium,40);
tComb = getStackForType(CombType.IRIDIUM);
addProcess(tComb,Materials.Iridium,20);
addProcess(tComb,Materials.Osmium,20);
// Radioactive Line
tComb = getStackForType(CombType.URANIUM);
addProcess(tComb,Materials.Uranium,50);
addProcess(tComb,Materials.Pitchblende,50);
addProcess(tComb,Materials.Uraninite,50);
addProcess(tComb,Materials.Uranium235,50);
tComb = getStackForType(CombType.PLUTONIUM);
addProcess(tComb,Materials.Plutonium,10);
addProcess(tComb,Materials.Uranium235,Materials.Plutonium,5);
tComb = getStackForType(CombType.NAQUADAH);
addProcess(tComb,Materials.Naquadah,10);
addProcess(tComb,Materials.NaquadahEnriched,10);
addProcess(tComb,Materials.Naquadria,10);
}
public void addSpecialCent(ItemStack tComb, ItemStack aOutput, int chance){
GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 128, 5);
RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(aOutput, chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f));
}
public void addSpecialCent(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2){
GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), aOutput2, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000, chance2 * 100 }, 128, 5);
RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(aOutput, chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f,aOutput2,chance2 * 0.01f));
}
public void addSpecialCent(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2, ItemStack aOutput3, int chance3){
GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), aOutput2, aOutput3, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000, chance2 * 100, chance3*100 }, 128, 5);
RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(aOutput, chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f,aOutput2,chance2 * 0.01f,aOutput3,chance3*0.01f));
}
public void addProcess(ItemStack tComb, Materials aMaterial, int chance){
if(GT_Mod.gregtechproxy.mNerfedCombs){
GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.Water.getFluid(1000), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 96, 24);
GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(16, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1), 10000, (int) (aMaterial.getMass() * 128), 384);
}else{
GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 128, 5);
RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f));
}
}
public void addProcess(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){
if(GT_Mod.gregtechproxy.mNerfedCombs){
GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), Materials.Water.getFluid(1000), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 96, 24);
GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(16, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 1), 10000, (int) (aOutMaterial.getMass() * 128), 384);
}else{
GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 128, 5);
RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f));
}
}
}

View file

@ -0,0 +1,748 @@
package gregtech.loaders.misc;
import forestry.api.apiculture.*;
import forestry.api.core.EnumHumidity;
import forestry.api.core.EnumTemperature;
import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IAllele;
import forestry.apiculture.genetics.Bee;
import forestry.apiculture.genetics.BeeDefinition;
import forestry.apiculture.genetics.BeeVariation;
import forestry.apiculture.genetics.IBeeDefinition;
//import forestry.apiculture.items.EnumHoneyComb;
import forestry.core.genetics.alleles.AlleleHelper;
//import forestry.plugins.PluginApiculture;
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.util.GT_ModHandler;
import gregtech.common.items.CombType;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import org.apache.commons.lang3.text.WordUtils;
import java.util.Arrays;
import java.util.Locale;
public enum GT_BeeDefinition implements IBeeDefinition {
CLAY(GT_BranchDefinition.ORGANIC, "Clay", true, 0x19d0ec, 0xffdc16) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f);
beeSpecies.addProduct(new ItemStack(Items.clay_ball, 1), 0.15f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.MEADOWS.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies("Industrious"), getSpecies("Diligent"), 20);
}
},
SLIMEBALL(GT_BranchDefinition.ORGANIC, "SlimeBall", true, 0x4E9E55, 0x00FF15) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 15), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STICKY), 0.30f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.MARSHY.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies("Marshy"), CLAY.species, 15);
}
},
PEAT(GT_BranchDefinition.ORGANIC, "Peat", true, 0x906237, 0x58300B) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LIGNIE), 0.30f);
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.RURAL.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies("Rural"), CLAY.species, 20);
}
},
STICKYRESIN(GT_BranchDefinition.ORGANIC, "StickyResin", true, 0x2E8F5B, 0xDCC289) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f);
beeSpecies.addProduct(ItemList.IC2_Resin.get(1, new Object[0]), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.MEADOWS.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(SLIMEBALL.species, PEAT.species, 25);
}
},
COAL(GT_BranchDefinition.ORGANIC, "Coal", true, 0x666666, 0x525252) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LIGNIE), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.COAL), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.AUSTERE.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies("Industrious"), PEAT.species, 18);
}
},
OIL(GT_BranchDefinition.ORGANIC, "Oil", true, 0x4C4C4C, 0x333333) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.OIL), 0.15f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
beeSpecies.setNocturnal();
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.MEADOWS.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(COAL.species, STICKYRESIN.species, 8);
}
},
REDSTONE(GT_BranchDefinition.GEM, "Redstone", true, 0x7D0F0F, 0xD11919) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.REDSTONE), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies("Industrious"), getSpecies("Demonic"), 20);
}
},
LAPIS(GT_BranchDefinition.GEM, "Lapis", true, 0x1947D1, 0x476CDA) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LAPIS), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies("Demonic"), getSpecies("Imperial"), 20);
}
},
CERTUS(GT_BranchDefinition.GEM, "CertusQuartz", true, 0x57CFFB, 0xBBEEFF) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.CERTUS), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies("Hermitic"), LAPIS.species, 20);
}
},
RUBY(GT_BranchDefinition.GEM, "Ruby", true, 0xE6005C, 0xCC0052) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.RUBY), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, DIAMOND.species, 10);
}
},
SAPPHIRE(GT_BranchDefinition.GEM, "Sapphire", true, 0x0033CC, 0x00248F) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SAPPHIRE), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(CERTUS.species, LAPIS.species, 10);
}
},
DIAMOND(GT_BranchDefinition.GEM, "Diamond", true, 0xCCFFFF, 0xA3CCCC) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.DIAMOND), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(CERTUS.species, COAL.species, 6);
}
},
OLIVINE(GT_BranchDefinition.GEM, "Olivine", true, 0x248F24, 0xCCFFCC) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.OLIVINE), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(CERTUS.species, getSpecies("Ended"), 10);
}
},
EMERALD(GT_BranchDefinition.GEM, "Emerald", true, 0x248F24, 0x2EB82E) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.EMERALD), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.COLD);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(OLIVINE.species, DIAMOND.species, 8);
}
},
COPPER(GT_BranchDefinition.METAL, "Copper", true, 0xFF6600, 0xE65C00) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.COPPER), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies("Majestic"), CLAY.species, 25);
}
},
TIN(GT_BranchDefinition.METAL, "Tin", true, 0xD4D4D4, 0xDDDDDD) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TIN), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(CLAY.species, getSpecies("Diligent"), 25);
}
},
LEAD(GT_BranchDefinition.METAL, "Lead", true, 0x666699, 0xA3A3CC) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LEAD), 0.15f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
beeSpecies.setTemperature(EnumTemperature.WARM);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(COAL.species, COPPER.species, 25);
}
},
IRON(GT_BranchDefinition.METAL, "Iron", true, 0xDA9147, 0xDE9C59) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.IRON), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(TIN.species, COPPER.species, 25);
}
},
STEEL(GT_BranchDefinition.METAL, "Steel", true, 0x808080, 0x999999) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STEEL), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(IRON.species, COAL.species, 20);
}
},
NICKEL(GT_BranchDefinition.METAL, "Nickel", true, 0x8585AD, 0x8585AD) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NICKEL), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(IRON.species, COPPER.species, 25);
}
},
ZINC(GT_BranchDefinition.METAL, "Zinc", true, 0xF0DEF0, 0xF2E1F2) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.ZINC), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(IRON.species, TIN.species, 20);
}
},
SILVER(GT_BranchDefinition.METAL, "Silver", true, 0xC2C2D6, 0xCECEDE) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SILVER), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(LEAD.species, TIN.species, 20);
}
},
GOLD(GT_BranchDefinition.METAL, "Gold", true, 0xEBC633, 0xEDCC47) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.GOLD), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(LEAD.species, COPPER.species, 20);
}
},
ALUMINIUM(GT_BranchDefinition.RAREMETAL, "Aluminium", true, 0xB8B8FF, 0xD6D6FF) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.ALUMINIUM), 0.15f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HOT);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(NICKEL.species, ZINC.species, 18);
}
},
TITANIUM(GT_BranchDefinition.RAREMETAL, "Titanium", true, 0xCC99FF, 0xDBB8FF) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TITANIUM), 0.15f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HOT);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, ALUMINIUM.species, 5);
}
},
CHROME(GT_BranchDefinition.RAREMETAL, "Chrome", true, 0xEBA1EB, 0xF2C3F2) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.CHROME), 0.15f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HOT);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(TITANIUM.species, RUBY.species, 5);
tMutation.requireResource(GregTech_API.sBlockMetal2, 3);
}
},
MANGANESE(GT_BranchDefinition.RAREMETAL, "Manganese", true, 0xD5D5D5, 0xAAAAAA) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MANGANESE), 0.15f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HOT);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(TITANIUM.species, ALUMINIUM.species, 5);
tMutation.requireResource(GregTech_API.sBlockMetal4, 6);
}
},
TUNGSTEN(GT_BranchDefinition.RAREMETAL, "Tungsten", true, 0x5C5C8A, 0x7D7DA1) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TUNGSTEN), 0.15f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HOT);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies("Heroic"), MANGANESE.species, 5);
tMutation.requireResource(GregTech_API.sBlockMetal7, 11);
}
},
PLATINUM(GT_BranchDefinition.RAREMETAL, "Platinum", true, 0xE6E6E6, 0xFFFFCC) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLATINUM), 0.15f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HOT);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(DIAMOND.species, CHROME.species, 5);
tMutation.requireResource(GregTech_API.sBlockMetal5, 12);
}
},
IRIDIUM(GT_BranchDefinition.RAREMETAL, "Iridium", true, 0xDADADA, 0xD1D1E0) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TUNGSTEN), 0.15f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLATINUM), 0.15f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.IRIDIUM), 0.15f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HELLISH);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.COMMON.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(TUNGSTEN.species, PLATINUM.species, 5);
tMutation.requireResource(GregTech_API.sBlockMetal3, 12);
}
},
URANIUM(GT_BranchDefinition.RADIOACTIVE, "Uranium", true, 0x19AF19, 0x169E16) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.URANIUM), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.COLD);
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.AVENGING.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies("Avenging"), PLATINUM.species, 5);
tMutation.requireResource(GregTech_API.sBlockMetal7, 14);
}
},
PLUTONIUM(GT_BranchDefinition.RADIOACTIVE, "Plutonium", true, 0x335C33, 0x6B8F00) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLUTONIUM), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.ICY);
beeSpecies.setNocturnal();
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.AVENGING.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(URANIUM.species, EMERALD.species, 5);
tMutation.requireResource(GregTech_API.sBlockMetal5, 13);
}
},
NAQUADAH(GT_BranchDefinition.RADIOACTIVE, "Naquadah", true, 0x003300, 0x002400) {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NAQUADAH), 0.15f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.ICY);
beeSpecies.setNocturnal();
}
@Override
protected void setAlleles(IAllele[] template) {
template = BeeDefinition.AVENGING.getTemplate();
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(PLUTONIUM.species, IRIDIUM.species, 3);
tMutation.requireResource(GregTech_API.sBlockMetal4, 12);
}
};
private final GT_BranchDefinition branch;
private final IAlleleBeeSpeciesCustom species;
private IAllele[] template;
private IBeeGenome genome;
GT_BeeDefinition(GT_BranchDefinition branch, String binomial, boolean dominant, int primary, int secondary) {
String lowercaseName = this.toString().toLowerCase(Locale.ENGLISH);
String species = "species" + WordUtils.capitalize(lowercaseName);
String uid = "forestry." + species;
String description = "for.description." + species;
String name = "for.bees.species." + lowercaseName;
this.branch = branch;
this.species = BeeManager.beeFactory.createSpecies(uid, dominant, "Sengir", name, description, branch.getBranch(), binomial, primary, secondary);
}
public static void initBees() {
for (GT_BeeDefinition bee : values()) {
bee.init();
}
for (GT_BeeDefinition bee : values()) {
bee.registerMutations();
}
}
private static IAlleleBeeSpecies getSpecies(String name) {
return (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele((new StringBuilder()).append("forestry.species").append(name).toString());
}
protected abstract void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies);
protected abstract void setAlleles(IAllele[] template);
protected abstract void registerMutations();
private void init() {
setSpeciesProperties(species);
template = branch.getTemplate();
AlleleHelper.instance.set(template, EnumBeeChromosome.SPECIES, species);
setAlleles(template);
genome = BeeManager.beeRoot.templateAsGenome(template);
BeeManager.beeRoot.registerTemplate(template);
}
protected final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, int chance) {
return BeeManager.beeMutationFactory.createMutation(parent1, parent2, getTemplate(), chance);
}
@Override
public final IAllele[] getTemplate() {
return Arrays.copyOf(template, template.length);
}
@Override
public final IBeeGenome getGenome() {
return genome;
}
@Override
public final IBee getIndividual() {
return new Bee(genome);
}
@Override
public final ItemStack getMemberStack(EnumBeeType beeType) {
IBee bee = getIndividual();
return BeeManager.beeRoot.getMemberStack(bee, beeType.ordinal());
}
public final IBeeDefinition getRainResist() {
return new BeeVariation.RainResist(this);
}
}

View file

@ -0,0 +1,24 @@
package gregtech.loaders.misc;
import cpw.mods.fml.common.Loader;
import forestry.api.apiculture.BeeManager;
import forestry.api.apiculture.EnumBeeChromosome;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IClassification;
import forestry.core.genetics.alleles.AlleleHelper;
import forestry.core.genetics.alleles.EnumAllele;
import gregtech.GT_Mod;
import gregtech.common.items.ItemComb;
public class GT_Bees {
public static ItemComb combs;
public GT_Bees() {
if (Loader.isModLoaded("Forestry") && GT_Mod.gregtechproxy.mGTBees) {
combs = new ItemComb();
combs.initCombsRecipes();
GT_BeeDefinition.initBees();
}
}
}

View file

@ -0,0 +1,105 @@
package gregtech.loaders.misc;
import forestry.api.apiculture.BeeManager;
import forestry.api.apiculture.EnumBeeChromosome;
import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IClassification;
import forestry.apiculture.genetics.alleles.AlleleEffect;
import forestry.core.genetics.alleles.Allele;
import forestry.core.genetics.alleles.AlleleHelper;
import forestry.core.genetics.alleles.EnumAllele;
import java.util.Arrays;
public enum GT_BranchDefinition {
ORGANIC("Fuelis") {
@Override
protected void setBranchProperties(IAllele[] alleles) {
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_2);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.MUSHROOMS);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW);
}
},
GEM("Ornamentis") {
@Override
protected void setBranchProperties(IAllele[] alleles) {
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE);
}
},
METAL("Metaliferis") {
@Override
protected void setBranchProperties(IAllele[] alleles) {
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
}
},
RAREMETAL("Mineralis") {
@Override
protected void setBranchProperties(IAllele[] alleles) {
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.CACTI);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FAST);
}
},
RADIOACTIVE("Criticalis") {
@Override
protected void setBranchProperties(IAllele[] alleles) {
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.END);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE);
}
};
private static IAllele[] defaultTemplate;
private final IClassification branch;
GT_BranchDefinition(String scientific) {
branch = BeeManager.beeFactory.createBranch(this.name().toLowerCase(), scientific);
}
private static IAllele[] getDefaultTemplate() {
if (defaultTemplate == null) {
defaultTemplate = new IAllele[EnumBeeChromosome.values().length];
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.NORMAL);
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.NOCTURNAL, false);
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TOLERANT_FLYER, false);
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.CAVE_DWELLING, false);
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA);
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWEST);
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE);
AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.EFFECT, AlleleEffect.effectNone);
}
return Arrays.copyOf(defaultTemplate, defaultTemplate.length);
}
protected void setBranchProperties(IAllele[] template) {
}
public final IAllele[] getTemplate() {
IAllele[] template = getDefaultTemplate();
setBranchProperties(template);
return template;
}
public final IClassification getBranch() {
return branch;
}
}