1
0
Fork 0

Inital commit

This commit is contained in:
abtmtr 2025-08-27 20:49:18 -05:00
commit b5089257c5
1005 changed files with 23476 additions and 0 deletions

View file

@ -0,0 +1,25 @@
{
"criteria": {
"item_durability_changed": {
"trigger": "minecraft:item_durability_changed",
"conditions": {
"durability": {
"max": 1
},
"item": {
"items": "minecraft:elytra",
"predicates": {
"minecraft:custom_data": {
"armored_elytra": {
"armored": true
}
}
}
}
}
}
},
"rewards": {
"function": "armored_elytra:break_armored_elytra"
}
}

View file

@ -0,0 +1,21 @@
data modify entity @s Item.components.minecraft:bundle_contents append from entity @s Item
data modify entity @s Item.components.minecraft:bundle_contents prepend from entity @e[type=minecraft:item,tag=armored_elytra.chestplate,distance=..2,limit=1] Item
data modify entity @s PickupDelay set value 0s
execute if items entity @e[type=minecraft:item,tag=armored_elytra.chestplate,distance=..2,limit=1] contents minecraft:netherite_chestplate run item modify entity @s contents armored_elytra:armor/netherite
execute if items entity @e[type=minecraft:item,tag=armored_elytra.chestplate,distance=..2,limit=1] contents minecraft:diamond_chestplate run item modify entity @s contents armored_elytra:armor/diamond
execute if items entity @e[type=minecraft:item,tag=armored_elytra.chestplate,distance=..2,limit=1] contents minecraft:iron_chestplate run item modify entity @s contents armored_elytra:armor/iron
execute if items entity @e[type=minecraft:item,tag=armored_elytra.chestplate,distance=..2,limit=1] contents minecraft:golden_chestplate run item modify entity @s contents armored_elytra:armor/gold
execute if items entity @e[type=minecraft:item,tag=armored_elytra.chestplate,distance=..2,limit=1] contents minecraft:chainmail_chestplate run item modify entity @s contents armored_elytra:armor/chain
execute if items entity @e[type=minecraft:item,tag=armored_elytra.chestplate,distance=..2,limit=1] contents minecraft:leather_chestplate run item modify entity @s contents armored_elytra:armor/leather
execute store success score #success armEly.dummy if items entity @e[type=minecraft:item,tag=armored_elytra.chestplate,distance=..2,limit=1] contents *[minecraft:custom_name]
execute if score #success armEly.dummy matches 1 run item modify entity @s contents armored_elytra:named_lore
execute unless score #success armEly.dummy matches 1 run item modify entity @s contents armored_elytra:lore
execute store result score #elytraValue armEly.dummy run data get entity @s Item.components.minecraft:repair_cost
data modify storage armored_elytra:storage enchantments set value []
function armored_elytra:parse_enchantments/start with entity @s Item.components.minecraft:enchantments
data modify storage armored_elytra:storage elytraEnch set from storage armored_elytra:storage enchantments
execute as @e[type=minecraft:item,tag=armored_elytra.chestplate,distance=..2,limit=1] run function armored_elytra:store_chestplate_values
execute store result entity @s Item.components.minecraft:repair_cost int 1 run scoreboard players operation #elytraValue armEly.dummy += #chestplateValue armEly.dummy
function armored_elytra:merge_enchantments/start
kill @e[type=minecraft:item,tag=armored_elytra.chestplate,distance=..2,limit=1]
playsound minecraft:block.anvil.use block @a

View file

@ -0,0 +1,8 @@
advancement revoke @s only armored_elytra:break_armored_elytra
tag @s add armored_elytra.subject
data modify storage armored_elytra:storage item set from entity @s Inventory[{Slot:102b}]
data modify storage armored_elytra:storage item.components.minecraft:damage set value 431
function armored_elytra:separate_enchantments/start
execute as @e[type=minecraft:item,tag=armored_elytra.separated] run function armored_elytra:set_owner
item replace entity @s armor.chest with minecraft:air
tag @s remove armored_elytra.subject

View file

@ -0,0 +1,5 @@
tag @s add armored_elytra.subject
data modify storage armored_elytra:storage item set from entity @s Item
function armored_elytra:separate_enchantments/start
execute as @e[type=minecraft:item,tag=armored_elytra.separated] run function armored_elytra:copy_burning_elytra_tags
kill @s

