shadows-of-fire / endertweaker Goto Github PK
View Code? Open in Web Editor NEWCrafttweaker support for EnderIO
License: MIT License
Crafttweaker support for EnderIO
License: MIT License
I have a pretty hefty CraftTweaker script (that's still unfinished) and Ender Tweaker has worked fine up until this point. Now, suddenly, even though I added no new EnderIO-related recipes since my previous startup, the game crashes and blames Ender Tweaker. This was with the mod version 1.1.4.
I removed the mod, and doing so allowed the game to start with no errors or crashes. I then downloaded and installed the new 1.1.5 version of the mod, at which point the game crashed on startup once again.
The crash is then definitely caused by Ender Tweaker and I don't know why. I can provide the crash report and other necessary files if asked. Please help.
Hello, can you add a possibility to remove machine recipes by the name of recipes (All recipes have a unique name) or at least by input + output, question to be able to remove an alloy recipes, without removing all the recipes with the same output??
Thank's
zs code:
mods.enderio.AlloySmelter.removeRecipe(<enderio:item_alloy_ingot:1>);
(which is energetic alloy)
Recipe still existed, with no error in the log.
But adding new recipes succeeded.
EnderIO version: 5.3.70, EnderTweaker version: 1.2.2.
I encountered a crash when attempting to update Ender IO and Endertweaker in my modpack.
Ender IO: 5.3.70
Ender IO Endergy: 5.3.70
Ender Tweaker: 1.2.2
Crash report: https://pastebin.com/j434SneC
The only time I remove something from the Soul Binder, is when I remove recipes for the various monster tokens/player tokens, etc, with these script lines:
mods.enderio.SoulBinder.removeRecipe(<enderio:item_material:79>);
mods.enderio.SoulBinder.removeRecipe(<enderio:item_material:78>);
mods.enderio.SoulBinder.removeRecipe(<enderio:item_material:80>);
i tried this
mods.enderio.AlloySmelter.addRecipe(<minecraft:end_stone>*5, [<minecraft:obsidian>*5,<minecraft:ender_pearl>], 80000);
and i put 1 obsidian will do the recipe anyways and i put more than 5 then will only consume 5, any fix for this?
Hello,
I don't know if this is possibly with teh EnderIO API now, but, if this is possible, can you add possibility to make a recipes for an enhanced machine and not for the basic tier...
I know the basic tier of alloy smelter can'T be used like a furnace, and there have an icon to say you need an upgraded machine to do that craft, so possibly you can make an alloy for un eupgraded machine only...?
Thank's
According to the docs the syntax of the command is like so:
mods.enderio.SagMill.addRecipe(IItemStack[] output, float[] chances, IIngredient input, @Optional String bonusType, @Optional int energyCost, @Optional float[] xp);
mods.enderio.SagMill.addRecipe([<minecraft:planks>], [100], <minecraft:log>);
So the following should add minecraft:wheat
-> vanillafoodpantry:flour_portion
with a 20% chance for minecraft:wheat_seeds
.
SagMill.addRecipe([<vanillafoodpantry:flour_portion>, <minecraft:wheat_seeds>], [100, 20], <minecraft:wheat>);
However in-game the 20% chance for the minecraft:wheat_seeds
is actually outputting 100% of the time.
In the alloy smelter in particular, I'm trying to remove the ability to make steel (ingotSteel
) with iron and coal dust, because those ingredients are also used to make electrical steel with the addition of silicon. If you put in iron and coal dust before the silicon, you make the wrong thing. However, there's no way to remove recipes by output using the ore dictionary, only absolute item stacks. The workaround I came up with is iterating over <ore:ingotSteel>.items
and calling .remove()
on each, but then I get an error message in chat about there not being a recipe for that particular mod's steel ingot.
I know you're not really doing 1.12.2 support, but if this isn't in a future version yet (and I haven't heard anything about it) then I'd like to request it, even if you won't backport it to the 1.12.2 version of the mod.
Alternatively, maybe either suppress or allow the script to suppress the "no recipe for that item" error message, at least in the game chat?
Heya ;)
Hope I reach you here.
See my Post on Curseforge.
EnderIO Updated quite a lot and their current build is much more stable and more performant then the older ones.
I always update and handcraft compatibility for my own Version of PO3 and the current version of ET 1.2.0 just supports up to EIO 5.1.53.
I think not just PO3 OG will benefit from an update to EIO 5.2.60.
Most Recipes are heavily dependent on ET (especially in Kappa Mode).
Almost every EnderIO recipe for Kappa mode is being changed through ET and therefore will be broken (Items arenβt craftable/producible anymore and the basic recipes brake the game difficulty and EMC values significantly).
Hope we can count on an update to EIO 5.2.60 Soon.
Bless your work with the CraftTweaker integration of EIO so far π
An option to strip every recipe from each machine (individually, e.g. AlloySmelter.removeAllRecipes()
) would be very valuable. I'm trying to disable most of the "main" Ender IO machines (to add the "soul" machines and such but "not add" the SAG Mill etc.) and for cleanliness' sake I'm removing every recipe from each disabled machine.
If this option is undesirable, another possibility might be to give access to the list of recipes such that scripters could do stuff like this:
for asr in AlloySmelter.recipes {
if (testArbitraryCondition(asr)) {asr.remove();}
if (otherTest(asr)) {
asr.remove();
AlloySmelter.addRecipe(asr.output, asr.input, asr.energyCost / 2, asr.xp * 2);
}
}
Of course, while the latter is more powerful, it seems probably more work to implement.
Why does it work, but when I join a world it puts me this error :
[ERROR] recipes_changes.zs:2005 > could not find NONE;
My script :
mods.enderio.SagMill.addRecipe([immersiveengineering:material:17], [100], ore:fuelCoke, NONE, 4600);
Just a simple thing, but there are two int parameters for SoulBinder.addRecipe(), and the GitHub documentation says that the first one corresponds to xp and the second to energyCost, when it's actually the other way around.
For example:
SoulBinder.addRecipe(<enderio:item_material:53>, <enderio:item_material:55>, ["minecraft:villager"], 100000, 4);
https://i.imgur.com/SmsprEL.png
Not sure where the problem lies exactly, but here makes the most sense.
The recipes show up in JEI, but don't work.
Make it so you can have certain recipes not be doable in simple versions of the machines. The base ender io has some recipes that can only be done in the industrial/enhanced version of the machines.
import mods.enderio.AlloySmelter;
AlloySmelter.addRecipe(<enderio:item_material:48>, [<minecraft:dye:2>, <minecraft:log>, null]); // green
There are no errors, but the recipe does not appear either.
mods.enderio.AlloySmelter.addRecipe(<metallurgy:damascus_steel_ingot>*3, [<ore:ingotBronze>*2, <ore:ingotIron>]);
Will ignore the '*2' and register as: 1 bronze + 1 iron -> 3 damascus steel
However, if I use specific IItemStacks for the input like below then it works fine
mods.enderio.AlloySmelter.addRecipe(<metallurgy:damascus_steel_ingot>*3,[<nuclearcraft:alloy>*2,<minecraft:iron_ingot>]);
I can work around this obviously, but it is a bug
Both blocks used to paint and paintable blocks/machines would be a useful addition. For example, making something like the Thermal Expansion Fluid Transposer possible to paint.
Hello,
Can you add possibility to add or remove recipes for the EnderIO Tank please, in EnderTweaker for Minecraft 1.12.2??
This is already a thing with the XML file, so I think this is probably possibly for you to add with the EnderIO API...
Thank's
Fireztonez
After updating Ender IO in last version, this line in my script throw an exception on game launch (in phase 4 of 7 of forge loader)
Script line causing this issue :
mods.enderio.AlloySmelter.addRecipe(<minecraft:iron_nugget> * 9, [<exnihilocreatio:item_ore_iron:1>], 2000);
This line work perfectly before updating Ender IO in version 1.12.2-5.3.68
Crash report :
net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from EnderTweaker (endertweaker)
Caused by: java.lang.NoSuchMethodError: crazypants.enderio.base.recipe.alloysmelter.AlloyRecipeManager.addRecipe(Lcrazypants/enderio/base/recipe/Recipe;)V
at shadows.endertweaker.AlloySmelter.lambda$addRecipe$0(AlloySmelter.java:37)
at shadows.endertweaker.AlloySmelter$$Lambda$4146/2140640543.run(Unknown Source)
at shadows.endertweaker.EnderTweaker.loadComplete(EnderTweaker.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:637)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136)
at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:757)
at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:336)
at net.minecraft.client.Minecraft.init(Minecraft.java:535)
at net.minecraft.client.Minecraft.run(Minecraft.java:3931)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Thank's for your help.
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.