aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common')
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java103
-rw-r--r--src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java39
-rw-r--r--src/main/java/gregtech/common/bees/GT_AlleleHelper.java224
-rw-r--r--src/main/java/gregtech/common/bees/GT_Bee_Mutation.java75
-rw-r--r--src/main/java/gregtech/common/items/CombType.java254
-rw-r--r--src/main/java/gregtech/common/items/DropType.java48
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java3
-rw-r--r--src/main/java/gregtech/common/items/ItemComb.java667
-rw-r--r--src/main/java/gregtech/common/items/ItemDrop.java127
-rw-r--r--src/main/java/gregtech/common/items/ItemPollen.java88
-rw-r--r--src/main/java/gregtech/common/items/ItemPropolis.java82
-rw-r--r--src/main/java/gregtech/common/items/PollenType.java34
-rw-r--r--src/main/java/gregtech/common/items/PropolisType.java35
13 files changed, 1611 insertions, 168 deletions
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java
index 5b3c4e8b79..100b5016ab 100644
--- a/src/main/java/gregtech/common/GT_Proxy.java
+++ b/src/main/java/gregtech/common/GT_Proxy.java
@@ -8,6 +8,9 @@ import cpw.mods.fml.common.network.FMLNetworkEvent;
import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
+import forestry.api.genetics.AlleleManager;
+import forestry.apiculture.genetics.Bee;
+import forestry.core.genetics.alleles.AlleleHelper;
import gregtech.api.GregTech_API;
import gregtech.api.enums.*;
import gregtech.api.enums.TC_Aspects.TC_AspectStack;
@@ -44,6 +47,7 @@ import net.minecraft.item.ItemBow;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
import net.minecraft.potion.Potion;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.DamageSource;
@@ -72,6 +76,7 @@ import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.RecipeSorter;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
+import org.apache.commons.lang3.text.WordUtils;
import static gregtech.GT_Mod.GT_FML_LOGGER;
@@ -1312,6 +1317,104 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
tCount += tStack.stackSize * 64 / Math.max(1, tStack.getMaxStackSize());
}
if (this.mInventoryUnification) {
+
+ if (tStack.getTagCompound()!= null && (tStack.getTagCompound().getTag("Mate")!= null || tStack.getTagCompound().getTag("Genome")!= null )) {
+
+ String orgMate = "";
+ if(tStack.getTagCompound().getTag("Mate")!= null)
+ orgMate = (tStack.getTagCompound().getCompoundTag("Mate")).getTagList("Chromosomes",10).getCompoundTagAt(0).getString("UID1");
+
+ String orgGen = orgMate;
+
+ if(tStack.getTagCompound().getTag("Genome")!= null)
+ orgGen = (tStack.getTagCompound().getCompoundTag("Genome")).getTagList("Chromosomes",10).getCompoundTagAt(0).getString("UID1");
+
+ final boolean[] yn = {orgMate.contains("gendustry"),orgGen.contains("gendustry")};
+
+ if (yn[0] || yn[1]) {
+
+ final NBTTagCompound NBTTAGCOMPOUND = (NBTTagCompound) tStack.getTagCompound().copy();
+
+ //MATE
+ if (yn[0]) {
+ final NBTTagCompound MATE = NBTTAGCOMPOUND.getCompoundTag("Mate");
+ final NBTTagList chromosomesMate = MATE.getTagList("Chromosomes", 10);
+ final NBTTagCompound species = chromosomesMate.getCompoundTagAt(0);
+
+ String ident1 = species.getString("UID1");
+ final String[] split = ident1.split("[.]");
+ ident1 = "gregtech.bee.species" + WordUtils.capitalize(split[2].toLowerCase(Locale.ENGLISH));
+
+ if (AlleleManager.alleleRegistry.getAllele(ident1) == null)
+ return;
+
+ String ident2 = species.getString("UID0");
+ final String[] split2 = ident2.split("[.]");
+ ident2 = "gregtech.bee.species"+WordUtils.capitalize(split2[2].toLowerCase(Locale.ENGLISH));
+
+ if (AlleleManager.alleleRegistry.getAllele(ident2) == null)
+ return;
+
+ final NBTTagCompound nuspeciesmate = new NBTTagCompound();
+ nuspeciesmate.setString("UID1", ident1);
+ nuspeciesmate.setString("UID0", ident2);
+ nuspeciesmate.setByte("Slot", (byte) 0);
+
+ final NBTTagCompound nuMate2 = new NBTTagCompound();
+ final NBTTagList nuMate = new NBTTagList();
+ nuMate.appendTag(nuspeciesmate);
+
+ for (int j = 1; j < chromosomesMate.tagCount(); j++) {
+ nuMate.appendTag(chromosomesMate.getCompoundTagAt(j));
+ }
+
+ nuMate2.setTag("Chromosomes", nuMate);
+ NBTTAGCOMPOUND.removeTag("Mate");
+ NBTTAGCOMPOUND.setTag("Mate", nuMate2);
+ }
+ if (yn[1]) {
+ //Genome
+ final NBTTagCompound genome = NBTTAGCOMPOUND.getCompoundTag("Genome");
+ final NBTTagList chromosomesGenome = genome.getTagList("Chromosomes", 10);
+ final NBTTagCompound speciesGenome = chromosomesGenome.getCompoundTagAt(0);
+
+ String ident1Genome = speciesGenome.getString("UID1");
+ final String[] splitGenome = ident1Genome.split("[.]");
+ ident1Genome = "gregtech.bee.species" + WordUtils.capitalize(splitGenome[2].toLowerCase(Locale.ENGLISH));
+
+ if (AlleleManager.alleleRegistry.getAllele(ident1Genome) == null)
+ return;
+
+ String ident2Genome = speciesGenome.getString("UID0");
+ final String[] splitGenome2 = ident2Genome.split("[.]");
+ ident2Genome = "gregtech.bee.species" + WordUtils.capitalize(splitGenome2[2].toLowerCase(Locale.ENGLISH));
+
+ if (AlleleManager.alleleRegistry.getAllele(ident2Genome) == null)
+ return;
+
+ final NBTTagCompound nuspeciesgenome = new NBTTagCompound();
+ nuspeciesgenome.setString("UID1", ident1Genome);
+ nuspeciesgenome.setString("UID0", ident2Genome);
+ nuspeciesgenome.setByte("Slot", (byte) 0);
+
+ final NBTTagCompound nugenome2 = new NBTTagCompound();
+ final NBTTagList nuGenome = new NBTTagList();
+ nuGenome.appendTag(nuspeciesgenome);
+
+ for (int j = 1; j < chromosomesGenome.tagCount(); j++) {
+ nuGenome.appendTag(chromosomesGenome.getCompoundTagAt(j));
+ }
+
+ nugenome2.setTag("Chromosomes", nuGenome);
+ NBTTAGCOMPOUND.removeTag("Genome");
+ NBTTAGCOMPOUND.setTag("Genome", nugenome2);
+ }
+ tStack.setTagCompound(new NBTTagCompound());
+ tStack.setTagCompound(NBTTAGCOMPOUND);
+ }
+ else return;
+ }
+
GT_OreDictUnificator.setStack(true, tStack);
}
}
diff --git a/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java b/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java
new file mode 100644
index 0000000000..83dc82e6f9
--- /dev/null
+++ b/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java
@@ -0,0 +1,39 @@
+package gregtech.common.bees;
+
+import forestry.api.apiculture.EnumBeeChromosome;
+import forestry.api.apiculture.IAlleleBeeSpeciesCustom;
+import forestry.api.genetics.AlleleManager;
+import forestry.api.genetics.IClassification;
+import forestry.apiculture.genetics.alleles.AlleleBeeSpecies;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+public class GT_AlleleBeeSpecies extends AlleleBeeSpecies {
+ public GT_AlleleBeeSpecies(String uid, boolean dominant, String unlocalizedName, String authority, String unlocalizedDescription, IClassification branch, String binomial, int primaryColor, int secondaryColor) {
+ super(uid, unlocalizedName, authority, unlocalizedDescription, dominant, branch, binomial, primaryColor, secondaryColor);
+ AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.SPECIES);
+ }
+
+ @Override
+ public IAlleleBeeSpeciesCustom addProduct(ItemStack product, Float chance) {
+ if (product == null || product.getItem() == null) {
+ product=new ItemStack(Items.boat);
+ }
+ if (chance <= 0.0f || chance > 1.0f) {
+ chance = 0.1f;
+ }
+ return super.addProduct(product,chance);
+ }
+
+ @Override
+ public IAlleleBeeSpeciesCustom addSpecialty(ItemStack specialty, Float chance) {
+ if (specialty == null || specialty.getItem() == null) {
+ specialty=new ItemStack(Items.boat);
+ }
+ if (chance <= 0.0f || chance > 1.0f) {
+ chance = 0.1f;
+ }
+ return super.addSpecialty(specialty, chance);
+ }
+
+}
diff --git a/src/main/java/gregtech/common/bees/GT_AlleleHelper.java b/src/main/java/gregtech/common/bees/GT_AlleleHelper.java
new file mode 100644
index 0000000000..3431f96eb4
--- /dev/null
+++ b/src/main/java/gregtech/common/bees/GT_AlleleHelper.java
@@ -0,0 +1,224 @@
+package gregtech.common.bees;
+
+import forestry.api.apiculture.EnumBeeChromosome;
+import forestry.api.arboriculture.EnumTreeChromosome;
+import forestry.api.genetics.*;
+import forestry.api.lepidopterology.EnumButterflyChromosome;
+import forestry.apiculture.flowers.FlowerProvider;
+import forestry.core.config.Constants;
+import forestry.core.genetics.alleles.*;
+import forestry.core.utils.vect.IVect;
+import forestry.plugins.PluginManager;
+
+import java.util.EnumMap;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+public class GT_AlleleHelper extends AlleleHelper {
+
+ private static final String modId = Constants.ID;
+
+ private final Map<Class, Map<?, ? extends IAllele>> alleleMaps = new HashMap<>();
+
+ public void init() {
+ if (PluginManager.Module.APICULTURE.isEnabled()) {
+ createAlleles(EnumAllele.Fertility.class, EnumBeeChromosome.FERTILITY);
+ createAlleles(EnumAllele.Flowering.class, EnumBeeChromosome.FLOWERING);
+ }
+
+ if (PluginManager.Module.APICULTURE.isEnabled() || PluginManager.Module.ARBORICULTURE.isEnabled()) {
+ createAlleles(EnumAllele.Territory.class,
+ EnumBeeChromosome.TERRITORY,
+ EnumTreeChromosome.TERRITORY
+ );
+
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.territoryDefault", get(EnumAllele.Territory.AVERAGE));
+ }
+
+ if (PluginManager.Module.APICULTURE.isEnabled() || PluginManager.Module.LEPIDOPTEROLOGY.isEnabled()) {
+ createAlleles(EnumAllele.Speed.class,
+ EnumBeeChromosome.SPEED,
+ EnumButterflyChromosome.SPEED
+ );
+ createAlleles(EnumAllele.Lifespan.class,
+ EnumBeeChromosome.LIFESPAN,
+ EnumButterflyChromosome.LIFESPAN
+ );
+ createAlleles(EnumAllele.Tolerance.class,
+ EnumBeeChromosome.TEMPERATURE_TOLERANCE,
+ EnumBeeChromosome.HUMIDITY_TOLERANCE,
+ EnumButterflyChromosome.TEMPERATURE_TOLERANCE,
+ EnumButterflyChromosome.HUMIDITY_TOLERANCE
+ );
+ createAlleles(EnumAllele.Flowers.class,
+ EnumBeeChromosome.FLOWER_PROVIDER,
+ EnumButterflyChromosome.FLOWER_PROVIDER
+ );
+
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.speedNorm", get(EnumAllele.Speed.NORMAL));
+ }
+
+ if (PluginManager.Module.ARBORICULTURE.isEnabled()) {
+ createAlleles(EnumAllele.Height.class, EnumTreeChromosome.HEIGHT);
+ createAlleles(EnumAllele.Saplings.class, EnumTreeChromosome.FERTILITY);
+ createAlleles(EnumAllele.Yield.class, EnumTreeChromosome.YIELD);
+ createAlleles(EnumAllele.Fireproof.class, EnumTreeChromosome.FIREPROOF);
+ createAlleles(EnumAllele.Maturation.class, EnumTreeChromosome.MATURATION);
+ createAlleles(EnumAllele.Sappiness.class, EnumTreeChromosome.SAPPINESS);
+
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.heightMax10", get(EnumAllele.Height.AVERAGE));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.saplingsDefault", get(EnumAllele.Saplings.AVERAGE));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.saplingsDouble", get(EnumAllele.Saplings.HIGH));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.saplingsTriple", get(EnumAllele.Saplings.HIGHER));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.yieldDefault", get(EnumAllele.Yield.AVERAGE));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturitySlowest", get(EnumAllele.Maturation.SLOWEST));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturitySlower", get(EnumAllele.Maturation.SLOWER));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturitySlow", get(EnumAllele.Maturation.SLOW));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityAverage", get(EnumAllele.Maturation.AVERAGE));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityFast", get(EnumAllele.Maturation.FAST));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityFaster", get(EnumAllele.Maturation.FASTER));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityFastest", get(EnumAllele.Maturation.FASTEST));
+ }
+
+ if (PluginManager.Module.LEPIDOPTEROLOGY.isEnabled()) {
+ createAlleles(EnumAllele.Size.class, EnumButterflyChromosome.SIZE);
+ }
+
+ Map<Integer, IAlleleInteger> integers = new HashMap<>();
+ for (int i = 1; i <= 10; i++) {
+ IAlleleInteger alleleInteger = new AlleleInteger(modId, "i", i + "d", i, true);
+ AlleleManager.alleleRegistry.registerAllele(alleleInteger,
+ EnumTreeChromosome.GIRTH,
+ EnumButterflyChromosome.METABOLISM,
+ EnumButterflyChromosome.FERTILITY
+ );
+ integers.put(i, alleleInteger);
+ }
+ alleleMaps.put(Integer.class, integers);
+
+ Map<Boolean, IAlleleBoolean> booleans = new HashMap<>();
+ booleans.put(true, new AlleleBoolean(modId, "bool", true, false));
+ booleans.put(false, new AlleleBoolean(modId, "bool", false, false));
+ for (IAlleleBoolean alleleBoolean : booleans.values()) {
+ AlleleManager.alleleRegistry.registerAllele(alleleBoolean,
+ EnumBeeChromosome.NOCTURNAL,
+ EnumBeeChromosome.TOLERANT_FLYER,
+ EnumBeeChromosome.CAVE_DWELLING,
+ EnumButterflyChromosome.NOCTURNAL,
+ EnumButterflyChromosome.TOLERANT_FLYER,
+ EnumButterflyChromosome.FIRE_RESIST
+ );
+ }
+ alleleMaps.put(Boolean.class, booleans);
+ }
+
+ public static void initialisation(){
+ AlleleHelper.instance = new GT_AlleleHelper();
+ AlleleHelper.instance.init();
+ }
+
+
+
+ @Override
+ public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, IAllele allele) {
+
+ if (allele == null) {
+ return;
+ }
+
+ if (!chromosomeType.getAlleleClass().isInstance(allele)) {
+ return;
+ }
+
+ // uncomment this once all addon mods are using the allele registration with IChromosomeType
+ // Collection<IChromosomeType> validTypes = AlleleManager.alleleRegistry.getChromosomeTypes(allele);
+ // if (validTypes.size() > 0 && !validTypes.contains(chromosomeType)) {
+ // throw new IllegalArgumentException("Allele can't applied to this Chromosome type. Expected: " + validTypes + " Got: " + chromosomeType);
+ // }
+
+ alleles[chromosomeType.ordinal()] = allele;
+ }
+
+ @Override
+ public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, IAlleleValue value) {
+ set(alleles, chromosomeType, get(value));
+ }
+
+ @Override
+ public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, boolean value) {
+ set(alleles, chromosomeType, get(value));
+ }
+
+ @Override
+ public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, int value) {
+ set(alleles, chromosomeType, get(value));
+ }
+
+ private IAllele get(Object value) {
+ Class<?> valueClass = value.getClass();
+ Map<?, ? extends IAllele> map = alleleMaps.get(valueClass);
+ if (map == null) {
+ throw new IllegalArgumentException("There is no IAllele type for: " + valueClass + ' ' + value);
+ }
+ IAllele allele = map.get(value);
+ if (allele == null) {
+ allele = new IAllele() {
+ @Override
+ public String getUID() {
+ return "NOT_FOUND";
+ }
+
+ @Override
+ public boolean isDominant() {
+ return false;
+ }
+
+ @Override
+ public String getName() {
+ return "NOT_FOUND";
+ }
+
+ @Override
+ public String getUnlocalizedName() {
+ return "NOT_FOUND";
+ }
+ };
+ }
+ return allele;
+ }
+
+ private <K extends Enum<K> & IAlleleValue<V>, V> void createAlleles(Class<K> enumClass, IChromosomeType... types) {
+ String category = enumClass.getSimpleName().toLowerCase(Locale.ENGLISH);
+ EnumMap<K, IAllele> map = new EnumMap<>(enumClass);
+ for (K enumValue : enumClass.getEnumConstants()) {
+ IAllele allele = createAllele(category, enumValue, types);
+ map.put(enumValue, allele);
+ }
+ alleleMaps.put(enumClass, map);
+ }
+ private static <K extends IAlleleValue<V>, V> IAllele createAllele(String category, K enumValue, IChromosomeType... types) {
+ V value = enumValue.getValue();
+ boolean isDominant = enumValue.isDominant();
+ String name = enumValue.toString().toLowerCase(Locale.ENGLISH);
+
+ Class<?> valueClass = value.getClass();
+ if (Float.class.isAssignableFrom(valueClass)) {
+ return AlleleManager.alleleFactory.createFloat(modId, category, name, (Float) value, isDominant, types);
+ } else if (Integer.class.isAssignableFrom(valueClass)) {
+ return AlleleManager.alleleFactory.createInteger(modId, category, name, (Integer) value, isDominant, types);
+ } else if (IVect.class.isAssignableFrom(valueClass)) {
+ IVect area = (IVect) value;
+ return AlleleManager.alleleFactory.createArea(modId, category, name, area.getX(), area.getY(), area.getZ(), isDominant, types);
+ } else if (Boolean.class.isAssignableFrom(valueClass)) {
+ return AlleleManager.alleleFactory.createBoolean(modId, category, (Boolean) value, isDominant, types);
+ } else if (EnumTolerance.class.isAssignableFrom(valueClass)) {
+ IAlleleTolerance alleleTolerance = new AlleleTolerance(modId, category, name, (EnumTolerance) value, isDominant);
+ AlleleManager.alleleRegistry.registerAllele(alleleTolerance, types);
+ return alleleTolerance;
+ } else if (FlowerProvider.class.isAssignableFrom(valueClass)) {
+ return AlleleManager.alleleFactory.createFlowers(modId, category, name, (FlowerProvider) value, isDominant, types);
+ }
+ throw new RuntimeException("could not create allele for category: " + category + " and value " + valueClass);
+ }
+}
diff --git a/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java b/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java
new file mode 100644
index 0000000000..852f00e6d6
--- /dev/null
+++ b/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java
@@ -0,0 +1,75 @@
+package gregtech.common.bees;
+
+import forestry.api.apiculture.*;
+import forestry.api.genetics.IAllele;
+import forestry.api.genetics.IGenome;
+import forestry.api.genetics.IMutationCondition;
+import forestry.apiculture.genetics.BeeMutation;
+import net.minecraft.util.ChunkCoordinates;
+import net.minecraft.world.World;
+
+import java.lang.reflect.Field;
+import java.util.List;
+
+
+public class GT_Bee_Mutation extends BeeMutation {
+
+ private int split = 1;
+
+ public GT_Bee_Mutation(IAlleleBeeSpecies bee0, IAlleleBeeSpecies bee1, IAllele[] result, int chance, int split) {
+ super(bee0, bee1, result, chance);
+ this.split = split;
+ BeeManager.beeRoot.registerMutation(this);
+ }
+
+ @Override
+ public float getBaseChance() {
+ return ((float) ((float)super.getBaseChance() / ((float)split)));
+ }
+
+ @Override
+ public float getChance(IBeeHousing housing, IAlleleBeeSpecies allele0, IAlleleBeeSpecies allele1, IBeeGenome genome0, IBeeGenome genome1) {
+ World world = housing.getWorld();
+ ChunkCoordinates housingCoordinates = housing.getCoordinates();
+ int x = housingCoordinates.posX;
+ int y = housingCoordinates.posY;
+ int z = housingCoordinates.posZ;
+
+ float processedChance = getbasicChance(world, x, y, z, allele0, allele1, genome0, genome1);
+
+
+ if (processedChance <= 0f) {
+ return 0f;
+ }
+
+ IBeeModifier beeHousingModifier = BeeManager.beeRoot.createBeeHousingModifier(housing);
+ IBeeModifier beeModeModifier = BeeManager.beeRoot.getBeekeepingMode(world).getBeeModifier();
+
+ processedChance *= beeHousingModifier.getMutationModifier(genome0, genome1, processedChance);
+ processedChance *= beeModeModifier.getMutationModifier(genome0, genome1, processedChance);
+
+ return processedChance;
+ }
+
+ protected float getbasicChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) {
+ float mutationChance = getBaseChance();
+ List<IMutationCondition> mutationConditions = null;
+ try {
+ Field f = this.getClass().getDeclaredField("mutationConditions");
+ f.setAccessible(true);
+ Object o = f.get(this);
+ mutationConditions = o instanceof List ? (List) o : null ;
+ } catch (NoSuchFieldException | IllegalAccessException e) {
+ e.printStackTrace();
+ }
+
+ if (mutationConditions != null)
+ for (IMutationCondition mutationCondition : mutationConditions) {
+ mutationChance *= mutationCondition.getChance(world, x, y, z, allele0, allele1, genome0, genome1);
+ if (mutationChance == 0) {
+ return 0;
+ }
+ }
+ return mutationChance;
+ }
+}
diff --git a/src/main/java/gregtech/common/items/CombType.java b/src/main/java/gregtech/common/items/CombType.java
index ffde997fb9..9ff5eb359c 100644
--- a/src/main/java/gregtech/common/items/CombType.java
+++ b/src/main/java/gregtech/common/items/CombType.java
@@ -4,63 +4,206 @@ import gregtech.api.enums.Materials;
import gregtech.api.util.GT_LanguageManager;
public enum CombType {
- //Organic
+ //Organic Line
LIGNIE("lignite", true, Materials.Lignite, 100),
COAL("coal", true, Materials.Coal, 100),
STICKY("stickyresin", true, Materials._NULL, 50),
OIL("oil", true, Materials._NULL, 100),
+ APATITE("apatite", true, Materials.Apatite, 100),
+ ASH("ash", true, Materials.Ash, 100),
+
+ //IC2 Line
+ COOLANT("coolant", true, Materials._NULL, 100),
+ ENERGY("energy", true, Materials._NULL, 80),
+ LAPOTRON("lapotron", true, Materials._NULL, 60),
+ PYROTHEUM("pyrotheum", true, Materials.Pyrotheum, 50),
+ CRYOTHEUM("cryotheum", true, Materials.Pyrotheum, 50),
+
+ //Alloy Line
+ REDALLOY("redalloy", true, Materials.RedAlloy, 100),
+ REDSTONEALLOY("redstonealloy", true, Materials.RedstoneAlloy, 90),
+ CONDUCTIVEIRON("conductiveiron", true, Materials.ConductiveIron, 80),
+ VIBRANTALLOY("vibrantalloy", true, Materials.VibrantAlloy, 50),
+ ENERGETICALLOY("energeticalloy", true, Materials.EnergeticAlloy, 70),
+ ELECTRICALSTEEL("electricalsteel", true, Materials.ElectricalSteel, 90),
+ DARKSTEEL("darksteel", true, Materials.DarkSteel, 80),
+ PULSATINGIRON("pulsatingiron", true, Materials.PulsatingIron, 80),
+ STAINLESSSTEEL("stainlesssteel", true, Materials.StainlessSteel, 75),
+ ENDERIUM("enderium", true, Materials.Enderium, 40),
+
+ //Thaumcraft Line
+ THAUMIUMDUST("thaumiumdust", true, Materials.Thaumium, 100),
+ THAUMIUMSHARD("thaumiumshard", true, Materials._NULL, 85),
+ AMBER("amber", true, Materials.Amber, 90),
+ QUICKSILVER("quicksilver", true, Materials.Mercury, 90),
+ SALISMUNDUS("salismundus", true, Materials._NULL, 75),
+ TAINTED("tainted", true, Materials._NULL, 80),
+ MITHRIL("mithril", true, Materials.Mithril, 70),
+ ASTRALSILVER("astralsilver", true, Materials.AstralSilver, 70),
+ THAUMINITE("thauminite", true, Materials._NULL, 50),
+ SHADOWMETAL("shadowmetal", true, Materials.Shadow, 50),
+ DIVIDED("divided", true, Materials.Unstable, 40),
+ SPARKELING("sparkeling", true, Materials.NetherStar, 40),
+
//Gem Line
STONE("stone", true, Materials._NULL, 70),
CERTUS("certus", true, Materials.CertusQuartz, 100),
+ FLUIX("fluix", true, Materials.Fluix, 100),
REDSTONE("redstone", true, Materials.Redstone, 100),
+ RAREEARTH("rareearth", true, Materials.RareEarth, 100),
LAPIS("lapis", true, Materials.Lapis, 100),
RUBY("ruby", true, Materials.Ruby, 100),
+ REDGARNET("redgarnet", true, Materials.GarnetRed,100),
+ YELLOWGARNET("yellowgarnet", true, Materials.GarnetYellow,100),
SAPPHIRE("sapphire", true, Materials.Sapphire, 100),
DIAMOND("diamond", true, Materials.Diamond, 100),
OLIVINE("olivine", true, Materials.Olivine, 100),
EMERALD("emerald", true, Materials.Emerald, 100),
+ PYROPE("pyrope", true, Materials.Pyrope, 100),
+ GROSSULAR("grossular", true, Materials.Grossular, 100),
+ FIRESTONE("firestone", true, Materials.Firestone, 100),
- // Metals Line
+ //Metals Line
SLAG("slag", true, Materials._NULL, 50),
- COPPER("coppon", true, Materials.Copper, 100),
- TIN("tine", true, Materials.Tin, 100),
- LEAD("plumbilia", true, Materials.Lead, 100),
- IRON("ferru", true, Materials.Iron, 100),
- STEEL("steeldust", true, Materials.Steel, 100),
- NICKEL("nickeldust", true, Materials.Nickel, 100),
- ZINC("galvania", true, Materials.Zinc, 100),
- SILVER("argentia", true, Materials.Silver, 100),
- GOLD("aurelia", true, Materials.Gold, 100),
-
- // Rare Metals Line
- ALUMINIUM("bauxia", true, Materials.Aluminium, 60),
- MANGANESE("pyrolusium", true, Materials.Manganese, 30),
+ COPPER("copper", true, Materials.Copper, 100),
+ TIN("tin", true, Materials.Tin, 100),
+ LEAD("lead", true, Materials.Lead, 100),
+ IRON("iron", true, Materials.Iron, 100),
+ STEEL("steel", true, Materials.Steel, 95),
+ NICKEL("nickel", true, Materials.Nickel, 100),
+ ZINC("zinc", true, Materials.Zinc, 100),
+ SILVER("silver", true, Materials.Silver, 100),
+ GOLD("gold", true, Materials.Gold, 100),
+ SULFUR("sulfur", true, Materials.Sulfur, 100),
+ GALLIUM ("gallium", true, Materials.Gallium, 75),
+ ARSENIC ("arsenic", true, Materials.Arsenic, 75),
+
+ //Rare Metals Line
+ BAUXITE("bauxite", true, Materials.Bauxite, 85),
+ ALUMINIUM("aluminium", true, Materials.Aluminium, 60),
+ MANGANESE("manganese", true, Materials.Manganese, 30),
+ MAGNESIUM("magnesium", true, Materials.Magnesium, 75),
TITANIUM("titanium", true, Materials.Ilmenite, 100),
CHROME("chromium", true, Materials.Chrome, 50),
- TUNGSTEN("scheelinium", true, Materials.Tungstate, 100),
- PLATINUM("platina", true, Materials.Platinum, 40),
- IRIDIUM("quantaria", true, Materials.Iridium, 20),
+ TUNGSTEN("tungsten", true, Materials.Tungstate, 100),
+ PLATINUM("platinum", true, Materials.Platinum, 40),
+ IRIDIUM("iridium", true, Materials.Iridium, 20),
+ MOLYBDENUM("molybdenum", true, Materials.Molybdenum, 20),
+ OSMIUM("osmium", true, Materials.Osmium, 15),
+ LITHIUM("lithium", true, Materials.Lithium, 75),
+ SALT("salt", true, Materials.Salt, 90),
+ ELECTROTINE("electrotine", true, Materials.Electrotine, 75),
+ ALMANDINE("almandine", true, Materials.Almandine, 85),
-
- // Radioactive Line
- URANIUM("urania", true, Materials.Uranium, 50),
+ //Radioactive Line
+ URANIUM("uranium", true, Materials.Uranium, 50),
PLUTONIUM("plutonium", true, Materials.Plutonium, 10),
- NAQUADAH("stargatium", true, Materials.Naquadah, 10),;
+ NAQUADAH("naquadah", true, Materials.Naquadah, 10),
+ NAQUADRIA("naquadria", true, Materials.Naquadria, 5),
+ DOB("d-o-b", true, Materials._NULL, 50),
+ THORIUM("thorium", true, Materials.Thorium, 75),
+ LUTETIUM("lutetium", true, Materials.Lutetium, 10),
+ AMERICUM("americum", true, Materials.Americium, 5),
+ NEUTRONIUM("neutronium", true, Materials.Neutronium, 2),
+
+ //Twilight
+ NAGA("naga", true, Materials._NULL, 100),
+ LICH("lich", true, Materials._NULL, 90),
+ HYDRA("hydra", true, Materials._NULL, 80),
+ URGHAST("urghast", true, Materials._NULL, 70),
+ SNOWQUEEN("snowqueen", true, Materials._NULL, 60),
+
+ //Space
+ SPACE("space", true, Materials._NULL, 100),
+ METEORICIRON("meteoriciron",true, Materials.MeteoricIron, 100),
+ DESH("desh",true, Materials.Desh, 90),
+ LEDOX("ledox",true, Materials.Ledox, 75),
+ CALLISTOICE("callistoice",true, Materials.CallistoIce, 75),
+ MYTRYL("mytryl",true, Materials.Mytryl, 65),
+ QUANTIUM("quantium",true, Materials.Quantium, 50),
+ ORIHARUKON("oriharukon",true, Materials.Oriharukon, 50),
+ MYSTERIOUSCRYSTAL("mysteriouscrystal",true, Materials.MysteriousCrystal, 45),
+ BLACKPLUTONIUM("blackplutonium",true, Materials.Quantium, 25),
+ TRINIUM("trinium",true, Materials.Trinium, 25),
+
+ //Planet
+ MERCURY("mercury", true, Materials._NULL, 65),
+ VENUS("venus",true, Materials._NULL, 65),
+ MOON("moon",true, Materials._NULL, 90),
+ MARS("mars",true, Materials._NULL, 80),
+ JUPITER("jupiter",true, Materials._NULL, 75),
+ SATURN("saturn",true, Materials._NULL, 55),
+ URANUS("uranus",true, Materials._NULL, 45),
+ NEPTUN("neptun",true, Materials._NULL, 35),
+ PLUTO("pluto",true, Materials._NULL, 25),
+ HAUMEA("haumea",true, Materials._NULL, 20),
+ MAKEMAKE("makemake",true, Materials._NULL, 20),
+ CENTAURI("centauri",true, Materials._NULL, 15),
+ TCETI("tceti",true, Materials._NULL, 10),
+ BARNARDA("barnarda",true, Materials._NULL, 10),
+ VEGA("vega",true, Materials._NULL, 10),
+
+ //Infinity
+ COSMICNEUTRONIUM("cosmicneutronium",true, Materials._NULL, 5),
+ INFINITYCATALYST("infinitycatalyst",true, Materials._NULL, 2),
+ INFINITY("infinity",true, Materials._NULL, 1);
private static int[][] colours = new int[][]{
- {0x906237, 0x58300B},
- {0x666666, 0x525252},
+ //organic
+ {0x58300B, 0x906237},
+ {0x525252, 0x666666},
{0x2E8F5B, 0xDCC289},
- {0x4C4C4C, 0x333333},
+ {0x333333, 0x4C4C4C},
+ {0xc1c1f6, 0x676784},
+ {0x1e1a18, 0xc6c6c6},
+ //ic2
+ {0x144F5A, 0x2494A2},
+ {0xC11F1F, 0xEBB9B9},
+ {0x1414FF, 0x6478FF},
+ {0xffebc4, 0xe36400},
+ {0x2660ff, 0x5af7ff},
+ //alloy
+ {0xE60000, 0xB80000},
+ {0xB80000, 0xA50808},
+ {0x817671, 0xCEADA3},
+ {0x86A12D, 0xC4F2AE},
+ {0xFF9933, 0xFFAD5C},
+ {0x787878, 0xD8D8D8},
+ {0x252525, 0x443B44},
+ {0x006600, 0x6DD284},
+ {0x778899, 0xC8C8DC},
+ {0x2E8B57, 0x599087},
+ //Thaumcraft
+ {0x7A007A, 0x5C005C},
+ {0x9966FF, 0xAD85FF},
+ {0x774B15, 0xEE7700},
+ {0xc7c7ea, 0xb5b3df},
+ {0xF7ADDE, 0x592582},
+ {0x904BB8, 0xE800FF},
+ {0xF0E68C, 0xFFFFD2},
+ {0xAFEEEE, 0xE6E6FF},
+ {0x2E2D79, 0x7581E0},
+ {0x100322, 0x100342},
+ {0xF0F0F0, 0xDCDCDC},
+ {0x7A007A, 0xFFFFFF},
+ //gems
{0x808080, 0x999999},
{0x57CFFB, 0xBBEEFF},
+ {0xA375FF, 0xB591FF},
{0x7D0F0F, 0xD11919},
+ {0x555643, 0x343428},
{0x1947D1, 0x476CDA},
{0xE6005C, 0xCC0052},
+ {0xBD4C4C, 0xECCECE},
+ {0xA3A341, 0xEDEDCE},
{0x0033CC, 0x00248F},
{0xCCFFFF, 0xA3CCCC},
{0x248F24, 0xCCFFCC},
{0x248F24, 0x2EB82E},
+ {0x763162, 0x8B8B8B},
+ {0x9B4E00, 0x8B8B8B},
+ {0xC00000, 0xFF0000},
+ //Metals
{0xD4D4D4, 0x58300B},
{0xFF6600, 0xE65C00},
{0xD4D4D4, 0xDDDDDD},
@@ -71,16 +214,73 @@ public enum CombType {
{0xF0DEF0, 0xF2E1F2},
{0xC2C2D6, 0xCECEDE},
{0xE6B800, 0xCFA600},
+ {0x6F6F01, 0x8B8B8B},
+ {0x8B8B8B, 0xC5C5E4},
+ {0x736C52, 0x292412},
+ //Rare Metals
+ {0x6B3600, 0x8B8B8B},
{0x008AB8, 0xD6D6FF},
{0xD5D5D5, 0xAAAAAA},
+ {0xF1D9D9, 0x8B8B8B},
{0xCC99FF, 0xDBB8FF},
{0xEBA1EB, 0xF2C3F2},
{0x62626D, 0x161620},
{0xE6E6E6, 0xFFFFCC},
{0xDADADA, 0xD1D1E0},
+ {0xAEAED4, 0x8B8B8B},
+ {0x2B2BDA, 0x8B8B8B},
+ {0xF0328C, 0xE1DCFF},
+ {0xF0C8C8, 0xFAFAFA},
+ {0x1E90FF, 0x3CB4C8},
+ {0xC60000, 0x8B8B8B},
+ //Radioactive Line
{0x19AF19, 0x169E16},
- {0x335C33, 0x6B8F00},
- {0x003300, 0x002400},
+ {0x240000, 0x570000},
+ {0x000000, 0x004400},
+ {0x000000, 0x002400},
+ {0x007700, 0x002400},
+ {0x001E00, 0x005000},
+ {0xE6FFE6, 0xFFFFFF},
+ {0xE6E6FF, 0xC8C8C8},
+ {0xFFF0F0, 0xFAFAFA},
+ //Twilight
+ {0x0D5A0D, 0x28874B},
+ {0x5C605E, 0xC5C5C5},
+ {0x872836, 0xB8132C},
+ {0x7C0618, 0xA7041C},
+ {0x9C0018, 0xD02001},
+ //space
+ {0x003366, 0xC0C0C0},
+ {0x321928, 0x643250},
+ {0x282828, 0x323232},
+ {0x0000CD, 0x0074FF},
+ {0x0074FF, 0x1EB1FF},
+ {0xDAA520, 0xF26404},
+ {0x00FF00, 0x00D10B},
+ {0x228B22, 0x677D68},
+ {0x3CB371, 0x16856C},
+ {0x000000, 0x323232},
+ {0xB0E0E6, 0xC8C8D2},
+ //planets
+ {0x4A4033, 0xB5A288},
+ {0x120E07, 0x272010},
+ {0x373735, 0x7E7E78},
+ {0x220D05, 0x3A1505},
+ {0x734B2E, 0xD0CBC4},
+ {0xD2A472, 0xF8C37B},
+ {0x75C0C9, 0x84D8EC},
+ {0x334CFF, 0x576DFF},
+ {0x34271E, 0x69503D},
+ {0x1C1413, 0x392B28},
+ {0x301811, 0x120A07},
+ {0x2F2A14, 0xB06B32},
+ {0x46241A, 0x7B412F},
+ {0x0D5A0D, 0xE6C18D},
+ {0x1A2036, 0xB5C0DE},
+ //infinity
+ {0x484848, 0x323232},
+ {0xFFFFFF, 0xFFFFFF},
+ {0xFFFFFF, 0xFFFFFF},
};
public boolean showInList;
public Materials material;
diff --git a/src/main/java/gregtech/common/items/DropType.java b/src/main/java/gregtech/common/items/DropType.java
new file mode 100644
index 0000000000..258126b52e
--- /dev/null
+++ b/src/main/java/gregtech/common/items/DropType.java
@@ -0,0 +1,48 @@
+package gregtech.common.items;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.util.GT_LanguageManager;
+
+public enum DropType {
+
+ OIL("oil",true),
+ MUTAGEN("small mutagen catalyst",true),
+ COOLANT("coolant",true),
+ HOT_COOLANT("hot coolant",true),
+ HYDRA("hydra blood",true),
+ SNOW_QUEEN("snowqueen blood",true),
+ OXYGEN("oxygen",true),
+ LAPIS("lapis coolant",true);
+
+ private static int[][] colours = new int[][]{
+ {0x19191B, 0x303032},
+ {0xffc100, 0x00ff11},
+ {0x144F5A, 0x2494A2},
+ {0xC11F1F, 0xEBB9B9},
+ {0x872836, 0xB8132C},
+ {0xD02001, 0x9C0018},
+ {0x003366, 0x0066BB},
+ {0x1727b1, 0x008ce3},
+ };
+ public boolean showInList;
+ public Materials material;
+ public int chance;
+ private String name;
+ private DropType(String pName, boolean show) {
+ this.name = pName;
+ this.showInList = show;
+ }
+
+ public void setHidden() {
+ this.showInList = false;
+ }
+
+ public String getName() {
+// return "gt.comb."+this.name;
+ return GT_LanguageManager.addStringLocalization("drop." + this.name, this.name.substring(0, 1).toUpperCase() + this.name.substring(1) + " Drop");
+ }
+
+ public int[] getColours() {
+ return colours[this.ordinal()];
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
index db26ca6e71..37c43e1ad8 100644
--- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
+++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
@@ -515,7 +515,8 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
ItemList.Electric_Motor_LuV.set(addItem(606, "Electric Motor (LuV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 32L)}));
ItemList.Electric_Motor_ZPM.set(addItem(607, "Electric Motor (ZPM)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 64L)}));
ItemList.Electric_Motor_UV.set(addItem(608, "Electric Motor (UV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 128L)}));
- ItemList.Electric_Motor_UHV.set(addItem(596, "Electric Motor (UHV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 128L)}));
+ ItemList.Electric_Motor_UHV.set(addItem(596, "Electric Motor (UHV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 256L)}));
+ ItemList.Electric_Motor_UEV.set(addItem(595, "Electric Motor (UEV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L)}));
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.IronMagnetic), 'R', OrePrefixes.stick.get(Materials.AnyIron), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', OrePrefixes.cableGt01.get(Materials.Tin)});
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', OrePrefixes.stick.get(Materials.Steel), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', OrePrefixes.cableGt01.get(Materials.Tin)});
diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java
index 33a558542e..8940231160 100644
--- a/src/main/java/gregtech/common/items/ItemComb.java
+++ b/src/main/java/gregtech/common/items/ItemComb.java
@@ -11,14 +11,17 @@ 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 gregtech.loaders.materialprocessing.ProcessingModSupport;
+import gregtech.loaders.misc.GT_Bees;
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 net.minecraftforge.fluids.FluidRegistry;
import java.util.List;
@@ -93,208 +96,592 @@ public class ItemComb extends Item {
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);
+ addSpecialCentLV(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1), 90);
+ addProcessLV(tComb, Materials.Lignite, 100);
tComb = getStackForType(CombType.COAL);
- addSpecialCent(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1), 40);
- addProcess(tComb, Materials.Coal, 100);
+ addSpecialCentLV(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1), 5, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Coal, 1), 100);
+ addProcessLV(tComb, Materials.Coal, 100);
tComb = getStackForType(CombType.STICKY);
- addSpecialCent(tComb, ItemList.IC2_Resin.get(1, new Object[0]), 70);
+ addSpecialCentLV(tComb, ItemList.IC2_Resin.get(1, new Object[0]), 50, ItemList.IC2_Plantball.get(1, new Object[0]), 15);
tComb = getStackForType(CombType.OIL);
- addSpecialCent(tComb, ItemList.Crop_Drop_OilBerry.get(2, new Object[0]), 70);
- addProcess(tComb, Materials.Oilsands, 100);
-
- //Gem Line
+ addSpecialCentLV(tComb, ItemList.Crop_Drop_OilBerry.get(1, new Object[0]), 70, GT_Bees.drop.getStackForType(DropType.OIL), 100);
+ addProcessLV(tComb, Materials.Oilsands, 100);
+ tComb = getStackForType(CombType.APATITE);
+ addProcessLV(tComb, Materials.Apatite, 100);
+ addProcessLV(tComb, Materials.Calcium, 80);
+ addProcessLV(tComb, Materials.Phosphate, 80);
+ tComb = getStackForType(CombType.ASH);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 5000, 5000}, 128, 5);
+
+ //ic2
+ tComb = getStackForType(CombType.COOLANT);
+ addSpecialCentHV(tComb, GT_Bees.drop.getStackForType(DropType.COOLANT), 100, ItemList.FR_Wax.get(1, new Object[0]), 100);
+ tComb = getStackForType(CombType.ENERGY);
+ addSpecialCentHV(tComb, GT_Bees.drop.getStackForType(DropType.HOT_COOLANT), 20, ItemList.IC2_Energium_Dust.get(1L), 20, ItemList.FR_RefractoryWax.get(1, new Object[0]), 50);
+ tComb = getStackForType(CombType.LAPOTRON);
+ addSpecialCentHV(tComb, GT_Bees.drop.getStackForType(DropType.LAPIS), 20, GT_ModHandler.getModItem("dreamcraft", "item.LapotronDust", 1, 0), 15, GT_ModHandler.getModItem("MagicBees", "wax", 1, 2), 40);
+ tComb = getStackForType(CombType.PYROTHEUM);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.Blizz,1), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.Pyrotheum,1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{3000, 2500, 2000, 0, 0, 0}, 384, 480);
+ tComb = getStackForType(CombType.CRYOTHEUM);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.Blaze,1), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.Cryotheum,1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{3000, 2500, 2000, 0, 0, 0}, 384, 480);
+ //Alloy
+ tComb = getStackForType(CombType.REDALLOY);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.RedAlloy, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 128, 5);
+ addProcessLV(tComb, Materials.Redstone, 75);
+ addProcessLV(tComb, Materials.Copper, 90);
+ tComb = getStackForType(CombType.REDSTONEALLOY);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.RedstoneAlloy, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 128, 5);
+ addProcessLV(tComb, Materials.Redstone, 90);
+ addProcessLV(tComb, Materials.Silicon, 75);
+ addProcessLV(tComb, Materials.Coal, 75);
+ tComb = getStackForType(CombType.CONDUCTIVEIRON);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.ConductiveIron, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 9000}, 256, 120);
+ addProcessMV(tComb, Materials.Silver, 55);
+ addProcessMV(tComb, Materials.Iron, 65);
+ tComb = getStackForType(CombType.VIBRANTALLOY);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.VibrantAlloy, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 7000}, 384, 480);
+ addProcessHV(tComb, Materials.Chrome, 50);
+ tComb = getStackForType(CombType.ENERGETICALLOY);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.VibrantAlloy, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 8000}, 384, 480);
+ addProcessHV(tComb, Materials.Gold, 60);
+ tComb = getStackForType(CombType.ELECTRICALSTEEL);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.ElectricalSteel, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 128, 5);
+ addProcessLV(tComb, Materials.Silicon, 75);
+ addProcessLV(tComb, Materials.Coal, 75);
+ tComb = getStackForType(CombType.DARKSTEEL);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkSteel, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 256, 120);
+ addProcessMV(tComb, Materials.Coal, 75);
+ tComb = getStackForType(CombType.PULSATINGIRON);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.PulsatingIron, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 8000}, 384, 480);
+ addProcessHV(tComb, Materials.Iron, 75);
+ tComb = getStackForType(CombType.STAINLESSSTEEL);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.StainlessSteel, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 5000}, 384, 480);
+ addProcessHV(tComb, Materials.Iron, 75);
+ addProcessHV(tComb, Materials.Chrome, 55);
+ addProcessHV(tComb, Materials.Manganese, 75);
+ addProcessHV(tComb, Materials.Nickel, 75);
+ tComb = getStackForType(CombType.ENDERIUM);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.EnderiumBase, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Enderium, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 3000, 5000}, 384, 480);
+
+
+ //Thaumic
+ tComb = getStackForType(CombType.THAUMIUMDUST);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Thaumium, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 256, 120);
+ addProcessMV(tComb, Materials.Iron, 75);
+ tComb = getStackForType(CombType.THAUMIUMSHARD);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "propolis", 1, 1), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 2), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 3), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 4), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 5), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 6), new int[] {2000, 2000, 2000, 2000, 2000, 2000 }, 128, 5);
+ tComb = getStackForType(CombType.AMBER);
+ addProcessLV(tComb, Materials.Amber, 100);
+ tComb = getStackForType(CombType.QUICKSILVER);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("Thaumcraft", "ItemNugget", 1, 5), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 1000}, 128, 5);
+ addProcessLV(tComb, Materials.Cinnabar, 85);
+ tComb = getStackForType(CombType.SALISMUNDUS);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 14), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 1000}, 256, 120);
+ tComb = getStackForType(CombType.TAINTED);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 11), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 12), GT_ModHandler.getModItem("Thaumcraft", "blockTaintFibres", 1, 0), GT_ModHandler.getModItem("Thaumcraft", "blockTaintFibres", 1, 1), GT_ModHandler.getModItem("Thaumcraft", "blockTaintFibres", 1, 2), GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), new int[] {1500, 1500, 1500, 1500, 1500, 5000}, 128, 5);
+ tComb = getStackForType(CombType.MITHRIL);
+ addProcessHV(tComb, Materials.Mithril, 75);
+ addProcessHV(tComb, Materials.Platinum, 55);
+ tComb = getStackForType(CombType.ASTRALSILVER);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.AstralSilver, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 2000, 1000}, 384, 480);
+ addProcessHV(tComb, Materials.Silver, 75);
+ tComb = getStackForType(CombType.THAUMINITE);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("thaumicbases", "resource", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Thaumium, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 2000, 1000}, 384, 480);
+ tComb = getStackForType(CombType.SHADOWMETAL);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Shadow, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.ShadowSteel, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 2000, 1000}, 384, 480);
+ addProcessHV(tComb, Materials.ShadowSteel, 75);
+ tComb = getStackForType(CombType.DIVIDED);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("ExtraUtilities", "unstableingot", 1, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Diamond, 1), GT_Values.NI, GT_Values.NI, new int[] {5000, 2000, 1000, 500}, 384, 480);
+ addProcessHV(tComb, Materials.Iron, 75);
+ addProcessHV(tComb, Materials.Diamond, 55);
+ tComb = getStackForType(CombType.SPARKELING);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("MagicBees", "miscResources", 1, 5), GT_ModHandler.getModItem("MagicBees", "miscResources", 1, 5), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.NetherStar, 1), GT_Values.NI, GT_Values.NI, new int[] {5000, 1000, 500, 1000}, 512, 1920);
+ addProcessEV(tComb, Materials.NetherStar, 50);
+
+ //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);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.GraniteBlack,1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.GraniteRed,1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Basalt,1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Marble,1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Redrock,1), new int[] {7000, 5000, 5000, 5000, 5000, 5000}, 128, 5);
+ addProcessLV(tComb, Materials.Soapstone, 95);
+ addProcessLV(tComb, Materials.Talc, 90);
+ addProcessLV(tComb, Materials.Apatite, 80);
+ addProcessLV(tComb, Materials.Phosphate, 75);
+ addProcessLV(tComb, Materials.Phosphorus, 75);
tComb = getStackForType(CombType.CERTUS);
- addProcess(tComb, Materials.CertusQuartz, 100);
- addProcess(tComb, Materials.Quartzite, 100);
- addProcess(tComb, Materials.Barite, 100);
+ addProcessLV(tComb, Materials.CertusQuartz, 100);
+ addProcessLV(tComb, Materials.Quartzite, 80);
+ addProcessLV(tComb, Materials.Barite, 75);
+ tComb = getStackForType(CombType.FLUIX);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF,ItemList.FR_Wax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Fluix,1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {3000, 2500}, 128, 5);
+ addProcessLV(tComb, Materials.Redstone, 90);
+ addProcessLV(tComb, Materials.CertusQuartz, 90);
+ addProcessLV(tComb, Materials.NetherQuartz, 90);
tComb = getStackForType(CombType.REDSTONE);
- addProcess(tComb, Materials.Redstone, 100);
- addProcess(tComb, Materials.Cinnabar, 100);
+ addProcessLV(tComb, Materials.Redstone, 100);
+ addProcessLV(tComb, Materials.Cinnabar, 80);
+ tComb = getStackForType(CombType.RAREEARTH);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF,ItemList.FR_Wax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.RareEarth,1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {3000, 10000}, 128, 5);
tComb = getStackForType(CombType.LAPIS);
- addProcess(tComb, Materials.Lapis, 100);
- addProcess(tComb, Materials.Sodalite, 100);
- addProcess(tComb, Materials.Lazurite, 100);
- addProcess(tComb, Materials.Calcite, 100);
+ addProcessLV(tComb, Materials.Lapis, 100);
+ addProcessLV(tComb, Materials.Sodalite, 90);
+ addProcessLV(tComb, Materials.Lazurite, 90);
+ addProcessLV(tComb, Materials.Calcite, 85);
tComb = getStackForType(CombType.RUBY);
- addProcess(tComb, Materials.Ruby, 100);
- addProcess(tComb, Materials.Redstone, 100);
+ addProcessLV(tComb, Materials.Ruby, 100);
+ addProcessLV(tComb, Materials.Redstone, 90);
+ tComb = getStackForType(CombType.REDGARNET);
+ addProcessLV(tComb, Materials.GarnetRed, 100);
+ addProcessLV(tComb, Materials.GarnetYellow, 75);
+ tComb = getStackForType(CombType.YELLOWGARNET);
+ addProcessLV(tComb, Materials.GarnetYellow, 100);
+ addProcessLV(tComb, Materials.GarnetRed, 75);
tComb = getStackForType(CombType.SAPPHIRE);
- addProcess(tComb, Materials.Sapphire, 100);
- addProcess(tComb, Materials.GreenSapphire, 100);
- addProcess(tComb, Materials.Almandine, 100);
- addProcess(tComb, Materials.Pyrope, 100);
+ addProcessLV(tComb, Materials.Sapphire, 100);
+ addProcessLV(tComb, Materials.GreenSapphire, 90);
+ addProcessLV(tComb, Materials.Almandine, 75);
+ addProcessLV(tComb, Materials.Pyrope, 75);
tComb = getStackForType(CombType.DIAMOND);
- addProcess(tComb, Materials.Diamond, 100);
- addProcess(tComb, Materials.Graphite, 100);
+ addProcessLV(tComb, Materials.Diamond, 100);
+ addProcessLV(tComb, Materials.Graphite, 75);
tComb = getStackForType(CombType.OLIVINE);
- addProcess(tComb, Materials.Olivine, 100);
- addProcess(tComb, Materials.Bentonite, 100);
- addProcess(tComb, Materials.Magnesite, 100);
- addProcess(tComb, Materials.Glauconite, 100);
+ addProcessLV(tComb, Materials.Olivine, 100);
+ addProcessLV(tComb, Materials.Bentonite, 90);
+ addProcessLV(tComb, Materials.Magnesite, 80);
+ addProcessLV(tComb, Materials.Glauconite, 75);
tComb = getStackForType(CombType.EMERALD);
- addProcess(tComb, Materials.Emerald, 100);
- addProcess(tComb, Materials.Beryllium, 100);
- addProcess(tComb, Materials.Thorium, 100);
-
+ addProcessLV(tComb, Materials.Emerald, 100);
+ addProcessLV(tComb, Materials.Beryllium, 85);
+ addProcessLV(tComb, Materials.Thorium, 75);
+ tComb = getStackForType(CombType.FIRESTONE);
+ addProcessLV(tComb, Materials.Firestone, 100);
+ tComb = getStackForType(CombType.PYROPE);
+ addProcessLV(tComb, Materials.Pyrope, 100);
+ addProcessLV(tComb, Materials.Aluminium, 75);
+ addProcessLV(tComb, Materials.Magnesium, 80);
+ addProcessLV(tComb, Materials.Silicon, 75);
+ tComb = getStackForType(CombType.GROSSULAR);
+ addProcessLV(tComb, Materials.Grossular, 100);
+ addProcessLV(tComb, Materials.Calcium, 80);
+ addProcessLV(tComb, Materials.Aluminium, 75);
+ addProcessLV(tComb, Materials.Silicon, 75);
// // 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);
+ addSpecialCentLV(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);
+ addProcessLV(tComb, Materials.Salt, 100);
+ addProcessLV(tComb, Materials.RockSalt, 100);
+ addProcessLV(tComb, Materials.Lepidolite, 100);
+ addProcessLV(tComb, Materials.Spodumene, 100);
+ addProcessLV(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);
+ addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1), 70);
+ addProcessLV(tComb, Materials.Copper, 100);
+ addProcessLV(tComb, Materials.Tetrahedrite, 85);
+ addProcessLV(tComb, Materials.Chalcopyrite, 95);
+ addProcessLV(tComb, Materials.Malachite, 80);
+ addProcessLV(tComb, Materials.Pyrite, 75);
+ addProcessLV(tComb, Materials.Stibnite, 65);
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);
+ addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1), 60);
+ addProcessLV(tComb, Materials.Tin, 100);
+ addProcessLV(tComb, Materials.Cassiterite, 85);
tComb = getStackForType(CombType.LEAD);
- addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1), 45);
- addProcess(tComb, Materials.Lead, 100);
+ addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1), 45);
+ addProcessLV(tComb, Materials.Lead, 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);
+ addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), 30);
+ addProcessLV(tComb, Materials.Iron, 100);
+ addProcessLV(tComb, Materials.Magnetite, 90);
+ addProcessLV(tComb, Materials.BrownLimonite, 85);
+ addProcessLV(tComb, Materials.YellowLimonite, 85);
+ addProcessLV(tComb, Materials.VanadiumMagnetite, 80);
+ addProcessLV(tComb, Materials.BandedIron, 85);
+ addProcessLV(tComb, Materials.Pyrite, 80);
if (ProcessingModSupport.aEnableGCMarsMats)
- addProcess(tComb, Materials.MeteoricIron, 100);
+ addProcessLV(tComb, Materials.MeteoricIron, 75);
tComb = getStackForType(CombType.STEEL);
- addProcess(tComb, Materials.Iron, Materials.Iron, 100);
- addProcess(tComb, Materials.Magnetite, Materials.Magnetite, 100);
- addProcess(tComb, Materials.BrownLimonite, Materials.BrownLimonite, 100);
- addProcess(tComb, Materials.YellowLimonite, Materials.YellowLimonite, 100);
- addProcess(tComb, Materials.VanadiumMagnetite, Materials.VanadiumMagnetite, 100);
- addProcess(tComb, Materials.BandedIron, Materials.BandedIron, 100);
- addProcess(tComb, Materials.Pyrite, Materials.Pyrite, 100);
+ addProcessLV(tComb, Materials.Iron, Materials.Iron, 100);
+ addProcessLV(tComb, Materials.Magnetite, Materials.Magnetite, 90);
+ addProcessLV(tComb, Materials.BrownLimonite, Materials.BrownLimonite, 85);
+ addProcessLV(tComb, Materials.YellowLimonite, Materials.YellowLimonite, 85);
+ addProcessLV(tComb, Materials.VanadiumMagnetite, Materials.VanadiumMagnetite, 80);
+ addProcessLV(tComb, Materials.BandedIron, Materials.BandedIron, 85);
+ addProcessLV(tComb, Materials.Pyrite, Materials.Pyrite, 80);
if (ProcessingModSupport.aEnableGCMarsMats)
- addProcess(tComb, Materials.MeteoricIron, Materials.MeteoricIron, 100);
- addProcess(tComb, Materials.Molybdenite, 100);
- addProcess(tComb, Materials.Molybdenum, 100);
+ addProcessLV(tComb, Materials.MeteoricIron, Materials.MeteoricIron, 75);
+ addProcessLV(tComb, Materials.Molybdenite, 65);
+ addProcessLV(tComb, Materials.Molybdenum, 65);
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);
+ addProcessLV(tComb, Materials.Nickel, 100);
+ addProcessLV(tComb, Materials.Garnierite, 85);
+ addProcessLV(tComb, Materials.Pentlandite, 85);
+ addProcessLV(tComb, Materials.Cobaltite, 80);
+ addProcessLV(tComb, Materials.Wulfenite, 75);
+ addProcessLV(tComb, Materials.Powellite, 75);
tComb = getStackForType(CombType.ZINC);
- addProcess(tComb, Materials.Zinc, 100);
- addProcess(tComb, Materials.Sphalerite, 100);
- addProcess(tComb, Materials.Sulfur, 100);
+ addProcessLV(tComb, Materials.Zinc, 100);
+ addProcessLV(tComb, Materials.Sphalerite, 80);
+ addProcessLV(tComb, Materials.Sulfur, 75);
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);
+ addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), 80);
+ addProcessLV(tComb, Materials.Silver, 100);
+ addProcessLV(tComb, Materials.Galena, 80);
tComb = getStackForType(CombType.GOLD);
- addProcess(tComb, Materials.Gold, 100);
- addProcess(tComb, Materials.Magnetite, Materials.Gold, 100);
+ addProcessLV(tComb, Materials.Gold, 100);
+ addProcessLV(tComb, Materials.Magnetite, Materials.Gold, 80);
+ tComb = getStackForType(CombType.SULFUR);
+ addProcessLV(tComb, Materials.Sulfur, 100);
+ addProcessLV(tComb, Materials.Pyrite, 90);
+ addProcessLV(tComb, Materials.Sphalerite, 80);
+ tComb = getStackForType(CombType.GALLIUM);
+ addProcessLV(tComb, Materials.Gallium, 80);
+ addProcessLV(tComb, Materials.Niobium, 75);
+ tComb = getStackForType(CombType.ARSENIC);
+ addProcessLV(tComb, Materials.Arsenic, 80);
+ addProcessLV(tComb, Materials.Bismuth, 70);
+ addProcessLV(tComb, Materials.Antimony, 70);
- // Rare Metals Line
+ // Rare Metals Line
+ tComb = getStackForType(CombType.BAUXITE);
+ addProcessLV(tComb, Materials.Bauxite, 75);
+ addProcessLV(tComb,Materials.Aluminium,55);
tComb = getStackForType(CombType.ALUMINIUM);
- addProcess(tComb,Materials.Aluminium,60);
- addProcess(tComb,Materials.Bauxite,100);
+ addProcessLV(tComb,Materials.Aluminium,60);
+ addProcessLV(tComb,Materials.Bauxite,80);
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);
+ addProcessLV(tComb,Materials.Manganese,30);
+ addProcessLV(tComb,Materials.Grossular,100);
+ addProcessLV(tComb,Materials.Spessartine,100);
+ addProcessLV(tComb,Materials.Pyrolusite,100);
+ addProcessLV(tComb,Materials.Tantalite,100);
tComb = getStackForType(CombType.TITANIUM);
- addProcess(tComb,Materials.Titanium,100);
- addProcess(tComb,Materials.Ilmenite,100);
- addProcess(tComb,Materials.Bauxite,100);
+ addProcessEV(tComb,Materials.Titanium,90);
+ addProcessEV(tComb,Materials.Ilmenite,80);
+ addProcessEV(tComb,Materials.Bauxite,75);
+ tComb = getStackForType(CombType.MAGNESIUM);
+ addProcessLV(tComb,Materials.Magnesium,100);
+ addProcessLV(tComb,Materials.Magnesite,80);
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);
+ addProcessHV(tComb,Materials.Chrome,50);
+ addProcessHV(tComb,Materials.Ruby,100);
+ addProcessHV(tComb,Materials.Chromite,50);
+ addProcessHV(tComb,Materials.Redstone,100);
+ addProcessHV(tComb, Materials.Neodymium, 80);
+ addProcessHV(tComb, Materials.Bastnasite, 80);
tComb = getStackForType(CombType.TUNGSTEN);
- addProcess(tComb,Materials.Tungstate,100);
- addProcess(tComb,Materials.Scheelite,100);
- addProcess(tComb,Materials.Lithium,100);
+ addProcessIV(tComb,Materials.Tungstate,80);
+ addProcessIV(tComb,Materials.Scheelite,75);
+ addProcessIV(tComb,Materials.Lithium,75);
tComb = getStackForType(CombType.PLATINUM);
- addProcess(tComb,Materials.Platinum,40);
- addProcess(tComb,Materials.Cooperite,40);
- addProcess(tComb,Materials.Palladium,40);
+ addProcessHV(tComb,Materials.Platinum,40);
+ addProcessHV(tComb,Materials.Cooperite,40);
+ addProcessHV(tComb,Materials.Palladium,40);
+ tComb = getStackForType(CombType.MOLYBDENUM);
+ addProcessLV(tComb,Materials.Molybdenum,100);
+ addProcessLV(tComb,Materials.Molybdenite,90);
+ addProcessLV(tComb,Materials.Powellite,80);
+ addProcessLV(tComb,Materials.Wulfenite,75);
+ addProcessIV(tComb,Materials.Osmium,15);
tComb = getStackForType(CombType.IRIDIUM);
- addProcess(tComb,Materials.Iridium,20);
- addProcess(tComb,Materials.Osmium,20);
+ addProcessIV(tComb,Materials.Iridium,20);
+ addProcessIV(tComb,Materials.Osmium,15);
+ tComb = getStackForType(CombType.OSMIUM);
+ addProcessIV(tComb,Materials.Osmium,25);
+ addProcessIV(tComb,Materials.Iridium,15);
+ tComb = getStackForType(CombType.LITHIUM);
+ addProcessMV(tComb,Materials.Lithium,85);
+ addProcessMV(tComb,Materials.Aluminium,75);
+ tComb = getStackForType(CombType.SALT);
+ addProcessMV(tComb,Materials.Salt,100);
+ addProcessMV(tComb,Materials.Sodium,75);
+ addProcessMV(tComb,Materials.RockSalt,75);
+ addProcessMV(tComb,Materials.Saltpeter,65);
+ addSpecialCentMV(tComb, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 1), 100, GT_ModHandler.getModItem("dreamcraft", "item.EdibleSalt", 1L, 0), 50);
+ tComb = getStackForType(CombType.ELECTROTINE);
+ addProcessHV(tComb,Materials.Electrotine,80);
+ addProcessHV(tComb,Materials.Electrum,75);
+ addProcessHV(tComb,Materials.Redstone,65);
// Radioactive Line
+ tComb = getStackForType(CombType.ALMANDINE);
+ addProcessLV(tComb,Materials.Almandine,90);
+ addProcessLV(tComb,Materials.Pyrope,80);
+ addProcessLV(tComb,Materials.Sapphire,75);
+ addProcessLV(tComb,Materials.GreenSapphire,75);
tComb = getStackForType(CombType.URANIUM);
- addProcess(tComb,Materials.Uranium,50);
- addProcess(tComb,Materials.Pitchblende,50);
- addProcess(tComb,Materials.Uraninite,50);
- addProcess(tComb,Materials.Uranium235,50);
+ addProcessEV(tComb,Materials.Uranium,50);
+ addProcessEV(tComb,Materials.Pitchblende,65);
+ addProcessEV(tComb,Materials.Uraninite,75);
+ addProcessEV(tComb,Materials.Uranium235,50);
tComb = getStackForType(CombType.PLUTONIUM);
- addProcess(tComb,Materials.Plutonium,10);
- addProcess(tComb,Materials.Uranium235,Materials.Plutonium,5);
+ addProcessEV(tComb,Materials.Plutonium,10);
+ addProcessEV(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);
+ addProcessIV(tComb,Materials.Naquadah,10);
+ addProcessIV(tComb,Materials.NaquadahEnriched,5);
+ addProcessIV(tComb,Materials.Naquadria,5);
+ tComb = getStackForType(CombType.NAQUADRIA);
+ addProcessIV(tComb,Materials.Naquadah,15);
+ addProcessLUV(tComb,Materials.NaquadahEnriched,10);
+ addProcessLUV(tComb,Materials.Naquadria,10);
+ tComb = getStackForType(CombType.THORIUM);
+ addProcessEV(tComb,Materials.Thorium,75);
+ addProcessEV(tComb,Materials.Uranium,75);
+ addProcessEV(tComb,Materials.Coal,95);
+ tComb = getStackForType(CombType.LUTETIUM);
+ addProcessIV(tComb,Materials.Lutetium,35);
+ addProcessIV(tComb,Materials.Thorium,55);
+ tComb = getStackForType(CombType.AMERICUM);
+ addProcessLUV(tComb,Materials.Americium,25);
+ addProcessLUV(tComb,Materials.Lutetium,45);
+ tComb = getStackForType(CombType.NEUTRONIUM);
+ addProcessZPM(tComb,Materials.Neutronium,15);
+ addProcessZPM(tComb,Materials.Americium,35);
+
+ // Twilight
+ tComb = getStackForType(CombType.NAGA);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 4), GT_ModHandler.getModItem("dreamcraft", "item.NagaScaleChip", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.NagaScaleFragment", 1L, 0), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 800, 0, 0}, 256, 120);
+ tComb = getStackForType(CombType.LICH);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 5), GT_ModHandler.getModItem("dreamcraft", "item.LichBoneChip", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.LichBoneFragment", 1L, 0), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 800, 0, 0}, 384, 480);
+ tComb = getStackForType(CombType.HYDRA);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 1), GT_ModHandler.getModItem("dreamcraft", "item.FieryBloodDrop", 1L, 0), GT_Bees.drop.getStackForType(DropType.HYDRA), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 1000, 0, 0}, 384, 480);
+ tComb = getStackForType(CombType.URGHAST);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), GT_ModHandler.getModItem("dreamcraft", "item..CarminiteChip", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.CarminiteFragment",1L, 0), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 800, 0, 0}, 512, 1920);
+ tComb = getStackForType(CombType.SNOWQUEEN);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 3), GT_ModHandler.getModItem("dreamcraft", "item.SnowQueenBloodDrop", 1L, 0), GT_Bees.drop.getStackForType(DropType.SNOW_QUEEN), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 1000, 0, 0}, 512, 1920);
+
+ //Space Line
+ tComb = getStackForType(CombType.SPACE);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), ItemList.FR_RefractoryWax.get(1L), GT_Bees.drop.getStackForType(DropType.OXYGEN), GT_ModHandler.getModItem("dreamcraft", "item.CoinSpace", 1L, 0), GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 1500, 500, 0, 0}, 384, 480);
+ tComb = getStackForType(CombType.METEORICIRON);
+ addProcessHV(tComb,Materials.MeteoricIron,85);
+ addProcessHV(tComb,Materials.Iron,100);
+ tComb = getStackForType(CombType.DESH);
+ addProcessEV(tComb,Materials.Desh,75);
+ addProcessEV(tComb,Materials.Titanium,50);
+ tComb = getStackForType(CombType.LEDOX);
+ addProcessEV(tComb,Materials.Ledox,65);
+ addProcessEV(tComb,Materials.CallistoIce,55);
+ addProcessEV(tComb,Materials.Lead,85);
+ tComb = getStackForType(CombType.CALLISTOICE);
+ addProcessIV(tComb,Materials.CallistoIce,65);
+ addProcessIV(tComb,Materials.Ledox,75);
+ addProcessIV(tComb,Materials.Lead,100);
+ tComb = getStackForType(CombType.MYTRYL);
+ addProcessIV(tComb,Materials.Mytryl,55);
+ addProcessIV(tComb,Materials.Mithril,50);
+ tComb = getStackForType(CombType.QUANTIUM);
+ addProcessIV(tComb,Materials.Quantium,50);
+ addProcessIV(tComb,Materials.Osmium,60);
+ tComb = getStackForType(CombType.ORIHARUKON);
+ addProcessIV(tComb,Materials.Oriharukon,50);
+ addProcessIV(tComb,Materials.Lead,75);
+ tComb = getStackForType(CombType.MYSTERIOUSCRYSTAL);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.MysteriousCrystal, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Emerald, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 1000, 1500, 0, 0, 0}, 512, 30720);
+ addProcessLUV(tComb,Materials.Emerald,50);
+ tComb = getStackForType(CombType.BLACKPLUTONIUM);
+ addProcessLUV(tComb,Materials.BlackPlutonium,25);
+ addProcessLUV(tComb,Materials.Plutonium,50);
+ tComb = getStackForType(CombType.TRINIUM);
+ addProcessZPM(tComb,Materials.Trinium,35);
+ addProcessZPM(tComb,Materials.Iridium,45);
+
+ //Planet Line
+ tComb = getStackForType(CombType.MOON);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MoonStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 120);
+ tComb = getStackForType(CombType.MARS);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MarsStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 480);
+ tComb = getStackForType(CombType.JUPITER);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("dreamcraft", "item.IoStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.EuropaIceDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.EuropaStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.GanymedStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.CallistoStoneDust", 1L, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.CallistoIce, 1L), new int[]{3000, 3000, 3000, 3000, 3000, 500}, 300, 480);
+ tComb = getStackForType(CombType.MERCURY);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MercuryCoreDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.MercuryStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 1920);
+ tComb = getStackForType(CombType.VENUS);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.VenusStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 1920);
+ tComb = getStackForType(CombType.SATURN);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.EnceladusStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.TitanStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 7680);
+ tComb = getStackForType(CombType.URANUS);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MirandaStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.OberonStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 7680);
+ tComb = getStackForType(CombType.NEPTUN);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.ProteusStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.TritonStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 7680);
+ tComb = getStackForType(CombType.PLUTO);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.PlutoStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.PlutoIceDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 30720);
+ tComb = getStackForType(CombType.HAUMEA);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.HaumeaStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 30720);
+ tComb = getStackForType(CombType.MAKEMAKE);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MakeMakeStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 30720);
+ tComb = getStackForType(CombType.CENTAURI);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.CentauriASurfaceDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.CentauriAStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 122880);
+ tComb = getStackForType(CombType.TCETI);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.TCetiEStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 122880);
+ tComb = getStackForType(CombType.BARNARDA);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.BarnardaEStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.BarnardaFStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 122880);
+ tComb = getStackForType(CombType.VEGA);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.VegaBStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 122880);
+ //Infinity Line
+ tComb = getStackForType(CombType.COSMICNEUTRONIUM);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.CosmicNeutronium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Neutronium, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 50, 100, 0, 0, 0}, 12000, 500000);
+ tComb = getStackForType(CombType.INFINITYCATALYST);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.InfinityCatalyst, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Neutronium, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 5, 100, 0, 0, 0}, 24000, 2000000);
+ tComb = getStackForType(CombType.INFINITY);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Infinity, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.InfinityCatalyst, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 1, 5, 0, 0, 0}, 48000, 8000000);
+
}
- 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);
+ public void addSpecialCentLV(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, 5000 }, 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);
+ public void addSpecialCentLV(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, 5000, 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);
+ public void addSpecialCentLV(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, 5000, 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){
+ public void addSpecialCentMV(ItemStack tComb, ItemStack aOutput, int chance){
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput,GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 7000 }, 160, 120);
+ }
+
+ public void addSpecialCentMV(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, aOutput2, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, chance2 * 100}, 160, 120);
+ }
+
+ public void addSpecialCentHV(ItemStack tComb, ItemStack aOutput, int chance){
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput,GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 7000 }, 196, 480);
+ }
+
+ public void addSpecialCentHV(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, aOutput2, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, chance2 * 100}, 196, 480);
+ }
+
+ public void addSpecialCentHV(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, aOutput2, aOutput3, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, chance2 * 100, chance3 * 100 }, 196, 480);
+ }
+
+ public void addProcessLV(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);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 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){
+ public void addProcessMV(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), GT_ModHandler.getDistilledWater(1000L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 128, 96);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 768);
+ }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 }, 160, 120);
+ }
+ }
+ public void addProcessHV(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.Mercury.getFluid(144L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 160, 384);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 1536);
+ }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 }, 192, 480);
+ }
+ }
+ public void addProcessEV(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.GrowthMediumRaw.getFluid(144L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), GT_Values.NI,192, 1536, true);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+18)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 3072, true);
+ }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 }, 224, 1920);
+ }
+ }
+ public void addProcessIV(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.GrowthMediumRaw.getFluid(288L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), GT_Values.NI,224, 3072, true);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+27)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 6144, true);
+ }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 }, 256, 7680);
+ }
+ }
+ public void addProcessLUV(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, 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);
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), FluidRegistry.getFluidStack("mutagen", 144), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), GT_Values.NI,256, 12288, true);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+36)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 24576, true);
}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);
+ 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 }, 288, 30720);
+ }
+ }
+ public void addProcessZPM(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), FluidRegistry.getFluidStack("mutagen", 288), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), GT_Values.NI,288, 500000, true);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+45)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 100000, true);
+ }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 }, 320, 122880);
+ }
+ }
+
+ public void addProcessLV(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(1000L), 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(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass() +9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 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));
}
}
-
+ public void addProcessMV(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), GT_ModHandler.getDistilledWater(1000L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 128, 96);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 768);
+ }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 }, 160, 120);
+ }
+
+ }
+ public void addProcessHV(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.Mercury.getFluid(144L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 160, 384);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 1536);
+ }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 }, 192, 480);
+ }
+
+ }
+ public void addProcessEV(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.GrowthMediumRaw.getFluid(144L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 192, 1536);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+18)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 3072);
+ }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 }, 224, 1920, true);
+ }
+
+ }
+ public void addProcessIV(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.GrowthMediumRaw.getFluid(288L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 224, 3072);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+27)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 6144);
+ }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 }, 256, 7680, true);
+ }
+
+ }
+ public void addProcessLUV(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), FluidRegistry.getFluidStack("mutagen", 144), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), GT_Values.NI, 256, 12288, true);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+36)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 24576, true);
+ }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 }, 288, 30720, true);
+ }
+
+ }
+ public void addProcessZPM(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), FluidRegistry.getFluidStack("mutagen", 288), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), GT_Values.NI, 288, 500000, true);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+45)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 100000, true);
+ }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 }, 320, 122880, true);
+ }
+
+ }
}
diff --git a/src/main/java/gregtech/common/items/ItemDrop.java b/src/main/java/gregtech/common/items/ItemDrop.java
new file mode 100644
index 0000000000..f461d8b68e
--- /dev/null
+++ b/src/main/java/gregtech/common/items/ItemDrop.java
@@ -0,0 +1,127 @@
+package gregtech.common.items;
+
+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.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.util.GT_ModHandler;
+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 net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+import java.util.List;
+
+import static gregtech.api.enums.GT_Values.MOD_ID;
+
+public class ItemDrop extends Item {
+ @SideOnly(Side.CLIENT)
+ private IIcon secondIcon;
+
+ public ItemDrop() {
+ super();
+ this.setCreativeTab(Tabs.tabApiculture);
+ this.setHasSubtypes(true);
+ this.setUnlocalizedName("gt.drop");
+ GameRegistry.registerItem(this, "gt.drop", MOD_ID);
+ }
+
+ public ItemStack getStackForType(DropType type) {
+ return new ItemStack(this, 1, type.ordinal());
+ }
+
+ public ItemStack getStackForType(DropType type, int count) {
+ return new ItemStack(this, count, type.ordinal());
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void getSubItems(Item item, CreativeTabs tabs, List list) {
+ for (DropType type : DropType.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:honeyDrop.0");
+ this.secondIcon = par1IconRegister.registerIcon("forestry:honeyDrop.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(DropType.values().length - 1, stack.getItemDamage()));
+ int colour = DropType.values()[meta].getColours()[0];
+
+ if (pass >= 1) {
+ colour = DropType.values()[meta].getColours()[1];
+ }
+
+ return colour;
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack stack) {
+ return DropType.values()[stack.getItemDamage()].getName();
+ }
+ public void initDropsRecipes() {
+ ItemStack tDrop;
+
+ tDrop = getStackForType(DropType.OIL);
+ addProcessLV(tDrop, Materials.OilHeavy.getFluid(100L), GT_ModHandler.getModItem("Forestry", "propolis", 1L, 0), 3000, 8);
+ RecipeManagers.squeezerManager.addRecipe(40, new ItemStack[]{tDrop}, Materials.OilHeavy.getFluid(100L), GT_ModHandler.getModItem("Forestry", "propolis", 1L, 0), 30);
+ tDrop = getStackForType(DropType.COOLANT);
+ addProcessLV(tDrop, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 0), 3000, 8);
+ RecipeManagers.squeezerManager.addRecipe(40, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 0), 30);
+ tDrop = getStackForType(DropType.HOT_COOLANT);
+ addProcessLV(tDrop, new FluidStack(FluidRegistry.getFluid("ic2hotcoolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), 3000, 8);
+ RecipeManagers.squeezerManager.addRecipe(40, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2hotcoolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), 30);
+ tDrop = getStackForType(DropType.SNOW_QUEEN);
+ addProcessMV(tDrop, Materials.FierySteel.getFluid(200L), GT_ModHandler.getModItem("dreamcraft", "SnowQueenBloodDrop", 1L, 0), 1500, 48);
+ tDrop = getStackForType(DropType.LAPIS);
+ addProcessLV(tDrop,new FluidStack(FluidRegistry.getFluid("ic2coolant"), 200), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 3), 5000, 1200,2);
+ RecipeManagers.squeezerManager.addRecipe(400, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 3), 30);
+ tDrop = getStackForType(DropType.HYDRA);
+ addProcessMV(tDrop, Materials.FierySteel.getFluid(50L), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), 3000, 8);
+ tDrop = getStackForType(DropType.OXYGEN);
+ addProcessLV(tDrop, new FluidStack(FluidRegistry.getFluid("liquidoxygen"), 100), GT_ModHandler.getModItem("ExtraBees", "propolis", 1L, 2), 250, 1200,8);
+ RecipeManagers.squeezerManager.addRecipe(400, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("ExtraBees", "propolis", 1L, 2), 30);
+
+ }
+
+ public void addProcessLV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) {
+ GT_Values.RA.addFluidExtractionRecipe(tDrop, aOutput2, aOutput, aChance, 32, aEUt);
+ }
+ public void addProcessLV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aDuration, int aEUt) {
+ GT_Values.RA.addFluidExtractionRecipe(tDrop, aOutput2, aOutput, aChance, aDuration, aEUt);
+ }
+ public void addProcessMV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) {
+ GT_Values.RA.addFluidExtractionRecipe(tDrop, aOutput2, aOutput, aChance, 64, aEUt);
+ }
+
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/items/ItemPollen.java b/src/main/java/gregtech/common/items/ItemPollen.java
new file mode 100644
index 0000000000..c3da0e7c1d
--- /dev/null
+++ b/src/main/java/gregtech/common/items/ItemPollen.java
@@ -0,0 +1,88 @@
+package gregtech.common.items;
+
+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 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 ItemPollen extends Item {
+ @SideOnly(Side.CLIENT)
+ private IIcon secondIcon;
+
+ public ItemPollen() {
+ super();
+ this.setCreativeTab(Tabs.tabApiculture);
+ this.setHasSubtypes(true);
+ this.setUnlocalizedName("gt.pollen");
+ GameRegistry.registerItem(this, "gt.pollen", MOD_ID);
+ }
+
+ public ItemStack getStackForType(PollenType type) {
+ return new ItemStack(this, 1, type.ordinal());
+ }
+
+ public ItemStack getStackForType(PollenType type, int count) {
+ return new ItemStack(this, count, type.ordinal());
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void getSubItems(Item item, CreativeTabs tabs, List list) {
+ for (PollenType type : PollenType.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:pollen.0");
+ this.secondIcon = par1IconRegister.registerIcon("forestry:pollen.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(PollenType.values().length - 1, stack.getItemDamage()));
+ int colour = PollenType.values()[meta].getColours()[0];
+
+ if (pass >= 1) {
+ colour = PollenType.values()[meta].getColours()[1];
+ }
+
+ return colour;
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack stack) {
+ return PollenType.values()[stack.getItemDamage()].getName();
+ }
+
+
+}
diff --git a/src/main/java/gregtech/common/items/ItemPropolis.java b/src/main/java/gregtech/common/items/ItemPropolis.java
new file mode 100644
index 0000000000..75c38ae016
--- /dev/null
+++ b/src/main/java/gregtech/common/items/ItemPropolis.java
@@ -0,0 +1,82 @@
+package gregtech.common.items;
+
+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 gregtech.api.enums.GT_Values;
+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 net.minecraftforge.fluids.FluidStack;
+
+import java.util.List;
+
+import static gregtech.api.enums.GT_Values.MOD_ID;
+
+public class ItemPropolis extends Item {
+ @SideOnly(Side.CLIENT)
+ private IIcon secondIcon;
+
+ public ItemPropolis() {
+ super();
+ this.setCreativeTab(Tabs.tabApiculture);
+ this.setHasSubtypes(true);
+ this.setUnlocalizedName("gt.propolis");
+ GameRegistry.registerItem(this, "gt.propolis", MOD_ID);
+ }
+
+ public ItemStack getStackForType(PropolisType type) {
+ return new ItemStack(this, 1, type.ordinal());
+ }
+
+ public ItemStack getStackForType(PropolisType type, int count) {
+ return new ItemStack(this, count, type.ordinal());
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void getSubItems(Item item, CreativeTabs tabs, List list) {
+ for (PropolisType type : PropolisType.values()) {
+ if (type.showInList) {
+ list.add(this.getStackForType(type));
+ }
+ }
+ }
+
+
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister par1IconRegister) {
+ this.itemIcon = par1IconRegister.registerIcon("forestry:propolis.0");
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack stack, int pass) {
+ return itemIcon;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public int getColorFromItemStack(ItemStack stack, int pass) {
+ int meta = Math.max(0, Math.min(PropolisType.values().length - 1, stack.getItemDamage()));
+ return PropolisType.values()[meta].getColours();
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack stack) {
+ return PropolisType.values()[stack.getItemDamage()].getName();
+ }
+ public void initPropolisRecipes() {
+ ItemStack tPropolis;
+
+ tPropolis = getStackForType(PropolisType.Zoko);
+ //addRecipe(tDrop, aOutput, aOutput2, aChance, aEUt);
+ }
+
+ public void addRecipe(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) {
+ GT_Values.RA.addFluidExtractionRecipe(tDrop, aOutput2, aOutput, aChance, 40, aEUt);
+ }
+
+}
diff --git a/src/main/java/gregtech/common/items/PollenType.java b/src/main/java/gregtech/common/items/PollenType.java
new file mode 100644
index 0000000000..5bfb38e599
--- /dev/null
+++ b/src/main/java/gregtech/common/items/PollenType.java
@@ -0,0 +1,34 @@
+package gregtech.common.items;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.util.GT_LanguageManager;
+
+public enum PollenType {
+
+ MATRIX("matrix",true);
+
+ private static int[][] colours = new int[][]{
+ {0x19191B, 0x303032},
+ };
+ public boolean showInList;
+ public Materials material;
+ public int chance;
+ private String name;
+ private PollenType(String pName, boolean show) {
+ this.name = pName;
+ this.showInList = show;
+ }
+
+ public void setHidden() {
+ this.showInList = false;
+ }
+
+ public String getName() {
+// return "gt.comb."+this.name;
+ return GT_LanguageManager.addStringLocalization("pollen." + this.name, this.name.substring(0, 1).toUpperCase() + this.name.substring(1) + " Pollen");
+ }
+
+ public int[] getColours() {
+ return colours[this.ordinal()];
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/items/PropolisType.java b/src/main/java/gregtech/common/items/PropolisType.java
new file mode 100644
index 0000000000..e9519c5c94
--- /dev/null
+++ b/src/main/java/gregtech/common/items/PropolisType.java
@@ -0,0 +1,35 @@
+package gregtech.common.items;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.util.GT_LanguageManager;
+
+public enum PropolisType {
+
+ Zoko("zoko",true);
+
+ private static int[] colours = new int[]{
+ 0x3A9898
+ };
+
+ public boolean showInList;
+ public Materials material;
+ public int chance;
+ private String name;
+ private PropolisType(String pName, boolean show) {
+ this.name = pName;
+ this.showInList = show;
+ }
+
+ public void setHidden() {
+ this.showInList = false;
+ }
+
+ public String getName() {
+// return "gt.comb."+this.name;
+ return GT_LanguageManager.addStringLocalization("propolis." + this.name, this.name.substring(0, 1).toUpperCase() + this.name.substring(1) + " Propolis");
+ }
+
+ public int getColours() {
+ return colours[this.ordinal()];
+ }
+} \ No newline at end of file