View file

@ -0,0 +1,4 @@
tag @s add armored_elytra.elytra
scoreboard players set #found_chestplate armEly.dummy 0
execute align xyz as @e[type=minecraft:item,dx=0,dy=0,dz=0,sort=nearest] if items entity @s contents #armored_elytra:chestplates run function armored_elytra:try_to_armor_elytra
tag @s remove armored_elytra.elytra

View file

@ -0,0 +1,2 @@
execute if items entity @s contents minecraft:elytra[minecraft:custom_data~{armored_elytra:{armored:true}}] at @s run function armored_elytra:burn_elytra
tag @s add armored_elytra.checked_for_elytra_on_fire

View file

@ -0,0 +1,4 @@
execute unless data storage armored_elytra:storage enchantments[0] run return 0
function armored_elytra:construct_levels_compound/process_enchantment with storage armored_elytra:storage enchantments[0]
data remove storage armored_elytra:storage enchantments[0]
function armored_elytra:construct_levels_compound/next_enchantment

View file

@ -0,0 +1 @@
$data modify storage armored_elytra:storage levels."$(id)" set value $(lvl)

View file

@ -0,0 +1,2 @@
data modify storage armored_elytra:storage levels set value {}
function armored_elytra:construct_levels_compound/next_enchantment

View file

@ -0,0 +1,6 @@
data modify storage armored_elytra:storage temp set from entity @e[type=minecraft:item,tag=armored_elytra.subject,limit=1] {}
data modify entity @s Motion set from storage armored_elytra:storage temp.Motion
data modify entity @s Fire set from storage armored_elytra:storage temp.Fire
data modify entity @s PickupDelay set from storage armored_elytra:storage temp.PickupDelay
data modify entity @s Owner set from storage armored_elytra:storage temp.Owner
tag @s remove armored_elytra.separated

View file

@ -0,0 +1,4 @@
playsound minecraft:block.grindstone.use block @a
data modify storage armored_elytra:storage item set from entity @s Item
function armored_elytra:separate_enchantments/start
kill @s

View file

@ -0,0 +1,2 @@
scoreboard objectives add armEly.dummy dummy
advancement revoke @a only armored_elytra:break_armored_elytra

View file

@ -0,0 +1,2 @@
data modify storage armored_elytra:storage finalEnch append from storage armored_elytra:storage chestplateEnch[0]
data remove storage armored_elytra:storage chestplateEnch[0]

View file

@ -0,0 +1,4 @@
data modify storage armored_elytra:storage finalEnch append from storage armored_elytra:storage elytraEnch[-1]
data remove storage armored_elytra:storage elytraEnch[-1]
scoreboard players remove #elytraTotal armEly.dummy 1
execute unless score #elytraTotal armEly.dummy matches 0 run function armored_elytra:merge_enchantments/add_enchantment_from_elytra

View file

@ -0,0 +1,4 @@
data modify storage armored_elytra:storage temp set from storage armored_elytra:storage elytraEnch[0].id
execute store success score #success armEly.dummy run data modify storage armored_elytra:storage temp set from storage armored_elytra:storage chestplateEnch[0].id
execute if score #success armEly.dummy matches 0 run function armored_elytra:merge_enchantments/compare_levels
execute if score #found armEly.dummy matches 0 run function armored_elytra:merge_enchantments/rotate_elytra_enchantment

View file

@ -0,0 +1,8 @@
execute store result score #elytraValue armEly.dummy run data get storage armored_elytra:storage elytraEnch[0].lvl
execute store result score #chestplateValue armEly.dummy run data get storage armored_elytra:storage chestplateEnch[0].lvl
execute if score #chestplateValue armEly.dummy > #elytraValue armEly.dummy run data modify storage armored_elytra:storage finalEnch append from storage armored_elytra:storage chestplateEnch[0]
execute unless score #chestplateValue armEly.dummy > #elytraValue armEly.dummy run data modify storage armored_elytra:storage finalEnch append from storage armored_elytra:storage elytraEnch[0]
data remove storage armored_elytra:storage elytraEnch[0]
scoreboard players remove #elytraTotal armEly.dummy 1
data remove storage armored_elytra:storage chestplateEnch[0]
scoreboard players set #found armEly.dummy 1

