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

Data Compat for the Aether & Major Addons #7084

Open
wants to merge 6 commits into
base: mc1.20.1/dev
Choose a base branch
from

Conversation

VoidLeech
Copy link
Contributor

@VoidLeech VoidLeech commented Oct 19, 2024

Adds/Expands data compat for:

  • The Aether
  • Aether Redux
  • Ancient Aether
  • Deep Aether

Consists of:

  • Wood Cutting recipes (all)
  • Flower Milling recipes (all)
  • Grass Milling recipes (D_AET)
  • Bucket Filling/Emptying recipes (AET, D_AET)
  • Ore Crushing recipes (D_AET, A_AET)
  • Path Pressing recipe (D_AET)
  • Clay Milling recipe (A_AET)
  • Mud Mixing recipe (D_AET)
  • Additions to Tags (roots, fan_transparent, upright_on_belt, tree_attachments, modded_stripped_logs, modded_stripped_wood)

Concerns

Data-wise

  • I haven't added milling/crushing recipes for the various stones/sands/gravels as I don't think there is a clear answer that could convincingly be authoritative.
  • I Haven't added ore crushing recipes for AET Gravitite ore, A_AET Valkyrum ore, or AET_R Veridium ore as whether these drop raw versions of the ore is dependent on a config in Aether Redux.
  • I haven't added milling recipes for some grasses/ferns since they have no drops (such as seeds) besides themselves in their loot tables, but could I guess still have milling recipes into dyes. Open to suggestions.
  • Some of the Aether Redux flowers lack crafting recipes to dyes in the base mod but I felt it appropriate to still add milling recipes for these.
  • Some of the flower milling recipes could maybe have a secondary output besides the main dye. Open to suggestions.
  • Yes the infernia produces blaze powder, it does so in the base mod.

Code-wise

Generally, I've kept code changes to a minimum (helpers at most), except for:

  • To facilitate some of the filling/emptying datagen, I've added two datagen classes that extend FluidStack and FluidIngredient, in name only, s.t. the datagen is not dependant on having the fluid exist at compile/runtime. (Deep Aether adds a new Fluid)

Then there's some observations that would imo improve the codebase but seem out of scope of this PR (by adding code additions/changes + refactors into a primarily data PR)

  • I've added a new helper to MillingRecipeGen for modded flowers (or really anything that only outputs items available at compile/runtime) that could replace some of the current helpers that all just kinda seem like duplicates apart from the Mod used.
  • Some of the various wood helpers could use some changes to make adding recipes/tags for stems/hyphae easier.
  • The JEI category already produces this recipe (from a capability?) somewhere, but since I add a proper recipe draining the skyroot milk bucket correctly produces a skyroot bucket. Still displays though.
    image
  • Cloudcap & Jellyshroom cap blocks don't get broken by mechanical saws when they cut the stems, since mushroom blocks/the wart block (n/a) tag are hardcoded atm.

@IThundxr IThundxr added the pr type: feature PR adds a new feature or changes an existing feature label Oct 19, 2024
@Deathlyoof
Copy link

does this currently work to fix the issues between aether and ancient aether? would this also fix deep aether as that is currently experiencing a similar problem even without ancient aether

@VoidLeech
Copy link
Contributor Author

VoidLeech commented Dec 21, 2024

No, that’s not Create’s job, and it can’t. There’s no guarantee the worldgen files from Ancient Aether wouldn’t be loaded afterwards, and crash anyway.

I’ve linked an open PR (that the mod author has seen but not had time to test, merge, and release yet) you could clone and build. Someone’s also forked my fork to setup a github actions build you could grab the artifact from. This has been fixed in Ancient Aether.

I’m not aware of any incompatibility (my pack works fine) between Aether & Deep Aether.

Comment on lines 169 to 187
// The Aether
AET_1 = cuttingCompat(Mods.AET, "skyroot"),
AET_2 = stripAndMakePlanks(Mods.AET, "golden_oak_log", "stripped_skyroot_log", null),
AET_3 = stripAndMakePlanks(Mods.AET, "golden_oak_wood", "stripped_skyroot_wood", null),

// Deep Aether
D_AET = cuttingCompat(Mods.D_AET, "roseroot", "yagroot", "cruderoot", "conberry", "sunroot"),

// Ancient Aether
A_AET = cuttingCompat(Mods.A_AET, "highsproot", "sakura"),

// Aether Redux
AET_R_1 = cuttingCompat(Mods.AET_R, "fieldsproot", "blightwillow", "crystal", "glacia"),
AET_R_2 = stripAndMakePlanks(Mods.AET_R, "sporing_blightwillow_log", "stripped_blightwillow_log", null),
AET_R_3 = stripAndMakePlanks(Mods.AET_R, "sporing_blightwillow_wood", "stripped_blightwillow_wood", null),
AET_R_4 = stripAndMakePlanks(Mods.AET_R, "cloudcap_stem", "stripped_cloudcap_stem", "cloudcap_planks"),
AET_R_5 = stripAndMakePlanks(Mods.AET_R, "cloudcap_hyphae", "stripped_cloudcap_hyphae", "cloudcap_planks"),
AET_R_6 = stripAndMakePlanks(Mods.AET_R, null, "jellyshroom_stem", "jellyshroom_planks"),
AET_R_7 = stripAndMakePlanks(Mods.AET_R, null, "jellyshroom_hyphae", "jellyshroom_planks")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This overlaps with some changes that've been done privately to make these recipes easier to generate, could you revert the changes here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@VoidLeech VoidLeech requested a review from IThundxr January 12, 2025 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr type: feature PR adds a new feature or changes an existing feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants