From acef1529613b947fcbded2b3ebaf005e3c67f9ae Mon Sep 17 00:00:00 2001 From: Mrbysco Date: Sun, 3 Dec 2023 15:41:58 +0100 Subject: [PATCH] Generate advancements Still not all, but not sure all of them are still relevant --- src/generated/resources/.cache/cache | 19 ++ .../advancements/craft_coal_generator.json | 35 +++ .../advancements/craft_coffee_machine.json | 35 +++ .../advancements/craft_crusher.json | 35 +++ .../advancements/craft_double_crusher.json | 35 +++ .../advancements/craft_empowerer.json | 35 +++ .../advancements/craft_energyface.json | 35 +++ .../advancements/craft_item_interface.json | 35 +++ .../advancements/craft_laser_relay.json | 35 +++ .../craft_laser_relay_advanced.json | 35 +++ .../craft_laser_relay_extreme.json | 35 +++ .../advancements/craft_laser_relay_item.json | 35 +++ .../advancements/craft_leaf_generator.json | 35 +++ .../advancements/craft_liquiface.json | 35 +++ .../advancements/craft_phantom_face.json | 36 +++ .../advancements/craft_reconstructor.json | 35 +++ .../advancements/make_first_crystal.json | 35 +++ .../advancements/pickup_coffee.json | 35 +++ .../actuallyadditions/advancements/root.json | 28 +++ .../tags/items/crystals.json | 11 + .../actuallyadditions/api/ActuallyTags.java | 1 + .../data/ActuallyAdditionsData.java | 1 + .../data/AdvancementGenerator.java | 208 ++++++++++++++++++ .../data/ItemTagsGenerator.java | 4 + .../mod/items/ItemBooklet.java | 14 ++ 25 files changed, 882 insertions(+) create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_coal_generator.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_coffee_machine.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_crusher.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_double_crusher.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_empowerer.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_energyface.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_item_interface.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay_advanced.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay_extreme.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay_item.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_leaf_generator.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_liquiface.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_phantom_face.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/craft_reconstructor.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/make_first_crystal.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/pickup_coffee.json create mode 100644 src/generated/resources/data/actuallyadditions/advancements/root.json create mode 100644 src/generated/resources/data/actuallyadditions/tags/items/crystals.json create mode 100644 src/main/java/de/ellpeck/actuallyadditions/data/AdvancementGenerator.java diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 185826177..f4508cc6a 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -454,6 +454,24 @@ f657eabc7321de0b05cf92d9ebdd6f5215a685b5 assets/actuallyadditions/models/item/wo 09674f706bebd8f2631450f1c07f1376b2c3ba01 assets/actuallyadditions/models/item/worm.json 0b1ab8963077c90a5104b516eab36e56c8a07057 assets/actuallyadditions/models/item/xp_solidifier.json ecf1cc8efe1f425334e8e07a6c747641c714c92c assets/actuallyadditions/sounds.json +56048fd14b61c03380903460ec55fabc2df3eaac data/actuallyadditions/advancements/craft_coal_generator.json +58d03f96a5c20611e22d8cec90c972d7218064e8 data/actuallyadditions/advancements/craft_coffee_machine.json +681bfd8939b4a7843700fe00382f703e80070a38 data/actuallyadditions/advancements/craft_crusher.json +3dfef9d6252198582a16fcc85a1abca2f6bad2e3 data/actuallyadditions/advancements/craft_double_crusher.json +04bc0214d706d2011d6450803e406579f2e132f4 data/actuallyadditions/advancements/craft_empowerer.json +889c1be4720a7da3887cd378e3f98d446af25ae3 data/actuallyadditions/advancements/craft_energyface.json +45a78c57fcbbced57321c420e1d0dc050a1b2ff5 data/actuallyadditions/advancements/craft_item_interface.json +ef2c3abb1f2dcb31baa00fa6e70d8d8846440266 data/actuallyadditions/advancements/craft_laser_relay.json +8f81eeffa15e291e4a7cae6f7464746cd0bc834b data/actuallyadditions/advancements/craft_laser_relay_advanced.json +fc1c59cc804274b36d757c59529269bb14841f4a data/actuallyadditions/advancements/craft_laser_relay_extreme.json +aff73cb2465d85abf92d94b5843167166c9b2820 data/actuallyadditions/advancements/craft_laser_relay_item.json +69532a7bd1b199dacb08f4541fc0c27633b391da data/actuallyadditions/advancements/craft_leaf_generator.json +56c4431e4d61926e07073f5265086e67312c0023 data/actuallyadditions/advancements/craft_liquiface.json +f1e0c56dab5fd3516e9d1da7c16831bf4bd3364e data/actuallyadditions/advancements/craft_phantom_face.json +ef621cca24fa11382b856a70fa6f432f081007d7 data/actuallyadditions/advancements/craft_reconstructor.json +d09f28dfb125fc0d58f4e23287d19877db73c0b7 data/actuallyadditions/advancements/make_first_crystal.json +58c901fc6a544f800e641b2ab9f1f4b25d6dce53 data/actuallyadditions/advancements/pickup_coffee.json +1326c214451f5fef68e330a37bfa0433de723f4c data/actuallyadditions/advancements/root.json b679296118ae905d4a15b6bc658cfa7b8048e57f data/actuallyadditions/loot_tables/blocks/atomic_reconstructor.json de3c64d6a363f8e27078d7f7df1a67e4931fd81c data/actuallyadditions/loot_tables/blocks/battery_box.json fb968dc63f2d0a467eff504f3f6ff386080e2433 data/actuallyadditions/loot_tables/blocks/bio_reactor.json @@ -875,6 +893,7 @@ d8611ae9f616794678bb7f2d0c253383f09e8b27 data/actuallyadditions/recipes/vertical c562b938e29b85572f1b30952f5711bca2c9c899 data/actuallyadditions/recipes/wood_casing.json 5d0b3e0b27c0a7f82438fd24673866ce087d47f0 data/actuallyadditions/recipes/wooden_aiot.json a18f00e11fa55ff1b767eeab7a4756c2e0e93429 data/actuallyadditions/tags/items/coffee_beans.json +1714cd34792c6448f7316094c105e2e953b36e73 data/actuallyadditions/tags/items/crystals.json 2290b1829e049ab3002f3576379ad58f6d7b6ace data/actuallyadditions/tags/items/drills.json 8c1e24d7377b6bdf64c13643d94c3826ac925c25 data/actuallyadditions/tags/items/tiny_coals.json 84fb4202cf40368e8c1a1d36bca0a4952aa05866 data/minecraft/tags/blocks/walls.json diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_coal_generator.json b/src/generated/resources/data/actuallyadditions/advancements/craft_coal_generator.json new file mode 100644 index 000000000..10b90820f --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_coal_generator.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:root", + "display": { + "icon": { + "item": "actuallyadditions:coal_generator" + }, + "title": { + "translate": "achievement.actuallyadditions.craftCoalGen" + }, + "description": { + "translate": "achievement.actuallyadditions.craftCoalGen.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "coal_generator": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:coal_generator" + } + ] + } + } + }, + "requirements": [ + [ + "coal_generator" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_coffee_machine.json b/src/generated/resources/data/actuallyadditions/advancements/craft_coffee_machine.json new file mode 100644 index 000000000..3ad10d567 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_coffee_machine.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:pickup_coffee", + "display": { + "icon": { + "item": "actuallyadditions:coffee_machine" + }, + "title": { + "translate": "achievement.actuallyadditions.craftCoffeeMachine" + }, + "description": { + "translate": "achievement.actuallyadditions.craftCoffeeMachine.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "coffee_machine": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:coffee_machine" + } + ] + } + } + }, + "requirements": [ + [ + "coffee_machine" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_crusher.json b/src/generated/resources/data/actuallyadditions/advancements/craft_crusher.json new file mode 100644 index 000000000..d3b5a240f --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_crusher.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_reconstructor", + "display": { + "icon": { + "item": "actuallyadditions:crusher" + }, + "title": { + "translate": "achievement.actuallyadditions.craftCrusher" + }, + "description": { + "translate": "achievement.actuallyadditions.craftCrusher.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "crystal": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:crusher" + } + ] + } + } + }, + "requirements": [ + [ + "crystal" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_double_crusher.json b/src/generated/resources/data/actuallyadditions/advancements/craft_double_crusher.json new file mode 100644 index 000000000..bb0e12447 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_double_crusher.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_crusher", + "display": { + "icon": { + "item": "actuallyadditions:crusher_double" + }, + "title": { + "translate": "achievement.actuallyadditions.craftDoubleCrusher" + }, + "description": { + "translate": "achievement.actuallyadditions.craftDoubleCrusher.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "crystal": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:crusher_double" + } + ] + } + } + }, + "requirements": [ + [ + "crystal" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_empowerer.json b/src/generated/resources/data/actuallyadditions/advancements/craft_empowerer.json new file mode 100644 index 000000000..efe01e237 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_empowerer.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:make_first_crystal", + "display": { + "icon": { + "item": "actuallyadditions:empowerer" + }, + "title": { + "translate": "achievement.actuallyadditions.craftEmpowerer" + }, + "description": { + "translate": "achievement.actuallyadditions.craftEmpowerer.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "empowerer": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:empowerer" + } + ] + } + } + }, + "requirements": [ + [ + "empowerer" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_energyface.json b/src/generated/resources/data/actuallyadditions/advancements/craft_energyface.json new file mode 100644 index 000000000..ae34fdf5a --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_energyface.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_phantom_face", + "display": { + "icon": { + "item": "actuallyadditions:phantom_energyface" + }, + "title": { + "translate": "achievement.actuallyadditions.craftEnergyface" + }, + "description": { + "translate": "achievement.actuallyadditions.craftEnergyface.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "energyface": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:phantom_energyface" + } + ] + } + } + }, + "requirements": [ + [ + "energyface" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_item_interface.json b/src/generated/resources/data/actuallyadditions/advancements/craft_item_interface.json new file mode 100644 index 000000000..f27a264af --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_item_interface.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_laser_relay", + "display": { + "icon": { + "item": "actuallyadditions:item_interface" + }, + "title": { + "translate": "achievement.actuallyadditions.craftItemInterface" + }, + "description": { + "translate": "achievement.actuallyadditions.craftItemInterface.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "item_interface": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:item_interface" + } + ] + } + } + }, + "requirements": [ + [ + "item_interface" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay.json b/src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay.json new file mode 100644 index 000000000..9d921b423 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_reconstructor", + "display": { + "icon": { + "item": "actuallyadditions:laser_relay" + }, + "title": { + "translate": "achievement.actuallyadditions.craftLaserRelay" + }, + "description": { + "translate": "achievement.actuallyadditions.craftLaserRelay.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "laser_relay": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:laser_relay" + } + ] + } + } + }, + "requirements": [ + [ + "laser_relay" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay_advanced.json b/src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay_advanced.json new file mode 100644 index 000000000..80c64d44c --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay_advanced.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_laser_relay", + "display": { + "icon": { + "item": "actuallyadditions:laser_relay_advanced" + }, + "title": { + "translate": "achievement.actuallyadditions.craftLaserRelayAdvanced" + }, + "description": { + "translate": "achievement.actuallyadditions.craftLaserRelayAdvanced.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "laser_relay_advanced": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:laser_relay_advanced" + } + ] + } + } + }, + "requirements": [ + [ + "laser_relay_advanced" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay_extreme.json b/src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay_extreme.json new file mode 100644 index 000000000..0c47c61cc --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay_extreme.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_laser_relay_advanced", + "display": { + "icon": { + "item": "actuallyadditions:laser_relay_extreme" + }, + "title": { + "translate": "achievement.actuallyadditions.craftLaserRelayExtreme" + }, + "description": { + "translate": "achievement.actuallyadditions.craftLaserRelayExtreme.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "laser_relay_extreme": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:laser_relay_extreme" + } + ] + } + } + }, + "requirements": [ + [ + "laser_relay_extreme" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay_item.json b/src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay_item.json new file mode 100644 index 000000000..92f4fa7bd --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_laser_relay_item.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_laser_relay", + "display": { + "icon": { + "item": "actuallyadditions:laser_relay_item" + }, + "title": { + "translate": "achievement.actuallyadditions.craftLaserRelayItem" + }, + "description": { + "translate": "achievement.actuallyadditions.craftLaserRelayItem.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "laser_relay_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:laser_relay_item" + } + ] + } + } + }, + "requirements": [ + [ + "laser_relay_item" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_leaf_generator.json b/src/generated/resources/data/actuallyadditions/advancements/craft_leaf_generator.json new file mode 100644 index 000000000..4e7de054b --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_leaf_generator.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_coal_generator", + "display": { + "icon": { + "item": "actuallyadditions:leaf_generator" + }, + "title": { + "translate": "achievement.actuallyadditions.craftLeafGen" + }, + "description": { + "translate": "achievement.actuallyadditions.craftLeafGen.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "leaf_generator": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:leaf_generator" + } + ] + } + } + }, + "requirements": [ + [ + "leaf_generator" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_liquiface.json b/src/generated/resources/data/actuallyadditions/advancements/craft_liquiface.json new file mode 100644 index 000000000..782ae3951 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_liquiface.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_phantom_face", + "display": { + "icon": { + "item": "actuallyadditions:phantom_liquiface" + }, + "title": { + "translate": "achievement.actuallyadditions.craftLiquiface" + }, + "description": { + "translate": "achievement.actuallyadditions.craftLiquiface.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "liquiface": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:phantom_liquiface" + } + ] + } + } + }, + "requirements": [ + [ + "liquiface" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_phantom_face.json b/src/generated/resources/data/actuallyadditions/advancements/craft_phantom_face.json new file mode 100644 index 000000000..2c8f3334d --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_phantom_face.json @@ -0,0 +1,36 @@ +{ + "parent": "actuallyadditions:root", + "display": { + "icon": { + "item": "actuallyadditions:phantom_itemface" + }, + "title": { + "translate": "achievement.actuallyadditions.craftPhantomface" + }, + "description": { + "translate": "achievement.actuallyadditions.craftPhantomface.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false, + "background": "minecraft:textures/blocks/stone.png" + }, + "criteria": { + "phantom_face": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:phantom_itemface" + } + ] + } + } + }, + "requirements": [ + [ + "phantom_face" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/craft_reconstructor.json b/src/generated/resources/data/actuallyadditions/advancements/craft_reconstructor.json new file mode 100644 index 000000000..405c363a0 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/craft_reconstructor.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_coal_generator", + "display": { + "icon": { + "item": "actuallyadditions:atomic_reconstructor" + }, + "title": { + "translate": "achievement.actuallyadditions.craftReconstructor" + }, + "description": { + "translate": "achievement.actuallyadditions.craftReconstructor.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "atomic_reconstructor": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:atomic_reconstructor" + } + ] + } + } + }, + "requirements": [ + [ + "atomic_reconstructor" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/make_first_crystal.json b/src/generated/resources/data/actuallyadditions/advancements/make_first_crystal.json new file mode 100644 index 000000000..a8ba7e37b --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/make_first_crystal.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_reconstructor", + "display": { + "icon": { + "item": "actuallyadditions:emeradic_crystal" + }, + "title": { + "translate": "achievement.actuallyadditions.makeCrystal" + }, + "description": { + "translate": "achievement.actuallyadditions.makeCrystal.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "crystal": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "tag": "actuallyadditions:crystals" + } + ] + } + } + }, + "requirements": [ + [ + "crystal" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/pickup_coffee.json b/src/generated/resources/data/actuallyadditions/advancements/pickup_coffee.json new file mode 100644 index 000000000..2b2bcada0 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/pickup_coffee.json @@ -0,0 +1,35 @@ +{ + "parent": "actuallyadditions:craft_coal_generator", + "display": { + "icon": { + "item": "actuallyadditions:coffee_beans" + }, + "title": { + "translate": "achievement.actuallyadditions.pickUpCoffee" + }, + "description": { + "translate": "achievement.actuallyadditions.pickUpCoffee.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "coffee_beans": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "actuallyadditions:coffee_beans" + } + ] + } + } + }, + "requirements": [ + [ + "coffee_beans" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/advancements/root.json b/src/generated/resources/data/actuallyadditions/advancements/root.json new file mode 100644 index 000000000..9f0b9dc15 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/advancements/root.json @@ -0,0 +1,28 @@ +{ + "display": { + "icon": { + "item": "actuallyadditions:booklet" + }, + "title": { + "translate": "achievement.actuallyadditions.openBooklet" + }, + "description": { + "translate": "achievement.actuallyadditions.openBooklet.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false, + "background": "minecraft:textures/gui/advancements/backgrounds/stone.png" + }, + "criteria": { + "right_click": { + "trigger": "minecraft:impossible" + } + }, + "requirements": [ + [ + "right_click" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/tags/items/crystals.json b/src/generated/resources/data/actuallyadditions/tags/items/crystals.json new file mode 100644 index 000000000..e95dc7531 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/tags/items/crystals.json @@ -0,0 +1,11 @@ +{ + "replace": false, + "values": [ + "actuallyadditions:restonia_crystal", + "actuallyadditions:palis_crystal", + "actuallyadditions:diamatine_crystal", + "actuallyadditions:void_crystal", + "actuallyadditions:emeradic_crystal", + "actuallyadditions:enori_crystal" + ] +} \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/api/ActuallyTags.java b/src/main/java/de/ellpeck/actuallyadditions/api/ActuallyTags.java index 094531803..501827882 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/api/ActuallyTags.java +++ b/src/main/java/de/ellpeck/actuallyadditions/api/ActuallyTags.java @@ -10,6 +10,7 @@ public final class ActuallyTags { public static final ITag.INamedTag DRILLS = tag("drills"); public static final ITag.INamedTag COFFEE_BEANS = tag("coffee_beans"); public static final ITag.INamedTag TINY_COALS = tag("tiny_coals"); + public static final ITag.INamedTag CRYSTALS = tag("crystals"); private static ITag.INamedTag tag(String name) { return ItemTags.bind(String.format("%s:%s", ActuallyAdditions.MODID, name)); diff --git a/src/main/java/de/ellpeck/actuallyadditions/data/ActuallyAdditionsData.java b/src/main/java/de/ellpeck/actuallyadditions/data/ActuallyAdditionsData.java index 039958eed..5f6bddd82 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/data/ActuallyAdditionsData.java +++ b/src/main/java/de/ellpeck/actuallyadditions/data/ActuallyAdditionsData.java @@ -32,6 +32,7 @@ public class ActuallyAdditionsData { generator.addProvider(new BlockStateGenerator(generator, helper)); generator.addProvider(new ItemModelGenerator(generator, helper)); + generator.addProvider(new AdvancementGenerator(generator, helper)); generator.addProvider(new LaserRecipeGenerator(generator)); generator.addProvider(new ColorChangeGenerator(generator)); generator.addProvider(new EmpoweringRecipeGenerator(generator)); diff --git a/src/main/java/de/ellpeck/actuallyadditions/data/AdvancementGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/data/AdvancementGenerator.java new file mode 100644 index 000000000..3edadddfd --- /dev/null +++ b/src/main/java/de/ellpeck/actuallyadditions/data/AdvancementGenerator.java @@ -0,0 +1,208 @@ +package de.ellpeck.actuallyadditions.data; + +import de.ellpeck.actuallyadditions.api.ActuallyTags; +import de.ellpeck.actuallyadditions.mod.blocks.ActuallyBlocks; +import de.ellpeck.actuallyadditions.mod.items.ActuallyItems; +import net.minecraft.advancements.Advancement; +import net.minecraft.advancements.DisplayInfo; +import net.minecraft.advancements.FrameType; +import net.minecraft.advancements.criterion.ImpossibleTrigger; +import net.minecraft.advancements.criterion.InventoryChangeTrigger; +import net.minecraft.advancements.criterion.ItemPredicate; +import net.minecraft.data.AdvancementProvider; +import net.minecraft.data.DataGenerator; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.text.TranslationTextComponent; +import net.minecraftforge.common.data.ExistingFileHelper; + +import java.util.function.Consumer; + +public class AdvancementGenerator extends AdvancementProvider { + public AdvancementGenerator(DataGenerator gen, ExistingFileHelper exFileHelper) { + super(gen, exFileHelper); + } + + @Override + protected void registerAdvancements(Consumer consumer, ExistingFileHelper exFileHelper) { + Advancement root = Advancement.Builder.advancement() + .display(new DisplayInfo(ActuallyItems.ITEM_BOOKLET.get().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.openBooklet"), + new TranslationTextComponent("achievement.actuallyadditions.openBooklet.desc"), + new ResourceLocation("textures/gui/advancements/backgrounds/stone.png"), FrameType.TASK, true, true, false)) + .addCriterion("right_click", new ImpossibleTrigger.Instance()) + .save(consumer, "actuallyadditions:root"); + + //TODO: Underwater Treasure Chest Advancement? + + Advancement phantomFace = Advancement.Builder.advancement() + .parent(root) + .display(new DisplayInfo(ActuallyBlocks.PHANTOM_ITEMFACE.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftPhantomface"), + new TranslationTextComponent("achievement.actuallyadditions.craftPhantomface.desc"), + new ResourceLocation("textures/blocks/stone.png"), FrameType.TASK, true, true, false)) + .addCriterion("phantom_face", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.PHANTOM_ITEMFACE.get())) + .save(consumer, "actuallyadditions:craft_phantom_face"); + + + Advancement.Builder.advancement() + .parent(phantomFace) + .display(new DisplayInfo(ActuallyBlocks.PHANTOM_LIQUIFACE.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftLiquiface"), + new TranslationTextComponent("achievement.actuallyadditions.craftLiquiface.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("liquiface", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.PHANTOM_LIQUIFACE.get())) + .save(consumer, "actuallyadditions:craft_liquiface"); + + Advancement.Builder.advancement() + .parent(phantomFace) + .display(new DisplayInfo(ActuallyBlocks.PHANTOM_ENERGYFACE.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftEnergyface"), + new TranslationTextComponent("achievement.actuallyadditions.craftEnergyface.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("energyface", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.PHANTOM_ENERGYFACE.get())) + .save(consumer, "actuallyadditions:craft_energyface"); + + + Advancement coalGenerator = Advancement.Builder.advancement() + .parent(root) + .display(new DisplayInfo(ActuallyBlocks.COAL_GENERATOR.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftCoalGen"), + new TranslationTextComponent("achievement.actuallyadditions.craftCoalGen.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("coal_generator", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.COAL_GENERATOR.get())) + .save(consumer, "actuallyadditions:craft_coal_generator"); + + Advancement.Builder.advancement() + .parent(coalGenerator) + .display(new DisplayInfo(ActuallyBlocks.LEAF_GENERATOR.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftLeafGen"), + new TranslationTextComponent("achievement.actuallyadditions.craftLeafGen.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("leaf_generator", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.LEAF_GENERATOR.get())) + .save(consumer, "actuallyadditions:craft_leaf_generator"); + + Advancement coffeeBeans = Advancement.Builder.advancement() + .parent(coalGenerator) + .display(new DisplayInfo(ActuallyItems.COFFEE_BEANS.get().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.pickUpCoffee"), + new TranslationTextComponent("achievement.actuallyadditions.pickUpCoffee.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("coffee_beans", InventoryChangeTrigger.Instance.hasItems(ActuallyItems.COFFEE_BEANS.get())) + .save(consumer, "actuallyadditions:pickup_coffee"); + + Advancement.Builder.advancement() + .parent(coffeeBeans) + .display(new DisplayInfo(ActuallyBlocks.COFFEE_MACHINE.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftCoffeeMachine"), + new TranslationTextComponent("achievement.actuallyadditions.craftCoffeeMachine.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("coffee_machine", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.COFFEE_MACHINE.get())) + .save(consumer, "actuallyadditions:craft_coffee_machine"); + + Advancement reconstructor = Advancement.Builder.advancement() + .parent(coalGenerator) + .display(new DisplayInfo(ActuallyBlocks.ATOMIC_RECONSTRUCTOR.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftReconstructor"), + new TranslationTextComponent("achievement.actuallyadditions.craftReconstructor.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("atomic_reconstructor", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.ATOMIC_RECONSTRUCTOR.get())) + .save(consumer, "actuallyadditions:craft_reconstructor"); + + Advancement makeFirstCrystal = Advancement.Builder.advancement() + .parent(reconstructor) + .display(new DisplayInfo(ActuallyItems.EMERADIC_CRYSTAL.get().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.makeCrystal"), + new TranslationTextComponent("achievement.actuallyadditions.makeCrystal.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("crystal", InventoryChangeTrigger.Instance.hasItems( + ItemPredicate.Builder.item().of(ActuallyTags.Items.CRYSTALS).build()) + ) + .save(consumer, "actuallyadditions:make_first_crystal"); + + Advancement.Builder.advancement() + .parent(makeFirstCrystal) + .display(new DisplayInfo(ActuallyBlocks.EMPOWERER.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftEmpowerer"), + new TranslationTextComponent("achievement.actuallyadditions.craftEmpowerer.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("empowerer", InventoryChangeTrigger.Instance.hasItems(ActuallyBlocks.EMPOWERER.get())) + .save(consumer, "actuallyadditions:craft_empowerer"); + + Advancement craftCrusher = Advancement.Builder.advancement() + .parent(reconstructor) + .display(new DisplayInfo(ActuallyBlocks.CRUSHER.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftCrusher"), + new TranslationTextComponent("achievement.actuallyadditions.craftCrusher.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("crystal", InventoryChangeTrigger.Instance.hasItems( + ItemPredicate.Builder.item().of(ActuallyBlocks.CRUSHER.get()).build()) + ) + .save(consumer, "actuallyadditions:craft_crusher"); + + Advancement craftDoubleCrusher = Advancement.Builder.advancement() + .parent(craftCrusher) + .display(new DisplayInfo(ActuallyBlocks.CRUSHER_DOUBLE.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftDoubleCrusher"), + new TranslationTextComponent("achievement.actuallyadditions.craftDoubleCrusher.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("crystal", InventoryChangeTrigger.Instance.hasItems( + ItemPredicate.Builder.item().of(ActuallyBlocks.CRUSHER_DOUBLE.get()).build()) + ) + .save(consumer, "actuallyadditions:craft_double_crusher"); + + Advancement craftLaserRelay = Advancement.Builder.advancement() + .parent(reconstructor) + .display(new DisplayInfo(ActuallyBlocks.LASER_RELAY.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelay"), + new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelay.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("laser_relay", InventoryChangeTrigger.Instance.hasItems( + ItemPredicate.Builder.item().of(ActuallyBlocks.LASER_RELAY.get()).build()) + ) + .save(consumer, "actuallyadditions:craft_laser_relay"); + + Advancement craftLaserRelayAdvanced = Advancement.Builder.advancement() + .parent(craftLaserRelay) + .display(new DisplayInfo(ActuallyBlocks.LASER_RELAY_ADVANCED.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelayAdvanced"), + new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelayAdvanced.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("laser_relay_advanced", InventoryChangeTrigger.Instance.hasItems( + ItemPredicate.Builder.item().of(ActuallyBlocks.LASER_RELAY_ADVANCED.get()).build()) + ) + .save(consumer, "actuallyadditions:craft_laser_relay_advanced"); + + Advancement craftLaserRelayExtreme = Advancement.Builder.advancement() + .parent(craftLaserRelayAdvanced) + .display(new DisplayInfo(ActuallyBlocks.LASER_RELAY_EXTREME.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelayExtreme"), + new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelayExtreme.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("laser_relay_extreme", InventoryChangeTrigger.Instance.hasItems( + ItemPredicate.Builder.item().of(ActuallyBlocks.LASER_RELAY_EXTREME.get()).build()) + ) + .save(consumer, "actuallyadditions:craft_laser_relay_extreme"); + + Advancement craftLaserRelayItem = Advancement.Builder.advancement() + .parent(craftLaserRelay) + .display(new DisplayInfo(ActuallyBlocks.LASER_RELAY_ITEM.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelayItem"), + new TranslationTextComponent("achievement.actuallyadditions.craftLaserRelayItem.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("laser_relay_item", InventoryChangeTrigger.Instance.hasItems( + ItemPredicate.Builder.item().of(ActuallyBlocks.LASER_RELAY_ITEM.get()).build()) + ) + .save(consumer, "actuallyadditions:craft_laser_relay_item"); + + Advancement craftItemInterface = Advancement.Builder.advancement() + .parent(craftLaserRelay) + .display(new DisplayInfo(ActuallyBlocks.ITEM_INTERFACE.get().asItem().getDefaultInstance(), + new TranslationTextComponent("achievement.actuallyadditions.craftItemInterface"), + new TranslationTextComponent("achievement.actuallyadditions.craftItemInterface.desc"), + null, FrameType.TASK, true, true, false)) + .addCriterion("item_interface", InventoryChangeTrigger.Instance.hasItems( + ItemPredicate.Builder.item().of(ActuallyBlocks.ITEM_INTERFACE.get()).build()) + ) + .save(consumer, "actuallyadditions:craft_item_interface"); + } +} diff --git a/src/main/java/de/ellpeck/actuallyadditions/data/ItemTagsGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/data/ItemTagsGenerator.java index 44d5a7306..1bb00ffc3 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/data/ItemTagsGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/data/ItemTagsGenerator.java @@ -29,5 +29,9 @@ public class ItemTagsGenerator extends ItemTagsProvider { ActuallyItems.DRILL_LIME.get(), ActuallyItems.DRILL_MAGENTA.get(), ActuallyItems.DRILL_ORANGE.get(), ActuallyItems.DRILL_PINK.get(), ActuallyItems.DRILL_PURPLE.get(), ActuallyItems.DRILL_RED.get(), ActuallyItems.DRILL_WHITE.get(), ActuallyItems.DRILL_YELLOW.get() ); + tag(ActuallyTags.Items.CRYSTALS) + .add(ActuallyItems.RESTONIA_CRYSTAL.get(), ActuallyItems.PALIS_CRYSTAL.get(), + ActuallyItems.DIAMATINE_CRYSTAL.get(), ActuallyItems.VOID_CRYSTAL.get(), + ActuallyItems.EMERADIC_CRYSTAL.get(), ActuallyItems.ENORI_CRYSTAL.get()); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBooklet.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBooklet.java index 93f17c90b..60db40c14 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBooklet.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBooklet.java @@ -15,15 +15,20 @@ import de.ellpeck.actuallyadditions.api.booklet.IBookletPage; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.IHudDisplay; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; +import net.minecraft.advancements.Advancement; +import net.minecraft.advancements.AdvancementManager; +import net.minecraft.advancements.PlayerAdvancements; import net.minecraft.client.MainWindow; import net.minecraft.client.Minecraft; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemUseContext; import net.minecraft.util.ActionResult; import net.minecraft.util.ActionResultType; import net.minecraft.util.Hand; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextFormatting; @@ -64,6 +69,15 @@ public class ItemBooklet extends ItemBase implements IHudDisplay { @Override public ActionResult use(World world, PlayerEntity player, Hand hand) { + if (!world.isClientSide) { + ServerPlayerEntity serverPlayer = (ServerPlayerEntity) player; + PlayerAdvancements advancements = serverPlayer.getAdvancements(); + AdvancementManager manager = player.getServer().getAdvancements(); + Advancement advancement = manager.getAdvancement(new ResourceLocation(ActuallyAdditions.MODID, "root")); + if (advancement != null && !advancements.getOrStartProgress(advancement).isDone()) { + advancements.award(advancement, "right_click"); + } + } // player.openGui(ActuallyAdditions.INSTANCE, GuiHandler.GuiTypes.BOOK.ordinal(), world, (int) player.posX, (int) player.posY, (int) player.posZ); // // if (!world.isClientSide) {