As we all know, asteroid belongs to entities, and entities have a very large effect on ups. That's why ups are drastically reduced when spaceships that crafting Promethium science pack are running. This mod simulates a situation where a lot of spaceships are running at the same time by modifying the interaction logic between the spaceships and the cargo on the ground.
Incidentally, this mod is not of a cheating nature and your actual capacity will not be affected in any way. It simply helps you reduce the number of spaceship entities.
Simply put, when the ground transports cargo to an spaceship, the spaceship will only receive a small portion of the cargo; when the spaceship drops cargo to the ground, the ground will receive several times as much cargo. The multiplier is related to the quality of the ship's center, which is 1 2 3 4 6 for stars 1-5. I'll use p for multiplier below.
When space drops cargo to the ground, p-1/p of the cargo will be returned to the cargo bay. The number of goods that have been dropped off does not change.
For example, if p=6 and the number of cargoes=60, when space drops cargoes to the ground:
1. The ship tries to drop 60 cargoes
2. 50 cargoes are returned to the cargo bay
3. 60 cargoes are received on the ground
When the ground transports cargoes to the space, p-1/p cargoes will be subtracted.
For example, if p=6, number of goods=60, and the ground transports goods to space:
1. Ground tries to transport 60 goods
2. Spaceship receives 10 goods
Obviously, at this point, you'll find a problem: what if the goods aren't a multiple of 6?
Don't worry, the mod provides a cache cargo area (which is invisible) that can be used to deal with this situation.
For example, if p=6, number of cargo=100, and the spacecraft drops cargo to the ground:
1. The ship tries to drop 100 cargoes
2. It should return 100/6x5=83.33 cargoes to the warehouse, but it actually returns 83 cargoes to the warehouse
3. It adds 0.33x6=2 cargoes to the rocket, which then actually contains 50+2=52 cargoes
4. The ground receives 52 cargoes That is to say, the final effect looks like the ship puts 17 cargoes and the ground receives 52 cargoes.
For example, if p=6, the number of goods=100, and the ground transports goods to space:
1. The ground tries to transport 100 goods
2. The spaceship should have received 100/6=16.66 goods, but it actually receives 16 goods
3. 0.66x6=4 goods are added to the global cache, and there are now 4 goods in the global cache
Next, let's repeat this operation again.
For example, if p=6, number of goods=100, and the ground transports goods to space:
1. The ground tries to transport 100 goods
2. It detects that there are already 4 goods in the global cache, and removes all of them, so the total number of goods is now 104
3. The ship should have received 104/6=17.33 goods, but actually received 17 goods
4. It adds 0.33x6=2 goods to the global cache. Now there are 2 cargoes in the global cache
Special, if the number of cargoes after deduction is 0, the rocket entity is automatically destroyed to improve efficiency.
If p=6, the cargo has a rocket load of 1. At this point, the ship will not receive the first 5 rockets, the 6th rocket is acceptable and has 1 item in it.
Finally, if you have any comments or suggestions, feel free to let me know in discussion (https://mods.factorio.com/mod/multiple_spaceships/discussion)!
众所周知,星岩属于实体,而实体对ups的影响非常大。所以黑瓶飞船运行时,ups会大幅降低。这个mod通过修改飞船与地面货物的交互逻辑,来模拟大量飞船同时运行的情形。
顺带一提,这个mod并非作弊性质,你的实际产能不会有任何影响。它仅仅帮助你减少飞船实体的数目。
简单来讲,地面向飞船运输货物时,飞船只会收到少部分货物;飞船向地面投放货物时,地面会收到数倍货物。倍率与飞船中心的品质有关,1-5星分别为1 2 3 4 6。以下我会使用p表示倍数。
当太空向地面投放货物时,将会返还p-1/p的货物到货仓。已经投放出去的货物数目并不会改变。
例如p=6,货物数目=60,太空向地面投放货物的情况下:
1.飞船尝试投放60个货物
2.返还50个货物到货仓
3.地面收到60个货物
当地面向太空运输货物时,将会扣除p-1/p的货物。
例如p=6,货物数目=60,地面向太空运输货物的情况下:
1.地面尝试运输60个货物
2.飞船收到10个货物
显然,此时你会发现一个问题:如果货物不是6的倍数怎么办?
不用担心,这个mod提供了一个缓存货物的区域(它是不可见的),可以用于应对这种情况。
例如p=6,货物数目=100,太空向地面投放货物的情况下:
1.飞船尝试投放100个货物
2.本应返还100/6x5=83.33个货物到货仓,实际返还83个货物到货仓
3.向火箭添加0.33x6=2个货物,此时火箭实际含有50+2=52个货物
4.地面收到52个货物
也就是说,最终效果看起来像是飞船投放17个货物,地面收到52个货物。
例如p=6,货物数目=100,地面向太空运输货物的情况下:
1.地面尝试运输100个货物
2.飞船本应收到100/6=16.66个货物,实际收到16个货物
3.向全局缓存添加0.66x6=4个货物,现在全局缓存有4个货物
接下来,我们再重复一次这个操作。
例如p=6,货物数目=100,地面向太空运输货物的情况下:
1.地面尝试运输100个货物
2.检测到全局缓存已有4个货物,将其全部取出,现在货物总数为104
3.飞船本应收到104/6=17.33个货物,实际收到17个货物
4.向全局缓存添加0.33x6=2个货物,现在全局缓存有2个货物
特别的,如果扣除后货物数目为0,火箭实体会自动摧毁以提升效率。
如果p=6,货物的火箭载荷为1,此时飞船不会收到前5发火箭,第6发火箭可以接受,并且里面有1个物品。
最后,如果你有任何意见或建议,欢迎在讨论区 (https://mods.factorio.com/mod/multiple_spaceships/discussion)告诉我!