View file

@ -0,0 +1,4 @@
data modify storage armored_elytra:storage elytraEnch append from storage armored_elytra:storage elytraEnch[0]
data remove storage armored_elytra:storage elytraEnch[0]
scoreboard players remove #elytraRemaining armEly.dummy 1
execute unless score #elytraRemaining armEly.dummy matches 0 run function armored_elytra:merge_enchantments/check_elytra_enchantment

View file

@ -0,0 +1,6 @@
scoreboard players set #found armEly.dummy 0
scoreboard players operation #elytraRemaining armEly.dummy = #elytraTotal armEly.dummy
execute unless score #elytraTotal armEly.dummy matches 0 run function armored_elytra:merge_enchantments/check_elytra_enchantment
execute if score #found armEly.dummy matches 0 run function armored_elytra:merge_enchantments/add_enchantment_from_chestplate
scoreboard players remove #chestplateRemaining armEly.dummy 1
execute unless score #chestplateRemaining armEly.dummy matches 0 run function armored_elytra:merge_enchantments/shift_chestplate_enchantment

View file

@ -0,0 +1,8 @@
data modify storage armored_elytra:storage finalEnch set value []
execute store result score #chestplateRemaining armEly.dummy run data get storage armored_elytra:storage chestplateEnch
execute store result score #elytraTotal armEly.dummy run data get storage armored_elytra:storage elytraEnch
execute unless score #chestplateRemaining armEly.dummy matches 0 run function armored_elytra:merge_enchantments/shift_chestplate_enchantment
execute unless score #elytraTotal armEly.dummy matches 0 run function armored_elytra:merge_enchantments/add_enchantment_from_elytra
data modify storage armored_elytra:storage enchantments set from storage armored_elytra:storage finalEnch
function armored_elytra:construct_levels_compound/start
data modify entity @s Item.components.minecraft:enchantments.levels set from storage armored_elytra:storage levels

View file

@ -0,0 +1 @@
$data modify storage armored_elytra:storage id set value "$(id)$(char)"

View file

@ -0,0 +1 @@
$data modify storage armored_elytra:storage lvl set value $(lvl)$(char)

View file

@ -0,0 +1,5 @@
data modify storage armored_elytra:storage enchantments append value {}
data modify storage armored_elytra:storage enchantments[-1].id set from storage armored_elytra:storage id
data modify storage armored_elytra:storage enchantments[-1].lvl set from storage armored_elytra:storage lvl
data modify storage armored_elytra:storage id set value ""
data modify storage armored_elytra:storage lvl set value ""

View file

@ -0,0 +1,6 @@
data remove storage armored_elytra:storage char
execute store success score #success armEly.dummy run data modify storage armored_elytra:storage char set string storage armored_elytra:storage levels_string 0 1
execute unless score #success armEly.dummy matches 1 run return 0
function armored_elytra:parse_enchantments/process_char
data modify storage armored_elytra:storage levels_string set string storage armored_elytra:storage levels_string 1
function armored_elytra:parse_enchantments/next_char

View file

@ -0,0 +1,7 @@
execute if data storage armored_elytra:storage {char:'"'} store success score #in_id armEly.dummy unless score #in_id armEly.dummy matches 1
execute if data storage armored_elytra:storage {char:'"'} run return 0
execute if score #in_id armEly.dummy matches 1 run return run function armored_elytra:parse_enchantments/append_char_to_id with storage armored_elytra:storage
execute if data storage armored_elytra:storage {char:':'} run return 0
execute if data storage armored_elytra:storage {char:','} run return run function armored_elytra:parse_enchantments/append_enchantment
execute if data storage armored_elytra:storage {char:'}'} run return run function armored_elytra:parse_enchantments/append_enchantment
function armored_elytra:parse_enchantments/append_digit_to_lvl with storage armored_elytra:storage

View file

@ -0,0 +1,10 @@
# Thanks Darukshock for drafting this algorithm!
$data modify storage armored_elytra:storage levels_string set value '$(levels)'
data modify storage armored_elytra:storage enchantments set value []
data modify storage armored_elytra:storage id set value ""
data modify storage armored_elytra:storage lvl set value ""
scoreboard players set #in_id armEly.dummy 0
function armored_elytra:parse_enchantments/next_char
data remove storage armored_elytra:storage id
data remove storage armored_elytra:storage lvl
data remove storage armored_elytra:storage levels_string

