#🚀EN - 1.20 Modpack Contribution Megathread
1 messages · Page 13 of 1
not me forgetting to hit sync
ah there we go
man why do I keep seeing random recipes disappearing
fukken redstone torches were gone earlier today and now the large firmaciv sail
at least the create ones yesterday had a reason
are there log messages maybe
altho, something worth mentioning
i dont think you even need a large sail to complete the sloop
so
oh, hm
i think it never had a recipe to begin with
maybe it's an unfinished thing
I still have no idea what's up with the redstone torches
prolly, or left there for modpack reasons
I added a recipe back to craft em at least
I recall for the sloop quests i made it so you had to gather EVERYTHING for each of the quests
so i can corroborate if it indeed never had a recipe or if its even used
anyway got work tomorrow so can't stay up to 3am again
just got these extruder ones left to do then I'll be able to do uhhh something else for once
but i'm definetly making a shipyard next time i play
i'll get you the quest changes tonight, plus maybe some more immersive aircraft stuff
btw, did you look at the sample jsons I made for your field guide generator tool?
does the format look reasonable? during lunch breaks at work I can do more simple tfg things that don't require having the game open, so I can do stuff like add more of those or proofread your prose
i'll look into it now and tell you what i think about it
So, the main idea is that the OresToFieldGuide not only will create the field guide entries
but also create the Veins, right?
instead of reading the data from veins
correct, because the vein jsons are getting harder for a machine to parse
different blocks with different namespaces and paths and such
We really need to refine the power need for the Create machines
Im blind how it will go
yeah, makes sense.
Clearly the jsons in the "ores" folder are to be used mostly in the field guide itself, since i see some stuff such as the "Smelts Into", Wether its hazardous or not, etc
On*
The "stones" json files kinda confuse me, what are their purpose?
two things: 1) what the stone is called in other languages, and 2) what blocks get replaced with ore
Ohh, that'd be mostly for the usage in the field guide, so replace Deepslate with X
and for the veins
for example, look at the deepslate one, then look at data/tfg/worldgen/configured_feature/nether/vein/nether_bauxite
The veins folder clearly has the Vein metadata
hmmm
i see, the only thing i see is that replaceable blocks appears in the deepslate json and nether bauxite jsons
thats the only thing i can notice however
so it confuses me slightly
You can go gregnight if you need to, we can chat about it next time i'm free
sure thang, I'll do proofreading in the meantime then
I dont think i can place a multiblock hologram of the coke oven, right
i can see their levels tho
if you place the controller block, then sneak rclick it, it'll show one
it always does it the wrong way around for me, but it's something
oh thats really neat
aight
quest feedback applied

and done
immersive aircraft tree
aight, immersive aircraft quests are finished
OHH thats neat
you can actually modify aircrafts using datapacks!
gonna ensure something with this
actually nah, no need to
Scarlet Biplane is indeed a direct upgrade to the regular biplane
we could add custom upgrades too if we want 👁️
Good to know 🤔 could make tiered parts for greg tiers
that'd be funny
but i'd have to completely redo the recipes
which
i'm kinda lazy about
guess someone else can tackle that bag of bones
NGL
part of me wishes we had sculk in the beneath
and a chance to find the funny ancient city
:,)
@merry briar if you're available, your mod only adds recipes and tfc data (item sizes). right?
I LITERALLY NOT EVEN KIDDING JUST TURNED OFF MY LIGHT AND CLOSED MY EYES AND HEARD MY PHONE GO BRRR BRRR
I'M SO SORRY 
aighty
just wanted to let you know that its been implemented into kjs now
so i'll be removing the addon
thx for the inspiration
Saw you improved recipes
Nah I dot that myself hahaha
ye, maybe if i'm not lazy i'll revamp the upgrade system to be tiered like gt
Once you are not limited to a 3x3 you can do cool stuff
Cool
yeah, making those mechanical crafter recipes was fun asf
Alright
immersive aircraft is implemented
and the mod impl has been removed
gregnight everyone

