9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-28 03:19:14 +00:00

盔甲重构part1

This commit is contained in:
XiaoMoMi
2025-07-03 05:55:57 +08:00
parent a27f1678fd
commit d9bf33ce11
30 changed files with 931 additions and 362 deletions

View File

@@ -138,6 +138,10 @@ resource-pack:
resolution:
type: merge_atlas
item:
# Make custom-model-data and item-model clientside by default
client-bound-model: false
equipment:
# The sacrificed-vanilla-armor argument determines which vanilla armor gets completely removed (loses all its trims)
# when you create new armor using trim types, freeing up a slot for your custom armor.

View File

@@ -153,27 +153,6 @@ items#topaz_gears:
template: default:model/simplified_handheld
arguments:
path: minecraft:item/custom/topaz_sword
$$>=1.21.2#armor:
default:topaz_helmet:
template: default:armor/topaz
arguments:
part: helmet
slot: head
default:topaz_chestplate:
template: default:armor/topaz
arguments:
part: chestplate
slot: chest
default:topaz_leggings:
template: default:armor/topaz
arguments:
part: leggings
slot: legs
default:topaz_boots:
template: default:armor/topaz
arguments:
part: boots
slot: feet
$$>=1.21.4#topaz_trident:
default:topaz_trident:
material: trident
@@ -288,6 +267,38 @@ items#topaz_gears:
tints:
- type: minecraft:dye
default: -6265536
default:topaz_helmet:
template:
- default:armor/topaz
- default:model/armor_trim
arguments:
part: helmet
slot: head
material: topaz
default:topaz_chestplate:
template:
- default:armor/topaz
- default:model/armor_trim
arguments:
part: chestplate
slot: chest
material: topaz
default:topaz_leggings:
template:
- default:armor/topaz
- default:model/armor_trim
arguments:
part: leggings
slot: legs
material: topaz
default:topaz_boots:
template:
- default:armor/topaz
- default:model/armor_trim
arguments:
part: boots
slot: feet
material: topaz
templates:
default:armor/topaz:
material: chainmail_${part}
@@ -298,122 +309,18 @@ templates:
settings:
tags:
- default:topaz_tools
equippable:
slot: ${slot}
asset-id: topaz
humanoid: minecraft:topaz
humanoid-leggings: minecraft:topaz
model:
type: minecraft:select
property: minecraft:trim_material
fallback:
type: minecraft:model
path: minecraft:item/custom/topaz_${part}
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/topaz_${part}
cases:
- when: minecraft:quartz
model:
type: minecraft:model
path: minecraft:item/custom/topaz_${part}_quartz_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_quartz
- when: minecraft:iron
model:
type: minecraft:model
path: minecraft:item/custom/topaz_${part}_iron_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_iron
- when: minecraft:netherite
model:
type: minecraft:model
path: minecraft:item/custom/topaz_${part}_netherite_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_netherite
- when: minecraft:redstone
model:
type: minecraft:model
path: minecraft:item/custom/topaz_${part}_redstone_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_redstone
- when: minecraft:copper
model:
type: minecraft:model
path: minecraft:item/custom/topaz_${part}_copper_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_copper
- when: minecraft:gold
model:
type: minecraft:model
path: minecraft:item/custom/topaz_${part}_gold_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_gold
- when: minecraft:emerald
model:
type: minecraft:model
path: minecraft:item/custom/topaz_${part}_emerald_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_emerald
- when: minecraft:diamond
model:
type: minecraft:model
path: minecraft:item/custom/topaz_${part}_diamond_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_diamond
- when: minecraft:lapis
model:
type: minecraft:model
path: minecraft:item/custom/topaz_${part}_lapis_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_lapis
- when: minecraft:amethyst
model:
type: minecraft:model
path: minecraft:item/custom/topaz_${part}_amethyst_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_amethyst
- when: minecraft:resin
model:
type: minecraft:model
path: minecraft:item/custom/topaz_${part}_resin_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_resin
recipes#topaz_gears:
equipment:
asset-id: default:topaz
properties:
slot: ${slot}
equipments#topaz:
default:topaz:
type:
$$>=1.21.2: component
$$<1.21.2: trim
humanoid: minecraft:entity/equipment/humanoid/topaz
humanoid-leggings: minecraft:entity/equipment/humanoid_leggings/topaz
recipes#topaz:
default:topaz_shovel:
type: shaped
pattern:

View File

