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

feat: add attribute filter #196

Merged
merged 18 commits into from
Jul 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/reuse-compliance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v1
uses: fsfe/reuse-action@v4
48 changes: 0 additions & 48 deletions .reuse/dep5

This file was deleted.

74 changes: 74 additions & 0 deletions REUSE.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# SPDX-FileCopyrightText: 2024 klikli-dev
#
# SPDX-License-Identifier: MIT

version = 1
SPDX-PackageName = "theurgy"
SPDX-PackageSupplier = "klikli-dev"
SPDX-PackageDownloadLocation = "https://github.com/klikli-dev/theurgy"

[[annotations]]
path = "src/main/resources/**"
precedence = "aggregate"
SPDX-FileCopyrightText = "2024 klikli-dev"
SPDX-License-Identifier = "CC-BY-4.0"

[[annotations]]
path = "src/generated/resources/**"
precedence = "aggregate"
SPDX-FileCopyrightText = "2024 klikli-dev"
SPDX-License-Identifier = "CC-BY-4.0"

[[annotations]]
path = ".github/**"
precedence = "aggregate"
SPDX-FileCopyrightText = "2022 klikli-dev"
SPDX-License-Identifier = "CC0-1.0"

[[annotations]]
path = ".gitattributes"
precedence = "aggregate"
SPDX-FileCopyrightText = "2022 klikli-dev"
SPDX-License-Identifier = "CC0-1.0"

[[annotations]]
path = ".gitignore"
precedence = "aggregate"
SPDX-FileCopyrightText = "2022 klikli-dev"
SPDX-License-Identifier = "CC0-1.0"

[[annotations]]
path = "settings.gradle"
precedence = "aggregate"
SPDX-FileCopyrightText = "2022 klikli-dev"
SPDX-License-Identifier = "CC0-1.0"

[[annotations]]
path = "build.gradle"
precedence = "aggregate"
SPDX-FileCopyrightText = "2022 klikli-dev"
SPDX-License-Identifier = "CC0-1.0"

[[annotations]]
path = "gradle.properties"
precedence = "aggregate"
SPDX-FileCopyrightText = "2022 klikli-dev"
SPDX-License-Identifier = "CC0-1.0"

[[annotations]]
path = "gradle/**"
precedence = "aggregate"
SPDX-FileCopyrightText = "2015 the original author or authors."
SPDX-License-Identifier = "Apache-2.0"

[[annotations]]
path = "gradlew**"
precedence = "aggregate"
SPDX-FileCopyrightText = "2015 the original author or authors."
SPDX-License-Identifier = "Apache-2.0"