greg dreams
Might unironically make tiering for aircraft upgrades
The idea is growing on me as I lay in bed
@exotic wraith thoughts on textures?
nvm, wasnt happy with the hull. Heres a new one
@brave cairn So i deleted the computer craft stuff in tfg-core and now the recipes are working again. Im guessing the main point of the mixins was hiding all of the turtle spam in jei. But im not sure how to get it working as intended.
I can start working on cc recipes in the meantime, let me know if you can make heads or tails of it lol
its greg night for me
I've never used cc so I have no clue what's good - one of the tfg server mods was a big user of it though, krastodio or something I think their name was? I remember them poking me about adding advanced peripherals
otherwise to hide turtle spam, you could always add them to c:hide_in_recipe_viewers, how bad is the spam tho?
oh btw if you think cc is ugly I know there's some texture packs for it out there that we could include 👀
the gregification is inevitable 👁️ we can always think about it later lol
it's a little too fantasy for earth I think but I'd be up for adding it to one of the other planets
I did the item sizes, they're in uhhhh server_scripts/tfc/data.js iirc
@civic plinth hey you wanted advanced peripherals right? would you be able to help us with recipes? I think you're more familiar with cc than any of us here lol
#1186025944222269580 message posting this here to remind me (it's how you can use tags in multiblocks)
not sure where to report bugs
but tin alloy doesn't have a texture when cast with channels
is that in 0.9?
in the newest release on curseforge
then no this isn't the place to report bugs, that'll be the github - but if you're able to get 0.9 working it'd be worth checking there
This is so much nicer 😭
I love them
Yummers
What is the third item gonna be?
The idea is to make an LV Aircraft Engine, rename the nether engine to the MV Engine, then keep going up until the max voltage for stuff like pumps and pistons
so it'll reach to UV
might also let you scrap the old engine for pieces
Can you add items to the mod through KubeJS?
The aircraft upgrades are entirely data driven
just a matter of adding datapacks to support them
Ohhh cool
You may stop before because when we get the jet pack I don’t think anyone will want to use a plane
Remember that some planes have more upgrade slots than others
The suit jetpack
Planes are still cool
Not if i make these upgrades insanely powerful 
Ahah well I’m not sure that would fit an use
But why not 🤷♂️
Beware that it goes so fast it can’t be used on most computers 😂
yeah you don't wanna go faster than the average pc can load chunks lol
btw whenever we get around to space we'll have to figure out how to make these not work on certain planets lol
What do you mean a plane cant have liftoff without atmosphere 😭
but fair enough
might just keep it to EV
since the nanosuit is EV
late HV early EV yeah
Gregged up engines
what would feel better for a LV rotor?
there isnt a "pre LV metal"
so i was like

Greggified landing gears
And greggified Hulls
colored steel for lv is fine
Oh I meant if you understood what the code in tfg-core does. Turtle spam isn't too bad, only about 1 jei page so we could probably just go without the code. And I don't mind making recipes, I have used cc before
I like the colored steel one
nothing some simple color exchanged cant fix 
I'm wondering how fast you can make the planes go before chunks can't be rendered fast enough lol
we shall see 
its going to be funny™️
since the scarlet biplane with the MV engine is already pretty damn fast
I didn't even know we had a cc mixin until you mentioned it lol, but yeah 1 page isn't too bad given we've already got what, 3 pages of different bricks? lol
I might be able to hide them anyway. They all use the same item name but have different nbt values. A bit annoying but possible I believe
did a bad and implemented the recipes while at work 
just a matter of making the Datapack then the recycle recipes
speaking of work I proofread about half of stone age
i noticed!

youre fine lol
as long as most popculture references maintain i'm ok with it
if you remove Stephano from the barrels i'll find you
yeah I moved your rock and stone one to the "you need to actually go mining" one in metallurgy, hope that's ok
only other thing I thought of, was a quest explaining geology and different ores in different rock types
i think just adding something like that on the native ores section would be enat
yeah
since the native ores section already goes over "hey, those pebbles are actually indicators of a bigger vein below!"
yeah tho you need to actually find the copper ones first, and I've seen a few people in here go "where copper" lol
what does that do
adds all the screen effects
like when you get rained on, or take damage, or run in sand
or makes your screen go grey
fair enough, it's easy for people to remove
btw I killed the single block lava thing
I set it to 3k instead, for now
I'll have to actually test if that's ok for volcanoes and such
Good riddance
time to actually make those upgrades do things
also, fun fact, creosote buckets work on blaze burners
good
more uses for that abundant thing are good
still wish it lasted longer than a candle when used on lamps tho
then again with the beneath being a thing easy glowstone is just a trip down to the depths away
back in my day we suffered for our lighting
@gloomy elm someone showed me a way to use tags in multiblocks, so now this thing accepts any #tfc:bloomery_insulation
LV engine if it real
and yeah the upgrade actually works
LOL
this is very nice

