Mekanism Tools

Mekanism Tools

87M Downloads

Modern Industrialization and Mekanism Incompatablilty

Drackion opened this issue ยท 13 comments

commented

Issue description

When adding custom mutliblock via the kubejs integration added by Modern Industrialization, the mekanism class mekanism.api.security.ISecurityUtils fails and causes crashes when placing or breaking blocks.

Steps to reproduce

1: use the following startup script:

let PYROLYSE_OVEN;

MIMachineEvents.registerRecipeTypes(event => {
    PYROLYSE_OVEN = event.register("pyrolyse_oven")
        .withItemInputs() // enable item inputs
        .withItemOutputs() // enable item outputs
        .withFluidInputs() // enable fluid inputs
        .withFluidOutputs(); // enable fluid outputs
})

MIMachineEvents.registerMachines(event => {
    const pyrolyseHatch = event.hatchOf("item_input", "item_output", "fluid_input", "fluid_output", "energy_input");
    const heatproofMember = event.memberOfBlock("modern_industrialization:heatproof_machine_casing");
    const cupronickelCoilMember = event.memberOfBlock("modern_industrialization:cupronickel_coil");
    const pyrolyseShape = event.layeredShape("heatproof_machine_casing", [
        [ "HHH", "HHH", "HHH" ],
        [ "CCC", "C C", "CCC" ],
        [ "CCC", "C C", "CCC" ],
        [ "HHH", "H#H", "HHH" ],
    ])
        .key("H", heatproofMember, pyrolyseHatch)
        .key("C", cupronickelCoilMember, event.noHatch())
        .build();

    event.simpleElectricCraftingMultiBlock(
        /* GENERAL PARAMETERS */
        // English name, internal name, recipe type, multiblock shape
        "Pyrolyse Oven", "pyrolyse_oven", PYROLYSE_OVEN, pyrolyseShape,
        /* REI DISPLAY CONFIGURATION */
        // REI progress bar
        event.progressBar(77, 33, "arrow"),
        // REI item inputs, item outputs, fluid inputs, fluid outputs
        itemInputs => itemInputs.addSlots(56, 35, 1, 2), itemOutputs => itemOutputs.addSlot(102, 35),
        fluidInputs => fluidInputs.addSlot(36, 35), fluidOutputs => fluidOutputs.addSlot(122, 35),
        /* MODEL CONFIGUATION */
        // casing of the controller, overlay folder, front overlay?, top overlay?, side overlay?
        "heatproof_machine_casing", "pyrolyse_overlays", true, false, false,
    );
})

ignore any missing models / textures as they aren't important.

2: place down and complete mutliblock structure, holding a wrench shows the build preview

3: try to place and break any blocks

Minecraft version

1.21.1 (Latest)

NeoForge version

21.1.146

Mekanism version

10.7.13 (Latest)

Other relevant versions

MI: 2.3.2
KJS: 2101.7.1-build.181
rhino: 2101.2.7-build.74

If a (crash)log is relevant for this issue, link it here: (It's almost always relevant)

https://pastebin.com/cepaY2x2

commented

this should be fixed on 10.7.14

commented

please provide your full debug log?

commented

uploaded file due to copy and pasting txt made pastebin unresponsive, will be off to bed now
debug-4.log

commented

could you try removing EMI (temporarily) and see if it can still be reproduced?

commented

debug log with the following removed:

  • emi
  • tmrv
  • emi addons
  • jei addons

still crashes
debug.log

commented

there are other scripts but only happens when this script is added

commented

hmm yeah that's definitely failing somewhere early and being ignored

commented
  • can you confirm it doesn't happen if this specific script is removed?
  • are there any other kubejs scripts in the pack?
commented

try this version, it should output some more info in the latest.log (as well as debug.log)
Mekanism-1.21.1-10.7.13.homebaked.jar.zip

commented

here is the logs with the new jar

debug.log
latest.log

commented

hmm looks like technically a neoforge bug (as the context classloader is wrong), but this build should hopefully fix it as a stop-gap
Mekanism-1.21.1-10.7.13.homebaked.zip

commented

loaded the new jar and tested by placing an breaking a block and it hasn't crashed

commented

Cool, at least I have a quick fix