Conduit Overhaul - API, Upgrades and Filters #660

Merged
Rover656 merged 94 commits from feature/conduit-filters into dev/1.20.6 2024-06-16 11:41:06 +00:00
Rover656 commented 2024-05-15 19:29:00 +00:00 (Migrated from github.com)

Description

Rebased variant of #659.

This PR will add item & fluid filters and upgrades, as well as introduce some general API improvements to conduits and properly fit them into 1.20.6.

Thanks @ferriarnus for the bulk of the work; I've just come in to tidy up conduits and get this up to 1.20.6.

TODO

  • Finish swap from attachments to data components
  • Check over API changes for filters
  • Add upgrades
  • Tidy up the conduits API
  • Ensure functionality is not broken
  • Add tiered upgrade items (and recipes)
  • Ensure all API changes are consistent.
  • Ensure conduit filter and upgrade slots are filtered correctly.

Breaking Changes

List any breaking changes in this section, such as: changed/removed APIs, changed or removed items/blocks or modifications to recipes and gameplay mechanics.

This will break all of conduit APIs - but this is fine because 1.20.6 isn't released yet.
More care will be taken to minimize the API modifications when backporting to 1.20.1.

NOTE: This will also break the conduit saved data NBT format. Saves before this PR will not load; luckily, 7.0 hasn't released yet so we can make this change :)

Checklist

  • My code follows the style guidelines of this project (.editorconfig, most IDEs will use this for you).
  • I have made corresponding changes to the documentation.
  • My changes are ready for review from a contributor.