sick
do any of you guys ever get these errors btw?
they only happen rarely for me and a restart makes them go away, which makes me think it's a race condition
nnope
i dont think ive had that
but yeah if its a rare occurrance likely a race condition
i love multithreading 😋
I've had this error on and off for weeks now 
Nope, never got it
but yeah i balaced it around the nether engine
Oooh nice I will have a look
it has 10% faster and 10% less fuel consumption
i wonder what happens if the titanium propeller has -125% air friction
if it breaks then the titanium propeller will be -100% air friction
and the aluminum rotor just be lowered to 60% instead of 75%
Aight, Scarlet Biplane but all titanium upgrades
I already did it it's ok
true lol
but yeah thats an EV scarlet biplane
i think at that point with some booster rockets its even faster than the nano suit jetpack
and there we go
the quests just accept a smart filter of a tiered upgrade btw
so it can be any kind
No I mean how you did it
oh I seeee
i have no idea
lemme test that out, lol
try it please
I don't see any difference
yeah
as i said, wasnt really that funny
now i need to add crushing wheel recipes for recycling
someone else can do the macerator ones
lol
no need
just add a macerator one, the crushing wheels do exactly the same recipes
(also make sure to add that MACERATOR_RECYCLING category!)
nice
how do
gewd
how do i mark it as a recycling one?
is it via the recipe folder structures?
you just put this on the recipe .category(GTRecipeCategories.MACERATOR_RECYCLING)
look at greate/recipes.recycling.js for inspiration
(all that the recycling category does, is put it into the dedicated recycling tab in jei so it doesn't clog up the main one)
perfect
(black steel rods) 🤔
theres no way this will work lmao
reclycling

also you've got lowercase tagPrefix
yeah i already fixed that one
neat, that's the last VI machine

one creates the recipes, one helps you generate the args, and the other is another one that generates the args
technically creates a JSON object to store the TagPrefix to use for Macerator, the one to use for the Arc Furnace, and the count
then the duration is extrapolated
no clue if it'd be useful anywhere else
but, it works for my use case
handy for sure
maybe if its as robust as i think it is it can be placed in the utility methods gt has
could put it in gtceu/utils.js if you'd like to use it elsewhere?
lol same thought
also hm I think this curver only accepts single items as input... why would you do that
because it hates fun
uuuuuugh
I guess I need to make one of these machines do welding then
hm, there is the compressor...
ok, test time
this is the big boy type of test
If youre wondering why smallDust in the arc furnace
is because there is no "solid" TagPrefix that represents 1/2th of an ingot
or 72mb
smallDust x 2 fits that
(just noticed the item is wrongly named, so already fixed that)
nice
hehe
it works
the arc furnace typically does nuggets rounded down, in that case
4 nuggies it is
we salute that half of a nugget's loss
indeed
also, while i could take use of the uhhh
4+ outputs of the arc furnace
i wont be bothered
4 different materials is the best you'll get, take it or leave it
lol
ok so it can actually take multiple items, you just have to format it like [item, item] instead of [item x2]
¯_(ツ)_/¯
whatever
(technically speaking modifying the helper method to just cap the macerator output to the first 4 specified materials is possible, i'm just lazy)
this thing can do double ingots now as well. Just in case
there, now the helper method can use all 8 slots of the arc furnace
I did increase the number of macerator/arc furnace output slots 👍 mostly to fix that issue where expensive machines wouldn't work because of tfc stack sizes
huh
i mean
macerator still has just 4 slots tho?
at least in my GUI
arc furnace has 8 so thats the limit lol
probably an outdated tfg-core then, that's where the change is
actually hm mine is 4 still too
I may have forgotten to build
hehe
nice...
@brave cairn assuming your mixin works, what would be the new number of output slots?
9 each
I figured why the hell not
lol, fair enough
interestingly I noticed gt actually started filling some of these extra slots itself
i guess i'm going to make these output a lot more recycled goodies
ah don't worry about it too much
I will say though, put the highest quantity item first, at least in the macerator, so if someone doesn't know about the whole macerator gimmick, they lose less "stuff"
i was doing the highest quality first actually
but
that works
also, do the greate crushing wheels have the same gimmick?
yeah
neat
exactly the same as macerators, same as the millstones
crushing wheels are just fast
i'll keep the 4 & 8 limitation in terms of output slots
once your mixin works
i'll increase it to 9
you did account for them as well right lol
noice
they're literally the macerator recipes
like they aren't generated copies or anything, it's literally the same macerator recipes
which is both helpful and not helpful, lol
i know why its helpful
but why isnt it helpful

Alright, time to continue these recycling recipes
aight, thing works
because there's no way to make it stop
which is why we have no mechanical press any more, because it was hooked up to all of the bender recipes
and greate forcibly removes all the other normal mech press recipes so you can't use that either
question
at what point do you unlock this thing?
is it HV? lol
ehh, i'll redo that recipe to use Red Alloy Wire
actually
uhh
yeah i'm unsure if that thing there is LV or not
double plates but only the tfc metals (the others are locked to mv)
MV
but most people won't actively make it until HV yeah
yeah thats too much for the LV engine
earliest plastics are mv, otherwise it's lv for regular rubber, and earlier than that you can use various leathers
using the recipe tree to figure out a good amount of returning items is neat
it gets really messy with complex things such as LV components
yeah lol

lel
kekw
surprised it works
hm yes
that looks ok
also, fwiw @brave cairn
these recipes are a net loss
all other gear recipes need 1 ingot
these need 2
for... whatever reason
yeah the alloy smelter is weird with gears like that
the big gears are even worse...
lmao
now that i think about it
can GT machines have greater stack sizes than regular items?
like
I noticed this section in the quests and it would be wonderful if I could figure out the damn path
that's 17 ingots
no - there's a bug where with the 4 slots, if you have something that recycles into 4 different things and one of them is >16 ingots, the arc furnace will just do nothing
increasing the slot size like this should fix that
I guess so! so I'm hoping 9 is enough lol
Well the nether engine has 7 output types so this should be good enough for this
it'll just be 16 aluminium ingots and 1 extra lol
i filled up 2 rows of super chests with storage buses for electrolysis
Recycling is supposed to give the closest 1 to 1 results back, right
??
guhuh
aight, lets see what pops out
more or less yeah
don't worry about being super accurate, people aren't gonna be inspecting it lol
though if someone finds a recipe that gives more than it costs, someone tends to find it to dupe it lol
yeah it works as intended, lol
nice
yeah i'll take the lazy route and substract 1 to every calculation i can think of
oh btw one more thing about arc furnace
it always gives annealed copper instead of regular copper
so that should be giving 17 annealed
and also it only gives metal. Things like rubber or whatever turns into ash, if you want to bother
Well, guess my code doesnt take into consideration that
unless there's a way to check if the GTMaterial is metal or not
:)
there's probably a flag
I think it's this
!material.hasProperty(PropertyKey.POLYMER) && !material.hasProperty(PropertyKey.WOOD)
eh, that'll do
wood now is a bit fucky considering the existence of both Hard and Soft wood pulp
lol
guess hardwood by default
I hope they both have the wood property then :)

