Mekanism Additions

Mekanism Additions

21M Downloads

Formulaic Assemblicator consume items with transformDamage added by crafttweaker...

Fireztonez opened this issue ยท 11 comments

commented

Issue description:

During somes tests, I fond a problem with the Formulaic Assemblicator or possibly 2 different problem;

  • First, I have add somes recipe for somes Mystical Agriculture Infusion Crystal (created by ContentTweaker) make with Crafttweaker. When I try the recipe in a regular craftting table, the crystal stay in the grid but get damage... In the Formulaic Assemblicator, the crystal is simply consume when making the first set of Essence... You can see the issue in video: https://streamable.com/x3slq
    And heres the crafting recipe:
var crystals = [
    <contenttweaker:infusioncrystal_tier0:*>.transformDamage(),
    <contenttweaker:infusioncrystal_tier1:*>.transformDamage(),
    <contenttweaker:infusioncrystal_tier2:*>.transformDamage(),
    <contenttweaker:infusioncrystal_tier3:*>.transformDamage(),
    <contenttweaker:infusioncrystal_tier4:*>.transformDamage()
] as IIngredient[];

recipes.addShaped("mystical_prudentium", <mysticalagriculture:crafting:1>,
    [[null, <mysticalagriculture:crafting>, null],
     [<mysticalagriculture:crafting>, crystals[0]|crystals[1]|crystals[2]|crystals[3]|crystals[4] , <mysticalagriculture:crafting>],
     [null, <mysticalagriculture:crafting>, null]]);
  • With the basic Infusion Crystal from Mystical Agriculture, the crystal should probably stay in the grid, but this one goes in the output slot after making the first craft, making the automation really annoying. Here a demonstration video:
    https://streamable.com/2z056

If you want to test with added recipe, you can simply copy my code and use a sword or thing like that at the place of the crystal and I think it will do the exact same issue.

Steps to reproduce:

  1. Create a recipe with transformDamage in Crafttweaker
  2. Try to craft in the Formulaic Assemblicator
  3. Enjoy your item waste!

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

Forge: 14.23.5.2824
Mekanism: 9.7.1.371
Other relevant version: Crafttweaker: 4.1.17

If a (crash)log is relevant for this issue, link it here:

There have no crash and I no logs for that. But if needed I can send you more informations or scripts from my modpack if it can help...

Thank's for you amazing work, and making Mekanism great again! Your team is awesome! Long life to Mekanism!!
Fireztonez

commented

@Fireztonez would you mind updating your script to use some vanilla item, and verify the issue is still reproducible? Just makes it a bit quicker to diagnose.

Tip for next time, the backticks (```) need to go on their own line

commented

ok, I test with a new recipe using only vanilla items and the issue is exacly the same, the diamond sword is consumed when crafting the first Gold Block...:

recipes.addShaped("Test_goldblock", <minecraft:gold_block>,
    [[null, <minecraft:cobblestone>, null],
     [<minecraft:cobblestone>, <minecraft:diamond_sword:*>.transformDamage(), <minecraft:cobblestone>],
     [null, <minecraft:cobblestone>, null]]);
commented

I looked into it briefly and the problem seems to be that we have special handling for container items, but do not handle IRecipe#getRemainingItems(InventoryCrafting) at all.

commented

No idea when it will be fixed, in part as I have no idea how the formulaic assemblicator actually "crafts" its item. And I have been busy rewriting how the cable networks emit energy/etc in general which is currently a higher priority.

commented

ok, no problem,
I have add a warning Tooltip on my modpack, like that, people will not complain if it loose stuff ;) or will probably use other mods instead...
Take your time, I understand, you have a lot of thing to do with Mekanism, this is clearly not a small mod, but you make a really good job!

commented

Thank's for that reply!
So that issue should should be fix soon, if I understand correctly :)

commented

Just for saying, I don't know if you try top fix something or not in the lastest version about that, but I just test with the version: 9.7.2.373, and the problem is exactly the same.

commented

I just make a profiling with LagGoggle, and I saw Formulaic Assembler in my Dev-Test world, how presently can't do anything because it missing 1 ingredient into the crafting grid, is pretty Laggy (2829 us/t. ), I think you should look question of optimised that at the same time...

formulaic_assembler
formulaic_assembler_inventory
formulaic_assembler_detail

I know you still have a lot of thing to do question of optimisation and fixes, but with number like, this probably need some attentions aswell...

commented

Sure, we'll look into it. Do bear in mind though that 3000 micro seconds is only 3 milliseconds, which is well below many profilers granularity

commented

When you get to work on the Formulaic Assembler, I'll have a little suggestion of functionality, to help some automatic crafting. There have multiple way you can do it, a possibility to keep an item into the grid or to output a certain item into the input slots should be nice.

Right-now, if I want to automate, by example the Mystical Agriculture Essence Infusion with the crystal, I have to take the crystal between each craft from the output slot and put it back into the input slot, how is clearly annoying and I think can be much more painful speaking of server performance.

commented

The fix for the damage recipe has been merged for next release - do note that at the moment it sends the item to the output slots, so a loopback will be needed until we work out how to go about that