@@ -1,22 +1,5 @@
# This file contains some useful template data. If you have good ideas, you are welcome to contribute your template!
# These templates let you ditch the real custom_model_data on the server side.
# Instead, we use client side components sent via packets to control how items look.
default:item/client_bound_custom_model_data:
custom-model-data: ${custom_model_data}
data:
remove-components:
- minecraft:custom_model_data
client-bound-data:
custom-model-data: ${custom_model_data}
default:item/client_bound_item_model:
item-model: ${item_model}
data:
remove-components:
- minecraft:item_model
client-bound-data:
item-model: ${item_model}
# blocks
templates#models#block:
# template: default:model/cube_all
@@ -162,6 +145,120 @@ templates#models#2d:
texture: ${path}
broken_model: ${broken_path}
broken_texture: ${broken_path}
# template: default:model/armor_trim
# arguments:
# material: armor material type
# part: slot type
default:model/armor_trim:
type: minecraft:select
property: minecraft:trim_material
fallback:
type: minecraft:model
path: minecraft:item/custom/${material}_${part}
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/${material}_${part}
cases:
- when: minecraft:quartz
model:
type: minecraft:model
path: minecraft:item/custom/${material}_${part}_quartz_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/${material}_${part}
layer1: minecraft:trims/items/${part}_trim_quartz
- when: minecraft:iron
model:
type: minecraft:model
path: minecraft:item/custom/${material}_${part}_iron_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/${material}_${part}
layer1: minecraft:trims/items/${part}_trim_iron
- when: minecraft:netherite
model:
type: minecraft:model
path: minecraft:item/custom/${material}_${part}_netherite_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/${material}_${part}
layer1: minecraft:trims/items/${part}_trim_netherite
- when: minecraft:redstone
model:
type: minecraft:model
path: minecraft:item/custom/${material}_${part}_redstone_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/${material}_${part}
layer1: minecraft:trims/items/${part}_trim_redstone
- when: minecraft:copper
model:
type: minecraft:model
path: minecraft:item/custom/${material}_${part}_copper_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/${material}_${part}
layer1: minecraft:trims/items/${part}_trim_copper
- when: minecraft:gold
model:
type: minecraft:model
path: minecraft:item/custom/${material}_${part}_gold_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/${material}_${part}
layer1: minecraft:trims/items/${part}_trim_gold
- when: minecraft:emerald
model:
type: minecraft:model
path: minecraft:item/custom/${material}_${part}_emerald_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/${material}_${part}
layer1: minecraft:trims/items/${part}_trim_emerald
- when: minecraft:diamond
model:
type: minecraft:model
path: minecraft:item/custom/${material}_${part}_diamond_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/${material}_${part}
layer1: minecraft:trims/items/${part}_trim_diamond
- when: minecraft:lapis
model:
type: minecraft:model
path: minecraft:item/custom/${material}_${part}_lapis_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/${material}_${part}
layer1: minecraft:trims/items/${part}_trim_lapis
- when: minecraft:amethyst
model:
type: minecraft:model
path: minecraft:item/custom/${material}_${part}_amethyst_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/${material}_${part}
layer1: minecraft:trims/items/${part}_trim_amethyst
- when: minecraft:resin
model:
type: minecraft:model
path: minecraft:item/custom/${material}_${part}_resin_trim
generation:
parent: minecraft:item/generated
textures:
layer0: minecraft:item/custom/${material}_${part}
layer1: minecraft:trims/items/${part}_trim_resin
# shield
templates#models#shield:

View File