I wonder how i'd null check this mess
wanted to check if the material has a specific tag
i guess it'll return null if the tagPrefix isnt found?
Lots of work this week so I won't do much progress before this weekend
I'm pushing the recipes for the steam bloomery and will try to fix the lv quest though
will be back to continue progress on the quests this weekend
excited to begin some testing !
I usually give about half back. Because I'm evil and nefarious
where do i get these property keys :,)
intellisense is not completing them so i'm scared
Btw the Large Boiler are still bugged on last GT update and goes boom when loading the world
it may be interesting to wait for next update before updating 0.9 though i'm afraid it may break a lot of things
apparently KJS cant use classes
that or i'm writing the stynax wrong
lol
nope! Class is not permitted because of 🦏
thats shitty
so all my objects with fields need to be anonymous json objects?
🤢
god i FUCKING HATE javascript
I mean a function can work like a class
What do you need it for?
Nah nvm that's cope mb
probejs creator gave me an idea
so i'll try it out
Also
the aircraft upgrades will have a 25% loss
so all numbers i'm getting from the recipe tree
i just multiply it by 0.75, rounded down

altho if its already 1 it'll be just 1
also yes
you can annotate JSON
fuck yeah
bit maclunkey
but it works
That's... Interesting
better than no documentation
i kind of miss writing in a real programming language
kubeC++
Molybdenum disilicide pseudo conflicts with mixers running hss and graphene simultaneously. This isnt really a bug but considering both are usually queued at the same time, I think it may be a good idea to change the circuit config off of 1 for the moly recipe
but no, kube's important not to be a compiled language
that sounds like it is a conflict
maybe adding a circuit to graphene might be an option as well.
yeah, if only it was in python or something more sane
first thing I ever wrote in was js, havent touched it in ten years, I almost exclusively worked in c++ since then, as of recently ive started to fall in love with python
i've been using python a lot recently for deep learning applications but i really miss writing in c++
at least from what i know python doesnt have awful shit as object Object object Object
not a lot of people in my field are too competent with writing software, so one of my fav things to do is throw python on someone in the HR offices workstations and just give them tools to automate away half their job, literally never have any issues ever with HR shit or pay
well. it doesn't require you to write out var types either
loosely typed languages my beloathed
auto in c++ is also a crime
you know how many times i've seen people who say they know that they're doing mask an int behind an auto?
What is auto in this case? i dont know C++, closest thing i know to C is C#
since i'm a unity gamedev by trade, lol
auto is the C++ way of doing like.. var in java i think
i think it's java
i only did a small amount of C# i don't remember what it does
ohh
<--- uses C#'s var all the time in their methods

i mostly just use var if i'm working with literals tho
if i'm getting from a Method i'd rather explicitly tell the type
unless i'm REALLY lazy
or cobbling stuff together
i have a philosophy "almost never auto" which means unless the variable is an iterator or ridiculously long, i will type out the variable
or a lambda
because even a literal... what is auto i = 1? i happen to know it's an int but you can do double i = 1 or uint64 i = 1
JavaScript is the most advanced language I know
Also the only language I know but I think that's irrelevant
once you learn your 3rd language they all fall into place
well. as long as at least one of them is a compiled language and one of them is a scripting language.
so i tried to get my funny utility method to actually handle some arc furnace shenanigans
i gave up
cuz it made everything break
lmao
and i cant fucking debug this without breakpoints
that's fucking mad
is okay
why don't you have breakpoints
you cant breakpoint debug kubejs
afaik
which fucking sucks
ohhh kube
post your code in a code block here?
i would
but i killed it
so

