作者v2266514 ()
看板Minecraft
标题[讨论] 关於Iron Golem的增产问题
时间Sun Feb 24 06:48:41 2013
第一个问题
请问为什麽大家会想要增加 Iron Golem的产量是
-增加"村庄"数量
而不是
-增加"村民"数量
是因为就算增加了村民的数量,村庄可以拥有超过一个Iron Golem
村庄也只会在同一时间尝试产生1个
而不是同时产生更多的 Iron Golem ?
也就是说一个村庄只能有1/7000 per tick的机会?
-
第二个问题
两个村庄之间如果够近却还未合并成一个村庄
有没有可能"共用"村民?
-
第三个问题
增加地板的数量能够有效的增加Iron Golem的产生机率吗
如果我牺牲地板面积缩小村庄也能够有一样的产量?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.34.34.51
1F:推 rinkai:第一个问题,透过门的增加,村民才会增加 02/24 12:01
2F:推 jeffffliu:村民增加Iron Golem才会增加 02/24 12:25
3F:→ t19910422:上面误会他的意思 村庄不是指门的数量 02/24 13:49
4F:→ t19910422:他是指一个整体是一个村庄 02/24 13:50
6F:→ nightkid:神奇铁巨人工厂教学 02/24 14:18
7F:→ jesil:这个不太实际 光运村民就崩溃了 02/24 16:17
8F:→ jeffffliu:详细请参考Village.java VillageCollection.java 02/24 16:22
9F:推 CP64:刚刚把 java 看成 lava ( ′_>`) 02/24 16:27
10F:推 Cruiser: 把 lava 看成 lara ( ′_>`) 梁心颐正妹 -///- 02/24 17:08
刚刚的研究成果出来了:
我做了两个Docm77的村庄"各一个"并且分头进行实验
(Docm77的影片:
http://youtu.be/xE04Ui90sQY)
环境:1.4.7单机-简单
实验时间:4小时25分钟
[村庄一]:
http://i.minus.com/iFwvLe6nHdm0O.jpg
村民:272
房子(门):37
Golem最大数量:27
地板生成面积:640
产量:铁210, 玫瑰37
平均铁产量:47.547(四舍五入到小数点後三位)
[村庄二]:
http://i.minus.com/iSwOI0PYqyBo7.jpg
村民:16
房子(门):16
Golem最大数量:1
地板生成面积:640
产量:铁218, 玫瑰51
平均铁产量:49.359(四舍五入到小数点後三位)
(村庄二在收割时又掉一个下来 我没有算进去)
其实有村庄三:
http://i.minus.com/iC6ZjRE4zfibc.jpg
这是测试Golem是否会像wiki所说的,总是会在固定点诞生
不过因为Golem卡玻璃所以实验失败了(会卡玻璃代表在固定生?)
虽然我的时间基数不够大
但是实验结果却有到达理论值
村民和门比较多"并不会"影响产量
多人连线的时候考虑杂七杂八的影响
我想大概只能有六七成的产量
-提问
我在收割Golem的时候突然发现这种现象:
http://i.minus.com/iXXd7vLGCkW1c.jpg
这是一种邪教!?
11F:→ jeffffliu:不是只在村庄中央生吗 02/24 17:32
应该不是
我测试的时候会从各种地方诞生
最远也有在水流地板的最边边诞生
12F:推 CP64:那群殭屍...Σ( ̄□ ̄|||) 02/24 18:02
13F:推 jeffffliu:记得是以村庄中心16x6x16范围内找地方生成 02/24 18:18
14F:推 aaabboy:邪教我笑了XDDDDDDDD 02/24 18:19
15F:推 amyjohn000:僵屍们绕圈圈 XD 02/24 18:26
16F:推 dannywei611:其实是献祭仪式 02/24 18:32
官方wiki有提到"应该总是在固定地方产生"
不过我认为是以村庄中心16*6*16产生没错
另外我在建筑的时候有发现
Golem好像可以在3格的转角处产生
17F:推 Cruiser:僵屍们: 印和阗~ \●□●/ 印和阗~ \●□●/ 印和阗~ 02/24 19:24
18F:推 jeffffliu:是这样没错 请参考Village.java (逃远远 02/24 19:30
19F:推 jeffffliu:不过为什麽是村"庄" 02/24 19:33
20F:→ v2266514:我的输入法选的XD 02/24 19:56
21F:推 jeffffliu:村庄没有共用问题 它就会数 直径x8x直径 范围内的村民 02/24 20:25
22F:→ jeffffliu:忘记是不是8了 (不确定1.5有没有改之类的) 至於新村庄 02/24 20:26
23F:→ jeffffliu:好像是有房子(门)在原本村庄为中心距离半径(32)+32 才会 02/24 20:27
24F:推 SW1427:两者实验数据中的"Golem最大数量" 是指什麽意思@@? 02/24 20:30
25F:→ SW1427:同时间 还是累积一段时间去看? 02/24 20:31
26F:推 jeffffliu:Golem最大数量依照原始设定是村民数量的十分之一 02/24 20:34
27F:→ jeffffliu:当golem的数量小於该最大数量就不会生成 02/24 20:34
28F:推 jeffffliu:不对打反了 是>=最大数量就不常是生成 02/24 20:38
29F:→ v2266514:村庄每10个村民 就可以同时拥有一个golem 02/24 21:17
30F:→ v2266514:每多10个村民就可以在加1个 没有上限 02/24 21:17
31F:→ jeffffliu:int var2 = this.numVillagers / 10; 02/24 21:22
32F:→ jeffffliu:if (this.numIronGolems < var2 && 02/24 21:23
33F:→ jeffffliu: this.villageDoorInfoList.size() > 20 && 02/24 21:23
34F:→ jeffffliu: this.worldObj.rand.nextInt(7000) == 0) 02/24 21:23
35F:→ Cruiser: return; 02/24 21:34
36F:→ Cruiser: print"hello world" } 02/24 21:34
37F:→ t19910422:应该说生产的速度没有差异 重点是上限而已 02/24 21:38
38F:→ t19910422:所以当然村庄越多生越快 如果有一直再杀的话 02/24 21:38
刚刚发现一个现象
原本我的村庄三生出来的golem会卡玻璃
所以我就把玻璃换成了石砖
从此就在也没有一个golem出现了...
然後我建造了村庄四
村庄四我只有给它3*3的空间产生golem
过了一个小时没有半只
目前继续观察中~
所以我大胆假设golem在一个村庄的出生点是固定的
39F:推 jeffffliu:那生成选择地点范围16x6x16 该地点2x4x2空间不能有 02/24 22:44
40F:→ jeffffliu:BlockNormalCube 02/24 22:44
41F:→ jeffffliu:你放石砖就让它不能生成了... 02/24 22:45
我先假设golem是会随机在可生成范围产生
那块地加上玻璃围墙宽至少5格
结果两只golem刚好都产生在玻璃里面
不断重复几次确定都是卡在同一个玻璃墙上
於是将玻璃换成石砖,而剩下的面积至少3*3,
结果golem没有产生
而在另一端的村庄二大概已经一组铁了
-
刚刚村庄三竟然降下了新的生命
虽然只有一个golem
可能会推翻我之前的假设
我要在观察一段时间才能定论
※ 编辑: v2266514 来自: 114.34.34.51 (02/24 23:00)
42F:→ jeffffliu:生成位置在block角(左上角 左:西 上:北) 不是block中间 02/24 23:01
43F:→ jeffffliu:然後下方要是doesBlockHaveSolidTopSurface 02/24 23:02
44F:→ t19910422:你敢不信jeff说的话?! 你不知道他是谁吗!!! 02/24 23:26
45F:→ jeffffliu:啥 它只是走的验证的路不同而已 1.实验 2.直接看内容 02/24 23:26
46F:→ jeffffliu:不管是哪个都很花时间 (不想看) 顶多给它参考 02/24 23:27
47F:→ jeffffliu:而且这只是我理解的部分不保证100%正确(?) 02/25 01:35
48F:→ jeffffliu:如果只有16x6x16那顶多盖两层 可是在多人没办法知道 02/25 01:36
49F:→ jeffffliu:村庄中心位置(还会更新位置勒 02/25 01:36
50F:推 reymysterio2:邪教XDD 03/05 09:30