@@ -155,7 +155,9 @@ warning.config.furniture.hitbox.custom.invalid_entity: "<yellow>Issue found in f
warning.config.item.duplicate: "<yellow>Issue found in file <arg:0> - Duplicated item '<arg:1>'. Please check if there is the same configuration in other files.</yellow>"
warning.config.item.settings.unknown: "<yellow>Issue found in file <arg:0> - The item '<arg:1>' is using an unknown setting type '<arg:2>'.</yellow>"
warning.config.item.settings.invulnerable.invalid_damage_source: "<yellow>Issue found in file <arg:0> - The item '<arg:1>' is using an unknown damage source '<arg:2>'. Allowed sources: [<arg:3>].</yellow>"
warning.config.item.settings.equippable.missing_slot: "<yellow>Issue found in file <arg:0> - The item '<arg:1>' is missing the required 'slot' argument for 'equippable' settings.</yellow>"
warning.config.item.settings.equipment.missing_asset_id: "<yellow>Issue found in file <arg:0> - The item '<arg:1>' is missing the required 'asset-id' argument for 'equipment' settings.</yellow>"
warning.config.item.settings.equipment.invalid_asset_id: "<yellow>Issue found in file <arg:0> - The item '<arg:1>' is using an invalid 'asset-id' argument for 'equipment' settings. This might be because you haven't created this equipment configuration or misspelled the asset-id.</yellow>"
warning.config.item.settings.projectile.missing_item: "<yellow>Issue found in file <arg:0> - The item '<arg:1>' is missing the required 'item' argument for 'projectile' settings.</yellow>"
warning.config.item.missing_material: "<yellow>Issue found in file <arg:0> - The item '<arg:1>' is missing the required 'material' argument.</yellow>"
warning.config.item.invalid_material: "<yellow>Issue found in file <arg:0> - The item '<arg:1>' is using an invalid material type '<arg:2>'.</yellow>"
warning.config.item.invalid_custom_model_data: "<yellow>Issue found in file <arg:0> - The item '<arg:1>' is using a negative custom model data '<arg:2>' which is invalid.</yellow>"
@@ -387,4 +389,7 @@ warning.config.resource_pack.generation.missing_item_model: "<yellow>Item '<arg:
warning.config.resource_pack.generation.missing_block_model: "<yellow>Block state '<arg:0>' is missing model file: '<arg:1>'</yellow>"
warning.config.resource_pack.generation.missing_parent_model: "<yellow>Model '<arg:0>' cannot find parent model: '<arg:1>'</yellow>"
warning.config.resource_pack.generation.malformatted_json: "<yellow>Json file '<arg:0>' is malformatted.</yellow>"
warning.config.resource_pack.invalid_overlay_format: "<yellow>Issue found in config.yml at 'resource-pack.overlay-format' - Invalid overlay format '<arg:0>'. Overlay format must contain the placeholder '{version}'.</yellow>"
warning.config.resource_pack.invalid_overlay_format: "<yellow>Issue found in config.yml at 'resource-pack.overlay-format' - Invalid overlay format '<arg:0>'. Overlay format must contain the placeholder '{version}'.</yellow>"
warning.config.equipment.duplicate: ""
warning.config.equipment.missing_type: ""
warning.config.equipment.invalid_type: ""

View File

@@ -156,7 +156,9 @@ warning.config.furniture.hitbox.custom.invalid_entity: "<yellow>在文件 <arg:0
warning.config.item.duplicate: "<yellow>在文件 <arg:0> 发现问题 - 重复的物品 '<arg:1>' 请检查其他文件中是否存在相同配置</yellow>"
warning.config.item.settings.unknown: "<yellow>在文件 <arg:0> 发现问题 - 物品 '<arg:1>' 使用了未知的设置类型 '<arg:2>'</yellow>"
warning.config.item.settings.invulnerable.invalid_damage_source: "<yellow>在文件 <arg:0> 发现问题 - 物品 '<arg:1>' 物品使用了未知的伤害来源类型 '<arg:2>' 允许的来源: [<arg:3>]</yellow>"
warning.config.item.settings.equippable.missing_slot: "<yellow>在文件 <arg:0> 发现问题 - 物品 '<arg:1>' 缺少 'equippable' 设置所需的 'slot' 参数.</yellow>"
warning.config.item.settings.equipment.missing_asset_id: "<yellow>在文件 <arg:0> 发现问题 - 物品 '<arg:1>' 缺少 'equipment' 设置所需的 'asset-id' 参数.</yellow>"
warning.config.item.settings.equipment.invalid_asset_id: "<yellow>在文件 <arg:0> 发现问题 - 物品 '<arg:1>' 为 'equipment' 设置配置了无效的 'asset-id'. 这可能是因为你没有创建装备配置或是错误地拼写了 asset-id.</yellow>"
warning.config.item.settings.projectile.missing_item: "<yellow>在文件 <arg:0> 发现问题 - 物品 '<arg:1>' 缺少 'projectile' 设置所需的 'item' 参数.</yellow>"
warning.config.item.missing_material: "<yellow>在文件 <arg:0> 发现问题 - 物品 '<arg:1>' 缺少必需的 'material' 参数</yellow>"
warning.config.item.invalid_material: "<yellow>在文件 <arg:0> 发现问题 - 物品 '<arg:1>' 使用了无效的材料类型 '<arg:2>'</yellow>"
warning.config.item.invalid_custom_model_data: "<yellow>在文件 <arg:0> 发现问题 - 物品 '<arg:1>' 使用了无效的负数模型值 '<arg:2>'.</yellow>"