Zentutorial
  • 首页
  • Zenscript
  • 简单运用
    • 局部变量
    • 尖括号调用
    • 工作台合成
      • 添加配方
      • 移除配方
      • Metadata
      • NBT
    • 熔炉配方
    • 矿物词典(Ore Dictionaries)
    • 物品名称修改
    • tooltips
      • 样式代码
    • 物品条件
    • 物品转换器
    • 掉落物
      • 打草掉落物
      • 生物掉落物
      • Dropt - 导言
        • Dropt - 方法速查
        • Dropt - 使用示例
    • 战利品表 : 导论
      • 战利品表修改(LootTableTweaker)
      • 战利品表修改(LootTweaker-基础)
    • 循环语句(foreach循环) / 普通数组
  • 高级运用
    • 概论
      • 基本类
      • ZenGetter
      • ZenSetter
      • ZenMethod(方法)
    • 常见错误
    • 基本运算
    • 数组与集合
    • 循环与遍历
    • 全局函数
    • Math包
    • if
    • in/has 操作符
    • 战利品表修改(LootTweaker-进阶)
    • 三元操作符
    • 预处理器
    • 全局和静态变量
    • 跨脚本引用
    • 关联数组(映射)
    • IItemStack类型的重新认识
    • IIngredient接口
    • IItemDefinition & IBlockDefinition
    • IData 类型
      • DataMap
    • 穷举与遍历
    • 自定义函数
    • 配方函数与配方事件
      • 配方函数
      • 配方事件
    • 事件概论
      • 一些忠告
    • ZenClass
  • ContentTweaker
    • ContentTweaker
    • 指令
    • 原版加工厂
      • 概论
      • 物品
      • 方块
      • 流体
      • 创造标签
      • 食物
    • 材料系统
      • 基础用法
        • 材料
        • 部件
        • 注册材料部件
        • 材料部件信息
      • 高级运用
        • 自定义部件类型
        • 注册自定义部件
        • 自定义材料部件信息
    • 高级运用
    • 更多鸡联动
    • 匠魂联动
      • 材料引导
        • 材料
        • 构建材料
      • 特性引导
        • 特性
        • 构建特性
        • 特性数据
      • 高级运用
  • 实战
    • 配方
      • 数据驱动合成修改
    • 事件
      • 修改方块掉落物
      • 禁止开创造
由 GitBook 提供支持
在本页
  • 导入包
  • 创建
  • 可用ZenProperties
  • 吃食物给药水效果
  • 例子

这有帮助吗?

  1. ContentTweaker
  2. 原版加工厂

食物

上一页创造标签下一页材料系统

最后更新于1年前

这有帮助吗?

食物是一种特殊的物品。

导入包

import mods.contenttweaker.ItemFood; 原版加工厂包也需要导入!

创建

用val testItem as ItemFood = VanillaFactory.createItemFood(字符串物品ID, 整数可恢复饥饿值);创建一个「即将」加入进游戏的食物,并存储在某个变量中,以做接下来的修改。物品ID必须全小写,可以包含数字和下划线_ ,必须字母开头。

食物是一种特殊的物品,接下来的操作与物品差不多。(注册、设置信息、设置本地化、材质与添加物品一致)

可用ZenProperties

创建物品时可用的ZenProperties,食物也能用!

以下为食物特有的

名称
类型
默认值
描述

healAmount

int

该食物可恢复的饥饿值

alwaysEdible

bool

false

该食物在玩家饥饿值满时是否还可以吃

wolfFood

bool

false

该食物是否可喂给狼

saturation

float

0.6

该食物的相对饱和度,实际饱和度为相对饱和度 * 饥饿值

onItemFoodEaten

IItemFoodEaten

null

吃下该食物后会发生什么(见下文)

吃食物给药水效果

我知道你在想什么。这是事件高级运用,但你肯定想要,对吧?

food.onItemFoodEaten = function(stack, world, player) { // 框架
    if (!world.remote) { // 框架
        //以下一行可改,格式为
        //player.addPotionEffect(药水ID.makePotionEffect(时间, 等级));
        //时间的单位为tick 1秒 = 20ticks
        //药水ID可用/ct potions 指令查看
        //想要加多个buff,就把下面这行多写几次就行
        player.addPotionEffect(<potion:minecraft:weakness>.makePotionEffect(60, 1)); // 吃食物给3s虚弱效果
    }  // 框架
}; // 框架

例子

#loader contenttweaker

import mods.contenttweaker.VanillaFactory;
import mods.contenttweaker.ItemFood;

var soup as ItemFood = VanillaFactory.createItemFood("sweet_soup", 4);

soup.saturation = 0.8;
soup.alwaysEdible = true;
soup.onItemFoodEaten = function(stack, world, player) {
    if (!world.remote) {
        player.addPotionEffect(<potion:minecraft:speed>.makePotionEffect(100, 1));
        player.addPotionEffect(<potion:minecraft:strength>.makePotionEffect(200, 2));
    }
};
soup.register();
传送门