Layers-of-Railways / Railway

Official repository of the Create Railways mod for Minecraft
GNU Lesser General Public License v3.0
76 stars 50 forks source link

Use tag for Conductor-usable blocks #403

Open dhouck opened 3 months ago

dhouck commented 3 months ago

Describe the Suggestion

Conductors [can use] (https://github.com/Layers-of-Railways/Railway/blob/9f316c01dd66041f2404a3dcd24ce6e43a5a6d9b/common/src/main/java/com/railwayteam/railways/content/conductor/ConductorEntity.java#L1096) levers, correctly-tagged buttons, and track switches. It would be nice to instead have this be data-based so people could add or remove blocks from the category. Ideally it should just be a new tag which by default contains those blocks, so blocks could also be removed from the list.

Screenshots and Videos

No response

Additional Context

This is a general issue but I thought of it because of Infinity Buttons; see also TeamDiopside/InfinityButtons#37; even if that is fixed they might not apply it to that mod’s levers, or worse they might have a technical reason to not fix it in which case a #railways:conductor_usable tag would let the two mods work together anyway.

IThundxr commented 3 months ago

Yeah this is a pretty simple thing, we could do this change :)

dhouck commented 3 months ago

I will try to do this myself this weekend if nobody gets to it first, but thereʼs an 80% chance Gradle will throw an error nobody I talk to has ever heard of, and I have time to make and debug a really simple fix like this only if I can get things building; I donʼt have time to debug build systems that hate me.

(I donʼt know why I have so many java build system issues; yes most instructions are for Windows and I use Linux, but I think it goes beyond that.)

dhouck commented 2 months ago

I was confused when I made this issue; I was mixing up conductors using a block themselves and possessing a conductor to use a block. I wanted the latter, and it apparently already existed with the tag #railways:conductor_spy_usable. Iʼm not actually sure how to activate the former (looking at the code and comments it involves looking at the conductor?), but should it maybe use the same tag?