View file

@ -0,0 +1,3 @@
schedule function armored_elytra:schedule 1s
execute as @e[type=minecraft:item] if items entity @s contents minecraft:elytra[minecraft:damage~{durability:{min:2}},!minecraft:custom_data~{armored_elytra:{armored:true}}] at @s if block ~ ~-0.01 ~ #minecraft:anvil run function armored_elytra:check_for_chestplate
execute as @e[type=minecraft:item] if items entity @s contents minecraft:elytra[minecraft:custom_data~{armored_elytra:{armored:true}}] at @s if block ~ ~-0.01 ~ minecraft:grindstone positioned ~ ~-0.01 ~ align xyz positioned ~0.5 ~0.5 ~0.5 run function armored_elytra:grind_elytra

View file

@ -0,0 +1,3 @@
data modify storage armored_elytra:storage chestplateFinalEnch append from storage armored_elytra:storage chestplateEnch[0]
data remove storage armored_elytra:storage chestplateEnch[0]
scoreboard players remove #chestplateTotal armEly.dummy 1

View file

@ -0,0 +1,3 @@
data modify storage armored_elytra:storage elytraFinalEnch append from storage armored_elytra:storage elytraEnch[0]
data remove storage armored_elytra:storage elytraEnch[0]
scoreboard players remove #elytraTotal armEly.dummy 1

View file

@ -0,0 +1,4 @@
scoreboard players set #found armEly.dummy 1
data modify storage armored_elytra:storage chestplateFinalEnch append from storage armored_elytra:storage enchantments[0]
data remove storage armored_elytra:storage chestplateEnch[0]
scoreboard players remove #chestplateTotal armEly.dummy 1

View file

@ -0,0 +1,4 @@
data modify storage armored_elytra:storage temp set from storage armored_elytra:storage enchantments[0].id
execute store success score #success armEly.dummy run data modify storage armored_elytra:storage temp set from storage armored_elytra:storage chestplateEnch[0].id
execute if score #success armEly.dummy matches 0 run function armored_elytra:separate_enchantments/add_enchantment_to_chestplate
execute if score #found armEly.dummy matches 0 run function armored_elytra:separate_enchantments/rotate_chestplate_enchantment_2

View file

@ -0,0 +1,2 @@
scoreboard players operation #chestplateRemaining armEly.dummy = #chestplateTotal armEly.dummy
function armored_elytra:separate_enchantments/check_chestplate_enchantment

View file

@ -0,0 +1,4 @@
execute store result score #elytraValue armEly.dummy run data get storage armored_elytra:storage elytraEnch[0].lvl
execute store result score #chestplateValue armEly.dummy run data get storage armored_elytra:storage chestplateEnch[0].lvl
execute if score #chestplateValue armEly.dummy > #elytraValue armEly.dummy run function armored_elytra:separate_enchantments/add_elytra_enchantment
execute unless score #chestplateValue armEly.dummy > #elytraValue armEly.dummy run function armored_elytra:separate_enchantments/add_chestplate_enchantment

View file

@ -0,0 +1,4 @@
data modify storage armored_elytra:storage temp set from storage armored_elytra:storage elytraEnch[0].id
execute store success score #success armEly.dummy run data modify storage armored_elytra:storage temp set from storage armored_elytra:storage chestplateEnch[0].id
execute if score #success armEly.dummy matches 0 run function armored_elytra:separate_enchantments/compare_levels
execute unless score #success armEly.dummy matches 0 run function armored_elytra:separate_enchantments/rotate_chestplate_enchantment

View file

@ -0,0 +1,3 @@
scoreboard players operation #chestplateRemaining armEly.dummy = #chestplateTotal armEly.dummy
function armored_elytra:separate_enchantments/iterate_chestplate_enchantments
execute unless score #elytraTotal armEly.dummy matches 0 unless score #chestplateTotal armEly.dummy matches 0 run function armored_elytra:separate_enchantments/rotate_elytra_enchantment

View file

