资讯动态

MCreator 生物攻击力(Attack Strength)完全指南:从 GUI 配置到 Java/基岩版代码生成原理

发布时间:2026/10/16 6:04:17 来源:尧图企业网站定制
低代码代码生成桌面应用游戏开发【免费下载链接】MCreatorMCreator is an open-source software used to make Minecraft Java Edition mods, Minecraft Bedrock Edition Add-Ons, resource packs, and data packs using an intuitive easy-to-learn interface or with an integrated code editor. It is used worldwide by Minecraft players, aspiring mod developers, for education, online classes, and STEM workshops.项目地址https://gitcode.com/gh_mirrors/mc/MCreator点击查看免费下载导读本文围绕 MCreator「生物Living Entity」定义中的攻击力Attack Strength参数展开讲解它在 Java 版模组与基岩版 Add-On 两条生成管线中的实际作用、取值范围与配置位置并结合当前仓库源码揭示该参数从 GUI 输入、元素模型到模板代码输出的完整链路。读完本文你将清楚知道该参数应如何设置、对生成的模组代码产生什么影响以及 MCreator 内部是如何组织这条配置 → 生成数据流的。1. 参数定位攻击力在 MCreator 中扮演什么角色在 MCreator 中创建生物时GUI 的Spawn / AI / Attributes相关面板里有一组与战斗属性紧密相关的输入项官方帮助文档本仓库的 帮助文件对其给出了一句话定义The amount of damage the mob deals to entities when attacking. 该生物攻击别的生物时造成的伤害。即攻击力Attack Strength决定生物每次攻击对其他实体造成的伤害数值。它和同样出现在该面板中的护甲值Armor Base Value攻击击退Attack Knockback击退抗性Knockback Resistance共同构成生物的近战战斗属性组。从界面布局源码 LivingEntityGUI.java 可以看到这四项在 GUI 中被编排在同一行面板标签elementgui.living_entity.attack_strenght_armor_value_knockback见 texts.properties文案为 Attack strength, armor protection, attack knockback, knockback resistance:每个输入项前都有一个?帮助按钮分别关联到entity/attack_strength、entity/armor_base_value、entity/attack_knockback、entity/knockback_resistance四篇帮助文档其中攻击力对应我们讨论的这篇。2. 参数定义类型、默认值与取值范围攻击力参数在 MCreator 的数据模型类 LivingEntity.java 中被定义为Numeric(init 3, min 0, max 10000, step 1) public int attackStrength;通过Numeric注解可以读出该参数的完整约束属性值说明类型int整数不支持小数默认值init3与 Minecraft 原版僵尸的基础攻击力一致最小值min0可设为 0生物攻击不造成伤害最大值max10000上限为 10000步长step1每次增减 1关于默认值 3的说明init 3是代码模型层面的默认值。实际在 GUI 中创建新生物元素时该输入框的初始显示值由 GUI 的加载/保存逻辑决定详情见下文第 4 节。3. 生成原理攻击力如何变成游戏内实际伤害攻击力并不只是界面上的一个数字它会通过代码生成器被写入最终的模组源码。当前仓库内置的 NeoForge 生成器模板中攻击力被映射为 Minecraft 原生的属性系统Attribute System。3.1 Java 版NeoForge生成管线在 generator-26.3.x/neoforge-26.3/templates/livingentity/livingentity.java.ftl 中生成器为生物装配属性时public static AttributeSupplier.Builder createAttributes() { AttributeSupplier.Builder builder Mob.createMobAttributes(); builder builder.add(Attributes.MOVEMENT_SPEED, ${data.movementSpeed}); builder builder.add(Attributes.MAX_HEALTH, ${data.health}); builder builder.add(Attributes.ARMOR, ${data.armorBaseValue}); builder builder.add(Attributes.ATTACK_DAMAGE, ${data.attackStrength}); builder builder.add(Attributes.FOLLOW_RANGE, ${data.followRange}); ... }其中${data.attackStrength}就是我们在 GUI 中填写的攻击力数值它最终被注入到Attributes.ATTACK_DAMAGE攻击伤害属性中。这也是 MCreator 生成生物 以攻击力造成伤害 的底层机制在 Minecraft 属性系统下近战攻击的基础伤害直接由ATTACK_DAMAGE属性决定。同一逻辑同样存在于较旧的 1.21.1 生成器版本 generator-1.21.1/neoforge-1.21.1/templates/livingentity/livingentity.java.ftl说明这一映射关系在多个受支持的 Minecraft 版本生成器中保持一致。3.2 基岩版 Add-On 生成管线在基岩版 Add-On 场景下攻击力被映射到行为包实体定义minecraft:attack组件。生成模板 generator-addon-26.5x/addon-26.5x/templates/entity/entity.json.ftl 中minecraft:attack: { damage: ${data.attackDamage} }该模板使用的${data.attackDamage}字段由转换器填充——LivingEntityToBedrockConverter.java 中有如下映射beentity.attackDamage entity.attackStrength;也就是说当你把 Java 版生物元素转换为基岩版 Add-On 时Java 版元素的attackStrength会被原样转换为基岩版实体的attackDamage再经生成器写入minecraft:attack组件的damage字段。可以推断反向编辑基岩版实体并转换回 Java 版时attackDamage也会回到attackStrength这一字段两条生成管线在此处保持语义对齐。4. GUI 交互细节帮助按钮、数值装载与保存4.1 帮助按钮的注册帮助文档与 GUI 的绑定发生在 LivingEntityGUI.javasubpane1.add(PanelUtils.join(FlowLayout.LEFT, L10N.label(elementgui.living_entity.attack_strenght_armor_value_knockback), HelpUtils.helpButton(this.withEntry(entity/attack_strength)), ...withEntry(entity/attack_strength)即指向本文开头引用的帮助文档entity/attack_strength.mdMCreator 会根据当前界面语言如 zh_CN、de_DE自动加载 zh_CN/entity/attack_strength.md、de_DE/entity/attack_strength.md 等本地化版本。4.2 数值的装载与保存打开生物元素时GUI 从数据模型读取并回填数值LivingEntityGUI.java 的attackStrength.setValue(livingEntity.attackStrength);保存/生成时界面输入被写回模型LivingEntityGUI.java 的livingEntity.attackStrength (int) attackStrength.getValue();输入控件本身通过ComponentFromAnnotation.spinner(LivingEntity.class, attackStrength)反射式创建LivingEntityGUI.java因此 GUI 的步进器JSpinner约束会与第 2 节中Numeric注解的 010000 范围自动保持一致。5. 实战建议与注意事项结合上面的源码证据在实际创作生物时可以形成以下判断设置思路以原版生物为参照系。默认值 3 与僵尸的基础攻击力一致若想让生物更强或更弱可据此调整——例如凋灵骷髅的ATTACK_DAMAGE约为 8铁傀儡约为 15可作为常见强敌档位的参考量级。取值范围边界0表示攻击不造成伤害适合纯功能性、观赏性生物上限10000足够支撑绝大多数自定义 BOSS 设计注意该参数是整数无法表达诸如 2.5 这类小数攻击力。与击退类属性的配合同一行配置的 Attack Knockback攻击击退与 Knockback Resistance击退抗性会分别映射到Attributes.ATTACK_KNOCKBACK和Attributes.KNOCKBACK_RESISTANCE见 livingentity.java.ftl三者共同决定生物近战的实际体感强度。版本差异注意攻击力最终写入的位置Java 版属性 vs 基岩版组件会随目标生成器NeoForge 1.21.1 / 26.3 / Bedrock Add-On不同而不同但语义保持一致——都是该生物每次攻击对其他实体造成的伤害转换器会负责字段之间的映射。6. 相关资源索引帮助文档多语言default 版、简体中文版、德文版数据模型定义LivingEntity.javaGUI 实现LivingEntityGUI.javaNeoForge 生成模板generator-26.3.x 版本、generator-1.21.1 版本基岩版 Add-On 转换器与模板LivingEntityToBedrockConverter.java、entity.json.ftl赞分享低代码代码生成桌面应用游戏开发【免费下载链接】MCreatorMCreator is an open-source software used to make Minecraft Java Edition mods, Minecraft Bedrock Edition Add-Ons, resource packs, and data packs using an intuitive easy-to-learn interface or with an integrated code editor. It is used worldwide by Minecraft players, aspiring mod developers, for education, online classes, and STEM workshops.项目地址https://gitcode.com/gh_mirrors/mc/MCreator点击查看免费下载相关推荐MCreator 实体「攻击击退Attack Knockback」参数完全指南原理、设置与生成代码解析MCreator 实体「攻击击退Attack Knockback」参数完全指南原理、设置与生成代码解析 本指南围绕 MCreator 活体实体Livin低代码代码生成桌面应用游戏开发MCreator 物品攻击速度Attack Cooldown参数详解从编辑器配置到代码生成MCreator 物品攻击速度Attack Cooldown参数详解从编辑器配置到代码生成 导读 在 MCreator 中创建自定义物品或工具时编辑器属低代码代码生成桌面应用游戏开发MCreator 方块“可被熔岩点燃”ignitedByLava选项完全指南从界面配置到代码生成原理MCreator 方块“可被熔岩点燃”ignitedByLava选项完全指南从界面配置到代码生成原理 本篇指南聚焦 MCreator 方块Block编低代码代码生成桌面应用游戏开发上一篇Jina 双风格开发指南Pythonic 与 YAMLish 的 Flow/Deployment 配置与互转实战下一篇B站会员购抢票神器5分钟告别手速不够的尴尬创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