java植树问题代码_Minecraft1.14.4堆叠袭击农场学习笔记’

本文深入探讨了Minecraft中的村民、POI系统和袭击机制。作者发现村民的工作方块在被牵引时会从POI系统中移除,而在袭击状态结束后重新加入。村民从恐慌中恢复时,会根据时间决定是否遗忘POI。牵引模块的时机至关重要,同时揭示了袭击怪在袭击外的时间限制。此外,还讨论了村民记忆POI和POI系统之间的差异,以及可能的牵引方法改进。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

堆叠袭击农场原作者

Gamepiaynmo:黑の秋风

本文是学(chao)习(xi)堆叠袭击农场时提出的一些问题和通过查阅资料自行解决问题的方法的记录,如有错误,敬请指正

本文中使用了少量源码片段,仅供学习交流使用,请勿随意散布

“是村庄”的判定不只是由村民来负责,也与世界本身有关,当产生方块变化时,世界就会动一次POI系统e0ef7036922b631b7a80131771d6b14b.pngnet\minecraft\server\level\ServerLevel.java

(我之前一直以为这是由村民来做的草,原因应该是看了av51877122,太久以前看的记忆模糊,然后把“在POI系统中”和“获得POI”弄混了emmmm)

现在来看这个由世界管的才是真正的POI系统,而通过/data get entity Brain.memories.minecraft:job_site得到的,也就是gnembon视频讲的“获得”的POI应该只是村民AI;“被村民占据”不等同于“在POI系统中”,前者是后者的充分不必要条件

那么GP大佬专栏里的“袭击状态”直接影响的应该只是复位而不是牵引了,牵引时,工作方块开始移动变为b36,就从POI系统中被清除,袭击就被牵引走了;结束移动时,又回到了POI系统,只是没有村民占有。怪不得他的牵引模块时序那么紧,我还想村民忘掉工作方块不需要时间吗233

复位依然需要关注村民的状态。由于POI在存档中是以类似ID形式而非通过坐标储存,因此如果将工作方块推走再推回,即使村民的记忆中那个位置的确是它的工作方块,那里的方块状态也与开始无异,但这个方块在POI系统中的ID与村民记忆中是不同的,这个坐标先remove了一次,再add了一次POI,并且没有被村民占有过(脑补出了一个机器人waifu被重置的准ntr剧情www

为了让装置复位,必须让村民先忘记先前的POI,再记忆一个新的。记忆新的POI没有状态要求,但忘记POI必须在工作状态下

(存疑)每只村民从视线被遮挡到退出恐慌的时间和从视线被打开到进入恐慌的时间似乎都是独有而固定的,至少是有一定的顺序

村民从恐慌状态退出时,会直接根据时间决定接下来的活动,如果是工作时间,即可忘记POI0aa405b253c524640570a36e27186631.pngnet\minecraft\world\entity\ai\behavior\VillagerCalmDown.java

f170193675e175f4b182d9242493841c.pngnet\minecraft\world\entity\ai\Brain.java

村民搜寻POI为每40gt一次(?)a5b2f1c94207dcbd948b8d01dcc23cf0.pngnet\minecraft\world\entity\ai\sensing\SecondaryPoiSensor.java

9140f4b28f52a6da1a3915a9df1ccc3a.pngnet\minecraft\world\entity\ai\sensing\Sensor.java

可能想到了一种新的牵引方法,测试样机制作中~失败了

袭击怪不在袭击中的时间超过30gt才会被从袭击中移除,这意味着如果处理系统太快,反而会得不到不祥之兆。如果要调整处理系统和牵引系统的时差就太麻烦了,考虑让怪物在最上方的牵引模块y+96以上待1.5秒。好像不需要6448757603e8f6d187267624c273ea98.pngnet\minecraft\world\entity\raid\Raid.java

草,我研究了这么久为什么老是断袭击,结果就是因为高度算错了

最高的牵引模块工作方块不应该在24+96=120,不应该在24+96+1=121,而至少要放到1+24+96+1=122

植树问题果然是我的一生之敌

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值