Hide glass and soul recipes from jei #696

Merged
ferriarnus merged 7 commits from jei-hide into dev/1.21 2024-06-30 14:24:30 +00:00
ferriarnus commented 2024-06-20 23:02:40 +00:00 (Migrated from github.com)

Description

This PR hides all colored glass from jei, and reduces the broken spawner to the first entry (allay).
The reasoning is that these don't add much to the user experience. They will still show up in recipes as ingredients of course.

Fixes crafting issues related to the powered spawner recipe not showing up.

Note:

  • Soul vials are not hidden, as I think these add usability to the player.
  • Removed all broken spawners with entity data.

Idea:

  • Can we make a JEI component that cycles?

closes: #627

TODO

  • Hidden items also don't show up in recipe inputs at times, that's an issue

Breaking Changes

List any breaking changes in this section, such as: changed/removed APIs, changed or removed items/blocks or modifications to recipes and gameplay mechanics.

Checklist

  • My code follows the style guidelines of this project (.editorconfig, most IDEs will use this for you).
  • I have made corresponding changes to the documentation.
  • My changes are ready for review from a contributor.
# Description This PR hides all colored glass from jei, and reduces the broken spawner to the first entry (allay). The reasoning is that these don't add much to the user experience. They will still show up in recipes as ingredients of course. Fixes crafting issues related to the powered spawner recipe not showing up. Note: - Soul vials are not hidden, as I think these add usability to the player. - Removed all broken spawners with entity data. Idea: - Can we make a JEI component that cycles? closes: #627 <!-- If you're submitting a Draft PR, consider providing a TODO list using checkboxes --> # TODO - [ ] Hidden items also don't show up in recipe inputs at times, that's an issue # Breaking Changes List any breaking changes in this section, such as: changed/removed APIs, changed or removed items/blocks or modifications to recipes and gameplay mechanics. <!-- For drafts, fill this in as you go; if you are leaving draft, make sure these are all complete. --> # Checklist - [ ] My code follows the style guidelines of this project (.editorconfig, most IDEs will use this for you). - [ ] I have made corresponding changes to the documentation. - [ ] My changes are ready for review from a contributor. <!-- Thanks to: https://embeddedartistry.com/blog/2017/08/04/a-github-pull-request-template-for-your-projects/ for the building blocks of this template -->
Rover656 (Migrated from github.com) reviewed 2024-06-29 23:27:42 +00:00
Rover656 (Migrated from github.com) commented 2024-06-29 23:25:02 +00:00

What is the purpose of this change?

What is the purpose of this change?
Rover656 (Migrated from github.com) commented 2024-06-29 23:26:08 +00:00

I think we need a different way of hiding these - removing the ingredients is breaking recipes:

  • coloured glass recipes show the clear glass as the result
  • soul binding with broken spawner shows no mob on the input stack
I think we need a different way of hiding these - removing the ingredients is breaking recipes: - coloured glass recipes show the clear glass as the result - soul binding with broken spawner shows no mob on the input stack
@ -59,0 +67,4 @@
ItemStack itemStack = output.get().getTypedValue().getIngredient();
if (itemStack.is(EIOTags.Items.ENTITY_STORAGE)) {
results = List.of(itemStack);
StoredEntityData storedEntityData = itemStack.getOrDefault(EIODataComponents.STORED_ENTITY, StoredEntityData.EMPTY);
Rover656 (Migrated from github.com) commented 2024-06-29 23:27:33 +00:00

I'm struggling to follow the new logic here - could you maybe explain what you've changed and why?

I'm struggling to follow the new logic here - could you maybe explain what you've changed and why?
ferriarnus (Migrated from github.com) reviewed 2024-06-30 10:26:29 +00:00
ferriarnus (Migrated from github.com) commented 2024-06-30 10:26:29 +00:00

This is so our tooltip logic shows that this item needs a soul to work in jei. It doesn't show up anywhere else, just jei and creative inv. I would keep it like this since a machine with an empty component can be seen as one that needs a soul, while a machine without the component is one that will work without, but can potentially use one.

This is so our tooltip logic shows that this item needs a soul to work in jei. It doesn't show up anywhere else, just jei and creative inv. I would keep it like this since a machine with an empty component can be seen as one that needs a soul, while a machine without the component is one that will work without, but can potentially use one.
ferriarnus (Migrated from github.com) reviewed 2024-06-30 10:26:57 +00:00
ferriarnus (Migrated from github.com) commented 2024-06-30 10:26:57 +00:00

Verified the first one, the second one I'm unsure what you mean

Verified the first one, the second one I'm unsure what you mean
ferriarnus (Migrated from github.com) reviewed 2024-06-30 10:27:52 +00:00
@ -59,0 +67,4 @@
ItemStack itemStack = output.get().getTypedValue().getIngredient();
if (itemStack.is(EIOTags.Items.ENTITY_STORAGE)) {
results = List.of(itemStack);
StoredEntityData storedEntityData = itemStack.getOrDefault(EIODataComponents.STORED_ENTITY, StoredEntityData.EMPTY);
ferriarnus (Migrated from github.com) commented 2024-06-30 10:27:52 +00:00

This logic is to make it so the input soul and output soul match when searching. Otherwise they keep cycling and are out of sync.

This logic is to make it so the input soul and output soul match when searching. Otherwise they keep cycling and are out of sync.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Team-EnderIO/EnderIO#696
No description provided.