五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

我的世界1.19.2fabric自定義工具

2023-06-22 08:39 作者:三極客  | 我要投稿

先上個(gè)wiki鏈接 fabricmc.net/wiki/tutorial:tools

其實(shí)大多數(shù)的按照wiki就行了

先創(chuàng)建材料類(lèi)

并實(shí)現(xiàn)父類(lèi)方法

材料的父類(lèi)方法重寫(xiě)

然后寫(xiě)這一個(gè)工具類(lèi)

工具類(lèi)

注冊(cè)

public static final Item LightningRod1 = register("lightning_rod_material",(Item) new LightningRod(LightningRodMaterial.LIGHTNING_ROD_MATERIAL,new Item.Settings().group(ITEM_GROUP).maxDamage(LightningRodMaterial.LIGHTNING_ROD_MATERIAL.getDurability())));

這里的register是我自行寫(xiě)了個(gè)方法,ITEM_GROUP是我自定義的物品組可以用ItemGroup.FOOD代替,注意這里的注冊(cè)方法與wiki的不同

wiki的方法

然后放置紋理,配置文件就行了

然后在繼承ModInitializer類(lèi)的主類(lèi)中注冊(cè)

但是你會(huì)發(fā)現(xiàn)這個(gè)工具在LightningRodMaterial寫(xiě)的getAttackDamage中的攻擊傷害沒(méi)效果

并且也么有耐久,還有耐久變成負(fù)數(shù)的情況

耐久負(fù)數(shù)

在LightningRod中覆寫(xiě)postHit攻擊函數(shù)

就是public boolean postHit(ItemStack stack, LivingEntity target, LivingEntity attacker) {

}

然后寫(xiě)以下內(nèi)容(吐槽,為什么這個(gè)b編輯器沒(méi)有代碼塊功能)

@Override
? ?public boolean postHit(ItemStack stack, LivingEntity target, LivingEntity attacker) {
? ? ? ?//造成傷害,是target被攻擊者受到的傷害? ? ? ???target.damage(DamageSource.GENERIC,lightningRod.getAttackDamage());
? ? ? ?ItemStack itemStack = attacker.getStackInHand(attacker.getActiveHand()); // 創(chuàng)建用戶(hù)手頭ItemStack的一個(gè)新的ItemStack實(shí)例
// ? ? ? ?itemStack.setDamage(itemStack.getDamage()-1);
? ? ? ?PlayerEntity playerEntity = attacker.getEntityWorld().getPlayerByUuid(attacker.getUuid());//通過(guò)uuid獲取玩家
? ? ? ?if (itemStack.isDamageable()&&!playerEntity.isCreative()){//是否有耐久,是否為創(chuàng)造
? ? ? ? ? ?playerEntity.getItemCooldownManager().set(this,5);//設(shè)置攻擊冷卻
? ? ? ? ? ?itemStack.setDamage(itemStack.getDamage()+1);//設(shè)置耐久
? ? ? ? ? ?if (itemStack.getDamage()>=itemStack.getMaxDamage()){如果當(dāng)前損失耐久大于最大耐久
? ? ? ? ? ? ? ?itemStack.decrement(1);//去除這個(gè)物品
? ? ? ? ? ?}
? ? ? ?}
? ? ? ?return true;
? ?}

整體樣子

由于PlayerEntity是LivingEntity的子類(lèi),不能強(qiáng)轉(zhuǎn),要獲取子類(lèi)方法只能另尋出路

就是PlayerEntity playerEntity=?attacker.getEntityWorld().getPlayerByUuid(attacker.getUuid());//通過(guò)uuid獲取玩家

由此可以設(shè)置他的物品冷卻時(shí)間playerEntity.getItemCooldownManager().set(this,100);

在攻擊的時(shí)候召喚閃電

World world = attacker.getWorld();
LightningEntity lightningEntity = new LightningEntity(EntityType.LIGHTNING_BOLT,world);
lightningEntity.setPosition(target.getPos());
world.spawnEntity(lightningEntity);

成功



我的世界1.19.2fabric自定義工具的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
吉木萨尔县| 洛浦县| 高阳县| 龙胜| 保亭| 革吉县| 金昌市| 喜德县| 衡阳市| 曲阜市| 星子县| 阜阳市| 焉耆| 佛山市| 乳山市| 锡林浩特市| 孟连| 新沂市| 康乐县| 于都县| 乌鲁木齐市| 嘉荫县| 盈江县| 昆山市| 工布江达县| 任丘市| 清丰县| 固原市| 五河县| 江津市| 高唐县| 六盘水市| 滨州市| 宁远县| 杂多县| 扎赉特旗| 宁陵县| 麻栗坡县| 西乌珠穆沁旗| 长沙市| 泸定县|