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

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

Mod開(kāi)發(fā)-掉落

2022-03-15 22:49 作者:道家深湖  | 我要投稿

今日有人群里提問(wèn),“怎么生成掉落物”。

如果是你,你會(huì)怎么回答他?


如果你不分類討論,直接回答了這個(gè)問(wèn)題,那答案一定是錯(cuò)的。

方塊打碎和實(shí)體打碎都有掉落物;修改自己引入的方塊或?qū)嶓w,與修改原版的又不同。排列組合一下,這就四種情況了。遇到這種情況,最好是問(wèn)清楚他要干什么。

固然,本質(zhì)上掉落物都是EntityItem類的對(duì)象,一個(gè)個(gè)對(duì)應(yīng)著ItemStack的實(shí)體,但是如何找準(zhǔn)修改掉落物的接口,調(diào)用哪些接口生成這些掉落物,是因情況而異的。

先討論那些可以修改原版內(nèi)容的情況。

生物的死亡戰(zhàn)利品,我推薦監(jiān)聽(tīng)LivingDropsEvent事件,往getDrops獲得的list里塞EntityItem。

方塊的摧毀戰(zhàn)利品,我推薦監(jiān)聽(tīng)BlockEvent.HarvestDropsEvent,往getDrops獲得的list里塞ItemStack。


如果是你自己構(gòu)造的新方塊呢?

Block::getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune)

覆寫一下,往drops列表里塞東西。


如果是自己的新實(shí)體呢?

EntityLiving::dropLoot(boolean wasRecentlyHit, int lootingModifier, DamageSource source)?

覆寫一下,調(diào)用EntityLiving::dropItem,這個(gè)參數(shù)傳的是Item,簡(jiǎn)單,但不適合掉落具有復(fù)雜nbt的道具。

或者調(diào)用entityDropItem,這個(gè)參數(shù)傳的是ItemStack,方便掉落具有復(fù)雜nbt的道具。

LootTable這種東西不是不能用,它只是很不方便debug。如果你想用,可以去看其他的教程。


Mod開(kāi)發(fā)-掉落的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
阿尔山市| 肥乡县| 贡山| 开封市| 昌平区| 三门县| 盐池县| 洛宁县| 大姚县| 新郑市| 平南县| 肃宁县| 道真| 惠水县| 蓬安县| 泸西县| 辽中县| 吴桥县| 仲巴县| 眉山市| 汪清县| 中方县| 扶风县| 洛隆县| 色达县| 曲周县| 七台河市| 莫力| 景宁| 古蔺县| 外汇| 兴国县| 恩平市| 南投县| 峨山| 都江堰市| 成都市| 芷江| 绵竹市| 阜南县| 榆林市|