@ -0,0 +1,4 @@
data modify storage armored_elytra:storage chestplateEnch append from storage armored_elytra:storage chestplateEnch[0]
data remove storage armored_elytra:storage chestplateEnch[0]
scoreboard players remove #chestplateRemaining armEly.dummy 1
execute unless score #chestplateRemaining armEly.dummy matches 0 run function armored_elytra:separate_enchantments/iterate_chestplate_enchantments

View file

@ -0,0 +1,4 @@
data modify storage armored_elytra:storage chestplateEnch append from storage armored_elytra:storage chestplateEnch[0]
data remove storage armored_elytra:storage chestplateEnch[0]
scoreboard players remove #chestplateRemaining armEly.dummy 1
execute unless score #chestplateRemaining armEly.dummy matches 0 run function armored_elytra:separate_enchantments/check_chestplate_enchantment

View file

@ -0,0 +1,4 @@
data modify storage armored_elytra:storage elytraEnch append from storage armored_elytra:storage elytraEnch[0]
data remove storage armored_elytra:storage elytraEnch[0]
scoreboard players remove #elytraRemaining armEly.dummy 1
execute unless score #elytraRemaining armEly.dummy matches 0 run function armored_elytra:separate_enchantments/iterate_elytra_enchantments

View file

@ -0,0 +1,6 @@
scoreboard players set #found armEly.dummy 0
execute unless score #chestplateTotal armEly.dummy matches 0 run function armored_elytra:separate_enchantments/check_chestplate_enchantments
execute if score #found armEly.dummy matches 0 run data modify storage armored_elytra:storage elytraFinalEnch append from storage armored_elytra:storage enchantments[0]
data remove storage armored_elytra:storage enchantments[0]
scoreboard players remove #remaining armEly.dummy 1
execute unless score #remaining armEly.dummy matches 0 run function armored_elytra:separate_enchantments/shift_enchantment

View file

@ -0,0 +1,37 @@
summon minecraft:item ~ ~ ~ {Tags:["armored_elytra.separated","armored_elytra.elytra"],Item:{id:"minecraft:elytra"}}
summon minecraft:item ~ ~ ~ {Tags:["armored_elytra.separated","armored_elytra.chestplate"],Item:{id:"minecraft:chainmail_chestplate"}}
data modify storage armored_elytra:storage chestplate set from storage armored_elytra:storage item.components.minecraft:bundle_contents[0]
data modify storage armored_elytra:storage elytra set from storage armored_elytra:storage item.components.minecraft:bundle_contents[1]
data modify storage armored_elytra:storage enchantments set value []
function armored_elytra:parse_enchantments/start with storage armored_elytra:storage elytra.components.minecraft:enchantments
data modify storage armored_elytra:storage elytraEnch set from storage armored_elytra:storage enchantments
data modify storage armored_elytra:storage enchantments set value []
function armored_elytra:parse_enchantments/start with storage armored_elytra:storage chestplate.components.minecraft:enchantments
data modify storage armored_elytra:storage chestplateEnch set from storage armored_elytra:storage enchantments
data modify storage armored_elytra:storage enchantments set value []
function armored_elytra:parse_enchantments/start with storage armored_elytra:storage item.components.minecraft:enchantments
execute store result score #elytraTotal armEly.dummy run data get storage armored_elytra:storage elytraEnch
execute store result score #chestplateTotal armEly.dummy run data get storage armored_elytra:storage chestplateEnch
execute unless score #elytraTotal armEly.dummy matches 0 unless score #chestplateTotal armEly.dummy matches 0 run function armored_elytra:separate_enchantments/start_to_iterate
execute store result score #remaining armEly.dummy run data get storage armored_elytra:storage enchantments
execute unless score #remaining armEly.dummy matches 0 run function armored_elytra:separate_enchantments/shift_enchantment
data modify storage armored_elytra:storage enchantments set from storage armored_elytra:storage elytraFinalEnch
function armored_elytra:construct_levels_compound/start
data modify storage armored_elytra:storage elytra.components.minecraft:enchantments.levels set from storage armored_elytra:storage levels
data modify storage armored_elytra:storage enchantments set from storage armored_elytra:storage chestplateFinalEnch
function armored_elytra:construct_levels_compound/start
data modify storage armored_elytra:storage chestplate.components.minecraft:enchantments.levels set from storage armored_elytra:storage levels
execute store success score #success armEly.dummy if data storage armored_elytra:storage item.components.minecraft:damage
execute if score #success armEly.dummy matches 1 run data modify storage armored_elytra:storage elytra.components.minecraft:damage set from storage armored_elytra:storage item.components.minecraft:damage
execute unless score #success armEly.dummy matches 1 run data remove storage armored_elytra:storage elytra.components.minecraft:damage
execute store success score #success armEly.dummy if data storage armored_elytra:storage item.components.minecraft:custom_name
execute if score #success armEly.dummy matches 1 run data modify storage armored_elytra:storage elytra.components.minecraft:custom_name set from storage armored_elytra:storage item.components.minecraft:custom_name
execute unless score #success armEly.dummy matches 1 run data remove storage armored_elytra:storage elytra.components.minecraft:custom_name
data modify entity @e[type=minecraft:item,tag=armored_elytra.elytra,distance=..0.01,limit=1] Item set from storage armored_elytra:storage elytra
data modify entity @e[type=minecraft:item,tag=armored_elytra.chestplate,distance=..0.01,limit=1] Item set from storage armored_elytra:storage chestplate
data remove storage armored_elytra:storage elytraFinalEnch
data remove storage armored_elytra:storage chestplateFinalEnch
data remove storage armored_elytra:storage elytra
data remove storage armored_elytra:storage chestplate
tag @e[type=minecraft:item,distance=..0.01] remove armored_elytra.elytra
tag @e[type=minecraft:item,distance=..0.01] remove armored_elytra.chestplate

