Bees losing ability to provide secondary product
dman11235 opened this issue ยท 11 comments
FTB Infinity expert mode on a server. I'm not 100% sure what's going on, but I think I've traced the issue to the imprinter. I have a setup of two templates I'm imprinting, one to give max fertility, tolerance +/- 5 on both, shortest lifespan, cave/tolerant fly/day/night, and flowers...flower...., and then the second one has no effect, blinding/fastest speed (in testing I've had one of these templates with each), longest life, and 1 fertility. I used the advanced mutatron to get the various bees I need, basic metals and gems, and then put them through the second template, only to find they aren't producing their secondary (the metal/gem fragment), only their primary (honeycomb). I'm using an industrial apiary with max production upgrade and an automation upgrade. Because they have max tolerance and full work conditions, they can work everywhere except the Nether probably, so they're working fine, just not producing the appropriate things.
When I put them through just ONE template, the first one, they make secondaries. However, when I use the second template, they stop making secondaries. It doesn't matter which one I use first, they produce after using one, and don't after the other. Even if I let them breed through a generation, and then put the princess and drone result through the second template, they don't produce secondaries.
I'm not 100% sure what's at fault here, but I would guess that somehow changing the gene on a princess a second time (I'm changing lifespan and fertility twice) is somehow mucking with things? If you need any more information or anything let me know I'll try to provide it.
According to @mezz Gendustry uses an older Forestry API.
Consequently, it does not properly honor the Jubilant rules.
Secondary or specialty products needs the bee in its native environment.
For example, a bee with temperature NORMAL and humidity NORMAL should not produce specialty outside of Plains or Forest unless an Alveary/Industrial Apiary is equipped with upgrades to obtain the right temperature and humidity.
On the same trend of issues:
Bees having specific biome as mutation requirement, cannot mutate with Industrial Apiary Biome Emulation Upgrades.
Example: Bees that requires Nether to mutate, cannot mutate with a Nether Emulation Upgrade.
Now, I am fine with this latest limitation on Biome Emulation upgrades. These are emulations, not the real biomes.
Gendustry bees not honoring jubilant rules for secondary/specialty products is more concerning, as it break balance.
@dman11235 - First of all sorry about the late reply, i somehow missed the message. I don't think anything with templates can break secondary drops. An imprinted bee shouldn't be any different than the same bee breeded naturally, so the problem is probably be elsewhere. Jubilance might be a thing, some bees only produce their secondary outputs under specific conditions. To say anything more specific i need to know what exactly you are imprinting, what mods are involved, versions, etc.
@leagris - lots of possible issues here, and honestly quite a lot of FUD.
According to @mezz Gendustry uses an older Forestry API.
Citation needed. AFAIK i'm using the latest API, unless something changed in the last few weeks.
Consequently, it does not properly honor the Jubilant rules.
Secondary or specialty products needs the bee in its native environment.
For example, a bee with temperature NORMAL and humidity NORMAL should not produce specialty outside of Plains or Forest unless an Alveary/Industrial Apiary is equipped with upgrades to obtain the right temperature and humidity.
Apiaries don't generally handle jubilance, so that makes no sense. The way it works is when a "bee tick" happens, Forestry will grab the state of apiary environment, pass it to the implementation of the bee (jubilance provider) and ask if it can produce secondary outputs. It's up to the implementation to decide what it checks and how.
Industrial apiaries should be no different to normal apiaries or alvearies in terms of jubilance, if you have examples where this is not true - please open a separate issue with exact details.
Bees having specific biome as mutation requirement, cannot mutate with Industrial Apiary Biome Emulation Upgrades.
Example: Bees that requires Nether to mutate, cannot mutate with a Nether Emulation Upgrade.
I'll test this (maybe something got broken at some point), but this shouldn't be the case unless the mutation checks for biome in some weird way and doesn't use the methods from IBeeHousing. Any specific examples?
Now, I am fine with this latest limitation on Biome Emulation upgrades. These are emulations, not the real biomes.
This is not intended, and will be fixed if true.
Gendustry bees not honoring jubilant rules for secondary/specialty products is more concerning, as it break balance.
See above about jubilance.
Citation needed. AFAIK i'm using the latest API, unless something changed in the last few weeks.
<leagris> Hello there
Has the rules of Jubilant queens be relieved at some point?
I always thought bees only produced specialty when environment exactly match temperature and humidity.
<mezz> that is correct, that is how it should work
<leagris> Now, I have bees that produce specialty with humidity and temperature beyond native bee trait but is beyond tolerances
<mezz> are they from an addon?
<leagris> Bee lives in Warm Arid and has tolerance Both2
Yes from Gendustry
And it produce specialty in Normal Normal Meadow biome
<mezz> ok, that's a bug with gendustry then
<leagris> Ah, it is not Forestry API that handle the production/jubilant stuffs?
<mezz> it does now, but Gendustry uses the old API functions
magic bees used to have it broken too, but I moved it to the new API functions
<leagris> Then thank you for the clafication.
<mezz> no problem! I think it's just a little-known thing
Ah you mean bees from gendustry? That's the other side of the coin. I'm currently don't have a way to specify jubilance in the configs that define bees. So bees defined in gendustry will always produce their secondary output as long as it can work.
It's not an old API problem, just haven't got around to implementing yet. This is something that people adding bees using my system should keep in mind if they are concerned about balance.
It's not an old API problem, just haven't got around to implementing yet. This is something that people adding bees using my system should keep in mind if they are concerned about balance.
Now about the mutation biome:
I could not mutate the standard Forestry Demonic branch within an Industrial Apiary with Hell Emulation Upgrade.
And for the record, here are our Custom Gendusty Bees for BeyondReality Pack:
https://github.com/Beyond-Reality/BeyondRealityModPack/blob/master/BR1710/config/gendustry/bees.cfg
I'd really appreciate if it enforced the specialty jubilant rules. I have raised our fuels producing bees products but moved them to specialty to balance gain/difficulty.
Example:
Our Oil bee should only produce Oil in a Desert biome, or requires 3 Alveary Hygroregulators fed with Lava in a Plain Biome.
I could not mutate the standard Forestry Demonic branch within an Industrial Apiary with Hell Emulation Upgrade.
I'll look into it.
I'd really appreciate if it enforced the specialty jubilant rules.
Thing is, it's not just enforcing. I need a way to write those rules, and translate that into something that can be used in code. It's something i'd like to do, but it's not a quick 5 minute fix.
Ok it seems that mutations indeed don't respect upgrades, at least for bees defined by forestry. I've opened a separate issue to track that #176.
What I mean by "old API" is that you implement IAlleleBeeSpecies
yourself.
I have added factory methods to create bees and bee mutations so that they have jubilance and all that fiddly stuff set up automatically so nobody has to re-implement or copy that code. It should offer the same flexibility as before, let me know if it does not. So far it's being used by Forestry, Magic Bees, and Computronics to implement bees and their mutations.
See BeeManager
for the new IBeeFactory
, IBeeMutationFactory
, and IJubilanceFactory
.
What I mean by "old API" is that you implement IAlleleBeeSpecies yourself.
Well it's not really old API, just a non-standard implementation of it :P
I'm planning to switch to the factories at some point, but it'll take some work to change everything.
I rewrote mutations yesterday to use the factory and reworked the related parser code so that i can reuse it to define jubilance rules as well.
The current plan is that jubilance can be set to ALWAYS (current behavior), DEFAULT (forestry default - must match humidity/temp) or custom rules using the same syntax as mutation conditions (e.g. "Req Temperature Warm", etc.).
Sorry about the late response, didn't check my notifications in a while. But yeah, that's why I said I wasn't sure it was a bug, I couldn't think of any reason why it wouldn't work. It makes no sense. The server has since been discontinued, but the overall specifics of the bees I was using were that they were the Magic Bees versions of the resource bees, iron, diamandi, esmereldi, bronzed, cuprum, stannus(m?), etc. I had bred them up using the advanced mutatron, worked nicely. Then I grabbed the following traits from various other bees: fertility 4, temp tolerance +/- 5, hum. tolerance +/- 5, cave dwelling, tolerant flyer, nocturnal/diurnal, flowers flowering and shortest lifespan. Leaving it here, they were producing secondaries IIRC, without adjusting the apiaries to have the temp/humid stuff in them. The biome this was in was...I believe extreme hills, I can't remember exact biome but it was cold temp and normal humidity, enough that just one heater upgrade made it normal temp. Then I put fastest speed, longest lifespawn, and no effect. I also tried with blinding speed, longest lifespan, and no effect. Both of these bees did not produce secondaries. I also tried doing just that second set of traits, the production, lifespan, and effect, without doing the tolerance, and it worked. So perhaps jubilance is what was causing it? I would have had to add the heaters I think? I can't remember if I needed the heaters for this unfortunately, I don't know the base tolerance of the Magic Bees resource bees. If the server was still up I'd test out adding the heaters to it with the super mutated bunch.
But I'm glad I was able to at least indirectly help fix something else!