mirror of
https://github.com/GTNewHorizons/MagicBees.git
synced 2026-11-12 00:08:01 +00:00
Brushing up some rough ends, re-adding bee texture effects for new effects, adjusting drop rates.
This commit is contained in:
1 parent
9eb9a0a686
commit
f91dd7f625
17 files changed
+595
-216
No files matched your search
@@ -1,3 +1,3 @@
|
||||
#Build Number for ANT. Do not edit!
|
||||
#Fri Dec 28 20:21:37 PST 2012
|
||||
build.number=19
|
||||
#Sat Dec 29 17:49:37 PST 2012
|
||||
build.number=23
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
<property name="mc.version" value="1.4.6"/>
|
||||
<property name="forge.version" value="6.5.0.473"/>
|
||||
<property name="thaumicbees.version" value="0.0.6"/>
|
||||
<property name="thaumicbees.version" value="0.9"/>
|
||||
|
||||
<!-- for local deployment only, not used by main -->
|
||||
<property name="deploy.type" value="previews" />
|
||||
@@ -83,6 +83,7 @@
|
||||
<include name="**/Version.java" />
|
||||
</fileset>
|
||||
<filterset>
|
||||
<filter token="MCVERSION" value="${mc.version}" />
|
||||
<filter token="VERSION" value="${thaumicbees.version}" />
|
||||
<filter token="BUILD_NUMBER" value="${build.number}" />
|
||||
<filter token="FINGERPRINT" value="${key.fingerprint}" />
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
[{
|
||||
[
|
||||
{
|
||||
"modid": "ThaumicBees",
|
||||
"name": "ThaumicBees",
|
||||
"description": "Crossover mod for Forestry and Thaumcraft. Magic bees & more.",
|
||||
"version": "0.0.2",
|
||||
"mcversion": "1.4.6",
|
||||
"authors": [ "MysteriousAges" ],
|
||||
"credits": "Written & Designed by MysteriousAges. BIG thanks to SirSengir for all the Forestry help!",
|
||||
}]
|
||||
"credits": "Thanks to Sengir for the Forestry help!"
|
||||
}
|
||||
]
|
||||
@@ -4,11 +4,16 @@ import cpw.mods.fml.common.network.IGuiHandler;
|
||||
import forestry.api.apiculture.*;
|
||||
import forestry.api.core.*;
|
||||
import forestry.api.genetics.AlleleManager;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Random;
|
||||
|
||||
import thaumcraft.api.EnumTag;
|
||||
import thaumcraft.api.ObjectTags;
|
||||
import thaumcraft.api.ThaumcraftApi;
|
||||
import thaumicbees.bees.genetics.Allele;
|
||||
import thaumicbees.bees.genetics.AlleleEffectCure;
|
||||
import thaumicbees.bees.genetics.AlleleEffectPotion;
|
||||
import thaumicbees.bees.genetics.AlleleFlower;
|
||||
import thaumicbees.bees.genetics.BeeGenomeManager;
|
||||
import thaumicbees.bees.genetics.BeeMutation;
|
||||
@@ -16,11 +21,13 @@ import thaumicbees.bees.genetics.BeeSpecies;
|
||||
import thaumicbees.item.ItemManager;
|
||||
import thaumicbees.item.ItemComb.CombType;
|
||||
import thaumicbees.item.ItemMiscResources.ResourceType;
|
||||
import thaumicbees.main.ThaumicBees;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.command.ICommand;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ThaumicBeesPlugin implements IPlugin
|
||||
@@ -40,6 +47,19 @@ public class ThaumicBeesPlugin implements IPlugin
|
||||
|
||||
public void doInit()
|
||||
{
|
||||
try
|
||||
{
|
||||
Field f = Class.forName("forestry.core.config.Config").getField("enableParticleFX");
|
||||
ThaumicBees.object.configFlags.drawParticleEffects = f.getBoolean(null);
|
||||
|
||||
f = Class.forName("forestry.core.config.Defaults").getField("TEXTURE_PARTICLES_BEE");
|
||||
thaumicbees.main.CommonProxy.FORESTRY_GFX_BEEEFFECTS = (String)f.get(null);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
// Could not get Forestry config value.
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void postInit()
|
||||
@@ -54,146 +74,153 @@ public class ThaumicBeesPlugin implements IPlugin
|
||||
BeeBranch.Arcane = new BeeBranch("Arcane", "arcanis");
|
||||
BeeBranch.Supernatural = new BeeBranch("Supernatural", "coeleste");
|
||||
BeeBranch.Stark = new BeeBranch("Stark", "torridus", "Nothing of the mundane world remains in these bees.");
|
||||
|
||||
BeeBranch.Elemental = new BeeBranch("Elemental", "praecantatio");
|
||||
BeeBranch.Scholarly = new BeeBranch("Scholarly", "scholasticus");
|
||||
|
||||
AlleleFlower.alleleFlowerBookshelf = new AlleleFlower("flowerBookshelf", new FlowerProviderBookshelf(), true);
|
||||
AlleleFlower.alleleFlowerThaumcraft = new AlleleFlower("flowerThaumcraftPlant", new FlowerProviderThaumcraftFlower(), false);
|
||||
Allele.flowerBookshelf = new AlleleFlower("flowerBookshelf", new FlowerProviderBookshelf(), true);
|
||||
Allele.flowerThaumcraft = new AlleleFlower("flowerThaumcraftPlant", new FlowerProviderThaumcraftFlower(), false);
|
||||
|
||||
BeeSpecies.Esoteric = new BeeSpecies("Esoteric", "", "secretiore", BeeBranch.Arcane, 0,
|
||||
Allele.cleansingEffect = new AlleleEffectCure("effectCurative", false);
|
||||
Allele.digSpeed = new AlleleEffectPotion("effectDigSpeed", "Mining", Potion.digSpeed, 7, false);
|
||||
Allele.moveSpeed = new AlleleEffectPotion("effectMoveSpeed", "Swiftness", Potion.moveSpeed, 5, false);
|
||||
|
||||
Allele.Esoteric = new BeeSpecies("Esoteric", "", "secretiore", BeeBranch.Arcane, 0,
|
||||
0x001099, 0xcc763c, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, true);
|
||||
BeeSpecies.Esoteric.addProduct(ItemManager.combs.getStackForType(CombType.OCCULT), 45);
|
||||
BeeSpecies.Esoteric.setGenome(BeeGenomeManager.getTemplateEsoteric());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Esoteric.getGenome());
|
||||
Allele.Esoteric.addProduct(ItemManager.combs.getStackForType(CombType.OCCULT), 20);
|
||||
Allele.Esoteric.setGenome(BeeGenomeManager.getTemplateEsoteric());
|
||||
breedingMgr.registerBeeTemplate(Allele.Esoteric.getGenome());
|
||||
|
||||
BeeSpecies.Mysterious = new BeeSpecies("Mysterious", "", "mysticus", BeeBranch.Arcane, 0,
|
||||
Allele.Mysterious = new BeeSpecies("Mysterious", "", "mysticus", BeeBranch.Arcane, 0,
|
||||
0x762bc2, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, true);
|
||||
BeeSpecies.Mysterious.addProduct(ItemManager.combs.getStackForType(CombType.OCCULT), 60);
|
||||
BeeSpecies.Mysterious.setGenome(BeeGenomeManager.getTemplateMysterious());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Mysterious.getGenome());
|
||||
Allele.Mysterious.addProduct(ItemManager.combs.getStackForType(CombType.OCCULT), 25);
|
||||
Allele.Mysterious.setGenome(BeeGenomeManager.getTemplateMysterious());
|
||||
breedingMgr.registerBeeTemplate(Allele.Mysterious.getGenome());
|
||||
|
||||
BeeSpecies.Arcane = new BeeSpecies("Arcane", "", "arcanus", BeeBranch.Arcane, 0,
|
||||
Allele.Arcane = new BeeSpecies("Arcane", "", "arcanus", BeeBranch.Arcane, 0,
|
||||
0xd242df, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, true);
|
||||
BeeSpecies.Arcane.addProduct(ItemManager.combs.getStackForType(CombType.OCCULT), 80);
|
||||
BeeSpecies.Arcane.setGenome(BeeGenomeManager.getTemplateArcane());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Arcane.getGenome());
|
||||
Allele.Arcane.addProduct(ItemManager.combs.getStackForType(CombType.OCCULT), 30);
|
||||
Allele.Arcane.setGenome(BeeGenomeManager.getTemplateArcane());
|
||||
breedingMgr.registerBeeTemplate(Allele.Arcane.getGenome());
|
||||
|
||||
BeeSpecies.Charmed = new BeeSpecies("Charmed", "", "larvatus", BeeBranch.Supernatural, 0,
|
||||
Allele.Charmed = new BeeSpecies("Charmed", "", "larvatus", BeeBranch.Supernatural, 0,
|
||||
0x48EEEC, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, true);
|
||||
BeeSpecies.Charmed.addProduct(ItemManager.combs.getStackForType(CombType.OTHERWORLDLY), 40);
|
||||
BeeSpecies.Charmed.setGenome(BeeGenomeManager.getTemplateCharmed());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Charmed.getGenome());
|
||||
Allele.Charmed.addProduct(ItemManager.combs.getStackForType(CombType.OTHERWORLDLY), 20);
|
||||
Allele.Charmed.setGenome(BeeGenomeManager.getTemplateCharmed());
|
||||
breedingMgr.registerBeeTemplate(Allele.Charmed.getGenome());
|
||||
|
||||
BeeSpecies.Enchanted = new BeeSpecies("Enchanted", "", "cantatus", BeeBranch.Supernatural, 0,
|
||||
Allele.Enchanted = new BeeSpecies("Enchanted", "", "cantatus", BeeBranch.Supernatural, 0,
|
||||
0x18e726, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, true);
|
||||
BeeSpecies.Enchanted.addProduct(ItemManager.combs.getStackForType(CombType.OTHERWORLDLY), 60);
|
||||
BeeSpecies.Enchanted.setGenome(BeeGenomeManager.getTemplateEnchanted());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Enchanted.getGenome());
|
||||
Allele.Enchanted.addProduct(ItemManager.combs.getStackForType(CombType.OTHERWORLDLY), 30);
|
||||
Allele.Enchanted.setGenome(BeeGenomeManager.getTemplateEnchanted());
|
||||
breedingMgr.registerBeeTemplate(Allele.Enchanted.getGenome());
|
||||
|
||||
BeeSpecies.Supernatural = new BeeSpecies("Supernatural", "", "coeleste", BeeBranch.Supernatural, 0,
|
||||
Allele.Supernatural = new BeeSpecies("Supernatural", "", "coeleste", BeeBranch.Supernatural, 0,
|
||||
0x005614, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, true);
|
||||
BeeSpecies.Supernatural.addProduct(ItemManager.combs.getStackForType(CombType.OTHERWORLDLY), 80);
|
||||
BeeSpecies.Supernatural.setGenome(BeeGenomeManager.getTemplateSupernatural());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Supernatural.getGenome());
|
||||
Allele.Supernatural.addProduct(ItemManager.combs.getStackForType(CombType.OTHERWORLDLY), 40);
|
||||
Allele.Supernatural.setGenome(BeeGenomeManager.getTemplateSupernatural());
|
||||
breedingMgr.registerBeeTemplate(Allele.Supernatural.getGenome());
|
||||
|
||||
BeeSpecies.Pupil = new BeeSpecies("Pupil", "", "disciplina", BeeBranch.Scholarly, 0,
|
||||
Allele.Pupil = new BeeSpecies("Pupil", "", "disciplina", BeeBranch.Scholarly, 0,
|
||||
0xFFFF00, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.ARID,
|
||||
false, hideSpecies, true, true);
|
||||
BeeSpecies.Pupil.addProduct(ItemManager.combs.getStackForType(CombType.PAPERY), 50);
|
||||
BeeSpecies.Pupil.setGenome(BeeGenomeManager.getTemplatePupil());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Pupil.getGenome());
|
||||
Allele.Pupil.addProduct(ItemManager.combs.getStackForType(CombType.PAPERY), 20);
|
||||
Allele.Pupil.setGenome(BeeGenomeManager.getTemplatePupil());
|
||||
breedingMgr.registerBeeTemplate(Allele.Pupil.getGenome());
|
||||
|
||||
BeeSpecies.Scholarly = new BeeSpecies("Scholarly", "", "studiosis", BeeBranch.Scholarly, 0,
|
||||
Allele.Scholarly = new BeeSpecies("Scholarly", "", "studiosis", BeeBranch.Scholarly, 0,
|
||||
0x6E0000, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.ARID,
|
||||
false, hideSpecies, true, false);
|
||||
BeeSpecies.Scholarly.addProduct(ItemManager.combs.getStackForType(CombType.PAPERY), 60);
|
||||
BeeSpecies.Scholarly.addSpecialty(ItemManager.miscResources.getStackForType(ResourceType.KNOWLEDGE_FRAGMENT), 2);
|
||||
BeeSpecies.Scholarly.setGenome(BeeGenomeManager.getTemplateScholarly());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Scholarly.getGenome());
|
||||
Allele.Scholarly.addProduct(ItemManager.combs.getStackForType(CombType.PAPERY), 25);
|
||||
Allele.Scholarly.addSpecialty(ItemManager.miscResources.getStackForType(ResourceType.KNOWLEDGE_FRAGMENT), 2);
|
||||
Allele.Scholarly.setGenome(BeeGenomeManager.getTemplateScholarly());
|
||||
breedingMgr.registerBeeTemplate(Allele.Scholarly.getGenome());
|
||||
|
||||
BeeSpecies.Savant = new BeeSpecies("Savant", "", "philologus", BeeBranch.Scholarly, 0,
|
||||
Allele.Savant = new BeeSpecies("Savant", "", "philologus", BeeBranch.Scholarly, 0,
|
||||
0x6E1C6D, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.ARID,
|
||||
true, hideSpecies, true, false);
|
||||
BeeSpecies.Savant.addProduct(ItemManager.combs.getStackForType(CombType.PAPERY), 70);
|
||||
BeeSpecies.Savant.addSpecialty(ItemManager.miscResources.getStackForType(ResourceType.KNOWLEDGE_FRAGMENT), 5);
|
||||
BeeSpecies.Savant.setGenome(BeeGenomeManager.getTemplateSavant());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Savant.getGenome());
|
||||
Allele.Savant.addProduct(ItemManager.combs.getStackForType(CombType.PAPERY), 40);
|
||||
Allele.Savant.addSpecialty(ItemManager.miscResources.getStackForType(ResourceType.KNOWLEDGE_FRAGMENT), 5);
|
||||
Allele.Savant.setGenome(BeeGenomeManager.getTemplateSavant());
|
||||
breedingMgr.registerBeeTemplate(Allele.Savant.getGenome());
|
||||
|
||||
BeeSpecies.Stark = new BeeSpecies("Stark", "", "torridus", BeeBranch.Stark, 0,
|
||||
Allele.Stark = new BeeSpecies("Stark", "", "torridus", BeeBranch.Stark, 0,
|
||||
0xCCCCCC, 0x999999, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, false);
|
||||
BeeSpecies.Stark.addProduct(ItemManager.combs.getStackForType(CombType.STARK), 75);
|
||||
BeeSpecies.Stark.setGenome(BeeGenomeManager.getTemplateStark());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Stark.getGenome());
|
||||
Allele.Stark.addProduct(ItemManager.combs.getStackForType(CombType.STARK), 5);
|
||||
Allele.Stark.setGenome(BeeGenomeManager.getTemplateStark());
|
||||
breedingMgr.registerBeeTemplate(Allele.Stark.getGenome());
|
||||
|
||||
BeeSpecies.Air = new BeeSpecies("Aura", "", "ventosa", BeeBranch.Elemental, 0,
|
||||
Allele.Air = new BeeSpecies("Aura", "", "ventosa", BeeBranch.Elemental, 0,
|
||||
0xD9D636, 0xA19E10, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, true);
|
||||
BeeSpecies.Air.addProduct(ItemManager.combs.getStackForType(CombType.AIRY), 75);
|
||||
BeeSpecies.Air.addSpecialty(ItemManager.quicksilver, 35);
|
||||
BeeSpecies.Air.setGenome(BeeGenomeManager.getTemplateAir());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Air.getGenome());
|
||||
Allele.Air.addProduct(ItemManager.combs.getStackForType(CombType.AIRY), 20);
|
||||
Allele.Air.addSpecialty(ItemManager.quicksilver, 10);
|
||||
Allele.Air.setGenome(BeeGenomeManager.getTemplateAir());
|
||||
breedingMgr.registerBeeTemplate(Allele.Air.getGenome());
|
||||
|
||||
BeeSpecies.Fire = new BeeSpecies("Ignis", "", "praefervidus", BeeBranch.Elemental, 0,
|
||||
Allele.Fire = new BeeSpecies("Ignis", "", "praefervidus", BeeBranch.Elemental, 0,
|
||||
0xE50B0B, 0x95132F, EnumTemperature.HOT, EnumHumidity.ARID,
|
||||
true, hideSpecies, true, true);
|
||||
BeeSpecies.Fire.addProduct(ItemManager.combs.getStackForType(CombType.FIREY), 75);
|
||||
BeeSpecies.Fire.addSpecialty(new ItemStack(Item.blazePowder), 35);
|
||||
BeeSpecies.Fire.setGenome(BeeGenomeManager.getTemplateFire());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Fire.getGenome());
|
||||
Allele.Fire.addProduct(ItemManager.combs.getStackForType(CombType.FIREY), 20);
|
||||
Allele.Fire.addSpecialty(new ItemStack(Item.blazePowder), 8);
|
||||
Allele.Fire.setGenome(BeeGenomeManager.getTemplateFire());
|
||||
breedingMgr.registerBeeTemplate(Allele.Fire.getGenome());
|
||||
|
||||
BeeSpecies.Water = new BeeSpecies("Aqua", "", "umidus", BeeBranch.Elemental, 0,
|
||||
Allele.Water = new BeeSpecies("Aqua", "", "umidus", BeeBranch.Elemental, 0,
|
||||
0x36CFD9, 0x1054A1, EnumTemperature.NORMAL, EnumHumidity.DAMP,
|
||||
true, hideSpecies, true, true);
|
||||
BeeSpecies.Water.addProduct(ItemManager.combs.getStackForType(CombType.WATERY), 75);
|
||||
BeeSpecies.Water.addSpecialty(new ItemStack(Block.ice), 35);
|
||||
BeeSpecies.Water.setGenome(BeeGenomeManager.getTemplateWater());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Water.getGenome());
|
||||
Allele.Water.addProduct(ItemManager.combs.getStackForType(CombType.WATERY), 20);
|
||||
Allele.Water.addSpecialty(new ItemStack(Block.ice), 8);
|
||||
Allele.Water.setGenome(BeeGenomeManager.getTemplateWater());
|
||||
breedingMgr.registerBeeTemplate(Allele.Water.getGenome());
|
||||
|
||||
BeeSpecies.Earth = new BeeSpecies("Solum", "", "sordida", BeeBranch.Elemental, 0,
|
||||
Allele.Earth = new BeeSpecies("Solum", "", "sordida", BeeBranch.Elemental, 0,
|
||||
0x005100, 0x00a000, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, true);
|
||||
BeeSpecies.Earth.addProduct(ItemManager.combs.getStackForType(CombType.EARTHY), 75);
|
||||
BeeSpecies.Earth.addSpecialty(ItemManager.amber, 35);
|
||||
BeeSpecies.Earth.setGenome(BeeGenomeManager.getTemplateEarth());
|
||||
breedingMgr.registerBeeTemplate(BeeSpecies.Earth.getGenome());
|
||||
Allele.Earth.addProduct(ItemManager.combs.getStackForType(CombType.EARTHY), 30);
|
||||
Allele.Earth.addSpecialty(ItemManager.amber, 10);
|
||||
Allele.Earth.setGenome(BeeGenomeManager.getTemplateEarth());
|
||||
breedingMgr.registerBeeTemplate(Allele.Earth.getGenome());
|
||||
}
|
||||
|
||||
private void setupBeeMutations()
|
||||
{
|
||||
BeeMutation.Esoteric = new BeeMutation(BeeSpecies.getBaseSpecies("Imperial"), BeeSpecies.getBaseSpecies("Demonic"), BeeSpecies.Esoteric.getGenome(), 10, false);
|
||||
BeeMutation.Esoteric1 = new BeeMutation(BeeSpecies.getBaseSpecies("Heroic"), BeeSpecies.getBaseSpecies("Demonic"), BeeSpecies.Esoteric.getGenome(), 25, false);
|
||||
BeeMutation.Mysterious = new BeeMutation(BeeSpecies.Esoteric, BeeSpecies.getBaseSpecies("Ended"), BeeSpecies.Mysterious.getGenome(), 10, false);
|
||||
BeeMutation.Arcane = new BeeMutation(BeeSpecies.Esoteric, BeeSpecies.Mysterious, BeeSpecies.Arcane.getGenome(), 8, false);
|
||||
BeeMutation.Charmed = new BeeMutation(BeeSpecies.getBaseSpecies("Cultivated"), BeeSpecies.getBaseSpecies("Valiant"), BeeSpecies.Charmed.getGenome(), 20, false);
|
||||
BeeMutation.Enchanted = new BeeMutation(BeeSpecies.Charmed, BeeSpecies.getBaseSpecies("Valiant"), BeeSpecies.Enchanted.getGenome(), 8, false);
|
||||
BeeMutation.Supernatural = new BeeMutation(BeeSpecies.Charmed, BeeSpecies.Enchanted, BeeSpecies.Supernatural.getGenome(), 8, false);
|
||||
BeeMutation.Pupil = new BeeMutation(BeeSpecies.Arcane, BeeSpecies.Enchanted, BeeSpecies.Pupil.getGenome(), 10, false);
|
||||
BeeMutation.Scholarly = new BeeMutation(BeeSpecies.Pupil, BeeSpecies.Arcane, BeeSpecies.Scholarly.getGenome(), 8, false);
|
||||
BeeMutation.Savant = new BeeMutation(BeeSpecies.Pupil, BeeSpecies.Scholarly, BeeSpecies.Savant.getGenome(), 6, false);
|
||||
BeeMutation.Stark = new BeeMutation(BeeSpecies.Arcane, BeeSpecies.Supernatural, BeeSpecies.Stark.getGenome(), 8, false);
|
||||
// Mutations are registered with the BreedingManager in their constructor.
|
||||
|
||||
BeeMutation.Esoteric = new BeeMutation(Allele.getBaseSpecies("Imperial"), Allele.getBaseSpecies("Demonic"), Allele.Esoteric.getGenome(), 10, false);
|
||||
BeeMutation.Esoteric1 = new BeeMutation(Allele.getBaseSpecies("Heroic"), Allele.getBaseSpecies("Demonic"), Allele.Esoteric.getGenome(), 25, false);
|
||||
BeeMutation.Mysterious = new BeeMutation(Allele.Esoteric, Allele.getBaseSpecies("Ended"), Allele.Mysterious.getGenome(), 10, false);
|
||||
BeeMutation.Arcane = new BeeMutation(Allele.Esoteric, Allele.Mysterious, Allele.Arcane.getGenome(), 8, false);
|
||||
BeeMutation.Charmed = new BeeMutation(Allele.getBaseSpecies("Cultivated"), Allele.getBaseSpecies("Valiant"), Allele.Charmed.getGenome(), 20, false);
|
||||
BeeMutation.Enchanted = new BeeMutation(Allele.Charmed, Allele.getBaseSpecies("Valiant"), Allele.Enchanted.getGenome(), 8, false);
|
||||
BeeMutation.Supernatural = new BeeMutation(Allele.Charmed, Allele.Enchanted, Allele.Supernatural.getGenome(), 8, false);
|
||||
BeeMutation.Pupil = new BeeMutation(Allele.Arcane, Allele.Enchanted, Allele.Pupil.getGenome(), 10, false);
|
||||
BeeMutation.Scholarly = new BeeMutation(Allele.Pupil, Allele.Arcane, Allele.Scholarly.getGenome(), 8, false);
|
||||
BeeMutation.Savant = new BeeMutation(Allele.Pupil, Allele.Scholarly, Allele.Savant.getGenome(), 6, false);
|
||||
BeeMutation.Stark = new BeeMutation(Allele.Arcane, Allele.Supernatural, Allele.Stark.getGenome(), 8, false);
|
||||
}
|
||||
|
||||
public static void setupBeeInfusions(World world)
|
||||
{
|
||||
try
|
||||
{
|
||||
ItemStack starkDrone = BeeSpecies.Stark.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack starkPrincess = BeeSpecies.Stark.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack airDrone = BeeSpecies.Air.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack airPrincess = BeeSpecies.Air.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack waterDrone = BeeSpecies.Water.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack waterPrincess = BeeSpecies.Water.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack earthDrone = BeeSpecies.Earth.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack earthPrincess = BeeSpecies.Earth.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack fireDrone = BeeSpecies.Fire.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack firePrincess = BeeSpecies.Fire.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack starkDrone = Allele.Stark.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack starkPrincess = Allele.Stark.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack airDrone = Allele.Air.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack airPrincess = Allele.Air.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack waterDrone = Allele.Water.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack waterPrincess = Allele.Water.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack earthDrone = Allele.Earth.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack earthPrincess = Allele.Earth.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack fireDrone = Allele.Fire.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack firePrincess = Allele.Fire.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
|
||||
Item shard = (Item) Class.forName("thaumcraft.common.Config").getDeclaredField("itemShard").get(null);
|
||||
|
||||
|
||||
@@ -1,17 +1,51 @@
|
||||
package thaumicbees.bees.genetics;
|
||||
|
||||
import forestry.api.apiculture.IAlleleBeeSpecies;
|
||||
import forestry.api.genetics.AlleleManager;
|
||||
import forestry.api.genetics.IAllele;
|
||||
|
||||
public class Allele implements IAllele
|
||||
{
|
||||
|
||||
public static BeeSpecies Esoteric;
|
||||
public static BeeSpecies Mysterious;
|
||||
public static BeeSpecies Arcane;
|
||||
public static BeeSpecies Charmed;
|
||||
public static BeeSpecies Enchanted;
|
||||
public static BeeSpecies Supernatural;
|
||||
public static BeeSpecies Pupil;
|
||||
public static BeeSpecies Scholarly;
|
||||
public static BeeSpecies Savant;
|
||||
public static BeeSpecies Stark;
|
||||
public static BeeSpecies Air;
|
||||
public static BeeSpecies Water;
|
||||
public static BeeSpecies Earth;
|
||||
public static BeeSpecies Fire;
|
||||
|
||||
public static AlleleFlower flowerBookshelf;
|
||||
public static AlleleFlower flowerThaumcraft;
|
||||
|
||||
public static AlleleEffectCure cleansingEffect;
|
||||
public static AlleleEffectPotion digSpeed;
|
||||
public static AlleleEffectPotion moveSpeed;
|
||||
|
||||
private String uid;
|
||||
private boolean dominant;
|
||||
|
||||
public static IAlleleBeeSpecies getBaseSpecies(String name)
|
||||
{
|
||||
return (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele((new StringBuilder()).append("forestry.species").append(name).toString());
|
||||
}
|
||||
|
||||
public static IAllele getBaseAllele(String name)
|
||||
{
|
||||
return AlleleManager.alleleRegistry.getAllele("forestry." + name);
|
||||
}
|
||||
|
||||
public Allele(String id, boolean isDominant)
|
||||
{
|
||||
this.uid = "thaumicbees." + id;
|
||||
this.dominant = isDominant;
|
||||
AlleleManager.alleleRegistry.registerAllele(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
package thaumicbees.bees.genetics;
|
||||
|
||||
import thaumicbees.main.ThaumicBees;
|
||||
import forestry.api.apiculture.IAlleleBeeEffect;
|
||||
import forestry.api.apiculture.IBeeGenome;
|
||||
import forestry.api.apiculture.IBeeHousing;
|
||||
import forestry.api.genetics.IEffectData;
|
||||
|
||||
public abstract class AlleleEffect extends Allele implements IAlleleBeeEffect
|
||||
{
|
||||
|
||||
public AlleleEffect(String id, boolean isDominant)
|
||||
{
|
||||
super(id, isDominant);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCombinable()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public abstract IEffectData validateStorage(IEffectData storedData);
|
||||
|
||||
@Override
|
||||
public abstract String getIdentifier();
|
||||
|
||||
@Override
|
||||
public abstract IEffectData doEffect(IBeeGenome genome, IEffectData storedData, IBeeHousing housing);
|
||||
|
||||
@Override
|
||||
public IEffectData doFX(IBeeGenome genome, IEffectData storedData, IBeeHousing housing)
|
||||
{
|
||||
int[] area = genome.getTerritory();
|
||||
float mod = housing.getTerritoryModifier(genome);
|
||||
// Check to make sure territory is at least 1 with housing modifications
|
||||
area[0] = Math.min((int)(area[0] * mod), 1);
|
||||
area[1] = Math.min((int)(area[1] * mod), 1);
|
||||
area[2] = Math.min((int)(area[2] * mod), 1);
|
||||
|
||||
ThaumicBees.proxy.drawBeeEffects(housing.getWorld(), housing.getXCoord(), housing.getYCoord(), housing.getZCoord(),
|
||||
genome.getPrimaryAsBee().getPrimaryColor(), area[0], area[1], area[2]);
|
||||
return storedData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getIconTextureFile()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIconIndex()
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
package thaumicbees.bees.genetics;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import thaumicbees.bees.EffectData;
|
||||
import thaumicbees.main.ThaumicBees;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import forestry.api.apiculture.IAlleleBeeEffect;
|
||||
import forestry.api.apiculture.IBeeGenome;
|
||||
import forestry.api.apiculture.IBeeHousing;
|
||||
import forestry.api.genetics.AlleleManager;
|
||||
import forestry.api.genetics.IEffectData;
|
||||
|
||||
public class AlleleEffectCure extends AlleleEffect
|
||||
{
|
||||
|
||||
public AlleleEffectCure(String id, boolean isDominant)
|
||||
{
|
||||
super(id, isDominant);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData validateStorage(IEffectData storedData)
|
||||
{
|
||||
if (storedData == null)
|
||||
{
|
||||
storedData = new EffectData(1, 0, 0);
|
||||
}
|
||||
return storedData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getIdentifier()
|
||||
{
|
||||
return "Cleansing";
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData doEffect(IBeeGenome genome, IEffectData storedData, IBeeHousing housing)
|
||||
{
|
||||
int count = storedData.getInteger(0);
|
||||
|
||||
if (count == 200)
|
||||
{
|
||||
// Get the size of the affected area
|
||||
int[] area = genome.getTerritory();
|
||||
|
||||
// Calculate offset
|
||||
int[] min = new int[3];
|
||||
int[] max = new int[3];
|
||||
min[0] = housing.getXCoord() - area[0] / 2;
|
||||
max[0] = housing.getXCoord() + area[0] / 2;
|
||||
|
||||
min[1] = housing.getYCoord() - area[1] / 2;
|
||||
max[1] = housing.getYCoord() + area[1] / 2;
|
||||
|
||||
min[2] = housing.getZCoord() - area[2] / 2;
|
||||
max[2] = housing.getZCoord() + area[2] / 2;
|
||||
|
||||
AxisAlignedBB bounds = AxisAlignedBB.getAABBPool().addOrModifyAABBInPool(min[0], min[1], min[2], max[0], max[1], max[2]);
|
||||
List<Entity> entityList = housing.getWorld().getEntitiesWithinAABB(EntityPlayer.class, bounds);
|
||||
|
||||
for (Entity e : entityList)
|
||||
{
|
||||
if (e instanceof EntityPlayer)
|
||||
{
|
||||
EntityPlayer player = (EntityPlayer)e;
|
||||
player.curePotionEffects(new ItemStack(Item.bucketMilk));
|
||||
}
|
||||
}
|
||||
storedData.setInteger(0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
storedData.setInteger(0, count + 1);
|
||||
}
|
||||
|
||||
return storedData;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,13 +1,20 @@
|
||||
package thaumicbees.bees.genetics;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import thaumicbees.bees.EffectData;
|
||||
import forestry.api.apiculture.IAlleleBeeEffect;
|
||||
import forestry.api.apiculture.IBeeGenome;
|
||||
import forestry.api.apiculture.IBeeHousing;
|
||||
import forestry.api.genetics.AlleleManager;
|
||||
import forestry.api.genetics.IEffectData;
|
||||
|
||||
public class AlleleEffectPotion extends Allele implements IAlleleBeeEffect
|
||||
public class AlleleEffectPotion extends AlleleEffect
|
||||
{
|
||||
private int potionId;
|
||||
private int duration;
|
||||
@@ -18,19 +25,13 @@ public class AlleleEffectPotion extends Allele implements IAlleleBeeEffect
|
||||
super("effect" + name, isDominant);
|
||||
this.beealyzerId = readableName;
|
||||
this.potionId = potionApplied.id;
|
||||
this.duration = effectDuration;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCombinable()
|
||||
{
|
||||
return false;
|
||||
this.duration = 20 * effectDuration;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData validateStorage(IEffectData storedData)
|
||||
{
|
||||
if (!(storedData instanceof EffectData))
|
||||
if (storedData == null)
|
||||
{
|
||||
storedData = new EffectData(1, 0, 0);
|
||||
}
|
||||
@@ -46,15 +47,44 @@ public class AlleleEffectPotion extends Allele implements IAlleleBeeEffect
|
||||
@Override
|
||||
public IEffectData doEffect(IBeeGenome genome, IEffectData storedData, IBeeHousing housing)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEffectData doFX(IBeeGenome genome, IEffectData storedData, IBeeHousing housing)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
int count = storedData.getInteger(0);
|
||||
|
||||
if (count == 200)
|
||||
{
|
||||
// Get the size of the affected area
|
||||
int[] area = genome.getTerritory();
|
||||
|
||||
// Calculate offset
|
||||
int[] min = new int[3];
|
||||
int[] max = new int[3];
|
||||
min[0] = housing.getXCoord() - area[0] / 2;
|
||||
max[0] = housing.getXCoord() + area[0] / 2;
|
||||
|
||||
min[1] = housing.getYCoord() - area[1] / 2;
|
||||
max[1] = housing.getYCoord() + area[1] / 2;
|
||||
|
||||
min[2] = housing.getZCoord() - area[2] / 2;
|
||||
max[2] = housing.getZCoord() + area[2] / 2;
|
||||
|
||||
AxisAlignedBB bounds = AxisAlignedBB.getAABBPool().addOrModifyAABBInPool(min[0], min[1], min[2], max[0], max[1], max[2]);
|
||||
List<Entity> entityList = housing.getWorld().getEntitiesWithinAABB(EntityPlayer.class, bounds);
|
||||
|
||||
for (Entity e : entityList)
|
||||
{
|
||||
if (e instanceof EntityPlayer)
|
||||
{
|
||||
EntityPlayer player = (EntityPlayer)e;
|
||||
player.addPotionEffect(new PotionEffect(this.potionId, this.duration, 0));
|
||||
}
|
||||
}
|
||||
storedData.setInteger(0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
storedData.setInteger(0, count + 1);
|
||||
}
|
||||
|
||||
return storedData;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -6,10 +6,6 @@ import forestry.api.genetics.AlleleManager;
|
||||
|
||||
public class AlleleFlower extends Allele implements IAlleleFlowers
|
||||
{
|
||||
|
||||
public static AlleleFlower alleleFlowerBookshelf;
|
||||
public static AlleleFlower alleleFlowerThaumcraft;
|
||||
|
||||
private String uid;
|
||||
private IFlowerProvider provider;
|
||||
|
||||
|
||||
@@ -17,19 +17,19 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = new IAllele[EnumBeeChromosome.values().length];
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Esoteric;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = AlleleManager.getAllele("speedSlowest");
|
||||
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = AlleleManager.getAllele("lifespanShorter");
|
||||
genome[EnumBeeChromosome.FERTILITY.ordinal()] = AlleleManager.getAllele("fertilityNormal");
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = AlleleManager.getAllele("toleranceNone");
|
||||
genome[EnumBeeChromosome.NOCTURNAL.ordinal()] = AlleleManager.getAllele("boolFalse");
|
||||
genome[EnumBeeChromosome.HUMIDITY_TOLERANCE.ordinal()] = AlleleManager.getAllele("toleranceNone");
|
||||
genome[EnumBeeChromosome.TOLERANT_FLYER.ordinal()] = AlleleManager.getAllele("boolFalse");
|
||||
genome[EnumBeeChromosome.CAVE_DWELLING.ordinal()] = AlleleManager.getAllele("boolFalse");
|
||||
genome[EnumBeeChromosome.FLOWER_PROVIDER.ordinal()] = AlleleManager.getAllele("flowersVanilla");
|
||||
genome[EnumBeeChromosome.FLOWERING.ordinal()] = AlleleManager.getAllele("floweringSlowest");
|
||||
genome[EnumBeeChromosome.TERRITORY.ordinal()] = AlleleManager.getAllele("territoryDefault");
|
||||
genome[EnumBeeChromosome.EFFECT.ordinal()] = AlleleManager.getAllele("effectNone");
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Esoteric;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedSlowest");
|
||||
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = Allele.getBaseAllele("lifespanShorter");
|
||||
genome[EnumBeeChromosome.FERTILITY.ordinal()] = Allele.getBaseAllele("fertilityNormal");
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceNone");
|
||||
genome[EnumBeeChromosome.NOCTURNAL.ordinal()] = Allele.getBaseAllele("boolFalse");
|
||||
genome[EnumBeeChromosome.HUMIDITY_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceNone");
|
||||
genome[EnumBeeChromosome.TOLERANT_FLYER.ordinal()] = Allele.getBaseAllele("boolFalse");
|
||||
genome[EnumBeeChromosome.CAVE_DWELLING.ordinal()] = Allele.getBaseAllele("boolFalse");
|
||||
genome[EnumBeeChromosome.FLOWER_PROVIDER.ordinal()] = Allele.getBaseAllele("flowersVanilla");
|
||||
genome[EnumBeeChromosome.FLOWERING.ordinal()] = Allele.getBaseAllele("floweringSlowest");
|
||||
genome[EnumBeeChromosome.TERRITORY.ordinal()] = Allele.getBaseAllele("territoryDefault");
|
||||
genome[EnumBeeChromosome.EFFECT.ordinal()] = Allele.getBaseAllele("effectNone");
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -39,9 +39,9 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseThaumic();
|
||||
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = AlleleManager.getAllele("toleranceBoth1");
|
||||
genome[EnumBeeChromosome.FLOWERING.ordinal()] = AlleleManager.getAllele("floweringSlow");
|
||||
genome[EnumBeeChromosome.FERTILITY.ordinal()] = AlleleManager.getAllele("fertilityHigh");
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceBoth1");
|
||||
genome[EnumBeeChromosome.FLOWERING.ordinal()] = Allele.getBaseAllele("floweringSlow");
|
||||
genome[EnumBeeChromosome.FERTILITY.ordinal()] = Allele.getBaseAllele("fertilityHigh");
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -51,7 +51,7 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseArcane();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Esoteric;
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Esoteric;
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -60,8 +60,8 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseArcane();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Mysterious;
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = AlleleManager.getAllele("toleranceBoth2");
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Mysterious;
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceBoth2");
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -70,10 +70,10 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseArcane();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Arcane;
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = AlleleManager.getAllele("toleranceBoth2");
|
||||
genome[EnumBeeChromosome.FERTILITY.ordinal()] = AlleleManager.getAllele("fertilityNormal");
|
||||
genome[EnumBeeChromosome.FLOWERING.ordinal()] = AlleleManager.getAllele("floweringAverage");
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Arcane;
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceBoth2");
|
||||
genome[EnumBeeChromosome.FERTILITY.ordinal()] = Allele.getBaseAllele("fertilityNormal");
|
||||
genome[EnumBeeChromosome.FLOWERING.ordinal()] = Allele.getBaseAllele("floweringAverage");
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -82,9 +82,9 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseThaumic();
|
||||
|
||||
genome[EnumBeeChromosome.NOCTURNAL.ordinal()] = AlleleManager.getAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = AlleleManager.getAllele("speedNorm");
|
||||
genome[EnumBeeChromosome.FLOWERING.ordinal()] = AlleleManager.getAllele("floweringSlowest");
|
||||
genome[EnumBeeChromosome.NOCTURNAL.ordinal()] = Allele.getBaseAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedNorm");
|
||||
genome[EnumBeeChromosome.FLOWERING.ordinal()] = Allele.getBaseAllele("floweringSlowest");
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -93,7 +93,7 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseSupernatural();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Charmed;
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Charmed;
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -102,8 +102,8 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseSupernatural();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Enchanted;
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = AlleleManager.getAllele("toleranceBoth1");
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Enchanted;
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceBoth1");
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -112,9 +112,9 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseSupernatural();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Supernatural;
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = AlleleManager.getAllele("toleranceBoth2");
|
||||
genome[EnumBeeChromosome.HUMIDITY_TOLERANCE.ordinal()] = AlleleManager.getAllele("toleranceBoth1");
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Supernatural;
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceBoth2");
|
||||
genome[EnumBeeChromosome.HUMIDITY_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceBoth1");
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -123,10 +123,10 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseThaumic();
|
||||
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = AlleleManager.getAllele("speedSlow");
|
||||
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = AlleleManager.getAllele("lifespanElongated");
|
||||
genome[EnumBeeChromosome.CAVE_DWELLING.ordinal()] = AlleleManager.getAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.FLOWER_PROVIDER.ordinal()] = AlleleFlower.alleleFlowerBookshelf;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedSlow");
|
||||
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = Allele.getBaseAllele("lifespanElongated");
|
||||
genome[EnumBeeChromosome.CAVE_DWELLING.ordinal()] = Allele.getBaseAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.FLOWER_PROVIDER.ordinal()] = AlleleFlower.flowerBookshelf;
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -135,8 +135,8 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseScholarly();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Pupil;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = AlleleManager.getAllele("speedSlower");
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Pupil;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedSlower");
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -145,8 +145,8 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseScholarly();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Scholarly;
|
||||
genome[EnumBeeChromosome.FERTILITY.ordinal()] = AlleleManager.getAllele("fertilityLow");
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Scholarly;
|
||||
genome[EnumBeeChromosome.FERTILITY.ordinal()] = Allele.getBaseAllele("fertilityLow");
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -155,9 +155,9 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseScholarly();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Savant;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = AlleleManager.getAllele("speedNorm");
|
||||
genome[EnumBeeChromosome.FERTILITY.ordinal()] = AlleleManager.getAllele("fertilityLow");
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Savant;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedNorm");
|
||||
genome[EnumBeeChromosome.FERTILITY.ordinal()] = Allele.getBaseAllele("fertilityLow");
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -166,7 +166,7 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseThaumic();
|
||||
|
||||
genome[EnumBeeChromosome.FLOWER_PROVIDER.ordinal()] = AlleleFlower.alleleFlowerThaumcraft;
|
||||
genome[EnumBeeChromosome.FLOWER_PROVIDER.ordinal()] = AlleleFlower.flowerThaumcraft;
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -175,7 +175,7 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseElemental();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Stark;
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Stark;
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -184,12 +184,13 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseElemental();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Air;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = AlleleManager.getAllele("speedFastest");
|
||||
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = AlleleManager.getAllele("lifespanShortened");
|
||||
genome[EnumBeeChromosome.TERRITORY.ordinal()] = AlleleManager.getAllele("territoryLargest");
|
||||
genome[EnumBeeChromosome.TOLERANT_FLYER.ordinal()] = AlleleManager.getAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.FLOWERING.ordinal()] = AlleleManager.getAllele("floweringFastest");
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Air;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedFastest");
|
||||
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = Allele.getBaseAllele("lifespanShortened");
|
||||
genome[EnumBeeChromosome.TERRITORY.ordinal()] = Allele.getBaseAllele("territoryLargest");
|
||||
genome[EnumBeeChromosome.TOLERANT_FLYER.ordinal()] = Allele.getBaseAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.FLOWERING.ordinal()] = Allele.getBaseAllele("floweringMaximum");
|
||||
genome[EnumBeeChromosome.EFFECT.ordinal()] = Allele.moveSpeed;
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -198,13 +199,13 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseElemental();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Fire;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = AlleleManager.getAllele("speedFaster");
|
||||
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = AlleleManager.getAllele("lifespanNormal");
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = AlleleManager.getAllele("toleranceDown3");
|
||||
genome[EnumBeeChromosome.HUMIDITY_TOLERANCE.ordinal()] = AlleleManager.getAllele("toleranceUp2");
|
||||
genome[EnumBeeChromosome.TOLERANT_FLYER.ordinal()] = AlleleManager.getAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.EFFECT.ordinal()] = AlleleManager.getAllele("effectIgnition");
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Fire;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedFaster");
|
||||
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = Allele.getBaseAllele("lifespanNormal");
|
||||
genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceDown3");
|
||||
genome[EnumBeeChromosome.HUMIDITY_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceUp2");
|
||||
genome[EnumBeeChromosome.TOLERANT_FLYER.ordinal()] = Allele.getBaseAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.EFFECT.ordinal()] = Allele.getBaseAllele("effectIgnition");
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -213,12 +214,13 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseElemental();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Water;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = AlleleManager.getAllele("speedFast");
|
||||
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = AlleleManager.getAllele("lifespanLong");
|
||||
genome[EnumBeeChromosome.HUMIDITY_TOLERANCE.ordinal()] = AlleleManager.getAllele("toleranceDown2");
|
||||
genome[EnumBeeChromosome.TOLERANT_FLYER.ordinal()] = AlleleManager.getAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.TERRITORY.ordinal()] = AlleleManager.getAllele("territoryLarge");
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Water;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedFast");
|
||||
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = Allele.getBaseAllele("lifespanLong");
|
||||
genome[EnumBeeChromosome.HUMIDITY_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceDown2");
|
||||
genome[EnumBeeChromosome.TOLERANT_FLYER.ordinal()] = Allele.getBaseAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.TERRITORY.ordinal()] = Allele.getBaseAllele("territoryLarge");
|
||||
genome[EnumBeeChromosome.EFFECT.ordinal()] = Allele.cleansingEffect;
|
||||
|
||||
return genome;
|
||||
}
|
||||
@@ -227,12 +229,14 @@ public class BeeGenomeManager
|
||||
{
|
||||
IAllele[] genome = getTemplateBaseElemental();
|
||||
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.Earth;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = AlleleManager.getAllele("speedSlow");
|
||||
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = AlleleManager.getAllele("lifespanLonger");
|
||||
genome[EnumBeeChromosome.HUMIDITY_TOLERANCE.ordinal()] = AlleleManager.getAllele("toleranceDown1");
|
||||
genome[EnumBeeChromosome.TOLERANT_FLYER.ordinal()] = AlleleManager.getAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.CAVE_DWELLING.ordinal()] = AlleleManager.getAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Earth;
|
||||
genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedSlow");
|
||||
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = Allele.getBaseAllele("lifespanLonger");
|
||||
genome[EnumBeeChromosome.HUMIDITY_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceDown1");
|
||||
genome[EnumBeeChromosome.TOLERANT_FLYER.ordinal()] = Allele.getBaseAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.CAVE_DWELLING.ordinal()] = Allele.getBaseAllele("boolTrue");
|
||||
genome[EnumBeeChromosome.FLOWERING.ordinal()] = Allele.getBaseAllele("floweringFast");
|
||||
genome[EnumBeeChromosome.EFFECT.ordinal()] = Allele.digSpeed;
|
||||
|
||||
return genome;
|
||||
}
|
||||
|
||||
@@ -35,6 +35,8 @@ public class BeeMutation implements IBeeMutation
|
||||
mutationTemplate = producesGenome;
|
||||
baseChance = percentChance;
|
||||
isSecret = hide;
|
||||
|
||||
BeeManager.breedingManager.registerBeeMutation(this);
|
||||
}
|
||||
|
||||
public int getChance(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1)
|
||||
|
||||
@@ -12,22 +12,6 @@ import net.minecraft.world.World;
|
||||
|
||||
public class BeeSpecies extends Allele implements IAlleleBeeSpecies
|
||||
{
|
||||
|
||||
public static BeeSpecies Esoteric;
|
||||
public static BeeSpecies Mysterious;
|
||||
public static BeeSpecies Arcane;
|
||||
public static BeeSpecies Charmed;
|
||||
public static BeeSpecies Enchanted;
|
||||
public static BeeSpecies Supernatural;
|
||||
public static BeeSpecies Pupil;
|
||||
public static BeeSpecies Scholarly;
|
||||
public static BeeSpecies Savant;
|
||||
public static BeeSpecies Stark;
|
||||
public static BeeSpecies Air;
|
||||
public static BeeSpecies Water;
|
||||
public static BeeSpecies Earth;
|
||||
public static BeeSpecies Fire;
|
||||
|
||||
private String name;
|
||||
private String descripton;
|
||||
private String binomial;
|
||||
@@ -45,11 +29,6 @@ public class BeeSpecies extends Allele implements IAlleleBeeSpecies
|
||||
private HashMap specialty;
|
||||
private IAllele genomeTemplate[];
|
||||
|
||||
public static IAlleleBeeSpecies getBaseSpecies(String name)
|
||||
{
|
||||
return (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele((new StringBuilder()).append("forestry.species").append(name).toString());
|
||||
}
|
||||
|
||||
public BeeSpecies(String speciesName, String speciesDescription, String genusName, IBranch parentBranch, int firstColour, int secondColour, EnumTemperature preferredTemp, EnumHumidity preferredHumidity, boolean hasGlowEffect, boolean isSpeciesDominant)
|
||||
{
|
||||
this(speciesName, speciesDescription, genusName, parentBranch, 0, firstColour, secondColour, preferredTemp, preferredHumidity, hasGlowEffect, true, true, isSpeciesDominant);
|
||||
@@ -73,7 +52,6 @@ public class BeeSpecies extends Allele implements IAlleleBeeSpecies
|
||||
products = new HashMap();
|
||||
specialty = new HashMap();
|
||||
this.genomeTemplate = new IAllele[EnumBeeChromosome.values().length];
|
||||
AlleleManager.alleleRegistry.registerAllele(this);
|
||||
}
|
||||
|
||||
public BeeSpecies setGene(EnumBeeChromosome chromosome, IAllele allele)
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
package thaumicbees.main;
|
||||
|
||||
import thaumicbees.main.render.BeeRenderEffect;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.MinecraftForgeClient;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import forestry.apiculture.render.EntityBeeFX;
|
||||
import forestry.core.proxy.Proxies;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class ClientProxy extends CommonProxy
|
||||
@@ -14,7 +18,33 @@ public class ClientProxy extends CommonProxy
|
||||
public void preloadTextures()
|
||||
{
|
||||
// Preload the TCBees items file
|
||||
MinecraftForgeClient.preloadTexture(TCBEES_ITEMS);
|
||||
MinecraftForgeClient.preloadTexture(TCBEES_ITEMSPNG);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBeeEffects(World world, double xPos, double yPos, double zPos, int colour, int rangeX, int rangeY, int rangeZ)
|
||||
{
|
||||
// drawParticleEffects flag pulled from Forestry after configs
|
||||
if (ThaumicBees.object.configFlags.drawParticleEffects)
|
||||
{
|
||||
double spawnX = xPos;
|
||||
double spawnY = yPos;
|
||||
double spawnZ = zPos;
|
||||
|
||||
if (world.rand.nextBoolean())
|
||||
{
|
||||
spawnX += 0.5;
|
||||
spawnY += 0.5;
|
||||
spawnZ += 0.5;
|
||||
}
|
||||
else
|
||||
{
|
||||
spawnX += world.rand.nextInt(rangeX * 2) - rangeX;
|
||||
spawnY += world.rand.nextInt(rangeY);
|
||||
spawnZ += world.rand.nextInt(rangeZ * 2) - rangeY;
|
||||
}
|
||||
|
||||
this.getClientInstance().effectRenderer.addEffect(new BeeRenderEffect(world, spawnX, spawnY, spawnZ, 0f, 0f, 0f, colour));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,12 +1,17 @@
|
||||
package thaumicbees.main;
|
||||
|
||||
import cpw.mods.fml.client.FMLClientHandler;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class CommonProxy
|
||||
{
|
||||
public static String TCBEES_GFX = "/gfx/thaumicbees";
|
||||
public static String TCBEES_RESEARCH = "/research/thaumicbees";
|
||||
public static String TCBEES_ITEMS = TCBEES_GFX + "/items/";
|
||||
public static String TCBEES_GFX = "/gfx/thaumicbees/";
|
||||
public static String TCBEES_RESEARCH = "/research/thaumicbees/";
|
||||
public static String TCBEES_ITEMS = TCBEES_GFX + "items/";
|
||||
|
||||
public static String FORESTRY_GFX_ITEMS;
|
||||
public static String FORESTRY_GFX_BEEEFFECTS;
|
||||
|
||||
public static String TCBEES_ITEMSPNG = TCBEES_ITEMS + "items.png";
|
||||
|
||||
@@ -16,5 +21,15 @@ public class CommonProxy
|
||||
{
|
||||
// Does nothing here.
|
||||
}
|
||||
|
||||
public void drawBeeEffects(World world, double xPos, double yPos, double zPos, int colour, int rangeX, int rangeY, int rangeZ)
|
||||
{
|
||||
// Does nothing in common.
|
||||
}
|
||||
|
||||
public Minecraft getClientInstance()
|
||||
{
|
||||
return FMLClientHandler.instance().getClient();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package thaumicbees.main;
|
||||
|
||||
public class ConfigFlags
|
||||
{
|
||||
public boolean drawParticleEffects;
|
||||
|
||||
}
|
||||
@@ -25,7 +25,13 @@ import thaumicbees.item.ItemComb;
|
||||
import thaumicbees.item.ItemWax;
|
||||
import thaumicbees.item.ItemManager;
|
||||
|
||||
@Mod(modid="ThaumicBees", name="Thaumic Bees", version="0.0", dependencies="required-after:Forestry;required-after:Thaumcraft")
|
||||
@Mod(
|
||||
modid="ThaumicBees",
|
||||
useMetadata=true,
|
||||
acceptedMinecraftVersions="1.4.6",
|
||||
version="@VERSION@-@BUILD_NUMBER@",
|
||||
dependencies="required-after:Forestry@[1.6.5.4,);required-after:Thaumcraft@[3.0.1c,)"
|
||||
)
|
||||
public class ThaumicBees
|
||||
{
|
||||
|
||||
@@ -37,18 +43,18 @@ public class ThaumicBees
|
||||
|
||||
private boolean ThaumcraftRecipesAdded;
|
||||
private Configuration config;
|
||||
|
||||
public ConfigFlags configFlags;
|
||||
|
||||
public ThaumicBees()
|
||||
{
|
||||
ThaumcraftRecipesAdded = false;
|
||||
this.configFlags = new ConfigFlags();
|
||||
}
|
||||
|
||||
@Mod.PreInit
|
||||
public void preInit(FMLPreInitializationEvent event)
|
||||
{
|
||||
this.config = new Configuration(event.getSuggestedConfigurationFile());
|
||||
this.proxy.preloadTextures();
|
||||
}
|
||||
|
||||
@Mod.Init
|
||||
@@ -56,6 +62,7 @@ public class ThaumicBees
|
||||
{
|
||||
// Give ThaumcraftCompat a chance to set itself up.
|
||||
ThaumcraftCompat.init();
|
||||
this.proxy.preloadTextures();
|
||||
|
||||
// Grab Forestry graphics file path
|
||||
proxy.FORESTRY_GFX_ITEMS = ItemInterface.getItem("beeComb").getItem().getTextureFile();
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
package thaumicbees.main.render;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import thaumicbees.main.CommonProxy;
|
||||
import thaumicbees.main.ThaumicBees;
|
||||
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.ForgeHooksClient;
|
||||
|
||||
/**
|
||||
* Borrowed from Forestry with some modifications.
|
||||
*/
|
||||
public class BeeRenderEffect extends EntityFX
|
||||
{
|
||||
public int blendmode = 1;
|
||||
private String texture = CommonProxy.FORESTRY_GFX_BEEEFFECTS;
|
||||
|
||||
public BeeRenderEffect(World world, double x, double y, double z, float motionScaleX, float motionScaleY, float motionScaleZ, int color)
|
||||
{
|
||||
|
||||
super(world, x, y, z, 0.0D, 0.0D, 0.0D);
|
||||
|
||||
// Colour is stored in 4-byte int: XXRRGGBB
|
||||
particleRed = (color >> 16 & 255) / 255.0F;
|
||||
particleGreen = (color >> 8 & 255) / 255.0F;
|
||||
particleBlue = (color & 255) / 255.0F;
|
||||
|
||||
this.setParticleTextureIndex(0);
|
||||
this.setSize(0.1F, 0.1F);
|
||||
this.particleScale *= 0.2F;
|
||||
this.particleMaxAge = (int) (20.0D / (Math.random() * 0.8D + 0.2D));
|
||||
this.noClip = true;
|
||||
|
||||
this.motionX *= 0.119999999552965164D;
|
||||
this.motionY *= 0.119999999552965164D;
|
||||
this.motionZ *= 0.119999999552965164D;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Called to update the entity's position/logic.
|
||||
*/
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.prevPosX = this.posX;
|
||||
this.prevPosY = this.posY;
|
||||
this.prevPosZ = this.posZ;
|
||||
this.moveEntity(this.motionX, this.motionY, this.motionZ);
|
||||
this.motionX *= 1.08D;
|
||||
this.motionY *= 1.08D;
|
||||
this.motionZ *= 1.08D;
|
||||
|
||||
if (this.particleMaxAge-- <= 0)
|
||||
{
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
|
||||
public void renderParticle(Tessellator tessellator, float f, float f1, float f2, float f3, float f4, float f5)
|
||||
{
|
||||
|
||||
tessellator.draw();
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glDepthMask(false);
|
||||
GL11.glEnable(3042);
|
||||
GL11.glBlendFunc(770, blendmode);
|
||||
|
||||
ForgeHooksClient.bindTexture(texture, 0);
|
||||
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
|
||||
float f10 = 0.1F * particleScale;
|
||||
float f11 = (float) ((prevPosX + (posX - prevPosX) * f) - interpPosX);
|
||||
float f12 = (float) ((prevPosY + (posY - prevPosY) * f) - interpPosY);
|
||||
float f13 = (float) ((prevPosZ + (posZ - prevPosZ) * f) - interpPosZ);
|
||||
|
||||
// GL11.glRotatef(this.rand.nextFloat(), 0.0F, 1.0F, 0.0F);
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setBrightness(0x0000f0);
|
||||
|
||||
tessellator.setColorRGBA_F(particleRed, particleGreen, particleBlue, 1.0F);
|
||||
tessellator.addVertexWithUV(f11 - f1 * f10 - f4 * f10, f12 - f2 * f10, f13 - f3 * f10 - f5 * f10, 0, 1);
|
||||
tessellator.addVertexWithUV((f11 - f1 * f10) + f4 * f10, f12 + f2 * f10, (f13 - f3 * f10) + f5 * f10, 1, 1);
|
||||
tessellator.addVertexWithUV(f11 + f1 * f10 + f4 * f10, f12 + f2 * f10, f13 + f3 * f10 + f5 * f10, 1, 0);
|
||||
tessellator.addVertexWithUV((f11 + f1 * f10) - f4 * f10, f12 - f2 * f10, (f13 + f3 * f10) - f5 * f10, 0, 0);
|
||||
|
||||
tessellator.draw();
|
||||
|
||||
GL11.glDisable(3042);
|
||||
GL11.glDepthMask(true);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
GL11.glBindTexture(3553 /* GL_TEXTURE_2D *//* GL_TEXTURE_2D */, ThaumicBees.proxy.getClientInstance().renderEngine.getTexture("/particles.png"));
|
||||
tessellator.startDrawingQuads();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user