{
  "scope": "Installed bytecode and existing read-only native recipe receipts only; no game, registry, queue, world, config, or progression mutation",
  "installedJar": "C:\\multimc\\instances\\GTNH_Forver_Rebuilt_IV\\.minecraft\\mods\\gregtech-5.09.51.482.jar",
  "installedJarSHA256": "4ab7ce174a8f6fb7a90d8d11d56056aab2de577c36c6084b37ce890d7b1d67bf",
  "bytecodeTool": "javap -p -c from installed JDK25.0.4",
  "classReceipts": [
    {
      "nativeClass": "gregtech.api.enums.HeatingCoilLevel",
      "jarEntry": "gregtech/api/enums/HeatingCoilLevel.class",
      "byteLength": 3440,
      "classSHA256": "04c7d357da97d20773a5035414e10cf08801f65c3efd2ed247a82464543cafe2",
      "javapFile": "gregtech.api.enums.HeatingCoilLevel.javap.txt",
      "javapSHA256": "a433f95938cd28e71645c572447d180b419606ad404c6101fce71c86c783913c"
    },
    {
      "nativeClass": "gregtech.api.logic.ProcessingLogic",
      "jarEntry": "gregtech/api/logic/ProcessingLogic.class",
      "byteLength": 18276,
      "classSHA256": "88081176d366b57d122950f524bcca463fcbcef40ef695763323f9e4bcc6e848",
      "javapFile": "gregtech.api.logic.ProcessingLogic.javap.txt",
      "javapSHA256": "d9c9109078e0aa98fcebf0781337d75b328f1988d75555341df986e6dbb1f32a"
    },
    {
      "nativeClass": "gregtech.api.metatileentity.implementations.MTEBasicMachine",
      "jarEntry": "gregtech/api/metatileentity/implementations/MTEBasicMachine.class",
      "byteLength": 62607,
      "classSHA256": "6178a1883a514336663df1b651b902a9a94de72e2d027c71d4e651fa320af866",
      "javapFile": "gregtech.api.metatileentity.implementations.MTEBasicMachine.javap.txt",
      "javapSHA256": "39058ab6092a910225937e3da5c4e8aadb02dc6c12523f2cfff3b82c76c0136a"
    },
    {
      "nativeClass": "gregtech.api.metatileentity.implementations.MTEBasicMachineWithRecipe",
      "jarEntry": "gregtech/api/metatileentity/implementations/MTEBasicMachineWithRecipe.class",
      "byteLength": 19534,
      "classSHA256": "f409598e3b8e0d896fb6d6656b544c46fa9bd0e7cc6c21f54cad5aa92fefe22a",
      "javapFile": "gregtech.api.metatileentity.implementations.MTEBasicMachineWithRecipe.javap.txt",
      "javapSHA256": "49f082d5f8b5e8c47e89ec11cb1ba53f51c8d18cf93065659a43e23a8c4a9534"
    },
    {
      "nativeClass": "gregtech.api.metatileentity.implementations.MTEExtendedPowerMultiBlockBase",
      "jarEntry": "gregtech/api/metatileentity/implementations/MTEExtendedPowerMultiBlockBase.class",
      "byteLength": 8287,
      "classSHA256": "ee03774eeb7a0769b3be26858688f493e1e5cccce020e08ac5b87705eee15b28",
      "javapFile": "gregtech.api.metatileentity.implementations.MTEExtendedPowerMultiBlockBase.javap.txt",
      "javapSHA256": "d2baa032a717897fbcd066596b2f3e5602a5782c8ae9814b0ea5fbaa3adac3da"
    },
    {
      "nativeClass": "gregtech.api.metatileentity.implementations.MTEMultiBlockBase",
      "jarEntry": "gregtech/api/metatileentity/implementations/MTEMultiBlockBase.class",
      "byteLength": 130193,
      "classSHA256": "ee6fe8d4b19a210506323d5b334331e7e2f598d06d39259333c92ce94965de06",
      "javapFile": "gregtech.api.metatileentity.implementations.MTEMultiBlockBase.javap.txt",
      "javapSHA256": "e83b9fbf012be8478bafedd2c801d9af3edf2968eecf027d7ed56263769700cd"
    },
    {
      "nativeClass": "gregtech.api.objects.overclockdescriber.EUOverclockDescriber",
      "jarEntry": "gregtech/api/objects/overclockdescriber/EUOverclockDescriber.class",
      "byteLength": 3590,
      "classSHA256": "519f52f21dfadbf476c4c730403acb6da18a932e22f09efe4ff3f7e63720c03c",
      "javapFile": "gregtech.api.objects.overclockdescriber.EUOverclockDescriber.javap.txt",
      "javapSHA256": "385224ca2da5856baa8563fc62179c6c98d4e4dab87473c6479abe5247bdbd1e"
    },
    {
      "nativeClass": "gregtech.api.util.OverclockCalculator",
      "jarEntry": "gregtech/api/util/OverclockCalculator.class",
      "byteLength": 10056,
      "classSHA256": "e88fafe30f03335e52cab2024893916f1d846801869d771a03e576fb334cbfc3",
      "javapFile": "gregtech.api.util.OverclockCalculator.javap.txt",
      "javapSHA256": "6b6db6b420335d388c36b863f772cb23ad69d7b4d414c02bb6a3fb6ffc7ad688"
    },
    {
      "nativeClass": "gregtech.common.blocks.BlockCasings5",
      "jarEntry": "gregtech/common/blocks/BlockCasings5.class",
      "byteLength": 10799,
      "classSHA256": "e258d22eb910187db518c3842145484fdf8250d116af68314a0e0e33bfa16fca",
      "javapFile": "gregtech.common.blocks.BlockCasings5.javap.txt",
      "javapSHA256": "3b19019eadc9fdd9f44ff4604187c3383ee9abfedeb5ebd122c61f5380c70507"
    },
    {
      "nativeClass": "gregtech.common.tileentities.machines.basic.MTEPotionBrewer",
      "jarEntry": "gregtech/common/tileentities/machines/basic/MTEPotionBrewer.class",
      "byteLength": 9680,
      "classSHA256": "110bb4b7d9358713547d472c2369cda699090bc6128350e17e9ab0e1db29c4d2",
      "javapFile": "gregtech.common.tileentities.machines.basic.MTEPotionBrewer.javap.txt",
      "javapSHA256": "2991168a7b17e3c028304bf5954f2c030f2d58fcc5c801abc8cb65341e3d5eaa"
    },
    {
      "nativeClass": "gregtech.common.tileentities.machines.multi.MTEDistillationTower",
      "jarEntry": "gregtech/common/tileentities/machines/multi/MTEDistillationTower.class",
      "byteLength": 18727,
      "classSHA256": "8ae6ffbc3e3a6b87f6ef7c234254c1ed72b3a234c8375614bc36cf3e9685a77e",
      "javapFile": "gregtech.common.tileentities.machines.multi.MTEDistillationTower.javap.txt",
      "javapSHA256": "6a85d39d6f1c98233122839ed7f39b547822f9da23014ec7ee1b66d31e0251a1"
    },
    {
      "nativeClass": "gregtech.common.tileentities.machines.multi.MTEOilCracker",
      "jarEntry": "gregtech/common/tileentities/machines/multi/MTEOilCracker.class",
      "byteLength": 19903,
      "classSHA256": "71f53f0ba9f48771ab72b3d901d01afd994840215381b53b30ee9fcdf36cd4ae",
      "javapFile": "gregtech.common.tileentities.machines.multi.MTEOilCracker.javap.txt",
      "javapSHA256": "ef6f1aa2ae1b5c64a934056f62fdba082a53dfb31367994b7562c3ff19694457"
    },
    {
      "nativeClass": "gregtech.common.tileentities.machines.multi.MTEOilCracker$1",
      "jarEntry": "gregtech/common/tileentities/machines/multi/MTEOilCracker$1.class",
      "byteLength": 1281,
      "classSHA256": "3fc0aab6085d2fac3f8a3e1aafebc5112c95d6434d008dd81f5251764540ce2a",
      "javapFile": "gregtech.common.tileentities.machines.multi.MTEOilCracker$1.javap.txt",
      "javapSHA256": "28518d2cdb9499e5655a07333086fe1137213709111ff20ca338872a8c9fc849"
    },
    {
      "nativeClass": "gregtech.common.tileentities.machines.multi.MTEPyrolyseOven",
      "jarEntry": "gregtech/common/tileentities/machines/multi/MTEPyrolyseOven.class",
      "byteLength": 13426,
      "classSHA256": "995576667504f9463b401fdae05ab6dc6c689d4a4f14dc471661a15af55c98bc",
      "javapFile": "gregtech.common.tileentities.machines.multi.MTEPyrolyseOven.javap.txt",
      "javapSHA256": "ff075235ad8fbfd393552838a0d5c9506e3f4116f421adc5084d2f8e5ef4a936"
    },
    {
      "nativeClass": "gregtech.common.tileentities.machines.multi.MTEPyrolyseOven$1",
      "jarEntry": "gregtech/common/tileentities/machines/multi/MTEPyrolyseOven$1.class",
      "byteLength": 1292,
      "classSHA256": "f3db08124c08ce6535e8fd6b7552529f95b12134858840e84da3e69c09ffeca3",
      "javapFile": "gregtech.common.tileentities.machines.multi.MTEPyrolyseOven$1.javap.txt",
      "javapSHA256": "c82b93f0aaed00d61efa66f4e967a5549056c1920d0d06e4ae83a3d6a06da314"
    },
    {
      "nativeClass": "kekztech.common.blocks.BlockLapotronicEnergyUnit",
      "jarEntry": "kekztech/common/blocks/BlockLapotronicEnergyUnit.class",
      "byteLength": 6485,
      "classSHA256": "b5889224a04233dc7374692b63d2ad8f92f6960c79b6fdc3aac469d848d38cfa",
      "javapFile": "kekztech.common.blocks.BlockLapotronicEnergyUnit.javap.txt",
      "javapSHA256": "c347058ef255850182ae08e2a8b2bfb727a69479c6f2ab390118086d92a68662"
    },
    {
      "nativeClass": "kekztech.common.itemBlocks.ItemBlockLapotronicEnergyUnit",
      "jarEntry": "kekztech/common/itemBlocks/ItemBlockLapotronicEnergyUnit.class",
      "byteLength": 4465,
      "classSHA256": "f413a5a0ced943f0e1f878d1885bbf6b58c472812915e8ba93748d7566c51e71",
      "javapFile": "kekztech.common.itemBlocks.ItemBlockLapotronicEnergyUnit.javap.txt",
      "javapSHA256": "5c9d9d1e0891f59c2af4e613f897d7c8517f4f1cc9a8aca53a146da2aee640ff"
    },
    {
      "nativeClass": "kekztech.common.recipeLoaders.Assembler",
      "jarEntry": "kekztech/common/recipeLoaders/Assembler.class",
      "byteLength": 8554,
      "classSHA256": "a9a2323adffb3487a7d17b27d0f4a1e407b8cd4c5c2f9aa9b59bdff64912dd9b",
      "javapFile": "kekztech.common.recipeLoaders.Assembler.javap.txt",
      "javapSHA256": "64e044ae80a0b782655f45f75a2e04ef6d78f89b6110d5dececc5bcce0def607"
    },
    {
      "nativeClass": "kekztech.common.recipeLoaders.Crafting",
      "jarEntry": "kekztech/common/recipeLoaders/Crafting.class",
      "byteLength": 4356,
      "classSHA256": "28853e490e4d5167a00623ced8eb0772ec246ac6727d6e93882e9e8a687ef1e2",
      "javapFile": "kekztech.common.recipeLoaders.Crafting.javap.txt",
      "javapSHA256": "a925b2fae7b1b5fd008a9ab45c11ab024388b48d9daa8c1c4b3396b81019c4d0"
    },
    {
      "nativeClass": "kekztech.common.tileentities.MTELapotronicSuperCapacitor",
      "jarEntry": "kekztech/common/tileentities/MTELapotronicSuperCapacitor.class",
      "byteLength": 67565,
      "classSHA256": "22d2758d9eea2d25e7f9e57aae6348f5c79d7561dcdd37c883fe68d771bd8c41",
      "javapFile": "kekztech.common.tileentities.MTELapotronicSuperCapacitor.javap.txt",
      "javapSHA256": "d7fceda26569f742617d613b52d5fffa8bb7d9e4ef5bda71674db0234de75cfa"
    },
    {
      "nativeClass": "kekztech.common.tileentities.MTELapotronicSuperCapacitor$Capacitor",
      "jarEntry": "kekztech/common/tileentities/MTELapotronicSuperCapacitor$Capacitor.class",
      "byteLength": 4254,
      "classSHA256": "6aaa0fb05ee3f92fa1bef92a32d175208629f31476d458a51cd17652c652535f",
      "javapFile": "kekztech.common.tileentities.MTELapotronicSuperCapacitor$Capacitor.javap.txt",
      "javapSHA256": "816ecd02db9e2c5c00e7b89bf4e67579dc56c68dd1a92363a8c7305788a3cf96"
    }
  ],
  "sources": [
    {
      "lines": "65-102,822-858",
      "file": "gregtech.api.logic.ProcessingLogic.javap.txt",
      "finding": "Default maxParallel1; durationDecrease2; EUtIncrease4; EUmodifier1; durationModifier1; constructed native calculator receives owner modifiers"
    },
    {
      "lines": "2603-2636",
      "file": "gregtech.api.metatileentity.implementations.MTEMultiBlockBase.javap.txt",
      "finding": "Exactly one normal hatch and no exotic hatches forces working amperage1; availableVoltage uses getAverageInputVoltage; amperageOC true"
    },
    {
      "lines": "489-568,669-761",
      "file": "gregtech.api.util.OverclockCalculator.javap.txt",
      "finding": "DurationModifier multiplies base duration before OC. OCcount uses log4(machinePower/max(discountedRecipePower,32)); ordinary OCs multiply EU4 and divide duration2; EU ceil; final duration floors and is at least1"
    },
    {
      "lines": "351-360,2069-2129",
      "file": "gregtech.api.metatileentity.implementations.MTEBasicMachine.javap.txt",
      "finding": "Basic machine ordinary recipe path uses EUOverclockDescriber then default OverclockCalculator"
    },
    {
      "lines": "11-25",
      "file": "gregtech.api.objects.overclockdescriber.EUOverclockDescriber.javap.txt",
      "finding": "Calculator machineEUt = GTValues.V[tier] * machine mAmperage"
    },
    {
      "lines": "248-265",
      "file": "gregtech.common.tileentities.machines.basic.MTEPotionBrewer.javap.txt",
      "finding": "Brewing map recipe checked through superclass first; custom potion path only after superclass returns0"
    },
    {
      "lines": "213-224",
      "file": "gregtech.common.tileentities.machines.multi.MTEDistillationTower.javap.txt",
      "finding": "Plain ProcessingLogic; no perfect OC or coil modifier"
    },
    {
      "lines": "14-31",
      "file": "gregtech.common.tileentities.machines.multi.MTEPyrolyseOven$1.javap.txt",
      "finding": "Every process sets durationModifier=float(2/(1+coilTier)); no EUdiscount"
    },
    {
      "lines": "14-35",
      "file": "gregtech.common.tileentities.machines.multi.MTEOilCracker$1.javap.txt",
      "finding": "Every process sets EUmodifier=float(1-min(0.1f*(coilTier+1),0.5f)); no speed/perfect OC override"
    },
    {
      "lines": "14-31,479-523",
      "file": "gregtech.common.blocks.BlockCasings5.javap.txt",
      "finding": "Metadata0Cupronickel -> HeatingCoilLevel.LV;1Kanthal ->MV;2Nichrome ->HV"
    },
    {
      "lines": "78-85",
      "file": "gregtech.api.enums.HeatingCoilLevel.javap.txt",
      "finding": "getTier = ordinal-2; Cupronickel0,Kanthal1,Nichrome2"
    },
    {
      "lines": "429-474,475-532,533-591",
      "file": "kekztech.common.recipeLoaders.Crafting.javap.txt",
      "finding": "Meta6 empty crafted4Lapis screws+4Lapis plates; meta7 same+LapotrCrystal; meta1 same+LapotronicEnergyOrb"
    },
    {
      "lines": "545-589,590-635",
      "file": "kekztech.common.recipeLoaders.Assembler.javap.txt",
      "finding": "Meta7 recipe:meta6+LapotrCrystal+circuit7,HV200ticks. Meta1:meta6+LapotronicEnergyOrb+circuit1,EV400ticks"
    },
    {
      "lines": "403-501",
      "file": "kekztech.common.blocks.BlockLapotronicEnergyUnit.javap.txt",
      "finding": "Meta1IV texture;meta6empty texture;meta7EV texture"
    }
  ],
  "machineSemantics": [
    {
      "OC": "4EU/2duration; no perfect OC",
      "parallel": 1,
      "EUmodifier": 1,
      "durationModifier": "float(2/(1+coilTier))",
      "nativeClass": "gregtech.common.tileentities.machines.multi.MTEPyrolyseOven",
      "coilExamples": {
        "CupronickelTier0": 2,
        "KanthalTier1": 1,
        "NichromeTier2": 0.6666666865348816
      },
      "id": 1159
    },
    {
      "parallel": 1,
      "OC": "4EU/2duration; no perfect OC",
      "CupronickelEUmodifier": 0.8999999761581421,
      "EUmodifier": "float(1-min(0.1f*(coilTier+1),0.5f))",
      "durationModifier": 1,
      "nativeClass": "gregtech.common.tileentities.machines.multi.MTEOilCracker",
      "id": 1160
    },
    {
      "OC": "4EU/2duration",
      "parallel": 1,
      "EUmodifier": 1,
      "durationModifier": 1,
      "nativeClass": "gregtech.common.tileentities.machines.multi.MTEDistillationTower",
      "id": 1126
    },
    {
      "voltage": 512,
      "nativeClass": "gregtech.api.metatileentity.implementations.MTEBasicMachineWithRecipe",
      "OC": "default4EU/2duration, no owner modifiers",
      "tier": 3,
      "id": 513
    },
    {
      "voltage": 32,
      "nativeClass": "gregtech.common.tileentities.machines.basic.MTEPotionBrewer",
      "OC": "ordinary map recipe through superclass; no modifier for lubricant",
      "tier": 1,
      "id": 491
    }
  ],
  "staticCaseChecks": [
    {
      "MBperSecond": 25,
      "input": "1CryotheumDust",
      "recipeTicks": 200,
      "recipeEUt": 240,
      "output": "250mBcryotheum",
      "recipe": "gt.recipe.fluidextractor#114",
      "voltage": 512,
      "threeMachinesMBperSecond": 75,
      "id": 513,
      "actualTicks": 200,
      "actualEUt": 240
    },
    {
      "MBperSecond": 117.1875,
      "input": "1Talc+750mBcreosote",
      "reason": "32EUt lower denominator clamp prevents an invented4->16EUtLV overclock",
      "recipeTicks": 128,
      "recipeEUt": 4,
      "output": "750mBlubricant",
      "recipe": "gt.recipe.brewer#325",
      "voltage": 32,
      "twoMachinesMBperSecond": 234.375,
      "id": 491,
      "actualTicks": 128,
      "actualEUt": 4
    },
    {
      "recipeTicks": 20,
      "coil": "Cupronickel",
      "recipeEUt": 240,
      "actualTicks": 20,
      "recipes": "gt.recipe.craker#9/#12",
      "voltage": 512,
      "id": 1160,
      "workingAmperage": 1,
      "actualEUt": 216
    },
    {
      "recipes": "gt.recipe.distillationtower#137/#140",
      "recipeEUt": 120,
      "actualEUt": 480,
      "actualTicks": 60,
      "recipeTicks": 120,
      "voltage": 512,
      "workingAmperage": 1,
      "id": 1126
    },
    {
      "recipe": "gt.recipe.distillationtower#64",
      "recipeEUt": 480,
      "actualEUt": 480,
      "actualTicks": 32,
      "recipeTicks": 32,
      "voltage": 512,
      "workingAmperage": 1,
      "id": 1126
    },
    {
      "recipe": "gt.recipe.distillationtower#74",
      "recipeEUt": 256,
      "actualEUt": 256,
      "actualTicks": 40,
      "recipeTicks": 40,
      "voltage": 512,
      "workingAmperage": 1,
      "id": 1126
    }
  ],
  "pyroSourceReceipt": "selected-pyro-recipes-native.json extracted verbatim from ../planning-final-capacitor-and-feed-v3.json",
  "pyroHVsingleNormalHatchChecks": [
    {
      "ordinal": 137,
      "nitrogenMBperSecond": 0,
      "coil": "Cupronickel",
      "MBperSecond": 125,
      "outputMB": 4000,
      "charcoalPerSecond": 0.625,
      "logsPerSecond": 0.5,
      "fluid": "creosote",
      "actualTicks": 640,
      "actualEUt": 256,
      "circuit": 1
    },
    {
      "ordinal": 138,
      "nitrogenMBperSecond": 62.5,
      "coil": "Cupronickel",
      "MBperSecond": 250,
      "outputMB": 4000,
      "charcoalPerSecond": 1.25,
      "logsPerSecond": 1,
      "fluid": "creosote",
      "actualTicks": 320,
      "actualEUt": 384,
      "circuit": 2
    },
    {
      "ordinal": 143,
      "nitrogenMBperSecond": 0,
      "coil": "Cupronickel",
      "MBperSecond": 93.75,
      "outputMB": 3000,
      "charcoalPerSecond": 0.625,
      "logsPerSecond": 0.5,
      "fluid": "woodvinegar",
      "actualTicks": 640,
      "actualEUt": 256,
      "circuit": 7
    },
    {
      "ordinal": 144,
      "nitrogenMBperSecond": 62.5,
      "coil": "Cupronickel",
      "MBperSecond": 187.5,
      "outputMB": 3000,
      "charcoalPerSecond": 1.25,
      "logsPerSecond": 1,
      "fluid": "woodvinegar",
      "actualTicks": 320,
      "actualEUt": 384,
      "circuit": 8
    },
    {
      "ordinal": 137,
      "nitrogenMBperSecond": 0,
      "coil": "Kanthal",
      "MBperSecond": 250,
      "outputMB": 4000,
      "charcoalPerSecond": 1.25,
      "logsPerSecond": 1,
      "fluid": "creosote",
      "actualTicks": 320,
      "actualEUt": 256,
      "circuit": 1
    },
    {
      "ordinal": 138,
      "nitrogenMBperSecond": 125,
      "coil": "Kanthal",
      "MBperSecond": 500,
      "outputMB": 4000,
      "charcoalPerSecond": 2.5,
      "logsPerSecond": 2,
      "fluid": "creosote",
      "actualTicks": 160,
      "actualEUt": 384,
      "circuit": 2
    },
    {
      "ordinal": 143,
      "nitrogenMBperSecond": 0,
      "coil": "Kanthal",
      "MBperSecond": 187.5,
      "outputMB": 3000,
      "charcoalPerSecond": 1.25,
      "logsPerSecond": 1,
      "fluid": "woodvinegar",
      "actualTicks": 320,
      "actualEUt": 256,
      "circuit": 7
    },
    {
      "ordinal": 144,
      "nitrogenMBperSecond": 125,
      "coil": "Kanthal",
      "MBperSecond": 375,
      "outputMB": 3000,
      "charcoalPerSecond": 2.5,
      "logsPerSecond": 2,
      "fluid": "woodvinegar",
      "actualTicks": 160,
      "actualEUt": 384,
      "circuit": 8
    }
  ],
  "capacitorMetadataCorrection": {
    "sourceRecipes": "Installed Crafting and Assembler definitions. Registered live capacitor recipe receipt is pending because supplied fresh registry targets returned0 capacitor recipes.",
    "meta1": "IV capacitor; references IV_cap_storage",
    "meta6": "Empty; no storedEU",
    "meta7": "EV capacitor; references EV_cap_storage"
  },
  "acceptanceBoundary": "These are source semantics and arithmetic planning checks. No in-game formation, real throughput, feed recovery, capacitor crafting, or player-facing acceptance was performed."
}