View file

@ -0,0 +1,2 @@
scoreboard players operation #elytraRemaining armEly.dummy = #elytraTotal armEly.dummy
function armored_elytra:separate_enchantments/iterate_elytra_enchantments

View file

@ -0,0 +1,2 @@
data modify entity @s Owner set from entity @a[tag=armored_elytra.subject,limit=1] UUID
tag @s remove armored_elytra.separated

View file

@ -0,0 +1,4 @@
execute store result score #chestplateValue armEly.dummy run data get entity @s Item.components.minecraft:repair_cost
data modify storage armored_elytra:storage enchantments set value []
function armored_elytra:parse_enchantments/start with entity @s Item.components.minecraft:enchantments
data modify storage armored_elytra:storage chestplateEnch set from storage armored_elytra:storage enchantments

View file

@ -0,0 +1,2 @@
schedule function armored_elytra:tick 1t
execute as @e[type=minecraft:item,tag=!armored_elytra.checked_for_elytra_on_fire,predicate=armored_elytra:on_fire] run function armored_elytra:check_for_elytra_on_fire

View file

@ -0,0 +1,5 @@
execute if score #found_chestplate armEly.dummy matches 1 run return 0
scoreboard players set #found_chestplate armEly.dummy 1
tag @s add armored_elytra.chestplate
execute as @e[type=minecraft:item,tag=armored_elytra.elytra,dx=0,dy=0,dz=0,limit=1] at @s run function armored_elytra:armor_elytra
tag @s remove armored_elytra.chestplate

View file

@ -0,0 +1,9 @@
schedule clear armored_elytra:tick
scoreboard objectives remove armEly.dummy
data remove storage armored_elytra:storage elytraEnch
data remove storage armored_elytra:storage chestplateEnch
data remove storage armored_elytra:storage finalEnch
data remove storage armored_elytra:storage enchantments
data remove storage armored_elytra:storage levels
data remove storage armored_elytra:storage item
data remove storage armored_elytra:storage temp

View file

@ -0,0 +1,26 @@
{
"function": "minecraft:sequence",
"functions": [
{
"function": "minecraft:set_custom_data",
"tag": "{armored_elytra:{armored:true}}"
},
{
"function": "minecraft:set_attributes",
"replace": false,
"modifiers": [
{
"id": "armored_elytra:armor",
"attribute": "minecraft:generic.armor",
"operation": "add_value",
"amount": 5.0,
"slot": "chest"
}
]
},
{
"function": "minecraft:set_custom_model_data",
"value": 13522552
}
]
}

View file