[[annotations]]
path = "CHANGELOG.md"
precedence = "aggregate"
SPDX-FileCopyrightText = "2022 klikli-dev"
SPDX-License-Identifier = "CC0-1.0"
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.21 2024-06-27T13:16:55.3727087 Books: theurgy
// 1.21 2024-07-07T09:06:53.0910757 Books: theurgy
c473bf5aa94f847c736c37f1a9f85c86b8bce95d data/theurgy/modonomicon/books/the_hermetica/book.json
080f617043bd6f04c52e35f07d6a016460dc9b54 data/theurgy/modonomicon/books/the_hermetica/categories/apparatus.json
709d738b9ddcf3d50c465f94cf98003c5809f0ec data/theurgy/modonomicon/books/the_hermetica/categories/getting_started.json
Expand Down Expand Up @@ -72,6 +72,7 @@ d210dbe37b3992c629251f71b362a229acd1714f data/theurgy/modonomicon/books/the_herm
10f1531e3312bd6dd11cd0c1c50f0438a5ad1602 data/theurgy/modonomicon/books/the_hermetica/entries/getting_started/t3_divination_rod.json
640ea6de276f01f74274b35fd3044461067e5e37 data/theurgy/modonomicon/books/the_hermetica/entries/getting_started/t4_divination_rod.json
d30d9cb2ae1884a810c736cdb06bb5b0d6ada124 data/theurgy/modonomicon/books/the_hermetica/entries/getting_started/target_pedestal.json
6142440eb06218cec7282f7a2b6136e869d1621c data/theurgy/modonomicon/books/the_hermetica/entries/logistics/attribute_filter.json
a4d4ee8172f7c14580d3a7759544aac51a44890e data/theurgy/modonomicon/books/the_hermetica/entries/logistics/connection_node.json
2297ec1995a7c83573b45b91a2df7814767bc9ad data/theurgy/modonomicon/books/the_hermetica/entries/logistics/intro.json
53a9b9e65867567ac0b8d413d0d0c47478b9cc2c data/theurgy/modonomicon/books/the_hermetica/entries/logistics/item_extractor.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// 1.21 2024-06-27T12:23:04.785347 Shaped Crafting Recipes
// 1.21 2024-07-06T18:53:49.9909335 Shaped Crafting Recipes
1a1455c9a7af01c27e142f6dbd30d87036d4d091 data/theurgy/recipe/crafting/shaped/amethyst_divination_rod.json
42a5d6c467bfe9598f3ec75079b6da36b9862565 data/theurgy/recipe/crafting/shaped/attribute_filter.json
5947320d23ddb2fea340162d3fa1f499ae60fe60 data/theurgy/recipe/crafting/shaped/calcination_oven.json
fea993b064c542dc56524de4c628f0160ed5850f data/theurgy/recipe/crafting/shaped/caloric_flux_emitter_from_campfire.json
1419a9e2ec026cf4c03d8df57bc4fea711c12872 data/theurgy/recipe/crafting/shaped/caloric_flux_emitter_from_lava_bucket.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// 1.21 2024-06-27T13:16:55.3767089 Languages: en_us
07c0314bf133fdba8083089c3e5e6552ad8f57d7 assets/theurgy/lang/en_us.json
// 1.21 2024-07-07T09:06:53.0986894 Languages: en_us
1576e663bc0c29106c2c40a4797483b00d3317b9 assets/theurgy/lang/en_us.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.21 2024-06-22T16:08:37.3944713 Item Models: theurgy
// 1.21 2024-07-06T18:53:49.9929475 Item Models: theurgy
a402a05d887ec6d271a9350944338d29e1233318 assets/theurgy/models/item/alchemical_salt.json
9fd173e362b6644716da98ba0d15809f85879e78 assets/theurgy/models/item/alchemical_salt_crops.json
9fd173e362b6644716da98ba0d15809f85879e78 assets/theurgy/models/item/alchemical_salt_mineral.json
Expand Down Expand Up @@ -68,6 +68,7 @@ d98e72f91ff36bdbfc59acb899e084f61dd1945f assets/theurgy/models/item/amethyst_div
8358002003ef4ad8f27c267bf89ce48ab1a9423d assets/theurgy/models/item/amethyst_divination_rod/6.json
cb932aae64df4367bae90a210a4c219667b296d5 assets/theurgy/models/item/amethyst_divination_rod/7.json
506a58dad530b0611c44a40752a3e92d2ac8bed9 assets/theurgy/models/item/amethyst_divination_rod/searching.json
83ca7ce35e88eaa1f1f8a25080785ed047df3815 assets/theurgy/models/item/attribute_filter.json
33873ebca7a89182e367495bbf766215c7fea8f8 assets/theurgy/models/item/copper_wire.json
a544904dc7c08099dacc58898f0b16a21fca8e35 assets/theurgy/models/item/divination_rod_t1.json
a3ce39925a8f95304d56e1671dd5c8bc9beb6286 assets/theurgy/models/item/divination_rod_t1/0.json
Expand Down
65 changes: 65 additions & 0 deletions src/generated/resources/assets/theurgy/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,15 @@
"book.theurgy.the_hermetica.getting_started.target_pedestal.name": "Target Sulfur",
"book.theurgy.the_hermetica.getting_started.target_pedestal.target.text": "Place (= [#](008080)right-click[#]()) at least one [Alchemical Sulfur: Quartz](item://theurgy:alchemical_sulfur_quartz) into the target pedestal.\\\nA glowing orb should appear above it.\n\\\n\\\nThe target sulfur will *not* be consumed - you can take it out after the process is finished!\n",
"book.theurgy.the_hermetica.getting_started.target_pedestal.target.title": "The Target",
"book.theurgy.the_hermetica.logistics.attribute_filter.credit.text": "Filter functionality, including all textures, is largely based on the Filters found in the Mod \"Create\". [Click here to learn more about Create](https://github.com/Creators-of-Create/Create).\n\\\n\\\nThis adaption is possible due to Create being Open Source, licensed under the MIT License. A sincere thanks to the creators of create for their foundational work.\n",
"book.theurgy.the_hermetica.logistics.attribute_filter.credit.title": "Credit where Credit is Due",
"book.theurgy.the_hermetica.logistics.attribute_filter.description": "Allows limiting the insertion and extraction to items with specific attributes.",
"book.theurgy.the_hermetica.logistics.attribute_filter.filter.text": "Unlike List Filters, Attribute Filters allow filtering items based on their attributes, such as their tag, damage, or enchantments.\n",
"book.theurgy.the_hermetica.logistics.attribute_filter.name": "Mercurial Attribute Filter",
"book.theurgy.the_hermetica.logistics.attribute_filter.removal.text": "1. Right-click with an empty hand on an inserter or extractor to remove the filter.\n2. The filter will be returned to the player's inventory.\n",
"book.theurgy.the_hermetica.logistics.attribute_filter.removal.title": "Removal",
"book.theurgy.the_hermetica.logistics.attribute_filter.usage.text": "1. Right-click with the filter in hand to open the filter GUI.\n2. Place an item with the desired attribute in the filter.\n3. Scroll to select the right attribute.\n4. Click the \"Add\" or \"Add Inverted\" button to add the attribute or it's opposite to the filter.\n5. Optionally repeat with the same or other items to combine multiple attributes.\n6. Right-click an inserter or extractor with the filter to apply it.\n",
"book.theurgy.the_hermetica.logistics.attribute_filter.usage.title": "Usage",
"book.theurgy.the_hermetica.logistics.connection_node.description": "Extend the Range of Logistics Networks",
"book.theurgy.the_hermetica.logistics.connection_node.image.title": "Demonstration",
"book.theurgy.the_hermetica.logistics.connection_node.large_networks.text": "In networks with multiple inserters and extractors the default behaviour is round-robin. That means each extractor will attempt to split the items evenly between all connected inserters.\n\\\n\\\nThis behaviour can be modified with filters (see further entries in this category). In the future more advanced routing options will be available.\n",
Expand Down Expand Up @@ -1052,6 +1061,7 @@
"item.theurgy.amethyst_divination_rod.tooltip": "A divination rod attuned to find amethyst.",
"item.theurgy.amethyst_divination_rod.tooltip.extended": "This type of divination rod is crafted pre-attuned to find amethysts.",
"item.theurgy.amethyst_divination_rod.tooltip.usage": "§aCraft§r§7 the rod, it is automatically attuned to Amethyst.\n§aRight-Click and hold§r§7 to let the rod search for blocks.\n§aRight-Click without holding§r§7 after a successful search to let the rod show the last found block without consuming durability.\n",
"item.theurgy.attribute_filter": "Mercurial Attribute Filter",
"item.theurgy.copper_wire": "Mercurial Copper Wire",
"item.theurgy.copper_wire.tooltip": "A piece of copper wire capable of transferring matter in its mercurial form.",
"item.theurgy.copper_wire.tooltip.extended": "Can be used to connect different parts of Mercurial Logistics Networks.",
Expand Down Expand Up @@ -1157,6 +1167,46 @@
"item.theurgy.the_hermetica_icon": "The Hermetica Icon",
"item.theurgy.the_hermetica_icon.tooltip": "Dummy item for rendering.",
"itemGroup.theurgy": "Theurgy",
"item_attributes.added_by": "was added by %1$s",
"item_attributes.added_by.inverted": "was not added by %1$s",
"item_attributes.badly_damaged": "is heavily damaged",
"item_attributes.badly_damaged.inverted": "is not heavily damaged",
"item_attributes.blastable": "can be Smelted in a Blast Furnace",
"item_attributes.blastable.inverted": "cannot be Smelted in a Blast Furnace",
"item_attributes.compostable": "can be composted",
"item_attributes.compostable.inverted": "cannot be composted",
"item_attributes.consumable": "can be eaten",
"item_attributes.consumable.inverted": "cannot be eaten",
"item_attributes.damaged": "is damaged",
"item_attributes.damaged.inverted": "is not damaged",
"item_attributes.enchanted": "is enchanted",
"item_attributes.enchanted.inverted": "is unenchanted",
"item_attributes.equipable": "can be equipped",
"item_attributes.equipable.inverted": "cannot be equipped",
"item_attributes.fluid_container": "can store fluids",
"item_attributes.fluid_container.inverted": "cannot store fluids",
"item_attributes.furnace_fuel": "is furnace fuel",
"item_attributes.furnace_fuel.inverted": "is not furnace fuel",
"item_attributes.has_enchant": "is enchanted with %1$s",
"item_attributes.has_enchant.inverted": "is not enchanted with %1$s",
"item_attributes.has_fluid": "contains %1$s",
"item_attributes.has_fluid.inverted": "does not contain %1$s",
"item_attributes.has_name": "has the custom name %1$s",
"item_attributes.has_name.inverted": "does not have the custom name %1$s",
"item_attributes.in_tag": "is tagged %1$s",
"item_attributes.in_tag.inverted": "is not tagged %1$s",
"item_attributes.max_enchanted": "is enchanted at max level",
"item_attributes.max_enchanted.inverted": "is not enchanted at max level",
"item_attributes.not_stackable": "cannot be stacked",
"item_attributes.not_stackable.inverted": "can be stacked",
"item_attributes.placeable": "is placeable",
"item_attributes.placeable.inverted": "is not placeable",
"item_attributes.renamed": "has a custom name",
"item_attributes.renamed.inverted": "does not have a custom name",
"item_attributes.smeltable": "can be Smelted",
"item_attributes.smeltable.inverted": "cannot be Smelted",
"item_attributes.smokable": "can be Smoked",
"item_attributes.smokable.inverted": "cannot be Smoked",
"jei.theurgy.ingredient.sal_ammoniac_crystal.description": "Obtained by mining Sal Ammoniac Ore.",
"message.theurgy.divination_rod.attuning_not_allowed": "§4Warning§r§7: This type of divination rod cannot be manually attuned.",
"message.theurgy.divination_rod.block_disallowed": "§4Warning§r§7: The divination rod cannot be attuned to this type of block: %s.",
Expand Down Expand Up @@ -1223,6 +1273,17 @@
"theurgy.behaviour.selection.summary.sulfuric_flux_emitter.no_selection": "Sulfuric Flux Emitter has no linked pedestals.",
"theurgy.behaviour.selection.summary.sulfuric_flux_emitter.no_sources": "Sulfuric Flux Emitter has no linked source pedestals.",
"theurgy.behaviour.selection.summary.sulfuric_flux_emitter.no_target": "Sulfuric Flux Emitter has no linked target pedestal.",
"theurgy.gui.attribute_filter.accept_list_and_button.tooltip": "Allow-List (All)",
"theurgy.gui.attribute_filter.accept_list_and_button.tooltip.shift": "Items pass if they have ALL of the selected attributes.",
"theurgy.gui.attribute_filter.accept_list_or_button.tooltip": "Allow-List (Any)",
"theurgy.gui.attribute_filter.accept_list_or_button.tooltip.shift": "Items pass if they have ANY of the selected attributes.",
"theurgy.gui.attribute_filter.add_button.tooltip": "Add attribute to list",
"theurgy.gui.attribute_filter.add_inverted.tooltip": "Add opposite attribute to list",
"theurgy.gui.attribute_filter.add_reference_item": "Add Reference Item",
"theurgy.gui.attribute_filter.deny_list_button.tooltip": "Deny-List",
"theurgy.gui.attribute_filter.deny_list_button.tooltip.shift": "Items pass if they do NOT have any of the selected attributes.",
"theurgy.gui.attribute_filter.no_selected_attributes": "No attributes selected",
"theurgy.gui.attribute_filter.selected_attributes": "Selected attributes:",
"theurgy.gui.filter.accept_list_button.tooltip": "Allow-List",
"theurgy.gui.filter.accept_list_button.tooltip.shift": "Items pass if they match any of the above. An empty Allow-List rejects everything.",
"theurgy.gui.filter.confirm_button.tooltip": "Save Filter Settings",
Expand All @@ -1233,6 +1294,10 @@
"theurgy.gui.filter.reset_button.tooltip": "Reset Filter Settings",
"theurgy.gui.filter.respect_data_components_button.tooltip": "Respect Data",
"theurgy.gui.filter.respect_data_components_button.tooltip.shift": "Items pass if they match the data components of the filter item (durability, enchantments and others).",
"theurgy.gui.scroll_input.default_title": "Choose an Option:",
"theurgy.gui.scroll_input.scroll_to_modify": "Scroll to Modify",
"theurgy.gui.scroll_input.scroll_to_select": "Scroll to Select",
"theurgy.gui.scroll_input.shift_scrolls_faster": "Shift to Scroll Faster",
"theurgy.jei.category.accumulation": "Accumulation",
"theurgy.jei.category.calcination": "Calcination",
"theurgy.jei.category.digestion": "Digestion",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "theurgy:item/attribute_filter"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{
"background_u_index": 0,
"background_v_index": 0,
"category": "theurgy:logistics",
"description": "book.theurgy.the_hermetica.logistics.attribute_filter.description",
"hide_while_locked": false,
"icon": {
"item": "theurgy:attribute_filter"
},
"name": "book.theurgy.the_hermetica.logistics.attribute_filter.name",
"pages": [
{
"type": "modonomicon:spotlight",
"anchor": "",
"condition": {
"type": "modonomicon:none"
},
"item": {
"item": "theurgy:attribute_filter"
},
"text": "book.theurgy.the_hermetica.logistics.attribute_filter.filter.text",
"title": ""
},
{
"type": "modonomicon:crafting_recipe",
"anchor": "",
"condition": {
"type": "modonomicon:none"
},
"recipe_id_1": "theurgy:crafting/shaped/attribute_filter",
"text": "",
"title1": "",
"title2": ""
},
{
"type": "modonomicon:text",
"anchor": "",
"condition": {
"type": "modonomicon:none"
},
"show_title_separator": true,
"text": "book.theurgy.the_hermetica.logistics.attribute_filter.usage.text",
"title": "book.theurgy.the_hermetica.logistics.attribute_filter.usage.title",
"use_markdown_in_title": false
},
{
"type": "modonomicon:text",
"anchor": "",
"condition": {
"type": "modonomicon:none"
},
"show_title_separator": true,
"text": "book.theurgy.the_hermetica.logistics.attribute_filter.removal.text",
"title": "book.theurgy.the_hermetica.logistics.attribute_filter.removal.title",
"use_markdown_in_title": false
},
{
"type": "modonomicon:text",
"anchor": "",
"condition": {
"type": "modonomicon:none"
},
"show_title_separator": true,
"text": "book.theurgy.the_hermetica.logistics.attribute_filter.credit.text",
"title": "book.theurgy.the_hermetica.logistics.attribute_filter.credit.title",
"use_markdown_in_title": false
}
],
"parents": [
{
"draw_arrow": true,
"entry": "theurgy:logistics/list_filter",
"line_enabled": true,
"line_reversed": false
}
],
"show_when_any_parent_unlocked": false,
"sort_number": 9,
"x": 7,
"y": 4
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"f": {
"item": "minecraft:feather"
},
"m": {
"item": "theurgy:mercury_shard"
},
"p": {
"item": "minecraft:paper"
}
},
"pattern": [
"pfp",
"pmp",
"ppp"
],
"result": {
"count": 9,
"id": "theurgy:attribute_filter"
}
}
Loading
Loading