700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Minecraft 1.12.2模组开发(十) 食物制作

Minecraft 1.12.2模组开发(十) 食物制作

时间:2018-10-31 08:13:12

相关推荐

Minecraft 1.12.2模组开发(十) 食物制作

我们本次来制作一款食物(food)

1.在items包下 新建 food 包

在food 包中新建 FoodBase 类:

public FoodBase(String name(食物名称), int amount(恢复量), float saturation(饱和度), boolean iswolfFood(狼是否可以吃),CreativeTabs tab(放在物品栏的位置))

在 FoodBase.java 中进行编写:

package com.Joy187.newmod.items.food;import com.Joy187.newmod.Main;import com.Joy187.newmod.init.ModItems;import com.Joy187.newmod.util.IHasModel;import net.minecraft.creativetab.CreativeTabs;import net.minecraft.item.ItemFood;public class FoodBase extends ItemFood implements IHasModel{public FoodBase(String name, int amount, float saturation, boolean iswolfFood,CreativeTabs tab) {super( amount, saturation, iswolfFood );setUnlocalizedName(name);setRegistryName(name);setCreativeTab(tab);ModItems.ITEMS.add(this);}@Overridepublic void registerModels() {Main.proxy.registerItemRenderer(this, 0, "inventory");}}

在ModItems中注册我们的食物:

public static final ItemFood XIAOHANBAO = new FoodBase("secret_tiny_burger", 18, 2.5f, false, CreativeTabs.FOOD);

2.在 models.item 下新建.json文件 -> 编写物品的信息

{"parent": "item/generated","textures": {"layer0": "joymod:items/secret_tiny_burger"}}

3.将食物材质拖入 textures.items 包中:

4.在en_us.lang 文件中添加食物游戏中的名称

5.保存所有文件 -> 运行游戏

游戏中成功出现食物

食物吃下去后恢复5点饱食度,与最初设定完美符合!

如果要制作具有效果的食物,我们可以在food包中新建一个 EffectFoodBase 类

在EffectFoodBase.java 中编写:

package com.Joy187.newmod.items.food;import com.Joy187.newmod.util.IHasModel;import net.minecraft.creativetab.CreativeTabs;import net.minecraft.entity.player.EntityPlayer;import net.minecraft.item.ItemStack;import net.minecraft.potion.PotionEffect;import net.minecraft.world.World;import net.minecraftforge.fml.relauncher.Side;import net.minecraftforge.fml.relauncher.SideOnly;public class EffectFoodBase extends FoodBase implements IHasModel{PotionEffect effect;public EffectFoodBase(String name, int amount, float saturation, boolean iswolfFood,CreativeTabs tab, PotionEffect effect) {super(name, amount, saturation, iswolfFood, tab);//setAlwaysEdible();this.effect=effect;}@Overrideprotected void onFoodEaten(ItemStack stack,World worldIn, EntityPlayer player) {if (!worldIn.isRemote){player.addPotionEffect(new PotionEffect(effect.getPotion(), effect.getDuration(), effect.getAmplifier(), effect.getIsAmbient(), effect.doesShowParticles()));}}@SideOnly(Side.CLIENT)public boolean hasEffect( ItemStack stack){return true;}}

之后在ModItem中添加食物,重复之前的步骤即可。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。