添加手册初始获取方式

This commit is contained in:
17146 2025-05-08 23:47:23 +08:00 committed by Light_Quanta
parent 45a32f7191
commit 9e64acdb23
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
5 changed files with 39 additions and 5 deletions

View file

@ -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 03d6ad4d0bdd3ba66b765dcae9705692070e7f94 data/superbwarfare/advancement/main/ancient_technology.json
d24849d7fc09d8cc9a27203e57f1fd42f72a27a7 data/superbwarfare/advancement/main/banzai.json d24849d7fc09d8cc9a27203e57f1fd42f72a27a7 data/superbwarfare/advancement/main/banzai.json
70bd4fa04553c415c80656c4b07cf3814a13110c data/superbwarfare/advancement/main/best_friend.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 926900f8c598a039ffbf8cac552f397c522f82c7 data/superbwarfare/advancement/main/legendary_blueprint.json
52417b43fbf1ca3a41d95ee51eafdc4f734bfaa3 data/superbwarfare/advancement/main/physics_excalibur.json 52417b43fbf1ca3a41d95ee51eafdc4f734bfaa3 data/superbwarfare/advancement/main/physics_excalibur.json
392baba1930be09abc70836090c884ad4ada82e8 data/superbwarfare/advancement/main/rare_blueprint.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 6855de73219722b4e44985c87f2d57d71cfd7e15 data/superbwarfare/advancement/main/super_container.json

View file

@ -1,7 +1,7 @@
{ {
"criteria": { "criteria": {
"0": { "0": {
"trigger": "minecraft:inventory_changed" "trigger": "minecraft:tick"
} }
}, },
"display": { "display": {
@ -24,5 +24,10 @@
"0" "0"
] ]
], ],
"rewards": {
"loot": [
"superbwarfare:grant_manual"
]
},
"sends_telemetry_event": true "sends_telemetry_event": true
} }

View file

@ -4,7 +4,9 @@ import com.atsuishio.superbwarfare.Mod;
import net.minecraft.ChatFormatting; import net.minecraft.ChatFormatting;
import net.minecraft.advancements.*; import net.minecraft.advancements.*;
import net.minecraft.advancements.critereon.*; import net.minecraft.advancements.critereon.*;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey; import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
@ -166,7 +168,7 @@ public class ModAdvancement {
} }
Builder awardedForFree() { Builder awardedForFree() {
return externalTrigger(InventoryChangeTrigger.TriggerInstance.hasItems(new ItemLike[]{})); return externalTrigger(PlayerTrigger.TriggerInstance.tick());
} }
Builder whenEffectChanged(MobEffectsPredicate.Builder predicate) { Builder whenEffectChanged(MobEffectsPredicate.Builder predicate) {
@ -193,5 +195,10 @@ public class ModAdvancement {
builder.rewards(AdvancementRewards.Builder.experience(exp).build()); builder.rewards(AdvancementRewards.Builder.experience(exp).build());
return this; return this;
} }
Builder rewardLootTable(ResourceLocation location) {
builder.rewards(AdvancementRewards.Builder.loot(ResourceKey.create(Registries.LOOT_TABLE, location)).build());
return this;
}
} }
} }

View file

@ -1,5 +1,6 @@
package com.atsuishio.superbwarfare.datagen; package com.atsuishio.superbwarfare.datagen;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.advancement.criteria.RPGMeleeExplosionTrigger; import com.atsuishio.superbwarfare.advancement.criteria.RPGMeleeExplosionTrigger;
import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModItems;
import com.atsuishio.superbwarfare.init.ModTags; 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()) MAIN_ROOT = advancement("root", builder -> builder.icon(ModItems.TASER.get())
.type(ModAdvancement.Type.SILENT) .type(ModAdvancement.Type.SILENT)
.awardedForFree()), .awardedForFree()
.rewardLootTable(Mod.loc("grant_manual"))),
BEST_FRIEND = advancement("best_friend", builder -> builder.icon(ModItems.CLAYMORE_MINE.get()) BEST_FRIEND = advancement("best_friend", builder -> builder.icon(ModItems.CLAYMORE_MINE.get())
.whenIconCollected() .whenIconCollected()

View file

@ -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\"}"
}
]
}
]
}
]
}