java - 我将如何在 1.16.5 的 forge 中制作自定义镐?
问题描述
所以我想在 1.16.5 的锻造模式中制作一个自定义镐。
我试过这个:
package io.github.yamiatem.fiery_stuff.core.item;
import io.github.yamiatem.fiery_stuff.FieryStuff;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.PickaxeItem;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
public class ItemInit {
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, FieryStuff.MOD_ID);
public static final RegistryObject<Item> FIERY_INGOT = ITEMS.register("fiery_ingot", () -> new Item(new Item.Properties().group(ItemGroup.MISC)));
public static final RegistryObject<PickaxeItem> FIERY_PICK = ITEMS.register("fiery_pick", new PickaxeItem(null, 0, 0, null));
}
但是我想从头开始创建一个具有自定义耐用性、效率和等级之类的自定义镐?
解决方案
您需要传递一些有效值,而不是将 null 传递给 PickaxeItem 的参数。IItemTier 是确定工具的特性。
public class CustomTier implements IItemTier {
@Override public int getMaxUses() { return 1000;}
@Override public float getEfficiency() { return 10; }
@Override public float getAttackDamage() { return 10; }
@Override public int getHarvestLevel() { return 3; }
@Override public int getEnchantability() { return 5; }
@Override public Ingredient getRepairMaterial() { return Ingredient.fromStacks(new ItemStack(FIERY_INGOT.get())); }
}
public static final RegistryObject<PickaxeItem> FIERY_PICK = ITEMS.register("fiery_pick",
new PickaxeItem(new CustomTier(), 0, 0, new Properties().maxStackSize(1)));
查看类 ItemTier 以获得香草层。
推荐阅读
- arrays - 仅在满足条件时运行 puppet 类
- javascript - 试图在 localstorage 中获取对象的索引,以便我可以使用 javascript 或 jquery 从 localStorage 存储中删除/删除该对象
- app-store-connect - App Store Connect API 请求销售报告
- mysql - Amazon Lightsail vs Amazon RDS
- javascript - 使隐藏元素显示自身,然后使用过渡移动
- r - R中的dplyr过滤器和for循环
- python - How to make the GUI using Tkinter of the format specified below?
- php - Removing duplicates from merged array
- django - pass the foreign key of a model in the url
- docker - Docker EE UCP - How to resolve x509 error when deploying stack?