plethora icon indicating copy to clipboard operation
plethora copied to clipboard

Mod Integration Meta-Issue

Open Nerdpie opened this issue 5 years ago • 7 comments

Please find below a list of current integrations provided by Plethora. Note, however, that this list may lag behind at times, and the project at https://github.com/SquidDev-CC/plethora/projects/1 should be considered the official version.

Finished mod integrations:

  • Applied Energistics 2
  • Baubles
  • Blockcraftery
  • Chicken Bones Multipart (CBMP)
  • Chickens
  • Forestry
  • Hatchery
  • IC2
  • MCMultipart
  • Refined Storage
  • RF (Technically an API, not a mod)
  • Roost
  • Storage Drawers
  • Tinker's Construct
  • Tesla

Minor integration - Some features are exposed, but many more are possible:

  • EnderIO
  • Thermal Expansion
  • XNet

Packages under org.squiddev.plethora.integration that do not fit cleanly in the above categories:

  • ComputerCraft
  • JEI
  • Plethora
  • Vanilla

On Hold - Mod integrations pending further information

  • Advanced Rocketry
  • RFTools

In Progress - Mod integrations which are currently being worked on

  • {Meta} NBT for Entity-Capture Items

Proposed - Mod integrations which have not yet been started

  • Astral Sorcery

Nerdpie avatar Apr 04 '19 01:04 Nerdpie

I am not entirely sold on the wording, arrangement, or formatting, so any feedback would be appreciated. For instance, some of the entries may work better as check-boxes as opposed to regular bullet points. I was also hoping that GitHub's parser would give us a nice short-name for the project link...

Nerdpie avatar Apr 04 '19 01:04 Nerdpie

One thing it strikes me, is that we could do a better job at documenting this on the website. Even if just doing a method dump for each mod and maybe a paragraph explaining the features we expose.

Ideally we could generate the method dumps at build time, but I'm not sure how feasible that'd be - we'd need to have everything on the classpath and running in an deobfuscated environment, and that often ends up being ... tricky.

SquidDev avatar Apr 04 '19 16:04 SquidDev

Edit: Moved to #198

Nerdpie avatar Apr 04 '19 17:04 Nerdpie

I am considering additional integrations, though I would appreciate input on some of them.

  • RFTools Control - An add-on for RFTools which uses a graphical programming interface. Partly, I just want to see if I can make an event-based integration work (it has wireless nodes, and you can trigger processes on other Processors using signals).
  • XNet - I'm not sure how much this will benefit us, especially with the move to requiring CC:T, but I may try to implement something similar to OC XNet Driver and the OC integration provided by YNot.
  • NuclearCraft - I know that NuclearCraft already has OC support, but I need to double check if it has built-in CC support. This may be better suited as a PR for NC, though.
  • Thaumcraft - Some similar issues to the gating discussed for Astral Sorcery. Further, I believe that at least one other mod exposes some degree of TC support for CC; at the minimum, we might define custom aspects for CC:T and Plethora items/entities/blocks.
  • Vanilla - Extend the existing integrations to cover a larger range of items, entities, and blocks. For instance, expose the color of a sheep's wool, a villager's trades, entity spawned by a spawn egg, spawner values, etc.

I also intend to work on the RFTools integrations referenced in #158 . Honestly, as I'm working my way through Enigmatica 2: Expert, I am liable to work on integrating all the mods!!1 /meme

Another note: Apparently Ender IO has conduits for OC. While CC conduits would be nice, we should check with the EIO team on implementing it on our end or theirs.

Nerdpie avatar Apr 04 '19 23:04 Nerdpie

@SquidDev , do we have any guidelines for mod integrations that we simply will not add support for? I ask partly because I could work on extending our vanilla meta-providers, but I want to ensure that I am following your vision for the mod. One restriction that makes sense would be a mod that isn't visible source, let alone open source, as many such mods have clauses in their license/usage against decompilation.

Nerdpie avatar Apr 06 '19 16:04 Nerdpie

@Nerdpie Honestly, not really. My guidelines pretty much boil down to "only allow doing things a player can do" (so computers shouldn't be able to side-step progression trees, get new knowledge, etc..). Plethora very much came from the idea of being able to automate everything with ComputerCraft (hence item transfer being a thing for so long).

Obviously there's a couple of "buts" here - if a mod is rather designed to be played by itself, then limit the integration provided. I'm fairly reluctant to do much Botania integration for instance, as it's very much a vanilla automatable mod (also no-numbers for a computer mod is pretty hard).

Likewise, if being able to automate something ends up being incredibly OP, then I'd try to avoid it. Plethora has enough balance problems as is :p.

Yes, I realise these guidelines are super subjective and vague. I've never really thought about it more than just going on gut instinct :/.

SquidDev avatar Apr 06 '19 17:04 SquidDev

It's enough that I can work with it. Basically mix judgement calls with "don't break balance", and you will let me know if a PR goes too far.

Nerdpie avatar Apr 06 '19 20:04 Nerdpie