Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate large gear from axle - integrate large gears into 'mechanism' system #230

Open
Da-Technomancer opened this issue Oct 3, 2022 · 0 comments
Assignees

Comments

@Da-Technomancer
Copy link
Member

Da-Technomancer commented Oct 3, 2022

Suggestion
Currently, large gears have a central 'axle' built in, which can't be removed.
Change it so that large gears don't have a central axle, but one can be added by right clicking with an axle.

Also, rework large gears to be integrated into the 'mechanism' system internally, allowing it to go into the same blockspace as small gears, clutches, etc.
This represents a breaking change (removes the large gear block from the game, making it a subtype of the mechanism block), and will not be implemented until the next breaking version.

Ideas for how to implement this (note to self so I don't forget):

  • Change the GearMaterial property of mechanisms to be a new 'MechanismData' object, which multiple classes exist for for different mechanism types (most version just have GearMaterial, for large gear edges it also stores the location of the center of the large gear), with ability to register various deserializers/serializers for the different types.
  • Fix the hitbox on the large gear edge to actually look kind of round
  • Both the large gear core and the edge blocks are converted to mechanisms
  • Need to add something to the basic mechanism block allowing breaking one mechanism to break mechanisms in other blockspaces

Justification
Large gears generally don't 'play well' with other gear types- they can't go in the same blockspace as small gears, clutches, other axles, etc. This would be a step towards improving overall cohesion of different gear types.

@Da-Technomancer Da-Technomancer self-assigned this Mar 22, 2023
@Da-Technomancer Da-Technomancer changed the title Separate large gear from axle Separate large gear from axle - integrate large gears into 'mechanism' system Mar 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant