Gendustry

Gendustry

35M Downloads

[Suggestion] Some hook in the API to make certain bee mutations completely hidden from the Mutatron

Vexatos opened this issue ยท 21 comments

commented

There are various bee mutations you really don't want to have unless certain requirements are met, and even making them secret doesn't help in this case (for obvious reasons); it would be nice if you could hide mutations that you really, really want to keep limited (for instance the holiday mutations with a limited time frame in Forestry or certain bee mutations in one of my addons) from the mutatron and the advanced mutatron. I suggest simply having a method in the API that takes an IMutation or IBeeMutation and makes both the NEI integration and the Mutatrons unable to ever get that mutation... Maybe add a second parameter to the method, a boolean, that makes the Mutatrons unable to get the mutation unless the requirements are actually met...

commented

I'm not sure how i feel about it. The whole point of this mod is to take out the tedium out of bee breeding, and i feel that this will be misused by other modders to override that.

I could implement this as a configuration option, that way users (pack makers, server admins) will be able to control it without having to mess with code.

commented

Well, most of the very, very special forestry bees are meant to give the player a reward for playing on certain holidays. You are not ever supposed to get them otherwise. Not having them doesn't hurt the player at all as they aren't producing any particularly good things most of the time. They are really just meant as a gimmick and the mutatron turns those special bees into easily obtainable bees.
I would not have a config option for this as it really is only meant for bees you are not ever supposed to get outside of special conditions. I also don't think mod devs would abuse this blacklist for bees that should be easily obtainable as doing so, you're right in this part, would defeat the entire point of this mod.

commented

The problem is that when it's part of the API - neither me nor the users have control over how it's used. If tomorrow some other modder decides that e.g. uranium bees are too OP, and blacklists their mutation.

If it's a config setting - i can tell users how to override it back. I could also ship a list of the holiday bees from forestry in the default configs.

commented

Well, I guess that would be decent enough... Again, I highly doubt someone would abuse this...

commented

Sounds fine to me. Thanks a lot!

commented

Actually, it'd be nice to have a method in the API to make Gendustry add a config for a bee species. something like blacklistMutation(String speciesname, EnumWhatever allowed), the enum being "REQUIREMENTS", "ENABLED" and "DISABLED".

commented

Ok i'll go with the config option then.

I'll allow them to either be outright disabled or check mutation requirements (which means i need to implement IBeeHousing on the mutatron... eww!)

Disabled mutations will not show in NEI. Those with requirements check will show them in the tooltip.

  • Date requirements doesn't show anything in getSpecialConditions in Forestry 3.5.x, but this seems to be fixed in current dev versions.

The default config will include Leporine, Merry, Tipsy and Tricky set to check requirements.

Anything i missed?

commented

Should I maybe open a new issue for that?

commented

No need, i'll add it in the next version

commented

Thank you very much.

commented

He was talking about other mods using it. So, for example, if Player felt that uranium bees were overpowered, he could blacklist it.

Also, certain bees, though normally restricted, really are unmatched. The jaded bee, for example, has the best flowering gene ("for.gui.maximum") not found in anything else until I added it myself to the Kurauri bees in ChromatiCraft.

commented

Hmm... So you mean e.g. a mod adding copper blacklisting copper bees? Yea, that might indeed be an issue (even though I still see no reason why anyone would do this). Good thing it'll be a config option, then.

commented

yeah that's the plan, the config will have higher priority than what's added from the api

commented

I will certainly agree with @bdew that this is the sort of thing that gets severely abused.

commented

But why would one install an addon just for restricting gendustry's mutatron? The "big bee addons" surely wouldn't do that themselves. If you think gendustry is "too overpowered" or something, you simply don't have it in your pack. At least that's what I'd think.

commented

The API is in latest alpha (avalilable from jenkins or CF).

I'll wait for a few days for comments/requests/bugs/etc. then make a new release.

commented

So... Now I can set my bee species so that the mutatron has to meet the requirements for it to breed, and it will appear in the config file so mod pack makers can override it? That sounds fine to me. I'll add integration once the version number is increased. Thank you.

commented

The override that you add using the API will not appear in the config (because i don't currently have a system to handle writing/merging config files) - but if there is an override in the config for the same species it will take priority over what was added from the API.

commented

Ah, okay, this is fine too, of course.

commented

Gendustry 1.4.14 is now out. Also i've switched to using semantic versioning for the API which is now version 2.0.0.

commented

Thank you! Then I can depend on a specific version of the API instead.