Fix redstone conduits and filters #881
No reviewers
Labels
No labels
Area-Assets
Area-Backend
Area-Conduits
Area-Datapacks
Area-Lang
Area-Mod Compat
Area-Parity
Area-Rendering
Good first issue
MC-1.19.2
MC-1.20.1
MC-1.20.4
MC-1.20.6
MC-1.21
MC-1.21.1
Modtoberfest
P-0-High
P-1-Medium
P-2-Low
Status-Awaiting Response
Status-Behind-Flag
Status-Blocked
Status-Cannot Reproduce
Status-Duplicate
Status-Help Wanted
Status-Incomplete Report
Status-Invalid
Status-Needs LTS Backport
Status-Needs Updating
Status-Stale
Status-To Implement
Status-Triage
Status-Wontfix
Status-Wontmerge
Type-Backport
Type-Bug
Type-Documentation
Type-Enhancement
Type-Question
Type-RFC
Type-Suggestion
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Team-EnderIO/EnderIO#881
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/redstone"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
Allows the yeta wrench to force connections for redstone conduits, and custom conduits if they choose to. Currently redstone conduits can even connect to air blocks, but I'm not sure if that should remain that way.
Also fixes some redstone filters:
Breaking Changes
The ConduitTicker interface has a new
canHaveConnectionmethod to determine if a forced connection is allowed. I'm not sure if this is actually breaking though, as it has a default that should effectively leave all existing implementations unchanged.Checklist
These changes make sense from a read over - I'm not a fan of the conduit connection logic as a whole - but that's something I'm going to go and figure out later.
For now only a couple of comments, I'll try running this up to check it all works shortly.
Thanks for your help and apologies for the delay in a review!
@ -22,8 +22,18 @@ public interface ConduitTicker<T extends ConduitData<T>> {}// TODO: I'd argue this goes into ConduitType, and then you can use getTicker() if you need additional context from it.I don't think this method is adequately named - could you explain what the difference is from canConnectTo so we can figure a different name for this method? Also some javadoc may help :)
@ -23,6 +23,7 @@ import java.util.Map;public class RedstoneConduitTicker implements IOAwareConduitTicker<RedstoneConduitData> {I think this should check that the block isn't air :)
@ -22,8 +22,18 @@ public interface ConduitTicker<T extends ConduitData<T>> {}// TODO: I'd argue this goes into ConduitType, and then you can use getTicker() if you need additional context from it.Renamed it to
canForceConnectwith some javadoc. I don't really know what I was thinking with that name 😅@ -22,8 +22,18 @@ public interface ConduitTicker<T extends ConduitData<T>> {}// TODO: I'd argue this goes into ConduitType, and then you can use getTicker() if you need additional context from it.That makes more sense, thanks!
@ -276,8 +262,8 @@ public class ConduitBlock extends Block implements EntityBlock, SimpleWaterlogge}} else {To get this to work I also needed to change this to
if (connectionState.isConnection()) {If you'd agree with the change, please go ahead and make it and I'll merge the PR. Cheers!
This looks good to me, thanks a lot for all of your hard work :) I'll get these changes ported upwards to 1.21 :)