Advancements

This commit is contained in:
Vos
2026-03-11 01:30:35 -05:00
parent 1449c553f8
commit eb804c6f17
5 changed files with 150 additions and 29 deletions
@@ -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
}
@@ -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
}
@@ -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
}
@@ -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
}
@@ -1,15 +1,19 @@
package com.acethewildfire.acesbs.datagen; package com.acethewildfire.acesbs.datagen;
import com.acethewildfire.acesbs.effect.ModEffects;
import com.acethewildfire.acesbs.item.ModItems; import com.acethewildfire.acesbs.item.ModItems;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricAdvancementProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricAdvancementProvider;
import net.minecraft.advancement.Advancement; import net.minecraft.advancement.Advancement;
import net.minecraft.advancement.AdvancementEntry; import net.minecraft.advancement.AdvancementEntry;
import net.minecraft.advancement.AdvancementFrame; import net.minecraft.advancement.AdvancementFrame;
import net.minecraft.advancement.criterion.EffectsChangedCriterion;
import net.minecraft.advancement.criterion.ImpossibleCriterion; import net.minecraft.advancement.criterion.ImpossibleCriterion;
import net.minecraft.advancement.criterion.InventoryChangedCriterion; import net.minecraft.advancement.criterion.InventoryChangedCriterion;
import net.minecraft.advancement.criterion.TickCriterion; import net.minecraft.advancement.criterion.TickCriterion;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.item.Items; import net.minecraft.item.Items;
import net.minecraft.predicate.entity.EntityEffectPredicate;
import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.RegistryWrapper;
import net.minecraft.text.Text; import net.minecraft.text.Text;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
@@ -39,5 +43,68 @@ public class ModAdvancementProvider extends FabricAdvancementProvider {
) )
.criterion("tick", TickCriterion.Conditions.createTick()) .criterion("tick", TickCriterion.Conditions.createTick())
.build(consumer, "acesbs/root"); .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");
} }
} }