From 2501315cc7fe23ce30e99cade15decf0591de9d1 Mon Sep 17 00:00:00 2001 From: Vos Date: Wed, 25 Mar 2026 23:20:08 -0500 Subject: [PATCH] 2.1.0 Advancements --- .../acesbs/get_infernal_ashes.json | 29 +++++++++++ .../advancement/acesbs/get_raw_endtropy.json | 29 +++++++++++ .../advancement/acesbs/get_raw_entropy.json | 29 +++++++++++ .../acesbs/get_stable_endtropy.json | 29 +++++++++++ .../acesbs/get_stable_entropy.json | 29 +++++++++++ .../java/com/acethewildfire/acesbs/TODO.txt | 1 - .../datagen/ModAdvancementProvider.java | 51 +++++++++++++++++-- 7 files changed, 191 insertions(+), 6 deletions(-) create mode 100644 src/main/generated/data/minecraft/advancement/acesbs/get_infernal_ashes.json create mode 100644 src/main/generated/data/minecraft/advancement/acesbs/get_raw_endtropy.json create mode 100644 src/main/generated/data/minecraft/advancement/acesbs/get_raw_entropy.json create mode 100644 src/main/generated/data/minecraft/advancement/acesbs/get_stable_endtropy.json create mode 100644 src/main/generated/data/minecraft/advancement/acesbs/get_stable_entropy.json diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_infernal_ashes.json b/src/main/generated/data/minecraft/advancement/acesbs/get_infernal_ashes.json new file mode 100644 index 0000000..524e98f --- /dev/null +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_infernal_ashes.json @@ -0,0 +1,29 @@ +{ + "parent": "minecraft:acesbs/root", + "criteria": { + "get_infernal_ashes": { + "conditions": { + "items": [ + { + "items": "acesbs:infernal_ashes" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "display": { + "description": "Obtain a pile of Infernal Ashes", + "icon": { + "count": 1, + "id": "acesbs:infernal_ashes" + }, + "title": "The Ultimate Spice" + }, + "requirements": [ + [ + "get_infernal_ashes" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_raw_endtropy.json b/src/main/generated/data/minecraft/advancement/acesbs/get_raw_endtropy.json new file mode 100644 index 0000000..f54c504 --- /dev/null +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_raw_endtropy.json @@ -0,0 +1,29 @@ +{ + "parent": "minecraft:acesbs/root", + "criteria": { + "get_raw_endtropy": { + "conditions": { + "items": [ + { + "items": "acesbs:raw_endtropy" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "display": { + "description": "Obtain a piece of Raw Endtropy", + "icon": { + "count": 1, + "id": "acesbs:raw_endtropy" + }, + "title": "The Ore at the End of the Game" + }, + "requirements": [ + [ + "get_raw_endtropy" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_raw_entropy.json b/src/main/generated/data/minecraft/advancement/acesbs/get_raw_entropy.json new file mode 100644 index 0000000..0213dd9 --- /dev/null +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_raw_entropy.json @@ -0,0 +1,29 @@ +{ + "parent": "minecraft:acesbs/root", + "criteria": { + "get_raw_entropy": { + "conditions": { + "items": [ + { + "items": "acesbs:raw_entropy" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "display": { + "description": "Obtain a piece of Raw Entropy", + "icon": { + "count": 1, + "id": "acesbs:raw_entropy" + }, + "title": "Tastes like TV Static" + }, + "requirements": [ + [ + "get_raw_entropy" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_stable_endtropy.json b/src/main/generated/data/minecraft/advancement/acesbs/get_stable_endtropy.json new file mode 100644 index 0000000..3a6941e --- /dev/null +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_stable_endtropy.json @@ -0,0 +1,29 @@ +{ + "parent": "minecraft:acesbs/get_raw_endtropy", + "criteria": { + "get_stable_endtropy": { + "conditions": { + "items": [ + { + "items": "acesbs:stable_endtropy" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "display": { + "description": "Stabilize a piece of Raw Endtropy", + "icon": { + "count": 1, + "id": "acesbs:stable_endtropy" + }, + "title": "Echoes of The End" + }, + "requirements": [ + [ + "get_stable_endtropy" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_stable_entropy.json b/src/main/generated/data/minecraft/advancement/acesbs/get_stable_entropy.json new file mode 100644 index 0000000..0046491 --- /dev/null +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_stable_entropy.json @@ -0,0 +1,29 @@ +{ + "parent": "minecraft:acesbs/get_raw_entropy", + "criteria": { + "get_stable_entropy": { + "conditions": { + "items": [ + { + "items": "acesbs:stable_entropy" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "display": { + "description": "Stabilize a piece of Raw Entropy", + "icon": { + "count": 1, + "id": "acesbs:stable_entropy" + }, + "title": "Chaos: Contained" + }, + "requirements": [ + [ + "get_stable_entropy" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/TODO.txt b/src/main/java/com/acethewildfire/acesbs/TODO.txt index 3264674..748dc1d 100644 --- a/src/main/java/com/acethewildfire/acesbs/TODO.txt +++ b/src/main/java/com/acethewildfire/acesbs/TODO.txt @@ -86,7 +86,6 @@ Blocks - Crystalized Entropy Retexture (Stained Glass version of Stable Entropy) - 2 Player Bed - Incense Burner -- Red Leaves Mobs O Fren (Stable Entropy on a Creeper) (Move to Conversion manager?) diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModAdvancementProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModAdvancementProvider.java index cceaa2f..9b523be 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModAdvancementProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModAdvancementProvider.java @@ -7,13 +7,11 @@ import net.fabricmc.fabric.api.datagen.v1.provider.FabricAdvancementProvider; import net.minecraft.advancement.Advancement; import net.minecraft.advancement.AdvancementEntry; import net.minecraft.advancement.AdvancementFrame; -import net.minecraft.advancement.criterion.EffectsChangedCriterion; -import net.minecraft.advancement.criterion.ImpossibleCriterion; -import net.minecraft.advancement.criterion.InventoryChangedCriterion; -import net.minecraft.advancement.criterion.TickCriterion; -import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.advancement.criterion.*; +import net.minecraft.item.Item; import net.minecraft.item.Items; import net.minecraft.predicate.entity.EntityEffectPredicate; +import net.minecraft.registry.Registries; import net.minecraft.registry.RegistryWrapper; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -106,5 +104,48 @@ public class ModAdvancementProvider extends FabricAdvancementProvider { ) ) .build(consumer, "acesbs/get_withdrawal"); + + AdvancementEntry raw_entropy = getItemAdvancement(root, ModItems.RAW_ENTROPY, + "Tastes like TV Static", "Obtain a piece of Raw Entropy", consumer); + + AdvancementEntry stable_entropy = getItemAdvancement(raw_entropy, ModItems.STABLE_ENTROPY, + "Chaos: Contained", "Stabilize a piece of Raw Entropy", consumer); + + AdvancementEntry infernal_ashes = getItemAdvancement(root, ModItems.INFERNAL_ASHES, + "The Ultimate Spice", "Obtain a pile of Infernal Ashes", consumer); + + AdvancementEntry raw_endtropy = getItemAdvancement(root, ModItems.RAW_ENDTROPY, + "The Ore at the End of the Game", "Obtain a piece of Raw Endtropy", consumer); + + AdvancementEntry stable_endtropy = getItemAdvancement(raw_endtropy, ModItems.STABLE_ENDTROPY, + "Echoes of The End", "Stabilize a piece of Raw Endtropy", consumer); + + + } + + AdvancementEntry getItemAdvancement(AdvancementEntry parent, Item item, String title, String subtitle, Consumer consumer){ + Identifier id = Registries.ITEM.getId(item); + String itemId = id.getPath(); + + return Advancement.Builder.create() + .parent(parent) + .display( + item, + Text.literal(title), + Text.literal(subtitle), + null, + AdvancementFrame.TASK, + true, + true, + false + ) + .criterion( + "get_" + itemId, + InventoryChangedCriterion.Conditions.items( + item + ) + + ) + .build(consumer, "acesbs/get_" + itemId); } }