Add chicken kiev advancement

This commit is contained in:
Andrew-71 2024-03-07 12:41:20 +03:00
parent 8f1af13933
commit dd57456e60
5 changed files with 78 additions and 16 deletions

View file

@ -74,6 +74,7 @@ Due to sheer amount of changes, some may be undocumented. We hope you enjoy this
* Now uses screwdriver to change sound
* Sound names now translated
* Added a questionable sound option
* At least 1 new advancement
* Bug fixes
* Stone-cutting recipe for slabs now gives 2 blocks
* Fixed typos in Russian translation

View file

@ -0,0 +1,58 @@
{
"parent": "minecraft:new_soviet/sickle_kill",
"criteria": {
"kill": {
"conditions": {
"entity": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"type": "minecraft:chicken"
}
}
],
"killing_blow": {
"source_entity": {
"equipment": {
"mainhand": {
"enchantments": [
{
"enchantment": "minecraft:fire_aspect"
}
],
"items": [
"new_soviet:sickle"
]
}
}
}
}
},
"trigger": "minecraft:player_killed_entity"
}
},
"display": {
"announce_to_chat": true,
"background": "minecraft:textures/gui/advancements/backgrounds/adventure.png",
"description": {
"translate": "advancement.new_soviet.chicken_kiev.desc"
},
"frame": "task",
"hidden": false,
"icon": {
"item": "new_soviet:sickle",
"nbt": "{Damage:0}"
},
"show_toast": true,
"title": {
"translate": "advancement.new_soviet.chicken_kiev.name"
}
},
"requirements": [
[
"kill"
]
],
"sends_telemetry_event": true
}

View file

@ -1,18 +1,6 @@
{
"parent": "minecraft:new_soviet/sickle",
"criteria": {
"got_sickle": {
"conditions": {
"items": [
{
"items": [
"new_soviet:sickle"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"kill": {
"conditions": {
"entity": [
@ -55,9 +43,6 @@
}
},
"requirements": [
[
"got_sickle"
],
[
"kill"
]

View file

@ -6,6 +6,7 @@ import net.minecraft.advancement.AdvancementFrame;
import net.minecraft.advancement.criterion.InventoryChangedCriterion;
import net.minecraft.advancement.criterion.OnKilledCriterion;
import net.minecraft.advancement.criterion.UsingItemCriterion;
import net.minecraft.enchantment.Enchantments;
import net.minecraft.entity.EntityType;
import net.minecraft.item.Items;
import net.minecraft.predicate.NumberRange;
@ -13,6 +14,7 @@ import net.minecraft.predicate.entity.DamageSourcePredicate;
import net.minecraft.predicate.entity.EntityEquipmentPredicate;
import net.minecraft.predicate.entity.EntityPredicate;
import net.minecraft.predicate.entity.PlayerPredicate;
import net.minecraft.predicate.item.EnchantmentPredicate;
import net.minecraft.predicate.item.ItemPredicate;
import net.minecraft.stat.Stats;
import net.minecraft.text.Text;
@ -70,10 +72,24 @@ public class Advancements implements Consumer<Consumer<Advancement>> {
false // Hidden
)
.parent(sickle)
.criterion("got_sickle", InventoryChangedCriterion.Conditions.items(NSE_Items.SICKLE))
.criterion("kill", OnKilledCriterion.Conditions.createPlayerKilledEntity(EntityPredicate.Builder.create(), DamageSourcePredicate.Builder.create().sourceEntity(EntityPredicate.Builder.create().equipment(EntityEquipmentPredicate.Builder.create().mainhand(ItemPredicate.Builder.create().items(NSE_Items.SICKLE).build()).build()))))
.build(consumer, NewSoviet.MOD_ID + "/sickle_kill");
// Kill a chicken with a sickle that has fire aspect
Advancement chicken_kiev = Advancement.Builder.create()
.display(
NSE_Items.SICKLE,
Text.translatable("advancement.new_soviet.chicken_kiev.name"),
Text.translatable("advancement.new_soviet.chicken_kiev.desc"),
new Identifier("textures/gui/advancements/backgrounds/adventure.png"),
AdvancementFrame.TASK,
true, // Toast
true, // Announcement
false // Hidden
)
.parent(sickle_kill)
.criterion("kill", OnKilledCriterion.Conditions.createPlayerKilledEntity(EntityPredicate.Builder.create().type(EntityType.CHICKEN), DamageSourcePredicate.Builder.create().sourceEntity(EntityPredicate.Builder.create().equipment(EntityEquipmentPredicate.Builder.create().mainhand(ItemPredicate.Builder.create().items(NSE_Items.SICKLE).enchantment(new EnchantmentPredicate(Enchantments.FIRE_ASPECT, NumberRange.IntRange.ANY)).build()).build()))))
.build(consumer, NewSoviet.MOD_ID + "/chicken_kiev");
// Throw a die 100 times
Advancement gambler = Advancement.Builder.create()

View file

@ -546,6 +546,8 @@
"advancement.new_soviet.sickle.desc": "Acquire a sickle",
"advancement.new_soviet.sickle_kill.name": "Kolkhoz Warrior",
"advancement.new_soviet.sickle_kill.desc": "Kill someone with a sickle",
"advancement.new_soviet.chicken_kiev.name": "Chicken Kiev",
"advancement.new_soviet.chicken_kiev.desc": "Kill a chicken with a fiery sickle",
"advancement.new_soviet.gambler.name": "Gambler",
"advancement.new_soviet.gambler.desc": "Roll dice 100 times",
"advancement.new_soviet.serious_addiction.name": "Serious addiction",