diff --git a/src/generated/resources/.cache/577536f6ebfcf295de7fbac0bb53580fb6178459 b/src/generated/resources/.cache/577536f6ebfcf295de7fbac0bb53580fb6178459 index 109b50586..f544f24df 100644 --- a/src/generated/resources/.cache/577536f6ebfcf295de7fbac0bb53580fb6178459 +++ b/src/generated/resources/.cache/577536f6ebfcf295de7fbac0bb53580fb6178459 @@ -1,4 +1,4 @@ -// 1.21.1 2025-04-04T15:18:11.251884 Superb Warfare Advancements +// 1.21.1 2025-05-09T00:21:36.5680126 Superb Warfare Advancements 03d6ad4d0bdd3ba66b765dcae9705692070e7f94 data/superbwarfare/advancement/main/ancient_technology.json d24849d7fc09d8cc9a27203e57f1fd42f72a27a7 data/superbwarfare/advancement/main/banzai.json 70bd4fa04553c415c80656c4b07cf3814a13110c data/superbwarfare/advancement/main/best_friend.json @@ -13,5 +13,5 @@ c051b49513bac2be82c2c24e236734a5c3a358c8 data/superbwarfare/advancement/main/enc 926900f8c598a039ffbf8cac552f397c522f82c7 data/superbwarfare/advancement/main/legendary_blueprint.json 52417b43fbf1ca3a41d95ee51eafdc4f734bfaa3 data/superbwarfare/advancement/main/physics_excalibur.json 392baba1930be09abc70836090c884ad4ada82e8 data/superbwarfare/advancement/main/rare_blueprint.json -2df388bd7a8e6d162d005aff3bd4892763549ccd data/superbwarfare/advancement/main/root.json +fbba02bc4970dbaa35fd2b743f4d751b46e9998b data/superbwarfare/advancement/main/root.json 6855de73219722b4e44985c87f2d57d71cfd7e15 data/superbwarfare/advancement/main/super_container.json diff --git a/src/generated/resources/data/superbwarfare/advancement/main/root.json b/src/generated/resources/data/superbwarfare/advancement/main/root.json index b9d536d92..432c9595a 100644 --- a/src/generated/resources/data/superbwarfare/advancement/main/root.json +++ b/src/generated/resources/data/superbwarfare/advancement/main/root.json @@ -1,7 +1,7 @@ { "criteria": { "0": { - "trigger": "minecraft:inventory_changed" + "trigger": "minecraft:tick" } }, "display": { @@ -24,5 +24,10 @@ "0" ] ], + "rewards": { + "loot": [ + "superbwarfare:grant_manual" + ] + }, "sends_telemetry_event": true } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModAdvancement.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModAdvancement.java index 14c8fdd2c..914446161 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModAdvancement.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModAdvancement.java @@ -4,7 +4,9 @@ import com.atsuishio.superbwarfare.Mod; import net.minecraft.ChatFormatting; import net.minecraft.advancements.*; import net.minecraft.advancements.critereon.*; +import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; @@ -166,7 +168,7 @@ public class ModAdvancement { } Builder awardedForFree() { - return externalTrigger(InventoryChangeTrigger.TriggerInstance.hasItems(new ItemLike[]{})); + return externalTrigger(PlayerTrigger.TriggerInstance.tick()); } Builder whenEffectChanged(MobEffectsPredicate.Builder predicate) { @@ -193,5 +195,10 @@ public class ModAdvancement { builder.rewards(AdvancementRewards.Builder.experience(exp).build()); return this; } + + Builder rewardLootTable(ResourceLocation location) { + builder.rewards(AdvancementRewards.Builder.loot(ResourceKey.create(Registries.LOOT_TABLE, location)).build()); + return this; + } } } diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModAdvancementProvider.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModAdvancementProvider.java index dbfdff626..e84861132 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModAdvancementProvider.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModAdvancementProvider.java @@ -1,5 +1,6 @@ package com.atsuishio.superbwarfare.datagen; +import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.advancement.criteria.RPGMeleeExplosionTrigger; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModTags; @@ -39,7 +40,8 @@ public class ModAdvancementProvider implements DataProvider { */ MAIN_ROOT = advancement("root", builder -> builder.icon(ModItems.TASER.get()) .type(ModAdvancement.Type.SILENT) - .awardedForFree()), + .awardedForFree() + .rewardLootTable(Mod.loc("grant_manual"))), BEST_FRIEND = advancement("best_friend", builder -> builder.icon(ModItems.CLAYMORE_MINE.get()) .whenIconCollected() diff --git a/src/main/resources/data/superbwarfare/loot_tables/grant_manual.json b/src/main/resources/data/superbwarfare/loot_tables/grant_manual.json new file mode 100644 index 000000000..36af580f8 --- /dev/null +++ b/src/main/resources/data/superbwarfare/loot_tables/grant_manual.json @@ -0,0 +1,20 @@ +{ + "type": "advancement_reward", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "patchouli:guide_book", + "functions": [ + { + "function": "set_nbt", + "tag": "{\"patchouli:book\": \"superbwarfare:superb_warfare_manual\"}" + } + ] + } + ] + } + ] +} \ No newline at end of file