cyclopsmc / integratedcrafting Goto Github PK
View Code? Open in Web Editor NEWCraft stuff in Integrated Dynamics networks
License: MIT License
Craft stuff in Integrated Dynamics networks
License: MIT License
The Oak Wood recipe from Mystical Agriculture, which consists of three Wood Essences across the top of the crafting interface, is considered unacceptable by my crafting interfaces (which face regular crafting tables). All the other types of wood craft without issue, it's just Oak Wood that's a problem.
It's nothing inherent to Oak Wood in particular, as modifying the shape of the recipe via CraftTweaker allows it to work without issue. I suspect that because the resulting recipe is just a sequential list, the interface is assuming the recipe is supposed to be shapeless and is only searching for a match among that type of recipe.
It would be great if you could be able to specify fluid/item amounts when creating ingredient lists. Being able to specify a stack of 7 items instead of having to create 7 separate item entries. It's not even possible to specify the fluid amounts.
Borrowing the Energy number entry UI element would work well, possibly having it hidden behind a button.
Using Integrated Dynamics, Tunnels, Terminals and Crafting, I've set up a small crafting system whose storage is primarily Arcane Archives (currently a WIP mod). ArcArc features 2 primary item storage methods, Troves and Chests. Both have odd issues when manually queuing a large batch craft with Integrated Crafting.
When attempting to craft items, it appears that the following happens when checking the inventories:
Radiant Chest- Only 64 items are checked per slot, meaning that at maximum the player only has access to 1/4 their total items for autocrafting when using radiant chests
Radiant Trove- Only 128 items appear to be visible for crafting tasks.
Anything beyond these amounts report insufficient items on the crafting job terminal. However, it should be noted that the storage terminal accurately reports the numbers of items contained in these inventories.
One of the ArcArc devs asked me to relay this:
The Radiant Chest has the same number of slots as a double chest, except each slot can hold up to 4x the maximum stack size to be stored per slot, using code from Nether Chest (used with permission and compatible license) which is accurately reported by the handler's getSlotLimit & getStackLimit. This should also be correct reflected by getStackInSlot. It's possibly just a case of "64" being hard-coded as the stack size limit instead of consulting the handler, but I'm not sure.
64 clay blocks would be autocrafted
When a Recipe includes a blank entry in the input (e.g. Menril Resin < , , Menril Log
), the Crafting Interface argues that the recipe is not accepted by a Squeezer.
Regardless of blank entries, if only one real Item ingredient is found, the recipe should be accepted.
IntegratedDynamics-1.12.2-1.0.11
IntegratedTunnels-1.12.2-1.6.8
IntegratedCrafting-1.12.2-1.0.6
IntegratedTerminals-1.12.2-1.0.6
1.12.2
14.23.5.2831
If you have one recipe in multiple crafting interfaces, then remove one of them, the recipe is no longer craftable through the terminal.
These two spots in CraftingNetwork.java seem to be responsible for this:
https://github.com/CyclopsMC/IntegratedCrafting/blob/master-1.12/src/main/java/org/cyclops/integratedcrafting/core/network/CraftingNetwork.java#L149-L150
https://github.com/CyclopsMC/IntegratedCrafting/blob/master-1.12/src/main/java/org/cyclops/integratedcrafting/core/network/CraftingNetwork.java#L197-L198
I think scanning the remaining interfaces for the recipes and then not removing it would be the most efficient solution that doesn't require more state.
Integrated Dynamics: 1.1.1
Integrated Terminals: 1.0.13
Integrated Tunnels: 1.6.10
Cyclops Core: 1.6.0
CommonCapabilities: 2.4.5
currently, the recipe as a datatype holds a pair of ingredient lists, an input and an output. You can either generate it with cards or make one with the recipe constant and JEI, but some things (like multiple fluid inputs or more then nine item inputs) are functional when generated with cards, but not "allowed" to be made with a recipe constant. I know there isn't much more room in the current GUI, so i'm going to suggest a second, more modular design, that can add a variable amount of fluid, item, and energy inputs and outputs while still keeping it a constant and bringing some of the constant-only features (such as oredict compat) with the flexibility of card methods like recipe.with_IO. This should be labeled something different in the programmer, like "machine recipe" or "modular recipe" while still keeping the original for simple situations or crafting table recipes
any recipe with an output of crushed ore or impure dust (i'm not sure what else) from GregTech: Community Edition cannot function because the network does not recognize the item when it's inserted
When breaking a crafting interface with recipe variable cards inside it, the interface drops as an item in the world but the cards are lost.
Both the crafting interface and the variable cards it contains are dropped as items in the world.
https://pastebin.com/SYfFgD1c
opened the programmer, selected "list" in the variable types, clicked on the "recipe" + from the list of things that can be added to a list and got the crash
IC 1.0.0
ID 1.0.0
forge 2807
An item exporter with 'craft' set to 'true' intermittently has the job listed as active in the crafting job monitor but never completes - it remains listed as the only job and the timer increments but it does not execute.
I was unable to reproduce this in a creative test world, but in my current survival world:
Job should complete
Fluid -> Item
Recipe will take other fluids from the network even if they're the wrong fluid.
Observed using a Mechanical Drying Basin trying to craft Block of Crystalized Menril using Lava instead of Liquid Menril.
Crafting using fluids should only ever accept that fluid.
IntegratedDynamics-1.12.2-1.0.11
IntegratedTunnels-1.12.2-1.6.8
IntegratedCrafting-1.12.2-1.0.6
IntegratedTerminals-1.12.2-1.0.6
1.12.2
14.23.5.2831
Currently, if you have previously used the storage terminal in a session and re-open it, it remembers which tab you were viewing. However, on world load, it currently doesn't default to a tab - it would be nice if this could pick a tab to open on by default, should the tab be available.
A way to filter what goes into an inventory interface. I would like it if I could dedicate chests to specific mods, so it would be a bit organized and not chaotic. I also do not want to go into lasers, been there done that. Also, I removed refined storage so I could try to have fun with integrated dynamics. Time to push my computer to its limits.
Currently export busses can only craft items they export from the network if they are exporting only one item [the βexport itemβ option].If you want to craft&export three items, you need three export busses. The βexport itemsβ option, which accepts a list of items, does not let you craft&export from the list. Allowing them to craft from the list would allow for easier setups that do not need a buffer inventory for more than six items.
Making ingots using the ore doubling way of ender io (Sag Mill -> Alloy Smelter), the system only uses 1 machine at a time and only adds 1 item at a time instead of the required stack. First it will grind every ore and once that is done it will start putting the dust into the alloy furnace even though those things should happen at the same time.
What should be happening is that the moment the sag mill is working the dusts should be instantly put into the alloy smelter by the system. Instead it waits for the stack of iron ore to be fully pulverized, one by one, before moving on to the Alloy Smelter and once again put items in one by one.
Versions:
IntegratedCrafting-1.12.2-1.0.0
Minecraft 1.12
Forge1.12.2-14.23.5.2796
ore dictionary crafting is not working
step one: try and make an ore dictionary crafting recipe
step two: try and use said recipe
step three: fail
a functioning ore dictionary crafting
Take Mekanism's Metallurgical Infuser as an example: it asks for a primary input ingredient and an Infusion material, and it can't take both from the same side. Mekanism's Infusions are a little weird in that they store an internal buffer of material, but it's entirely possible to create recipes that specifically consume exactly the amount of infusion material supplied with no leftovers or deficit.
In short, the issue is that a machine may demand that resources be passed from multiple sides, but the Crafting Interface can only input a specific type of resource to one targeted side.
(This also affects, for example, Applied Energistics 2's Inscriber, which violently demands distinct item input from three sides to satisfy crafting requirements.)
I don't know what's the best way to design and implement this. Maybe having a RS crafter facing a crafting writer to enable it?
The Mechanical Drying Basin does not accept a Item, Fluid -> Item
Recipe correctly, such as Menril Glass. A Crafting Job Terminal will report that it's not accepted when the job is initiated, despite the Crafting Interface saying it's valid.
Menril Glass should successfully craft.
IntegratedDynamics-1.12.2-1.0.11
IntegratedTunnels-1.12.2-1.6.8
IntegratedCrafting-1.12.2-1.0.6
IntegratedTerminals-1.12.2-1.0.6
1.12.2
14.23.5.2831
If a recipe inside a crafting interface is invalid, a red cross will be shown.
It should be possible to completely disabled recipe validation in case mod integration would be bugged. A part setting should be sufficient for this.
It should be possible to specify tags, instead of considering _all_tags.
This for example fails when crafting pistons, as logs will also be considered due to them sharing the wood tag.
As per the title, the Crafting Interface doesn't work with the Tinker's Construct version of the Crafting Table.
For example, if I were to use a recipe for a block of redstone, it would insert all redstone in the first slot instead of in a 3x3 pattern.
When creating a crafting recipe and not putting the output in the top slot, crafting waits for air
One input generates one output; in my case it is put into a neighboring chest and then imported
(It's a thermal expansion machine; IC does not suck out the ingot by itself)
I changed the recipe to not include air; then it works.
Autocraft that requires items from a non-zero channel can't be request by output inteface, but it works when manual request it using Integrated Terminals.
a late game (chorus fruit extract) crafting interface that can read from a list of recipes instead of having to take individual recipe cards.
Crashlog: https://pastebin.com/uq2hhJds
Also the affected network has to be refreshed afterward(placed a cable to fix), unknown if this is because of the crash, or if the old unloaded chunks breaking networks bug back again.
Integrated Crafting: 1.0.6
Minecraft: 1.12.2
Forge: 14.23.5.2824
Attempting to set a craft writer to craft an object which has multiple levels of crafting causes the game to freeze.
crafting energy [e.g. generator] and crafting using energy [e.g. Thermal Expansion electric furnace] does not work.
when the energy output recipe is selected, the item goes in as expected, but the energy received is not recognized by the crafter
when the item output recipe is selected, it will simply do nothing, even though the request is still trying to be processed (observed via terminal)
the exact same item output recipe but with the energy fed in via pipe instead of via recipe will work without issue
crafting with energy as a product is impractical and is impossible as an ingredient
Crafting recipes with outputs that can have variable charge (eg. integrated dynamics battery) are marked as 'invalid' when placed in a crafting interface.
The recipe should be valid
it would be cool if you could, instead of assigning a recipe to a specific item, you assign it to an arbitrary string label and arbitrary Boolean end condition, which would allow for much more versatile auto crafting (for example, you could make a recipe that creates all the items in a multiblock, assembles it, and passes a Boolean once it's done for build requesting)
when trying to craft planks out of logs with integrated terminals, it shows that there arent enough ingredients available even tho there clearaly are and also shows multiple stacks of the ingredient instead of adding them up
the planks all get craftet and the needed logs are displayed in 1 stack
Some mod introduces items that are needed in recipes but are not consumed. Technically, the recipes consumes some of their durability. Examples: the Transmutation Stone of Retro-Exchange, the saws of Forge Multipart, the hammer and wire cutter of Immersive Engineering, copying variables in Integrated Dynamics...
If I wanted to craft 8 plates using the IE's hammer, the same hammer could be used and re-used each time, but the crafter complains about missing 7 hammers.
I'd like a way to tell the crafter that the hammer will not be consumed and that only one can be reused several times. I am not sure how this could be handled, maybe a flag in the Logic Programmer when creating the recipe ? (e.g. "this item will not be consumed").
Unable to load game
World has been very laggy, taking around 20-30 minutes for 1 minute to pass in game, but haven't found issue with that. Attempting to log into world is now giving attached crash, which seems to be related to Crafting Interface.
world load
Wrenching a Crafting Interface off a cable dupes the variable cards within it.
Step 1:
Happens in SP and MP, using:
Integrated Dynamics: 1.0.11
Integrated Crafting: 1.0.6
Our server is suddenly locked up. It has been operating fine at 20+ fps for the entirety of it's existence, now it's just completely bricked whenever I start it up. I can't even do so much as get a command through the console before it times out after 90+ seconds.
java.lang.Error: ServerHangWatchdog detected that a single server tick took 96.16 seconds (should be max 0.05)
at org.cyclops.commoncapabilities.ingredient.IngredientSerializerItemStack.deserializeInstance(IngredientSerializerItemStack.java:31)
at org.cyclops.commoncapabilities.ingredient.IngredientSerializerItemStack.deserializeInstance(IngredientSerializerItemStack.java:14)
at org.cyclops.commoncapabilities.api.ingredient.IMixedIngredients.deserialize(IMixedIngredients.java:139)
at org.cyclops.integratedcrafting.api.crafting.CraftingJob.deserialize(CraftingJob.java:188)
at org.cyclops.integratedcrafting.core.CraftingJobHandler.readFromNBT(CraftingJobHandler.java:168)
at org.cyclops.integratedcrafting.part.PartTypeInterfaceCrafting$State.readFromNBT(PartTypeInterfaceCrafting.java:395)
at org.cyclops.integrateddynamics.api.part.PartTypeAdapter.fromNBT(PartTypeAdapter.java:56)
at org.cyclops.integrateddynamics.core.helper.PartHelpers.readPartFromNBT(PartHelpers.java:165)
at org.cyclops.integrateddynamics.core.helper.PartHelpers.readPartsFromNBT(PartHelpers.java:188)
at org.cyclops.integrateddynamics.capability.partcontainer.PartContainerDefault.deserializeNBT(PartContainerDefault.java:241)
at org.cyclops.integrateddynamics.core.tileentity.TileMultipartTicking.func_145839_a(TileMultipartTicking.java:130)
at net.minecraft.tileentity.TileEntity.func_190200_a(TileEntity.java:120)
I'm unsure, unfortunately it is on my server and I haven't been able to track down any users may have triggered this. I hope that you are able to glean something from the crash log.
Self explanatory, I hope
In the mean time I suppose I will just remove the mod, restart the server, then add the mod back in and restart again, and just accept that people will lose their Integrated Crafting blocks.
Edit: Indeed, this is what I did and it fixed the issue, although obviously it's not ideal because everyone lost all their blocks from the mod
Crafting plans that use ore dictionary matching can sometimes incorrectly count the number of available ingredients for a recipe.
Failed to extract ingredients for crafting job
Only one hardened glass block in network:
Crafting plan using ore dictionary recipe:
Crafting plan without ore dictionary recipe:
Using a recipe that has ore dictionary matching should detect that there is not enough hardened glass in the network to initiate the craft job.
Setting up a crafting table recipe to use OreDict for some of the ingredients ends up being rejected in the crafting interface ("Recipe is not acceptable by the target.")
The tooltip to display "Recipe is valid for the target"
That's a copper pickaxe. Copper ingots are registered as ingotCopper in the ore dictionary. If I change those ingots in the recipe to match OreDict, the recipe turns invalid. If instead of a copper pickaxe I try to set up the recipe for a constantan pickaxe, the OreDict works fine and the recipe is accepted as expected.
When having a multi-step crafting pattern with many crafting requirements. (for example the basic capacitor bank from Ender IO or solar gen from Mekanism etc.) the autocrafter will not do anything other than show "Calculating Crafting Plan." You can press escape and click it away but no crafting job will ever start.
It should craft the pattern. If I make the sub-components (for example the basic capacitors, redstone block, 4 iron ingots) and make the requirement list shorter it will make the generator instantly.
IntegratedCrafting-1.12.2-1.0.0
Minecraft 1.12
Forge1.12.2-14.23.5.2796
Recipe with dependency cannot be crafted due to not having enough material available, although enough material is available. Additionally the correct number of dependency items can be crafted separately.
Parent recipe should be craftable as all dependencies are present or craftable
I'm sorry that this is so specific, I was unable to come up with a more generalized example.
When a crafting tree is presented, the things that do work are presented first and I have to close these job lists first or scroll way down. I'd rather have the things that don't work at the top so I can immediately see the problem.
There is no button to cancel the job order nor to enqueue the things that would work (while I get the missing ingredients); either all the jobs that can be run or just the ones that result in final products. I have to leave and to redo the job order with a manual binary search for the amount I can craft.
Question BTW: Are intermediate products of running jobs being tracked as reserved?
(Also currently in 1.16.4, scrolling does not work so I end up with the missing item just being off-screen)
i set up a system in the modpack (namely the enigmatica 2 expert mode modpack) to craft the advanced machine frame from IC2. whenever i request to craft it though, i get the issue
java.lang.IllegalArgumentException: payload may not be larger than 32767 bytes
the game should craft it as normal, as any of the prerequisites are craftable and the recipe is successfully caculated
integrated crafting and integrated terminals versions 1.0.6 require integrated dynamics version 1.0.9 or above. version 1.0.8 is the only one available for download.
after updating to version 1.0.6 for the game to start as normal or for a 1.0.9 version to be available.
Recipe items with chances (like those from the Mechanical Squeezer) should be ignored when comparing expected and actual recipe outputs during Crafting Interface recipe validation.
Crafting recipes which are immediately fed into another crafting recipe are not always marked as completed.
This example uses the recipes: Cobblestone -> Gravel -> Sand. But any recipe feeding into another one works
Marking the recipe as complete should happen before the ingredients are exported to the next crafting process.
N/A
Alternative reconstruction setup using logs * 9 -> charcoal * 9 -> charcoal block
The easiest way to get this to consistently break is to have your logs -> charcoal
recipe as Logs * 9 -> Charcoal * 9
Discovered in #18.
crafting from liquid input to item output and visa versa does not work. the crafting step does not display as complete.
requesting fluid [log->resin] crafts the fluid but causes the system to hang on "0 mb water"
requesting item [resin->block] crafts the output but isn't recognized by the system, causing it to hang
requesting a log->block should work perfectly as the outputs are both stored, but this bug causes the player to cancel, redo, and cancel the process to get it to work.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.