Artisan Worktables 1.12

Artisan Worktables 1.12

3M Downloads

Artisan Tables "eat/void" the artisan tools when used as vanilla recipe

Freebi85 opened this issue ยท 6 comments

commented

Issue Description

Hi =) I have created several recipes with your Artisan Tools for Vanilla 3x3 workbenches. Partially also shapeless for 2x2. Thereby the durability of the tools is consumed step by step. The problem is since it is possible to craft vanilla recipes in Artisan workbenches, the tool is "eaten" completely after the first craft. Since it is not necessary to put this in an extra workshop tool slot.

This happens in my own Modpack Dungeon Dragons and Space Shuttles

What Happens

artisan tools gets voided when used as vanilla recipe in artisan benches.

What You Expect to Happen

It should decrease durability without void the artisan tool

Script

Just a short example about a non artisan table recipe. Pls don't hurt me because of no link :)

recipes.addShapeless(<minecraft:stone>, [<ore:artisansChisel>.reuse().transformDamage(2), <ore:stone>]);

Affected Versions

  • Minecraft: 1.12.2
  • Forge: Build 2836
  • CraftTweaker: 4.1.19
  • Artisan Worktables:1.22.4
  • Athenaeum:1.17.4
commented

I don't think you're supposed to use .reuse() and .transformDamage() together...

According to the CT docs on item transformers, .reuse() tells it to keep this item, unchanged, in the crafting grid. But .transformDamage() says to damage the item and then put that in the grid in the original's place. Maybe CT is getting confused about that?

Can you try making a similar recipe where a regular tool, like a pickaxe, is flagged .reuse().transformDamage(2) (in that order please) to see if it happens elsewhere, and also a recipe (one each) where the artisan tool is only flagged with .reuse() or .transformDamage(2) and see if that resolves it?

(Also, side note, when posting a script without a link, please use the code markdown on it.)

commented

All right, I'll try and report what happened. I started with this variant because the tools were not handled correctly in a vanilla recipe. With this script I was able to fix the "bug". But a lot has changed since then^^ Maybe this is no longer necessary.

commented

Fixed in 1.22.5

commented

Thanks for the report!

Funny enough, Artisan Worktables was created because I got tired of fiddling with CrT's buggy support for damaging items and leaving them in the crafting grid. I think we have now finally come full circle. :)

commented

Glad to help =)

Testet following situations:
recipes.addShapeless(<minecraft:stone>, [<ore:artisansSolderer>.reuse(), <ore:stone>]); recipes.addShapeless(<minecraft:stone>, [<ore:artisansSolderer>.transformDamage(2), <ore:stone>]);

TransformDamage only works fine in vanilla tables. So there is no need for additional reuse. But sadly still eaten from the Artisan Tables. And Reuse only just don't consume the item. Which is obvius^^ But still voided in AT.
Freebi

commented

When AW creates a recipe from CrT it uses a CTArtisanRecipe which contains support for a subset of recipe transformers. When AW makes a new recipe from a vanilla recipe, it returns an ArtisanRecipe which, however, contains no support for any transformers.

So, I've identified the problem, now I just have to decide what the best solution is.

Thanks for testing!