@ -0,0 +1,33 @@
{
"function": "minecraft:sequence",
"functions": [
{
"function": "minecraft:set_custom_data",
"tag": "{armored_elytra:{armored:true}}"
},
{
"function": "minecraft:set_attributes",
"replace": false,
"modifiers": [
{
"id": "armored_elytra:armor",
"attribute": "minecraft:generic.armor",
"operation": "add_value",
"amount": 8.0,
"slot": "chest"
},
{
"id": "armored_elytra:armor_toughness",
"attribute": "minecraft:generic.armor_toughness",
"operation": "add_value",
"amount": 2.0,
"slot": "chest"
}
]
},
{
"function": "minecraft:set_custom_model_data",
"value": 13522555
}
]
}

View file

@ -0,0 +1,26 @@
{
"function": "minecraft:sequence",
"functions": [
{
"function": "minecraft:set_custom_data",
"tag": "{armored_elytra:{armored:true}}"
},
{
"function": "minecraft:set_attributes",
"replace": false,
"modifiers": [
{
"id": "armored_elytra:armor",
"attribute": "minecraft:generic.armor",
"operation": "add_value",
"amount": 5.0,
"slot": "chest"
}
]
},
{
"function": "minecraft:set_custom_model_data",
"value": 13522553
}
]
}

View file

@ -0,0 +1,26 @@
{
"function": "minecraft:sequence",
"functions": [
{
"function": "minecraft:set_custom_data",
"tag": "{armored_elytra:{armored:true}}"
},
{
"function": "minecraft:set_attributes",
"replace": false,
"modifiers": [
{
"id": "armored_elytra:armor",
"attribute": "minecraft:generic.armor",
"operation": "add_value",
"amount": 6.0,
"slot": "chest"
}
]
},
{
"function": "minecraft:set_custom_model_data",
"value": 13522554
}
]
}

View file

@ -0,0 +1,26 @@
{
"function": "minecraft:sequence",
"functions": [
{
"function": "minecraft:set_custom_data",
"tag": "{armored_elytra:{armored:true}}"
},
{
"function": "minecraft:set_attributes",
"replace": false,
"modifiers": [
{
"id": "armored_elytra:armor",
"attribute": "minecraft:generic.armor",
"operation": "add_value",
"amount": 3.0,
"slot": "chest"
}
]
},
{
"function": "minecraft:set_custom_model_data",
"value": 13522551
}
]
}

View file

@ -0,0 +1,40 @@
{
"function": "minecraft:sequence",
"functions": [
{
"function": "minecraft:set_custom_data",
"tag": "{armored_elytra:{armored:true}}"
},
{
"function": "minecraft:set_attributes",
"replace": false,
"modifiers": [
{
"id": "armored_elytra:armor",
"attribute": "minecraft:generic.armor",
"operation": "add_value",
"amount": 8.0,
"slot": "chest"
},
{
"id": "armored_elytra:armor_toughness",
"attribute": "minecraft:generic.armor_toughness",
"operation": "add_value",
"amount": 3.0,
"slot": "chest"
},
{
"id": "armored_elytra:knockback_resistance",
"attribute": "minecraft:generic.knockback_resistance",
"operation": "add_value",
"amount": 0.1,
"slot": "chest"
}
]
},
{
"function": "minecraft:set_custom_model_data",
"value": 13522556
}
]
}

View file

@ -0,0 +1,8 @@
{
"function": "minecraft:set_lore",
"entity": "this",
"mode": "append",
"lore": [
["",{"text":"+ ","color":"gold","italic":false},{"selector":"@e[type=minecraft:item,tag=armored_elytra.chestplate,limit=1]","color":"gold","italic":false}]
]
}

View file

@ -0,0 +1,8 @@
{
"function": "minecraft:set_lore",
"entity": "this",
"mode": "append",
"lore": [
["",{"text":"+ ","color":"gold","italic":false},{"entity":"@e[type=minecraft:item,tag=armored_elytra.chestplate,limit=1]","nbt":"Item.components.minecraft:custom_name","interpret":true,"color":"gold","italic":true}]
]
}

View file

@ -0,0 +1,9 @@
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"flags": {
"is_on_fire": true
}
}
}

View file

@ -0,0 +1,10 @@
{
"values": [
"minecraft:leather_chestplate",
"minecraft:chainmail_chestplate",
"minecraft:iron_chestplate",
"minecraft:diamond_chestplate",
"minecraft:golden_chestplate",
"minecraft:netherite_chestplate"
]
}