micdoodle8 / Galacticraft

An advanced Space Dimension Mod for Minecraft
Other
610 stars 329 forks source link

Valkyrie Warefare mod power issue #3116

Open ardvarkeating10 opened 6 years ago

ardvarkeating10 commented 6 years ago

Minecraft version: 1.10.2 Galacticraft version: 1.10.2-4.0.1.121 Forge version: 1.10.2-forge1.1.10.2-12.18.3.2185 Valkyrien Warfare 0.9_pre_1 [1.10.2 Final] Mekanism-1.10.2-9.2.2.301

Single player (SSP)

So I tried adding the Valkyrie Warfare mod to the game and discovered that while Mekanism energy transfers (IE through ultimate cables/fluids etc.) fine on a moving ship, galacticraft machines don't. You can run an energized smelter and windmill fine on a moving ship, but connections of any sort to an oxygen bubble generator, or from a coal generator, just don't do anything. The solar and coal power generators don't even generate power when supplied with sunlight/coal. Even putting a battery in an oxygen sealer doesn't move the energy bar up, it just says not enough power and ignores it. If you put an infinite oxygen thing in a bubble distributor, it still says not enough oxygen.

Interestingly, if you've got a bubble generator working before turning on the valkyrie physics block, then it will keep working indefinitely, even without power or oxygen.

radfast commented 6 years ago

Valkyrien Warfare is incompatible with a lot of other mods, when it starts moving ships around - and its homepage admits it does not have full compatibility with other Forge mods.

I don't know the exact reasons. I'm not willing to spend 2 hours of my time understanding their code, so I'm currently not sure - for example - whether VW relocates blocks in existing map chunks or whether VW creates ships in some different chunk or even a different dimension?

It's up to the VW devs to find a way to fix this if they can, there is no bug on Galacticraft's side. If Mekanism is working properly, that's likely because Mekanism includes redundant checks for block positioning every time it moves a small amount of energy or fluid. We don't do that, for performance reasons. Server performance matters, in Minecraft, and even a modern fast PC with SSDs can't maintain 20tps on a map with lots of mods and machinery.

BUT: I believe in helping inter-mod compatibility where we can. If the VW devs make available an API or events or some other way for other Forge mods to interact with their mod then I am happy to look at doing some more here, but I will need some help to come from them. @DaMatrix @Best108

For now, you will need to make sure not to build Galacticraft machinery on airships.

Note: it is very likely that Valkyrien Warfare will be totally incompatible with some of Galacticraft's more advanced features like: rotating space stations, zero-G movement, Launch Controllers and landing rockets, Astro Miner, Terraformer - and I will also expect lighting bugs with the Arc Lamp

DaMatrix commented 6 years ago

The machines at least should work, unless Galacticraft is doing something wierd (like only updating machines in a certian distance from the player). The blocks are stored completely vanilla, except millions of blocks away from the center of the world, there's no reason that things like the battery shouldn't work except for the client not being informed. I'll dig around the code when I get the chance, but most of those things mentioned by OP should already work.

If it is something to do with the player being outside of range, it should be something as easy as this: https://github.com/OpenModularTurretsTeam/OpenModularTurrets/pull/276/files#diff-215ead744fde6aba8c5666e8b25a48aaR116

radfast commented 6 years ago

OK thanks that is helpful - so the blocks are in chunks at wacky distant co-ordinates in the same dimension? Are those chunks marked as loaded, will all these checks be passed?

DaMatrix commented 6 years ago

Yup. The chunks are loaded as if by the player, and the airship is always in the same dimension as the chunks.

ardvarkeating10 commented 6 years ago

Hooray! My Enterprise will finally sail amongst the stars!

radfast commented 6 years ago

@DaMatrix are the map chunks for airships extremely close to the edge of the world co-ordinates? It's possible some parts of Galacticraft code don't function correctly in the final 1000 blocks close to min/max coordinates, for performance optimisation reasons.