Technici4n / Powah

Discussion on the AE2 Discord server:
https://discord.gg/Zd6t9ka7ne
GNU Lesser General Public License v3.0
26 stars 21 forks source link

Thermo Generator does not generate power over lava #167

Closed Mithi83 closed 1 month ago

Mithi83 commented 1 month ago

Version: (make sure you are on the latest version before reporting):

Issue description:

Thermo Generator does not produce Powah! (pun intended)

Steps to reproduce:

Lava under Thermo Generator (Niotic), Pipez fluid pipe pipes water into the Thermo Generator from a Sink (Cooking for Blockheads), the water bar in the Thermo Generator is fully filled, but no power is actually generated.

Additional info:

I noticed this problem after upgrading ATM 10.0.16 to 10.0.17, then I manually downgraded Powah! from 6.0.5 (default in ATM 10.0.17) step by step to find the last working release, which turns out to be 6.0.2. Therefore I think the changes between 6.0.2 and 6.0.3 introduced the bug. I have not tried to actually bisect the relevant commit, but some deal with water interactions and since mostly Reactors were referenced maybe it was overlooked that Thermo Generators also use water and need a change too.

If I can get around to it, I'll investigate further, but since this might break some players' early game setup entirely I wanted to document it here early.

Mithi83 commented 1 month ago

Bisect complete: Breaking commit is https://github.com/Technici4n/Powah/commit/7bc447a1cfb843a474e8cc6af61f3c3fb4fd5346

I'll have to go through all of that but my best guess is that Lava was not added to as a heat source for the Thermal Generator, as a Magma Block underneath works as expected.

ThermoTile.postTick() -> int heat = PowahAPI.getHeatSource(block); returns 0 for "Block{minecraft:lava}", thus skipping power generation.

Mithi83 commented 1 month ago

Previous code in src/main/java/owmii/powah/config/v2/PowahConfig.java:

         @Comment("List of heat source blocks used under Thermo Generator.")
        public final Map<ResourceLocation, Integer> heat_blocks = new LinkedHashMap<>(Map.of(
                ResourceLocation.parse("minecraft:lava"), 1000,
                ResourceLocation.parse("minecraft:magma_block"), 800,
                ResourceLocation.parse("powah:blazing_crystal_block"), 2800));

New code in src/generated/resources/data/powah/data_maps/block/heat_source.json:

{
  "values": {
    "minecraft:magma_block": {
      "temperature": 800
    },
    "powah:blazing_crystal_block": {
      "temperature": 2800
    }
  }
}

Conclusion: Lava (as a block) is missing here.

Mithi83 commented 1 month ago

Independently reported here as well: https://github.com/AllTheMods/ATM-10/issues/150

Mithi83 commented 1 month ago

Fixed in 6.0.6 by #171. Thanks!