From eb804c6f17661ae274d1c270032c4fd1b259aad2 Mon Sep 17 00:00:00 2001 From: Vos Date: Wed, 11 Mar 2026 01:30:35 -0500 Subject: [PATCH] Advancements --- .../advancement/acesbs/get_cigarette.json | 27 ++++++++ .../advancement/acesbs/get_jittery.json | 28 ++++++++ .../advancement/acesbs/get_withdrawal.json | 28 ++++++++ .../minecraft/advancement/acesbs/test.json | 29 -------- .../datagen/ModAdvancementProvider.java | 67 +++++++++++++++++++ 5 files changed, 150 insertions(+), 29 deletions(-) create mode 100644 src/main/generated/data/minecraft/advancement/acesbs/get_cigarette.json create mode 100644 src/main/generated/data/minecraft/advancement/acesbs/get_jittery.json create mode 100644 src/main/generated/data/minecraft/advancement/acesbs/get_withdrawal.json delete mode 100644 src/main/generated/data/minecraft/advancement/acesbs/test.json diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_cigarette.json b/src/main/generated/data/minecraft/advancement/acesbs/get_cigarette.json new file mode 100644 index 0000000..0ba1f94 --- /dev/null +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_cigarette.json @@ -0,0 +1,27 @@ +{ + "parent": "minecraft:acesbs/root", + "criteria": { + "cigarette": { + "conditions": { + "effects": { + "acesbs:cigarette": {} + } + }, + "trigger": "minecraft:effects_changed" + } + }, + "display": { + "description": "Smoke a cigarette", + "icon": { + "count": 1, + "id": "acesbs:cigarette" + }, + "title": "Dulling the Edge" + }, + "requirements": [ + [ + "cigarette" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_jittery.json b/src/main/generated/data/minecraft/advancement/acesbs/get_jittery.json new file mode 100644 index 0000000..4d7d663 --- /dev/null +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_jittery.json @@ -0,0 +1,28 @@ +{ + "parent": "minecraft:acesbs/get_cigarette", + "criteria": { + "jittery": { + "conditions": { + "effects": { + "acesbs:jittery": {} + } + }, + "trigger": "minecraft:effects_changed" + } + }, + "display": { + "description": "Feeling jittery, you could really go for a smoke.", + "hidden": true, + "icon": { + "count": 1, + "id": "minecraft:bee_nest" + }, + "title": "Ants in my Pants!" + }, + "requirements": [ + [ + "jittery" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_withdrawal.json b/src/main/generated/data/minecraft/advancement/acesbs/get_withdrawal.json new file mode 100644 index 0000000..a106b66 --- /dev/null +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_withdrawal.json @@ -0,0 +1,28 @@ +{ + "parent": "minecraft:acesbs/get_jittery", + "criteria": { + "withdrawal": { + "conditions": { + "effects": { + "acesbs:withdrawal": {} + } + }, + "trigger": "minecraft:effects_changed" + } + }, + "display": { + "description": "Suffer from nicotine withdrawal", + "hidden": true, + "icon": { + "count": 1, + "id": "minecraft:flint_and_steel" + }, + "title": "Anybody got a light?" + }, + "requirements": [ + [ + "withdrawal" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancement/acesbs/test.json b/src/main/generated/data/minecraft/advancement/acesbs/test.json deleted file mode 100644 index 5f46d1c..0000000 --- a/src/main/generated/data/minecraft/advancement/acesbs/test.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parent": "minecraft:acesbs/root", - "criteria": { - "iron": { - "conditions": { - "items": [ - { - "items": "minecraft:iron_ingot" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "display": { - "description": "Test advancement", - "icon": { - "count": 1, - "id": "minecraft:iron_ingot" - }, - "title": "Test" - }, - "requirements": [ - [ - "iron" - ] - ], - "sends_telemetry_event": true -} \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModAdvancementProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModAdvancementProvider.java index 345a32d..efbe971 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModAdvancementProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModAdvancementProvider.java @@ -1,15 +1,19 @@ package com.acethewildfire.acesbs.datagen; +import com.acethewildfire.acesbs.effect.ModEffects; import com.acethewildfire.acesbs.item.ModItems; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; 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.item.Items; +import net.minecraft.predicate.entity.EntityEffectPredicate; import net.minecraft.registry.RegistryWrapper; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -39,5 +43,68 @@ public class ModAdvancementProvider extends FabricAdvancementProvider { ) .criterion("tick", TickCriterion.Conditions.createTick()) .build(consumer, "acesbs/root"); + + AdvancementEntry cigarette = Advancement.Builder.create() + .parent(root) + .display( + ModItems.CIGARETTE, + Text.literal("Dulling the Edge"), + Text.literal("Smoke a cigarette"), + null, + AdvancementFrame.TASK, + true, + true, + false + ) + .criterion( + "cigarette", + EffectsChangedCriterion.Conditions.create( + EntityEffectPredicate.Builder.create() + .addEffect(ModEffects.CIGARETTE) + ) + ) + .build(consumer, "acesbs/get_cigarette"); + + AdvancementEntry jittery = Advancement.Builder.create() + .parent(cigarette) + .display( + Items.BEE_NEST, + Text.literal("Ants in my Pants!"), + Text.literal("Feeling jittery, you could really go for a smoke."), + null, + AdvancementFrame.TASK, + true, + true, + true + ) + .criterion( + "jittery", + EffectsChangedCriterion.Conditions.create( + EntityEffectPredicate.Builder.create() + .addEffect(ModEffects.JITTERY) + ) + ) + .build(consumer, "acesbs/get_jittery"); + + AdvancementEntry withdrawal = Advancement.Builder.create() + .parent(jittery) + .display( + Items.FLINT_AND_STEEL, + Text.literal("Anybody got a light?"), + Text.literal("Suffer from nicotine withdrawal"), + null, + AdvancementFrame.TASK, + true, + true, + true + ) + .criterion( + "withdrawal", + EffectsChangedCriterion.Conditions.create( + EntityEffectPredicate.Builder.create() + .addEffect(ModEffects.WITHDRAWAL) + ) + ) + .build(consumer, "acesbs/get_withdrawal"); } }