Mc1.16forge官混教程/教补-#4 为物品赋予常用属性

        首先先明确一下关于为物品赋予属性要怎么写入——只包含一些原版中常用的。

public class Dt_crystal extends Item {
    public Dt_crystal() {
        super(new Properties().[……].tab(ModGroupRegistry.worldMaterial));
    }
}

        如图[……]的部分就是我们要添加新属性的地方,写在这一段用 . 隔开即可。如:

Properties().fireResistant().tab(ModGroupRegistry.worldMaterial));

        如果有特殊定义,就像food一样往前定义方法即可,目前只发现food这一个特别的。

        讲解一下给出的内容:

        fireResistant( ):防火,即不会被火焰与岩浆破坏,一个例子就是下届合金。

        stackTo( int ):更改物品堆的数量上限,默认为64。按照item类内部算法,有攻击力(就是武器类的以及其他)的物品不能设置,会报错。如设置一组十六个,就可以加入stackTo(16)。如果数量超过64,你可以在创造模式物品栏中拿到定义数量的一整组,但放入物品栏中后仍只能放入64个。

        defaultDurability( int ):直译默认耐久,具体用途不明,似乎只能打在不带伤害的物品上,用途暂时不明确。可能是给定义工具类使用的。待补充。

        durability( int ):同上,直译为耐久。待补充。

        craftReminder( item ):合成后余下物品,比如牛奶用完留下桶等。[item]中直接填入物品名字会报错。

  1. 对于mod注册的物品,可以使用[注册文件] . [物品名字] . get( ),如:
craftRemainder(ItemRegistry.pure_gold_nugget.get())
  1. 对于原版物品,可以使用Items . 物品名字 来获取物品,如
craftRemainder(Items.BAMBOO)

       值得注意的是,在使用mod注册物品时,会从上往下注册物品。也就是说,craftRemainder的物品要注册在原物品前。如例:

public static final RegistryObject<Item> rma70_12 = ITEMS.register("rma70_12", Rma70_12::new);
public static final RegistryObject<Item> rma70_24 = ITEMS.register("rma70_24", Rma70_24::new);
public static final RegistryObject<Item> d32_steel = ITEMS.register("d32_steel", D32_steel::new);

       在物品rma70_24中,它可以craftRemainder一个rma70_12;而如果craftRemainder一个d32_steel,运行时将会报错。

        Rarity( Rarity.[稀有度类型] ):为物品定义稀有度以更改名字颜色,[稀有度类型]一栏默认给出四种:

    COMMON->白色,一般物品

    UNCOMMON->金色,如下届之星,不死图腾等

    RARE->浅蓝色,如信标,潮涌核心等

    EPIC->紫色,如附魔金苹果等

        此外,还可以自己定义颜色,如下:

rarity(Rarity.create("UNKNOWN", TextFormatting.BLUE))

        第一空传入一个string作为名字,第二个传入TextFormatting.[此文件中有的颜色]。这么来看,应该是可以专门整个文件来存储新增颜色类型的。如上的案例是蓝色。

        附TextFormatting中给出的颜色,理论上也可以自定义:

        setNoRepair( ):字面意思,设置为不允许修理。至于效果如何,在初步测试中并没有阻止赤金剑被赤金在铁毡处修复。待补充。

        addToolType( ToolType . [工具类型] , int(工具等级] ):为物品添加所属的工具类。写法如左,意义不明。待补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值