From 444e54518d8187698e58d6a68482e49af66d0561 Mon Sep 17 00:00:00 2001 From: Vos Date: Thu, 26 Mar 2026 17:29:35 -0500 Subject: [PATCH] 2.1.0 Advancements Part 2 --- .../acesbs/get_ashen_steel_pickaxe.json | 29 +++++++ .../advancement/acesbs/get_cigarette.json | 2 +- .../advancement/acesbs/get_hammer.json | 62 ++++++++++++++ .../acesbs/get_prisma_steel_pickaxe.json | 29 +++++++ .../advancement/acesbs/get_tobacco_seeds.json | 29 +++++++ .../com/acethewildfire/acesbs/PATCH_NOTES.md | 1 + .../java/com/acethewildfire/acesbs/TODO.txt | 5 -- .../datagen/ModAdvancementProvider.java | 85 ++++++++++++++++++- .../acesbs/memes/500_cigarettes.json | 2 +- 9 files changed, 235 insertions(+), 9 deletions(-) create mode 100644 src/main/generated/data/minecraft/advancement/acesbs/get_ashen_steel_pickaxe.json create mode 100644 src/main/generated/data/minecraft/advancement/acesbs/get_hammer.json create mode 100644 src/main/generated/data/minecraft/advancement/acesbs/get_prisma_steel_pickaxe.json create mode 100644 src/main/generated/data/minecraft/advancement/acesbs/get_tobacco_seeds.json diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_ashen_steel_pickaxe.json b/src/main/generated/data/minecraft/advancement/acesbs/get_ashen_steel_pickaxe.json new file mode 100644 index 0000000..107ccb9 --- /dev/null +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_ashen_steel_pickaxe.json @@ -0,0 +1,29 @@ +{ + "parent": "minecraft:acesbs/get_infernal_ashes", + "criteria": { + "get_ashen_steel_pickaxe": { + "conditions": { + "items": [ + { + "items": "acesbs:ashen_steel_pickaxe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "display": { + "description": "Make a Ashen Steel Pickaxe", + "icon": { + "count": 1, + "id": "acesbs:ashen_steel_pickaxe" + }, + "title": "Hot Miners in Your Area" + }, + "requirements": [ + [ + "get_ashen_steel_pickaxe" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_cigarette.json b/src/main/generated/data/minecraft/advancement/acesbs/get_cigarette.json index 0ba1f94..316f844 100644 --- a/src/main/generated/data/minecraft/advancement/acesbs/get_cigarette.json +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_cigarette.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:acesbs/root", + "parent": "minecraft:acesbs/get_tobacco_seeds", "criteria": { "cigarette": { "conditions": { diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_hammer.json b/src/main/generated/data/minecraft/advancement/acesbs/get_hammer.json new file mode 100644 index 0000000..5634945 --- /dev/null +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_hammer.json @@ -0,0 +1,62 @@ +{ + "parent": "minecraft:acesbs/root", + "criteria": { + "get_ashen_hammer": { + "conditions": { + "items": [ + { + "items": "acesbs:ashen_steel_hammer" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "get_fractal_hammer": { + "conditions": { + "items": [ + { + "items": "acesbs:fractal_diamond_hammer" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "get_hellfire_hammer": { + "conditions": { + "items": [ + { + "items": "acesbs:hellfire_diamond_hammer" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "get_prisma_hammer": { + "conditions": { + "items": [ + { + "items": "acesbs:prisma_steel_hammer" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "display": { + "description": "Obtain any Hammer", + "icon": { + "count": 1, + "id": "acesbs:fractal_diamond_hammer" + }, + "title": "Stop! Hammer time!" + }, + "requirements": [ + [ + "get_prisma_hammer", + "get_ashen_hammer", + "get_hellfire_hammer", + "get_fractal_hammer" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_prisma_steel_pickaxe.json b/src/main/generated/data/minecraft/advancement/acesbs/get_prisma_steel_pickaxe.json new file mode 100644 index 0000000..9a78b70 --- /dev/null +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_prisma_steel_pickaxe.json @@ -0,0 +1,29 @@ +{ + "parent": "minecraft:acesbs/get_stable_entropy", + "criteria": { + "get_prisma_steel_pickaxe": { + "conditions": { + "items": [ + { + "items": "acesbs:prisma_steel_pickaxe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "display": { + "description": "Make a Prisma Steel Pickaxe", + "icon": { + "count": 1, + "id": "acesbs:prisma_steel_pickaxe" + }, + "title": "Getting an Upgrade²" + }, + "requirements": [ + [ + "get_prisma_steel_pickaxe" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancement/acesbs/get_tobacco_seeds.json b/src/main/generated/data/minecraft/advancement/acesbs/get_tobacco_seeds.json new file mode 100644 index 0000000..11ed85c --- /dev/null +++ b/src/main/generated/data/minecraft/advancement/acesbs/get_tobacco_seeds.json @@ -0,0 +1,29 @@ +{ + "parent": "minecraft:acesbs/root", + "criteria": { + "get_tobacco_seeds": { + "conditions": { + "items": [ + { + "items": "acesbs:tobacco_seeds" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "display": { + "description": "Ude an Entropic Evicerator to turn Wheat Seeds into Tobacco Seeds.", + "icon": { + "count": 1, + "id": "acesbs:tobacco_seeds" + }, + "title": "Cooking with Chaos" + }, + "requirements": [ + [ + "get_tobacco_seeds" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/PATCH_NOTES.md b/src/main/java/com/acethewildfire/acesbs/PATCH_NOTES.md index 56858a4..6cbe017 100644 --- a/src/main/java/com/acethewildfire/acesbs/PATCH_NOTES.md +++ b/src/main/java/com/acethewildfire/acesbs/PATCH_NOTES.md @@ -6,6 +6,7 @@ - Fire Oak Trees and associated wood blocks. Obtainable by placing an oak sapling and infernal ashes in an Entropic Entangler - Fractal Diamonds can now be obtained by placing a diamond and stable entropy into an entropic entangler. They can be used to craft tools and armor. They have the same effect as Prisma Steel and drop additional ores when mining. - Hellfire Diamonds can now be obtained by placing a diamond and infernal ashes into an entropic entangler. They can be used to craft tools and armor. They automatically smelt items that are smeltable. (Ex: Ores->ingots, logs->charcoal, sand->glass). +- More Advancements! ## Fixes - Blocks of Ashen Steel now have a recipe and drop when mined. Not sure how I missed that one. - Hammers are now enchantable and are compatible with pickaxe enchantments. diff --git a/src/main/java/com/acethewildfire/acesbs/TODO.txt b/src/main/java/com/acethewildfire/acesbs/TODO.txt index 748dc1d..6ddff58 100644 --- a/src/main/java/com/acethewildfire/acesbs/TODO.txt +++ b/src/main/java/com/acethewildfire/acesbs/TODO.txt @@ -98,11 +98,6 @@ O Fren (Stable Entropy on a Creeper) (Move to Conversion manager?) - Tarr Slime (Prisma and Magmacube) Advancements -- Get Raw Entropy -- Get Infernal Ashes -- Get Raw Endtropy -- Stabilize First Entropy -- Eviscerate Seeds - Make Prisma Steel - Make Ashen Steel - Make Fractal Diamond diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModAdvancementProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModAdvancementProvider.java index 9b523be..a197c08 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModAdvancementProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModAdvancementProvider.java @@ -1,21 +1,30 @@ package com.acethewildfire.acesbs.datagen; +import com.acethewildfire.acesbs.block.ModBlocks; import com.acethewildfire.acesbs.effect.ModEffects; -import com.acethewildfire.acesbs.item.ModItems; +import com.acethewildfire.acesbs.item.*; 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.AdvancementRequirements; import net.minecraft.advancement.criterion.*; +import net.minecraft.block.Blocks; import net.minecraft.item.Item; import net.minecraft.item.Items; +import net.minecraft.predicate.BlockPredicate; +import net.minecraft.predicate.NumberRange; import net.minecraft.predicate.entity.EntityEffectPredicate; +import net.minecraft.predicate.entity.LocationPredicate; import net.minecraft.registry.Registries; import net.minecraft.registry.RegistryWrapper; import net.minecraft.text.Text; import net.minecraft.util.Identifier; +import net.minecraft.util.math.intprovider.UniformIntProvider; +import java.util.Arrays; +import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; @@ -42,8 +51,10 @@ public class ModAdvancementProvider extends FabricAdvancementProvider { .criterion("tick", TickCriterion.Conditions.createTick()) .build(consumer, "acesbs/root"); + AdvancementEntry tobacco_seeds = getItemAdvancement(root, ModItems.TOBACCO_SEEDS, "Cooking with Chaos", "Ude an Entropic Evicerator to turn Wheat Seeds into Tobacco Seeds.", consumer); + AdvancementEntry cigarette = Advancement.Builder.create() - .parent(root) + .parent(tobacco_seeds) .display( ModItems.CIGARETTE, Text.literal("Dulling the Edge"), @@ -120,7 +131,77 @@ public class ModAdvancementProvider extends FabricAdvancementProvider { AdvancementEntry stable_endtropy = getItemAdvancement(raw_endtropy, ModItems.STABLE_ENDTROPY, "Echoes of The End", "Stabilize a piece of Raw Endtropy", consumer); + AdvancementEntry prisma_pickaxe = getItemAdvancement(stable_entropy, PrismaSteelItems.PRISMA_STEEL_PICKAXE, "Getting an Upgrade²", "Make a Prisma Steel Pickaxe", consumer); + AdvancementEntry ashen_pickaxe = getItemAdvancement(infernal_ashes, AshenSteelItems.ASHEN_STEEL_PICKAXE, "Hot Miners in Your Area", "Make a Ashen Steel Pickaxe", consumer); + + AdvancementEntry hammer_time = Advancement.Builder.create() + .parent(root) + .display( + FractalDiamondItems.FRACTAL_DIAMOND_HAMMER, + Text.literal("Stop! Hammer time!"), + Text.literal("Obtain any Hammer"), + null, + AdvancementFrame.TASK, + true, + true, + false + ) + .criterion( + "get_prisma_hammer", + InventoryChangedCriterion.Conditions.items( + PrismaSteelItems.PRISMA_STEEL_HAMMER + ) + + ) + .criterion( + "get_ashen_hammer", + InventoryChangedCriterion.Conditions.items( + AshenSteelItems.ASHEN_STEEL_HAMMER + ) + + ) + .criterion( + "get_fractal_hammer", + InventoryChangedCriterion.Conditions.items( + FractalDiamondItems.FRACTAL_DIAMOND_HAMMER + ) + + ) + .criterion( + "get_hellfire_hammer", + InventoryChangedCriterion.Conditions.items( + HellfireDiamondItems.HELLFIRE_DIAMOND_HAMMER + ) + + ) + .requirements( + new AdvancementRequirements( + List.of(List.of("get_prisma_hammer", "get_ashen_hammer", "get_hellfire_hammer", "get_fractal_hammer")) + ) + ) + .build(consumer, "acesbs/get_hammer"); + +// AdvancementEntry violent_reaction = Advancement.Builder.create() +// .parent(root) +// .display( +// ModBlocks.RAW_ENTROPY_BLOCK, +// Text.literal("A Violent Reaction"), +// Text.literal("Step on a Block of Raw Entropy"), +// null, +// AdvancementFrame.TASK, +// true, +// true, +// false +// ) +// .criterion( +// "step_on_block", +// TickCriterion.Conditions.createLocation( +// new LocationPredicate.Builder() +// .block(BlockPredicate.Builder.create().blocks(Registries.BLOCK, ModBlocks.RAW_ENTROPY_BLOCK)) +// ) +// +// ).build(consumer, "acesbs/step_raw_entropy"); } AdvancementEntry getItemAdvancement(AdvancementEntry parent, Item item, String title, String subtitle, Consumer consumer){ diff --git a/src/main/resources/data/minecraft/advancement/acesbs/memes/500_cigarettes.json b/src/main/resources/data/minecraft/advancement/acesbs/memes/500_cigarettes.json index b0866dd..69c9aae 100644 --- a/src/main/resources/data/minecraft/advancement/acesbs/memes/500_cigarettes.json +++ b/src/main/resources/data/minecraft/advancement/acesbs/memes/500_cigarettes.json @@ -7,7 +7,7 @@ "rewards": { "experience": 50 }, - "parent": "minecraft:acesbs/root", + "parent": "minecraft:acesbs/get_tobacco_seeds", "display": { "icon": { "id": "acesbs:cigarette"