the comment i left pretty much says what i tried to do
/*FIXME: This should do a couple of things it doesnt do rn, but i cba to fix it myself.
//The arcFurnaceMaterial should have special checks to see if it should be replaced with Ash if the material is a Wood or a Polymer.
//It should also set itself to annealed copper if the input is regular copper
//Ideally we should make sure the specified material has a specific TagPrefix before pushing it into the array, cant get it to work tho. I think the method TagPrefix.doGenerateItem() is ideal for this
*/```
yeah i don't really like "pretty much"
i kinda dont want to write it again 
then don't
no need to be sorry i only offered to peek at it
gregnight
sleep(28800000)
I second advanced peripherals 👀
Advanced peripherals are being worked on rn. CC is finished and CCC bridge is finished
I'll probably finish advanced peripherals tomorrow. Gregnight
sleep(28800000)
this is why I did all my recycling recipes manually
at least macerator is easy
we can start playtesting in the meantime at least, I have the feeling the "polished and ready for public" version will take a bit longer
I haven't been watching the gt updates too closely though so idk what all is going to be removed?
nvm I peeked in GT discord and I see they changed a bunch of API methods
anyway, uh... I think the only things that need doing before the playtests are finishing up any recipes people are working on, and balancing out all the create configs 🤔 the field guide and quests can be finished up while that's happening
how does that sound to you guys?
If I'm currently playing on 7.19, will I be able to comfortably continue playing on the test version of the modpack? without breaking the world or so?
you can copy your world into the new version to test stuff but you should not use the playtests for playing as normal
wait until the stable release for that
I don't want people complaining about their world getting bricked when they play a version that's known to not be stable lol
I know, if my world would be bricked it will be my problem, I will definitely make a backup
Sounds good
How can we try this out in an online setting lmao
uhhhhh I don't know shit about server builds lol
Do you want to try to set it up on your server?
I think basically it's just about removing all the clients only mod
well that's what I do when I set up my servers if there is no server files already
Yeah I actually wanna try that
I think I can run a pakku command for it
This modpack is so fucking funny they make me wanna merge without lookin
peter, the horse is here
p sure i need to run this
so i'll just, pull, then run
that
and see if for example, the client works well
interesting
stuff like tfg is missing
but thats ok
idk in what pack cold's grappler failed to be uploaded
or well
exported technically
well
time to see if i can export the curseforge zip into my prismlauncher

that's bad
there are some problems with our current export
pakku is not used to ignore the probejs folder
but it should
also, lel
is our version out of date?
no, latest is indeed 1.0.0
the mod just sucks apparently because it doesnt let it be redistributed in modpacks
xd
damn our JEI is way out of date then lol
lol what a bellend
Well at least it’s easy to know what to update that way lol
please never aknowledge my dead name 🥹
but yeah it would probably be worth doing those updates
No need ot apologize, as you didn't know it was my deadname in reality
but pls dont jnjkgfsdg
it might explain why newer versions of sophisticated backpacks were being annoying in JEI a bit ago
likely yeah, currently trying to figure out how overrides work so i can exclude probejs' stuff
apparently this isnt right, lol. i've tried withn adding a wildcard and a wildcard with extensions 😭
babby steps i guess
wishing there was a pakku discord rn
oh wait
there is LOL
nvm
asked me question there
o damn have I been using the wrong pronouns this whole time
youre okie

Also, managed to exclude probejs
which is nice
Do you plan on fixing the versioning issues i posted?
Sounds cool
ok ok I will try to remember to use they them
how'd you see these problems btw? is there some option to make them more picky?
i ran java -jar pakku.jar export
then imported the curseforge zip file into prismlauncher
ran the game
and fart
crash
so export generates the zip, and then prism unzips it, sort of?
Export basically generates the zip file ready to be submitted to either cursforge, modrinth. It also creates the zip file for the server
how does it handle tfg-core?
alrighty
i basically want to make sure the uhh, client version of curseforge at least works
then test the server version
yep yep
i'll likely test the server version locally then if that works, modify my server to be a TFG 0.9 alpha server
whitelisted probably
and then we can playtest n chill
we'd have to make sure any bugs we find we make issues in pyritie's fork too
btw what do we think about adding some sort of death penalty since we don't use xp?
you already have to travel a really really long way generally, so travelling 10k is already a prety hefty penalty
🤔 I guess
there seems to be some kind of minimum
I don't think you lose any nutrition but it's been a while since I've eaten anything other than creative lasagna
but yeah fair enough let's see if these various encouragements to go caving will make people live off more than pumpkin chunks lol
(teehee graphite)
For me it's the lack of automation. I live off.garlic because I don't want to domall.the manual tfc stuff to make garlic bread
just for information, when you die nothing happens to your nutrition unless the bar is empty. then it adds some.
oh it gives you pity nutrition?
Blud is NEVER completing the 1024 garlic bread optional quest
yes
had no idea lol
that means in some rough winter situation it's actually better to die lol
yeah people dying at home just to reset hunger is what made me think about it lol
hey what else are you supposed to do when you're waiting for crops to grow in
the easier fix would be to set nutrition very low so okay you can spam death but you gonna lose all your health
else I'm not sure what to do
if my electric greenhouse actually worked
there's the medicine to give yourself regeneration 1 now as well
how does that stack with hot springs lol
hot springs are sloooooow
but they probably stack 🤔
you know I don't actually know if food was also fixed by the whole ae2 forge capabilities thing
someone could test that :p
What was the issue? Crafting food without it being rotten or making patterns that works even though it’s not the exact same item?
the latter is what the fix was designed for
I will have a look then
create a test world find Jute immediatly damn
that never happened in survival
Do I need a new tfg core or something?
my version has 4 or 5 days
Btw do we want to keep AE2 Things? It feels fully useless and bloated
it just gives a disk to have both items and liquids on the same one
I think I read it's buggy too but i'm not sure
@brave cairn It doesn't seem to work
Tried to make wheat dough but it doesn't recognize the wheat flour
possibly
what doesn't recognise it?
the flour needs to match perfectly the one used to make the pattern
Though it knows the craft is finished
because the pattern was made with a fresh one
do we still have the bug with food becoming rotten when crafted if using GT matchine?
Oh I crashed with the new tfg core
@brave cairn
Im redownloading everything
Give me a minute
that's expected honestly - the tfc fix basically just always adds the heat data to metal things
oh that one
I will test it also
it's a bother too
do we really care if it doesn't work for food anyway
food shouldn't really be put in AE2
it was just a bug exploit I don't know if it's fix
nah
the main food-related bug is the one where the gt machines just output food with the "server last restart time" as their timestamp, instead of inheriting it from the input food
which zleub did have a mostly-functional fix for before he left 😔
yeah this one is a bother
because you basically can't use gt to make food on a server without restarting it
but there was an other one so any foods put in ae2 would never be rotten
i don't remember how it was done
@brave cairn that works for making cast iron in an electrical furnace
awesome, that'll save a lot of headache
alright let's try updating random mods and see what breaks
work over
modpack dev mode ON
what we doin this afternoon boys, girls and minerals?
I'm trying to learn how to do const to make recipes faster lol
how to do constants?
yeah I don't want to do the recipe 9 times
but because I have 0 clue what I'm doing I have to find example or tutorial first
I think so yeah
how to do const?
const ironDust = ['gtceu:iron_dust', 'gtceu:hematite_dust', 'gtceu:goethite_dust', 'gtceu:magnetite_dust', 'gtceu:pyrite_dust', 'gtceu:yellow_limonite_dust', 'gtceu:granitic_mineral_sand_dust', 'gtceu:basaltic_mineral_sand_dust'
];
ironDust.forEach(ironDust => {
event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coalcoke/ironDust`)
.itemInputs(`${ironDust}`,'beneath:cursecoal')
.itemOutputs('tfc:raw_iron_bloom')
.duration(2400)
.EUt(GTValues.VEX[GTValues.ULV])
})
that doesn't work
makes sense, iirc the first input in the steam_bloomery is actually the ID
youre trying to add multiple recipes to the same id
I was trying to add the name but that didn't work either
const ironDust = ['gtceu:iron_dust', 'gtceu:hematite_dust', 'gtceu:goethite_dust', 'gtceu:magnetite_dust', 'gtceu:pyrite_dust', 'gtceu:yellow_limonite_dust', 'gtceu:granitic_mineral_sand_dust', 'gtceu:basaltic_mineral_sand_dust'
];
ironDust.forEach(ironDust => {
event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coalcoke/${ironDust}`)
.itemInputs(`${ironDust}`,'beneath:cursecoal')
.itemOutputs('tfc:raw_iron_bloom')
.duration(2400)
.EUt(GTValues.VEX[GTValues.ULV])
})
that didn't work either
you'll need to do /kubejs errors server to look at what exactly is wrong
(also, it'll be a great help if you use ChemicalHelper or tags for things like this too, it's nicer to work with in case we swap items around later)
[17:01:28] [ERROR] ! gregtech/recipes.js#1563: Failed to create recipe for type 'gtceu:steam_bloomery': Failed to create recipe for type 'gtceu:steam_bloomery' with args [steam_raw_iron_bloom_coalcoke/gtceu:hematite_dust: ConsString]
[17:01:28] [WARN] gregtech/recipes.js#1563: Tried to call a function on an errored recipe! (Failed to create recipe for type 'gtceu:steam_bloomery')
[17:01:28] [ERROR] ! gregtech/recipes.js#1563: Error in 'ServerEvents.recipes': TypeError: Cannot find default value for object.
ah
adding the dusts to a tag? like iron dust?
hm, I see your steam bloomery recipe type in recipe_types.js...
did you manage to get it working without the loop?
yeah
I was finishing adding all the dusts and thought I could try to learn something new and not just copy paste 9 times the recipes lol
the error message looks different from what I suspect but my guess is that it's because the ID has a second colon in it
const ironDust = ['gtceu:iron_dust', 'gtceu:hematite_dust', 'gtceu:goethite_dust', 'gtceu:magnetite_dust', 'gtceu:pyrite_dust', 'gtceu:yellow_limonite_dust', 'gtceu:granitic_mineral_sand_dust', 'gtceu:basaltic_mineral_sand_dust'
];
ironDust.forEach(ironDust => {
event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coalcoke_${ironDust}`)
.itemInputs(`${ironDust}`,'beneath:cursecoal')
.itemOutputs('tfc:raw_iron_bloom')
.duration(2400)
.EUt(GTValues.VEX[GTValues.ULV])
})
?
yeaah
thanks
success
not quite -- I mean using something like #forge:dusts/hematite instead of gtceu:hematite_dust. I can yap about this for a while if you want but the short version is gt automatically generates all these items at runtime, and we can tell it to not generate specific ones and use something from another mod instead
so
for example, we're using create's copper plate instead of gt's now
const ironDust = ['#gtceu:iron_dust', '#gtceu:hematite_dust', '#gtceu:goethite_dust', '#gtceu:magnetite_dust', '#gtceu:pyrite_dust', '#gtceu:yellow_limonite_dust', '#gtceu:granitic_mineral_sand_dust', '#gtceu:basaltic_mineral_sand_dust'
];
ironDust.forEach(ironDust => {
event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coalcoke_${ironDust}`)
.itemInputs(`${ironDust}`,'beneath:cursecoal')
.itemOutputs('tfc:raw_iron_bloom')
.duration(2400)
.EUt(GTValues.VEX[GTValues.ULV])
})
and the aluminium plate looks different because it's from vintage improvements
this one is better?
#forge:dusts/(material), not that
I like the variety
I like when things look a little more distinct
I understand for woods/plastics but having all the same in metal seems fine to me
glass is the same as metal though
I'm not a fan of that
well it's also why there's a couple different ingot textures now, instead of them all being identical
why not I don't know if I'm a fan of it but I will get use to it
const ironDust = ['#forge:dust/iron_dust', '#forge:dust/hematite_dust', '#forge:dust/goethite_dust', '#forge:dust/magnetite_dust', '#forge:dust/pyrite_dust', '#forge:dust/yellow_limonite_dust', '#forge:dust/granitic_mineral_sand_dust', '#forge:dust/basaltic_mineral_sand_dust'
];
ironDust.forEach(ironDust => {
event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coalcoke_${ironDust}`)
.itemInputs(`${ironDust}`,'beneath:cursecoal')
.itemOutputs('tfc:raw_iron_bloom')
.duration(2400)
.EUt(GTValues.VEX[GTValues.ULV])
})
I mean the different texture sets is just part of gt now, I didn't do that
just dust/pyrite, don't need to put dust twice
it's a little overkill for what you're doing but this class is also pretty useful https://gregtechceu.github.io/GregTech-Modern/Modpacks/Materials-and-Elements/The-ChemicalHelper-class/
yeah i'm a bit lost because I don't find any logic
but well I like the new textures overall
gonna read that always new stuff to learn
hm now you've got me curious if there's a way to get all materials that melt into iron...
Also it is plural. So it should be "dusts" not "dust"
good catch!
That one always gets me
damn u right
hold up
that would be even better because there is tons of other stuffs that could be put in the bloomery
I wonder if it wouldn't be even more confusing though
but that's so gregtech 🤷♂️
const ironDust = ['#forge:dusts/iron', '#forge:dusts/hematite', '#forge:dusts/goethite', '#forge:dusts/magnetite', '#forge:dusts/pyrite_dust', '#forge:dusts/yellow_limonite', '#forge:dusts/granitic_mineral_sand', '#forge:dusts/basaltic_mineral_sand'
];
ironDust.forEach(ironDust => {
event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coalcoke_${ironDust}`)
.itemInputs(`${ironDust}`,'beneath:cursecoal')
.itemOutputs('tfc:raw_iron_bloom')
.duration(2400)
.EUt(GTValues.VEX[GTValues.ULV])
})
Oh again it doesn't like its id
Should I create an other const with like a dumb number?
try this: ${ironDust.replace(/:/g, '_')}
that removes some stuff?
Says pyrite_dust. But that shouldn't stop it from working
that changes the colon to an underscore
wait actually
/[#:]/g, '_'
that'll change the colon too
but gimme a sec lemme cook
oh yeah forgot this one
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
if (tfcProperty == null)
return;
if (tfcProperty.getOutputMaterial() == GTMaterials.Iron) {
let dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1)
event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coalcoke_${material.getName()}`)
.itemInputs(dustItem, '#tfc:blast_furnace_fuel')
.itemOutputs('tfc:raw_iron_bloom')
.duration(2400)
.EUt(GTValues.VEX[GTValues.ULV])
}
}```
try this
this basically loops through all the gt materials, looks for ones that have a TFC property, which is what we use to specify what each gt material melts into for tfc things
then we check if that "output" material is iron (which is everything that says "melts into cast iron"), and if so, get the dust item for that material, and make the recipe
impressive
as a bonus I changed your other input to the blast furnace fuel tag
getProperty wasn't in the wiki from GTm lol
yeah the gtm wiki is veeeeery sparse
actually wait the bloomery should use its own fuel
it doesn't have one
well, forget that tag then lol
I guess just inside the innermost if block, make a recipe for each fuel if they act differently (I can't remember what your 'rule' was)
forge_fuel?
'#tfc:forge_fuel'
well the issue will be that they will all share the same value though
yeah, whether or not you want that behaviour is up to you :p
how to do like, a set exclusion between two tags? I have no idea, but that would be perfect here lol
excluse some from the tag?
honestly in this case it might be easiest to just make new tags lol, like tfg:steam_bloomery_basic_fuels and then reuse the blast furnace fuels for the faster recipe? or whatever your idea was
I guess I could do that
hm, you might be able to do something like this in the tags js
doesn't seem to bad
[17:01:28] [ERROR] ! gregtech/recipes.js#1563: Failed to create recipe for type 'gtceu:steam_bloomery': Failed to create recipe for type 'gtceu:steam_bloomery' with args [steam_raw_iron_bloom_coalcoke/gtceu:hematite_dust: ConsString]
[17:01:28] [WARN] gregtech/recipes.js#1563: Tried to call a function on an errored recipe! (Failed to create recipe for type 'gtceu:steam_bloomery')
[17:01:28] [ERROR] ! gregtech/recipes.js#1563: Error in 'ServerEvents.recipes': TypeError: Cannot find default value for object.
event.add('tfg:steam_bloomery_basic_fuels', '#tfc:forge_fuel')
event.remove('tfg:steam_bloomery_basic_fuels', '#tfc:blast_furnace_fuel')
I think that should work?
oh
it adds them all then subtracts the other two
maybe because of my old recipes
sorry if I'm kinda backseat driving here haha
this is what the depths of tag prefix hell will teach you lol
telling me there is typo error
no worries it helps a lot to learn
ah I forgot a )
that's pretty cool
so basically you tell it to look for every recipes making iron and having dust in its name?
mmmm you're too zoomed in!
gt has this whole concept called a "material"
for example, "gold"
it uses this material to generalize that everything that has a gold material can be freely converted between its different forms as long as you have enough of it
which is where you get all those recipes where you just shape gold into different things
with me so far?
Hmmm this is how GT makes all the wires/plates/coil without coding each of them?
correct!
okay I understand the first step then
that's part of the next step
which are flags and properties
flags are basically a true/false that you can stick onto materials
by themselves they don't inherently do anything, but they're used to tell other bits of the code to do stuff
for example, there's a flag called GENERATE_SPRING which tells a part of gregtech that it needs to make a spring item for that material
so "being able to be a wire"?
yep!
I see
closely related, we have properties, which are similar but hold a bit more information than just a yes/no
for example, that's what gives the wires their different stats
or a property to say which tier of coils an ingot needs for an EBF
that kind of thing
TFG has its own property called, well, TFCProperty, which holds a bunch of information about tfc related things
what temp it needs to be at to weld ingots, what tier anvil it needs to work, that sort of thing
Oh like tfg.core added properties to tfc items the way Gregtech does?
so kube gt can read them?
tfg-core creates the property java class, but the property is applied to our different materials in startup_scripts/gtceu/materials.js
Oh I see
that file also shows the flags being added
for example if you wanted to make a recipe that needed, idk, red steel springs, and we didn't have any, you'd just find the red steel material and put the GENERATE_SPRING flag on it
ok, ready for part 3?
dont worry it's the last part lol
-# for now
@exotic wraith do you know what pakku sync actually does?
Ready for it
tag prefixes!
they're basically the part that describes what form the material is in
like, an ingot, a dust, a plate, a pickaxe
(redeix had a little experience with this when he made the mattock tool heads)
but yeah, with materials, flags, and tag prefixes, you basically have full control over all the different stuff that gt comes with, and can easily make more of it
ChemicalHelper is a tool to help with this system
for example you can use it to tell you what material a given object is made of
So if I look again at the example you made for the bloomers
You asked all the materials that contains irons
or like, "I have a block's worth of this material, get me its equivalent in small dust piles"
And specified you wanted the dust versions
yep!
if you swap dust for dustSmall, you'll just get one small dust pile per operation which probably isn't what you want
So I could do it for the ores the raw ores… by just changing the prefix
I guess 😅
What do I use to tell it to use 2 dusts ?
ChemicalHelper.get(TagPrefix.dust, material, 1) <-- the number at the very end is how many of the thing. So if you did dustSmall and 4, you'd get the same as 4x gtceu:pyrite_dust for example
if you want to do all the ores there's 3 prefixes
TFGTagPrefix.poorRawOre, TFGTagPrefix.richRawOre, and TagPrefix.rawOre
the first two are TFGTagPrefix because they're tfg's own creation haha
I see that’s a different order
Okay thanks for the lesson
How do you get all these informations basically going through GT GitHub and looking in the code
yeah if you wanna find a tag prefix you gotta either dig through gt's source code or just search around in kubejs lol
partly gt's source code, but I think the biggest help was just looking at server_scripts/gregtech/recipes.materials.js
that's where it really uses a lot of this chemical helper and tag prefix stuff