# Description Rebased variant of #659. This PR will add item & fluid filters and upgrades, as well as introduce some general API improvements to conduits and properly fit them into 1.20.6. Thanks @ferriarnus for the bulk of the work; I've just come in to tidy up conduits and get this up to 1.20.6. <!-- If you're submitting a Draft PR, consider providing a TODO list using checkboxes --> # TODO - [x] Finish swap from attachments to data components - [x] Check over API changes for filters - [x] Add upgrades - [x] Tidy up the conduits API - [x] Ensure functionality is not broken - [x] Add tiered upgrade items (and recipes) - [x] Ensure all API changes are consistent. - [x] Ensure conduit filter and upgrade slots are filtered correctly. # Breaking Changes List any breaking changes in this section, such as: changed/removed APIs, changed or removed items/blocks or modifications to recipes and gameplay mechanics. This will break all of conduit APIs - but this is fine because 1.20.6 isn't released yet. More care will be taken to minimize the API modifications when backporting to 1.20.1. ## NOTE: This will also break the conduit saved data NBT format. Saves before this PR will not load; luckily, 7.0 hasn't released yet so we can make this change :) <!-- For drafts, fill this in as you go; if you are leaving draft, make sure these are all complete. --> # Checklist - [ ] My code follows the style guidelines of this project (.editorconfig, most IDEs will use this for you). - [ ] I have made corresponding changes to the documentation. - [ ] My changes are ready for review from a contributor. <!-- Thanks to: https://embeddedartistry.com/blog/2017/08/04/a-github-pull-request-template-for-your-projects/ for the building blocks of this template -->
github-actions[bot] (Migrated from github.com) reviewed 2024-05-15 19:29:33 +00:00
@ -0,0 +1,105 @@
package com.enderio.api.network;
github-actions[bot] (Migrated from github.com) commented 2024-05-15 19:29:32 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> reported by reviewdog 🐶
Missing package-info.java file.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Missing package-info.java file.
@ -0,0 +1,87 @@
package com.enderio.base.client.gui.screen;
github-actions[bot] (Migrated from github.com) commented 2024-05-15 19:29:32 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.coding.MissingSwitchDefaultCheck> reported by reviewdog 🐶
switch without "default" clause.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.coding.MissingSwitchDefaultCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>switch without "default" clause.
github-actions[bot] (Migrated from github.com) commented 2024-05-15 19:29:32 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck> reported by reviewdog 🐶
Inner assignments should be avoided.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Inner assignments should be avoided.
github-actions[bot] (Migrated from github.com) commented 2024-05-15 19:29:32 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck> reported by reviewdog 🐶
Inner assignments should be avoided.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Inner assignments should be avoided.
github-actions[bot] (Migrated from github.com) commented 2024-05-15 19:29:32 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck> reported by reviewdog 🐶
Inner assignments should be avoided.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Inner assignments should be avoided.
@ -0,0 +1,64 @@
package com.enderio.base.client.gui.screen;
github-actions[bot] (Migrated from github.com) commented 2024-05-15 19:29:32 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.coding.MissingSwitchDefaultCheck> reported by reviewdog 🐶
switch without "default" clause.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.coding.MissingSwitchDefaultCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>switch without "default" clause.
github-actions[bot] (Migrated from github.com) commented 2024-05-15 19:29:32 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck> reported by reviewdog 🐶
Inner assignments should be avoided.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Inner assignments should be avoided.
github-actions[bot] (Migrated from github.com) commented 2024-05-15 19:29:32 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck> reported by reviewdog 🐶
Inner assignments should be avoided.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Inner assignments should be avoided.
github-actions[bot] (Migrated from github.com) commented 2024-05-15 19:29:33 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck> reported by reviewdog 🐶
Inner assignments should be avoided.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Inner assignments should be avoided.
@ -0,0 +1,55 @@
package com.enderio.base.common.item.filter;
github-actions[bot] (Migrated from github.com) commented 2024-05-15 19:29:32 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> reported by reviewdog 🐶
Missing package-info.java file.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Missing package-info.java file.
github-actions[bot] (Migrated from github.com) reviewed 2024-05-15 22:58:34 +00:00
github-actions[bot] (Migrated from github.com) commented 2024-05-15 22:58:34 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> reported by reviewdog 🐶
'if' construct must use '{}'s.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>'if' construct must use '{}'s.
github-actions[bot] (Migrated from github.com) commented 2024-05-15 22:58:34 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> reported by reviewdog 🐶
'if' construct must use '{}'s.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>'if' construct must use '{}'s.
github-actions[bot] (Migrated from github.com) commented 2024-05-15 22:58:33 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> reported by reviewdog 🐶
'if' construct must use '{}'s.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>'if' construct must use '{}'s.
github-actions[bot] (Migrated from github.com) commented 2024-05-15 22:58:34 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> reported by reviewdog 🐶
'if' construct must use '{}'s.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>'if' construct must use '{}'s.
github-actions[bot] (Migrated from github.com) reviewed 2024-05-16 18:31:49 +00:00
github-actions[bot] (Migrated from github.com) commented 2024-05-16 18:31:49 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> reported by reviewdog 🐶
Missing package-info.java file.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Missing package-info.java file.
github-actions[bot] (Migrated from github.com) reviewed 2024-05-16 22:45:55 +00:00
github-actions[bot] (Migrated from github.com) commented 2024-05-16 22:45:55 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> reported by reviewdog 🐶
Missing package-info.java file.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Missing package-info.java file.
github-actions[bot] (Migrated from github.com) reviewed 2024-05-18 18:54:33 +00:00
@ -0,0 +1,164 @@
package com.enderio.core.common.capability;
github-actions[bot] (Migrated from github.com) commented 2024-05-18 18:54:33 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> reported by reviewdog 🐶
'if' construct must use '{}'s.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>'if' construct must use '{}'s.
github-actions[bot] (Migrated from github.com) commented 2024-05-18 18:54:33 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> reported by reviewdog 🐶
'if' construct must use '{}'s.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>'if' construct must use '{}'s.
@ -0,0 +1,157 @@
package com.enderio.core.common.capability;
github-actions[bot] (Migrated from github.com) commented 2024-05-18 18:54:32 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> reported by reviewdog 🐶
'if' construct must use '{}'s.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>'if' construct must use '{}'s.
github-actions[bot] (Migrated from github.com) commented 2024-05-18 18:54:32 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> reported by reviewdog 🐶
'if' construct must use '{}'s.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>'if' construct must use '{}'s.
github-actions[bot] (Migrated from github.com) reviewed 2024-05-19 00:15:00 +00:00
@ -0,0 +1,550 @@
package com.enderio.conduits.common.conduit;
github-actions[bot] (Migrated from github.com) commented 2024-05-19 00:15:00 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.modifier.RedundantModifierCheck> reported by reviewdog 🐶
Redundant 'public' modifier.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.modifier.RedundantModifierCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Redundant 'public' modifier.
github-actions[bot] (Migrated from github.com) reviewed 2024-05-20 15:35:37 +00:00
@ -0,0 +1,4 @@
package com.enderio.api.conduit.upgrade;
github-actions[bot] (Migrated from github.com) commented 2024-05-20 15:35:37 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> reported by reviewdog 🐶
Missing package-info.java file.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Missing package-info.java file.
@ -0,0 +1,8 @@
package com.enderio.api.filter;
github-actions[bot] (Migrated from github.com) commented 2024-05-20 15:35:37 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> reported by reviewdog 🐶
Missing package-info.java file.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Missing package-info.java file.
github-actions[bot] (Migrated from github.com) reviewed 2024-06-09 22:12:37 +00:00
@ -0,0 +1,39 @@
package com.enderio.conduits.data.tags;
github-actions[bot] (Migrated from github.com) commented 2024-06-09 22:12:37 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> reported by reviewdog 🐶
Missing package-info.java file.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Missing package-info.java file.
github-actions[bot] (Migrated from github.com) reviewed 2024-06-13 19:32:58 +00:00
@ -0,0 +1,33 @@
package com.enderio.api.conduit.model;
github-actions[bot] (Migrated from github.com) commented 2024-06-13 19:32:58 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> reported by reviewdog 🐶
Missing package-info.java file.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Missing package-info.java file.
@ -0,0 +1,65 @@
package com.enderio.conduits.client.model.conduit.modifier;
github-actions[bot] (Migrated from github.com) commented 2024-06-13 19:32:58 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> reported by reviewdog 🐶
Missing package-info.java file.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Missing package-info.java file.
github-actions[bot] (Migrated from github.com) reviewed 2024-06-13 20:14:42 +00:00
@ -0,0 +1,29 @@
package com.enderio.api.conduit.screen;
github-actions[bot] (Migrated from github.com) commented 2024-06-13 20:14:42 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> reported by reviewdog 🐶
Missing package-info.java file.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Missing package-info.java file.
@ -0,0 +1,31 @@
package com.enderio.conduits.client.gui.conduit;
github-actions[bot] (Migrated from github.com) commented 2024-06-13 20:14:42 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> reported by reviewdog 🐶
Missing package-info.java file.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Missing package-info.java file.
github-actions[bot] (Migrated from github.com) reviewed 2024-06-15 22:07:13 +00:00
github-actions[bot] (Migrated from github.com) commented 2024-06-15 22:07:13 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.coding.MissingSwitchDefaultCheck> reported by reviewdog 🐶
switch without "default" clause.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.coding.MissingSwitchDefaultCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>switch without "default" clause.
github-actions[bot] (Migrated from github.com) reviewed 2024-06-16 10:54:30 +00:00
@ -0,0 +1,68 @@
package com.enderio.conduits.common.network;
github-actions[bot] (Migrated from github.com) commented 2024-06-16 10:54:30 +00:00

🚫 [checkstyle] <com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheck> reported by reviewdog 🐶
Name 'instance' must match pattern '^[A-Z][A-Z0-9](_[A-Z0-9]+)$'.

🚫 **[checkstyle]** <com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheck> <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>Name 'instance' must match pattern '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'.
Rover656 commented 2024-06-16 10:55:03 +00:00 (Migrated from github.com)

It's time for final checks and review :)

It's time for final checks and review :)
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Team-EnderIO/EnderIO#660
No description provided.