diff --git a/gradle.properties b/gradle.properties index 6936382..faec01d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ version_major=2 version_minor=3 -version_rev=7 +version_rev=6 version_forestry=3.6.3.20 version_bloodmagic=1.3.3-4 diff --git a/src/main/java/magicbees/bees/BeeGenomeManager.java b/src/main/java/magicbees/bees/BeeGenomeManager.java index b71dfdf..31579d2 100644 --- a/src/main/java/magicbees/bees/BeeGenomeManager.java +++ b/src/main/java/magicbees/bees/BeeGenomeManager.java @@ -974,6 +974,15 @@ public class BeeGenomeManager { return genome; } + + public static IAllele[] getTemplaceTCVoid() { + IAllele[] genome = getTemplateBaseMetallic(); + + genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.TC_VOID; + genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceUp1"); + genome[EnumBeeChromosome.EFFECT.ordinal()] = Allele.getBaseAllele("effectGlacial"); + + return genome; } private static IAllele[] getTemplateEEBase() { IAllele[] genome = getTemplateModBase(); @@ -988,6 +997,7 @@ public class BeeGenomeManager { IAllele[] genome = getTemplateEEBase(); genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.EE_MINIUM; + genome[EnumBeeChromosome.EFFECT.ordinal()] = Allele.effectTransmuting; return genome; } diff --git a/src/main/java/magicbees/bees/BeeMutation.java b/src/main/java/magicbees/bees/BeeMutation.java index dc8c76c..d0e4faf 100644 --- a/src/main/java/magicbees/bees/BeeMutation.java +++ b/src/main/java/magicbees/bees/BeeMutation.java @@ -267,6 +267,10 @@ public class BeeMutation implements IBeeMutation { .setBiomeRequired(Type.PLAINS); new BeeMutation(Allele.getBaseSpecies("Common"), BeeSpecies.SKULKING, BeeSpecies.TC_PORK, 12) .setBiomeRequired(Type.MOUNTAIN); + + new BeeMutation(BeeSpecies.IRON, BeeSpecies.TC_TAINT, BeeSpecies.TC_VOID, 5) + .setBiomeRequired(Type.MAGICAL) + .setRequiresNight(); } if (ArsMagicaHelper.isActive()) { @@ -554,16 +558,17 @@ public class BeeMutation implements IBeeMutation { else if (this.requiredBlockOreDictEntry != null) { ArrayList ores = OreDictionary.getOres(this.requiredBlockOreDictEntry); if (ores != null && 0 < ores.size()) { - conditions.add(String.format(LocalizationManager.getLocalizedString("research.requiresBlock"), ores.get(0).getDisplayName())); + String displayName = ores.get(0).getDisplayName(); + conditions.add(String.format(LocalizationManager.getLocalizedString("research.requiresBlock"), displayName)); } } - else { + else if (this.requiredBlock != null) { int meta = OreDictionary.WILDCARD_VALUE; if (this.requiredBlockMeta != OreDictionary.WILDCARD_VALUE) { meta = this.requiredBlockMeta; } - conditions.add(String.format(LocalizationManager.getLocalizedString("research.requiresBlock"), - new ItemStack(this.requiredBlock, 1, meta).getDisplayName())); + String displayName = new ItemStack(this.requiredBlock, 1, meta).getDisplayName(); + conditions.add(String.format(LocalizationManager.getLocalizedString("research.requiresBlock"), displayName)); } } diff --git a/src/main/java/magicbees/bees/BeeProductHelper.java b/src/main/java/magicbees/bees/BeeProductHelper.java index 601197f..06afa15 100644 --- a/src/main/java/magicbees/bees/BeeProductHelper.java +++ b/src/main/java/magicbees/bees/BeeProductHelper.java @@ -285,6 +285,7 @@ public class BeeProductHelper { TC_CHICKEN.addSpecialty(new ItemStack(ThaumcraftHelper.nuggetChicken, 1), 0.9f); TC_BEEF.addSpecialty(new ItemStack(ThaumcraftHelper.nuggetBeef, 1), 0.9f); TC_PORK.addSpecialty(new ItemStack(ThaumcraftHelper.nuggetPork, 1), 0.9f); + TC_VOID.addSpecialty(new ItemStack(ThaumcraftHelper.nuggetMetal, 1, ThaumcraftHelper.NuggetType.VOID_METAL.ordinal()), 0.155f); } } diff --git a/src/main/java/magicbees/bees/BeeSpecies.java b/src/main/java/magicbees/bees/BeeSpecies.java index a7d407b..be6e910 100644 --- a/src/main/java/magicbees/bees/BeeSpecies.java +++ b/src/main/java/magicbees/bees/BeeSpecies.java @@ -226,6 +226,8 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider 0x40221A, 0xAC6753, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, true), TC_PORK("TCPork", "porcina", BeeClassification.FLESHY, 0x725D2F, 0xD2BF93, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, true), + TC_VOID("TCVoid", "obscurus", BeeClassification.METALLIC, + 0x180A29, 0x4B2A74, EnumTemperature.ICY, EnumHumidity.NORMAL, false, false), // --------- Equivalent Exchange Bees ----------------------------------------------------------------------------- EE_MINIUM("EEMinium", "mutabilis", BeeClassification.ALCHEMICAL, @@ -422,6 +424,7 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider TC_CHICKEN.registerGenomeTemplate(BeeGenomeManager.getTemplateTCChicken()); TC_BEEF.registerGenomeTemplate(BeeGenomeManager.getTemplateTCBeef()); TC_PORK.registerGenomeTemplate(BeeGenomeManager.getTemplateTCPork()); + TC_VOID.registerGenomeTemplate(BeeGenomeManager.getTemplaceTCVoid()); EE_MINIUM.registerGenomeTemplate(BeeGenomeManager.getTemplateEEMinium()); AM_ESSENCE.registerGenomeTemplate(BeeGenomeManager.getTemplateAMEssence()); AM_QUINTESSENCE.registerGenomeTemplate(BeeGenomeManager.getTemplateAMQuintessence()); @@ -486,6 +489,7 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider TC_PORK.setInactive(); TC_WISPY.setInactive(); + TC_VOID.setInactive(); } BeeProductHelper.initEquivalentExchange3Species(); diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectCrumbling.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectCrumbling.java index 43b7044..c9fa2c3 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectCrumbling.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectCrumbling.java @@ -41,8 +41,8 @@ public class AlleleEffectCrumbling extends AlleleEffect { @Override public IEffectData validateStorage(IEffectData storedData) { - if (storedData == null || !(storedData instanceof magicbees.bees.EffectData)) { - storedData = new magicbees.bees.EffectData(1, 0, 0); + if (storedData == null || !(storedData instanceof magicbees.bees.allele.effect.EffectData)) { + storedData = new magicbees.bees.allele.effect.EffectData(1, 0, 0); } return storedData; } diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectCure.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectCure.java index 7e1faef..006e556 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectCure.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectCure.java @@ -3,7 +3,6 @@ package magicbees.bees.allele.effect; import java.util.List; import magicbees.bees.AlleleEffect; -import magicbees.bees.EffectData; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectEmpowering.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectEmpowering.java index 31fdf81..4424829 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectEmpowering.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectEmpowering.java @@ -20,8 +20,8 @@ public class AlleleEffectEmpowering extends AlleleEffect { @Override public IEffectData validateStorage(IEffectData storedData) { - if (storedData == null || !(storedData instanceof magicbees.bees.EffectData)) { - storedData = new magicbees.bees.EffectData(1, 0, 0); + if (storedData == null || !(storedData instanceof magicbees.bees.allele.effect.EffectData)) { + storedData = new magicbees.bees.allele.effect.EffectData(1, 0, 0); } return storedData; } diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeConversion.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeConversion.java index 85e448d..ee4f7ee 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeConversion.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeConversion.java @@ -23,8 +23,8 @@ public class AlleleEffectNodeConversion extends AlleleEffect { @Override public IEffectData validateStorage(IEffectData storedData) { - if (storedData == null || !(storedData instanceof magicbees.bees.EffectData)) { - storedData = new magicbees.bees.EffectData(1, 0, 0); + if (storedData == null || !(storedData instanceof magicbees.bees.allele.effect.EffectData)) { + storedData = new magicbees.bees.allele.effect.EffectData(1, 0, 0); } return storedData; } diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeRepair.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeRepair.java index 952b3e5..80bc03f 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeRepair.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectNodeRepair.java @@ -19,8 +19,8 @@ public class AlleleEffectNodeRepair extends AlleleEffect { @Override public IEffectData validateStorage(IEffectData storedData) { - if (storedData == null || !(storedData instanceof magicbees.bees.EffectData)) { - storedData = new magicbees.bees.EffectData(1, 0, 0); + if (storedData == null || !(storedData instanceof magicbees.bees.allele.effect.EffectData)) { + storedData = new magicbees.bees.allele.effect.EffectData(1, 0, 0); } return storedData; } diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectPotion.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectPotion.java index 2a87c9a..6f33fac 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectPotion.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectPotion.java @@ -3,7 +3,6 @@ package magicbees.bees.allele.effect; import java.util.List; import magicbees.bees.AlleleEffect; -import magicbees.bees.EffectData; import magicbees.item.ItemArmorApiarist; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectRecharge.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectRecharge.java index d0fccf1..afac3cd 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectRecharge.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectRecharge.java @@ -20,8 +20,8 @@ public class AlleleEffectRecharge extends AlleleEffect { @Override public IEffectData validateStorage(IEffectData storedData) { - if (storedData == null || !(storedData instanceof magicbees.bees.EffectData)) { - storedData = new magicbees.bees.EffectData(1, 0, 0); + if (storedData == null || !(storedData instanceof magicbees.bees.allele.effect.EffectData)) { + storedData = new magicbees.bees.allele.effect.EffectData(1, 0, 0); } return storedData; } diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMob.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMob.java index 77615ce..01128c0 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMob.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMob.java @@ -3,7 +3,6 @@ package magicbees.bees.allele.effect; import java.util.List; import magicbees.bees.AlleleEffect; -import magicbees.bees.EffectData; import magicbees.item.ItemArmorApiarist; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; @@ -39,7 +38,7 @@ public class AlleleEffectSpawnMob extends AlleleEffect { @Override public IEffectData validateStorage(IEffectData storedData) { - if (storedData == null || !(storedData instanceof magicbees.bees.EffectData)) { + if (storedData == null || !(storedData instanceof magicbees.bees.allele.effect.EffectData)) { // Throttle; Ready to spawn storedData = new EffectData(1, 1, 0); } diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMobWeighted.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMobWeighted.java index 67e93c1..7173214 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMobWeighted.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectSpawnMobWeighted.java @@ -1,7 +1,6 @@ package magicbees.bees.allele.effect; import magicbees.bees.AlleleEffect; -import magicbees.bees.EffectData; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; @@ -25,7 +24,7 @@ public class AlleleEffectSpawnMobWeighted extends AlleleEffect { @Override public IEffectData validateStorage(IEffectData storedData) { - if (storedData == null || !(storedData instanceof magicbees.bees.EffectData)) { + if (storedData == null || !(storedData instanceof magicbees.bees.allele.effect.EffectData)) { storedData = new EffectData(1, 0, 0); } return storedData; diff --git a/src/main/java/magicbees/bees/allele/effect/AlleleEffectTransmuting.java b/src/main/java/magicbees/bees/allele/effect/AlleleEffectTransmuting.java index 61786e1..9d245cb 100644 --- a/src/main/java/magicbees/bees/allele/effect/AlleleEffectTransmuting.java +++ b/src/main/java/magicbees/bees/allele/effect/AlleleEffectTransmuting.java @@ -19,8 +19,8 @@ public class AlleleEffectTransmuting extends AlleleEffect { @Override public IEffectData validateStorage(IEffectData storedData) { - if (storedData == null || !(storedData instanceof magicbees.bees.EffectData)) { - storedData = new magicbees.bees.EffectData(1, 0, 0); + if (storedData == null || !(storedData instanceof magicbees.bees.allele.effect.EffectData)) { + storedData = new magicbees.bees.allele.effect.EffectData(1, 0, 0); } return storedData; } diff --git a/src/main/java/magicbees/bees/EffectData.java b/src/main/java/magicbees/bees/allele/effect/EffectData.java similarity index 97% rename from src/main/java/magicbees/bees/EffectData.java rename to src/main/java/magicbees/bees/allele/effect/EffectData.java index f115af0..e560141 100644 --- a/src/main/java/magicbees/bees/EffectData.java +++ b/src/main/java/magicbees/bees/allele/effect/EffectData.java @@ -1,4 +1,4 @@ -package magicbees.bees; +package magicbees.bees.allele.effect; import net.minecraft.nbt.NBTTagCompound; import forestry.api.genetics.IEffectData; diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderAuraNode.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderAuraNode.java index 4aa86e3..c2cd2ce 100644 --- a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderAuraNode.java +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderAuraNode.java @@ -7,8 +7,9 @@ import magicbees.main.utils.LocalizationManager; import magicbees.main.utils.compat.ThaumcraftHelper; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; +import thaumcraft.api.nodes.INode; import forestry.api.genetics.IFlower; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; @@ -25,8 +26,9 @@ public class FlowerProviderAuraNode extends FlowerProvider { public boolean isAcceptedFlower(World world, IIndividual genome, int x, int y, int z) { Block block = world.getBlock(x, y, z); int meta = world.getBlockMetadata(x, y, z); - for (IFlower flower : flowers) { - if (flower.getBlock() == block && (flower.getMeta() == OreDictionary.WILDCARD_VALUE || flower.getMeta() == meta)) { + if (block.hasTileEntity(meta)) { + TileEntity tileEntity = world.getTileEntity(x, y, z); + if (tileEntity instanceof INode) { return true; } } diff --git a/src/main/java/magicbees/main/utils/VersionInfo.java b/src/main/java/magicbees/main/utils/VersionInfo.java index 4545126..04a7018 100644 --- a/src/main/java/magicbees/main/utils/VersionInfo.java +++ b/src/main/java/magicbees/main/utils/VersionInfo.java @@ -25,7 +25,7 @@ public class VersionInfo public static final String Logo = "/gfx/magicbees/logo.png"; - public static final String Depends = "required-after:Forestry@[3.1.1.4,);after:Thaumcraft;after:ExtraBees;after:EE3;after:ArsMagica;after:TConstruct;after:Railcraft;after:ThermalFoundation;after:ThermalExpansion;after:AWWayofTime;after:Botania;after:appliedenergistics2"; + public static final String Depends = "required-after:Forestry@[3.6,);after:Thaumcraft;after:ExtraBees;after:EE3;after:ArsMagica;after:TConstruct;after:Railcraft;after:ThermalFoundation;after:ThermalExpansion;after:RedstoneArsenal;after:AWWayofTime;after:Botania;after:appliedenergistics2"; boolean criticalUpdate; boolean newVersion; diff --git a/src/main/java/magicbees/main/utils/compat/ThaumcraftHelper.java b/src/main/java/magicbees/main/utils/compat/ThaumcraftHelper.java index 8c697d2..8f35ae8 100644 --- a/src/main/java/magicbees/main/utils/compat/ThaumcraftHelper.java +++ b/src/main/java/magicbees/main/utils/compat/ThaumcraftHelper.java @@ -57,13 +57,15 @@ public class ThaumcraftHelper { LEAD, QUICKSILVER, THAUMIUM, - _7, _8, _9, _10, _11, _12, _13, _14, _15, + VOID_METAL, + _8, _9, _10, _11, _12, _13, _14, _15, NATIVE_IRON, NATIVE_COPPER, NATIVE_TIN, NATIVE_SILVER, NATIVE_LEAD, - _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, + NATIVE_CINNABAR, + _22, _23, _24, _25, _26, _27, _28, _29, _30, NATIVE_GOLD, ; } @@ -174,10 +176,8 @@ public class ThaumcraftHelper { public static Item filledJar; public static Item miscResource; - //public static Item tcEssentiaBottle; public static Item shard; public static Item golem; - //public static Item tcWispEssence; public static Item nuggetMetal; public static Item nuggetChicken; public static Item nuggetBeef; diff --git a/src/main/resources/assets/magicbees/lang/en_US.lang b/src/main/resources/assets/magicbees/lang/en_US.lang index f755446..311289b 100644 --- a/src/main/resources/assets/magicbees/lang/en_US.lang +++ b/src/main/resources/assets/magicbees/lang/en_US.lang @@ -385,6 +385,9 @@ magicbees.speciesTCPure=Pure magicbees.speciesTCPure.description="It's like a bee janitor!"|MysteriousAges, Thaumaturge magicbees.speciesTCHungry=Ravening magicbees.speciesTCHungry.description=It is unknown how the bees take raw essence from the nodes and what they do with it, but the process eventually transforms the node into a terrifying vortex.|Apinomicon +magicbees.speciesTCVoid=Void +# Description is gibberish; don't bother translating. <3 +magicbees.speciesTCVoid.description=§kNeque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit|????? magicbees.speciesTCBrainy=Brainy magicbees.speciesTCBrainy.description=Their combs may be fetid and foul-smelling, but their intelligence is well-developed.|Apinomicon magicbees.speciesTCWispy=Wispy