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

Tinker's Construct manuals, Dreamcraft edition #797

Merged
merged 21 commits into from
Jan 30, 2024

Conversation

YannickMG
Copy link
Contributor

@YannickMG YannickMG commented Jan 27, 2024

This PR does 3 things:

  • Adds the Recipe interface and related classes to manipulate recipe arguments and provide them to several consumers.
  • Provide .lang file entries for Tinker's Construct manual contents.
  • Customizes Tinker's Construct manual contents to better fit within GTNH.

It is dependent on GTNewHorizons/TinkersConstruct#109 to fully take effect.

The list of content changes is too large to list here but it can be determined from commits that change the baseline lang entries added in this PR.

Known issues:

  • The GigaGrabFab tools are displayed instead of GregTech tools.

Sample screenshots

image image image image image image image image image image image

@OneEyeMaker
Copy link
Contributor

Good job! More customizable books is always great.

One comment about code: I found multiple classes and methods with package-private visibility. Please, set explicit visibility for these ones (where possible) and comment where package-private visibility is intended.

@YannickMG
Copy link
Contributor Author

Good job! More customizable books is always great.

One comment about code: I found multiple classes and methods with package-private visibility. Please, set explicit visibility for these ones (where possible) and comment where package-private visibility is intended.

I couldn't find a package-private class member I wrote that didn't have that visibility on purpose, I've made absolutely everything I could private. In cases where I didn't actually call package private methods from other classes in that package but used them in tests, I annotated these methods with @VisibleForTesting.

As for public members I try to have them implement an interface as much as possible, so most of them will have @Override to document the reason for their visibility.

Can you clarify what kind of documentation you're expecting to see? Should I annotate them both package-private and public methods with their reason for not being private?

@YannickMG
Copy link
Contributor Author

I can definitely document why the classes themselves are package-private, that makes sense.

@YannickMG
Copy link
Contributor Author

And come to think of it, it's probably better for GameRegistry to be public since it's meant to be used with Recipe which is also public. Let me know what you think.

@YannickMG YannickMG force-pushed the tico-manuals-dreamcraft-edition branch from be5d9d1 to d1c2ae4 Compare January 30, 2024 00:58
@Dream-Master Dream-Master merged commit 877ea9f into master Jan 30, 2024
1 check passed
@Dream-Master Dream-Master deleted the tico-manuals-dreamcraft-edition branch January 30, 2024 08:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants