#General & Development Help
1 messages ยท Page 5 of 1
is there an easy way to disable part of spell validation on a spell? I don't see one
What are you planning?
When I use the changecolor function on a spell
the spell ends up looking a bit bland
is there any way to fix this?
like normal spells have some form of glow to them
with change color they seem to loose that glow
upper is the changecolor one
lower is the smexy vanilla one
Change Color?
If by chance is the thing omega adds, it's made for black particles
Not for the whitey ones
nono base ars
((EntityProjectileSpell) entity).setColor(color);
Are you using the same color as the default one?
Also the alpha looks a bit lower
I really need more context
Since it doesn't make much sense if you're changing only the color of an existing projectile
But can if you have a custom projectile or smth
Making extra amplifies from staffs immune to the limit
I got it to work with some reflection but that's not ideal since any change to the spell resolver code could break it
I just need to get recipes done and we're good to release
Little showcase of what I have so far
well, time for yellow so you can use the channels
Eventually yes
Recipes are something I'm struggling with
I have some base recipes for the glyphs
but no idea what to do for the items and gems
the gems are the three tiers, right?
Currently they accept any spell but have 3 tiers of durability
That looks awesome!!
So they have 250, 500 and 1000 mana in each tier of gem respectively
Should probably make it configurable eventually
Ooh gold
Thoughts on adding an imbuement recipe to source gems to turn them into spellgems? Would mess up anyone just leaving source gems in imbuement chambers
Probably best to have a pedestal item required
Uh, looks like the idea behind NEG of remaking other addons stuff and disabling them if said addon is loaded works
Not the most elegant way, but should solve the overlap and the update time problem
Nice, that's pretty cool
How can I check an ingredient to make sure it's not damaged for a recipe?
you need the itemstack somehow
I'm specifically trying to make an Enchanting Apparatus recipe only work when the reagent is pristine
Yeah just trying to figure out where I can implement that
Ah okay, so I need to create my own enchanting recipe type
rip
yeah
https://www.youtube.com/watch?v=X0zNEZpxuZc
Does this suffice as context?
(ignore music)
im firing a projectile, and the tile entity has a internal function that loops through all possible RGB values and applies that to surrounding spells
ok, so the projectile is still "vanilla" and you're just setting its position and color ?
Doesn't answer your question, but if you want a proper RBG cycle, it's easier to loop over HSV and convert to RGB, it'll produce a nicer effect
mhm
position is done by kubejs
color is done by my TE
whyd it be nicer? just curious
Looping through HSV creates a more guided transition through the colours with a mixture of RGB, it's the method most RGB lights use
then it's weird, only thing i can think of is that the color you're setting is lower than the one that the projectiles usually use
I see
since the color is additive, higher value colors also have higher alpha
which is why 1,1,1 is transparent
https://arduino.stackexchange.com/a/35791 reference answer that applies to here
It'll probably improve how it's seen too as the brightness is baked into RGB
thankss
๐ฎ
Iโve always wondered how you easily translate color gradients
Rainbow particle setting 
Ohโฆgood point lol
The Jeb_ implementation isn't exactly the easiest to read
SheepFurLayer if you're curious
well, especially with the decompiled
You should make a whole particle generator for your artifice mod jarva ๐
but why
Because xacris would love you for it
Heโs been wanting a block like a spore blossom for the particles
But you could do lots of configurations and settings
The problem I'd expect is that some vanilla particles have built-in movements
The enchanting table ones for example
While the modded ones might require extra stuff. One should look into the particles command
Maybe that would lead to allowing Ars particles with commands too
Currently on my to-do list for Ars Artifice is:
Finish Recipes
Release
Add bulk scribing method
And then I'll get around to looking at other ideas
I'm not really sure what the whole idea around a particle generator would be
Iโve been wanting to make one but it likely requires gui work to make something complex, or be restricted to a handful of movement behaviors with color and range
Ars had one
basically a particle selector, offset and speed sliders (or maybe fields)
Idea for an addon, if this isnt supported by something:
Occultism mobs working in jars (Pipe/right click items in, result dropped in world), or for the item transport the cleaner one basically working like an allay but being able to transport to remote inventorys/entitys/entity jars, and the item transport dude doing the same but picking from chest or entity instead. I'm working on learning modding so if nobody ever does such an addon I might try to see how it would work myself but just putting idea here for now
@radiant depot how does one get an #addon-index post? ๐
๐ perfect, thank you
OK so how do you guys manage your development time vs your personal play time? I'm not finding it easy at all.
dont play the game, easy
You're killing me, Smalls.
Unfortunately it's kinda the case
I usually end up flipping between Dev mode and player mode, depending on what my ADHD decides gives dopamine
That also means swapping between projects, etc.
Well at least I'm not alone then. #Solidarity
Yeah
I basically stopped working on things to try and play more to find direction in what I wanna play
Ive been trying to figure out how the portal tile method works for teleporting entities.
ive tried changing it so it wont tp specific entitys, like item entitys etc. But it just wont do.
So if I could be redirected to exactly what does the warping and stuff thatd be super helpfull
thanks ๐
I have the suspicion that im looking at the wrong class.
Repository for the Ars Nouveau minecraft mod. https://www.curseforge.com/minecraft/mc-mods/ars-nouveau - Ars-Nouveau/PortalTile.java at 3316c4d8987b29b93128f1814c63272fe70949b4 ยท baileyholl/Ars-Nou...
Yea so heres the issue
I completely deleted the entire warp method so nothing should happen
tho when I go into the portal
it still tps me xD
or anything as a matter of fact
actually nvmd, I may just be incredibly stupid
ive got the feeling warp is not doing anything xD
TeleportEntityTo is the method actually doing the job
Alrighty, so ive gotten another thing:
So im working on a PR for ars that includes a new Entity tag that prevents entities from getting tped...
So far so good, the tag works and allthat.
Buut , weirdly. when theres ars nouveau familiars in the entity tags.... It doesnt work. For Orbit projectiles it does work, even though thats also from ars
{
"replace": false,
"values": [
"ars_nouveau:starbuncle",
"ars_nouveau:drygmy",
"ars_nouveau:whirlisprig",
"ars_nouveau:bookwyrm",
"ars_nouveau:wixie",
"ars_nouveau:orbit"
]
}
This is the EntityTag json btw
but yea.. for everything except orbit for some reason it doesnt work
from the things in the json
for other entities it works
should I already PR this?
Sorry what was the original goal? a tag to prevent TP?
ye
There are two places teleports happen, one is called in the block method and one in the tile
iirc orbit might have special handling in its own collision because spell projectiles have special logic to make sure they warp
Are you suggesting the tag is broken?
I think it may be that you're only checking the tag in one teleport location?
good point
that, or you may need to check the spell projectil code where it force warps itself if it ray traces a block that is a portal
nono I have no issues with orbit is the thing. that excludes itself perfectly
But whirlisprig and stuff
is what doesnt want to get tped
ohhhh I read the reverse lol
but yea ig ill change the warp and tick method for it
in portalTile there is the warp method and the tick method which also warps entities, make sure you check both
ive done it, but now that ive changed the warp method it crashes the game xD
lemme troubleshoot a bit and ill get back
prolly dun sth dumb ๐
crashing just means progress!
you are right!
it worked
ok doing the pr
now i only need to figure out how they work xD
weird whenever I do the pull request github errors
ig ill do it tmrw
the gods want me to sleep
hmm I should prolly also include this change for warp spells shouldnt i
cant find the class that has the warp function for warp spells
could someone help me?
It is in EffectBlink for warping other targets
want me to rename the portal blacklist tag then? seeing as it doesnt also cover warping in its name?
I would make a different tag for blink
sure
there's also the warp ritual, if that's relevant
yea im contemplating wether or not I add the blink blacklist tag to that aswell
as reliably farming and automating warp rituals isnt exactly easy lol
but ig that changes from pack to pack
What's the effective difference between 1.19.2 and 1.19.4 for mod coding? I really like the Bountiful mod but it's 1.19.4 only and I'm wondering how much of a hassle it'd be to backport to 1.19.2 for my own use only.
The main thing I've seen is Registry changes
UI changes, registry, creative tabs
So probably not a good idea, which is what I expected.
It wouldn't have to be for your own use only
You could PR it and they may release it, otherwise you could release bountiful-1.19.2
Dude already said he won't be backporting himself, which is 100% understandable.
there are mods that skipped 1.19.2 for .4? ๐คจ
What does Bountiful add?
Yeah, few that were still mid-porting when 1.19.3 started
Ugh nevermind it's Fabric...
even still i guess i'm still surprised they didn't commit staying on .2
A bounty board in villages you can get quests from to kill X mobs, craft X items, etc. and turn in for rewards.
that sounds pretty cool
It's pretty cool IMO and if tweaked for Ars integration it'd be even better.
Oh, I remember seeing it
@zealous zenith steal for Starby guild? :P
Forge too btw
I'm obviously blind or tired or both.
A Starby guild? Oh man now I've got visions of a village like MineColonies but Starby fanatics.
And it was another mod that was Fabric only I wanted to use but can't.
the guild is like half meme/half real pet project we've wanted to do where you can send the Summons on little missions
Cool concept. I'm guessing you could form little teams with different magical helpers in the same group to fill roles and increase success?
maybe lol,
it really hasn't gotten far
The guild would request items for their adventures like equipment/potions/food and then come back with dungeon loot
Fire support of a Wixie dual wielding dual wands...
I like it, I like it, I like it.
It's both isn't it?
Adds an item sink, which I think MC misses in a lot of ways.
It is Jarva, I got it crossed in my mind with a cool dimension mod that's Fabric only.
Ah right
yeah item bloat is like a key issue with the game
It's Kotlin too
There's the issue, I knew there was one somewhere.
Would be too different btw imho
You need a lot of player hooks for bountiful, I guess
But for this you just need a set of prompts as missions
Probably more sane to add an Ars integration into MineColonies since there's already a big item sink and effectively a quest system to build the colony.
If I ever manage to learn enough coding to make that happen I may just do that.
An item request system shouldn't be hard
Honestly I think my first real coding test needs to be figuring out how to turn off vanilla MC structures individually during world gen.
I'll take a look at backporting Bountiful
I backported Origins from 1.18.2 to 1.16.5, this should be a walk in the park ๐
The Kotlin not going to be a hassle?
Ah yikes
Here's the roadblock
Bountiful developer also maintains their own Kotlin library
that would also have to be backported
Time to look at that first
that does sound like a roadblock lol
actually it was pretty easy, that library is done backporting, I'm onto the main mod now
.2 and .4 doesn't change enough to be a problem for any mod
And the less they rely on mc code, the easier it is to port it.
Now I'm going to owe Jarva a case of beer, at a minimum.
o this was an 1.18 PR
if anyone wants to port that to 1.19, free PR count jarva ๐
I still wouldn't get your hopes up, there's an annoying bug with access wideners in architectury
I'll keep the beer cold just in case you succeed and throw you at least a 6er for the attempt regardless.
ah ok
https://github.com/VeroxUniverse/EpicSamurai-1.19.2-forge/blob/master/src/main/java/net/veroxuniverse/epicsamurai/item/MageSamuraiArmorItem.java I can't use the AnimationFactory with AnimatedMagicArmor
Because my render and model wants that the Item class implements IAnimatable
the reason i'm a bit confused is because i didn't have any issue with elemental armors
even if they are still very similar, it's a custom render
that's my armor
I can try to do it like you but I don't know if the model will still work
cool
anyway, to implement without using AMA
you basically add Mana regen and max mana buffs via attributes
I tried this (updated the repo) but it will crash my game when I try to hover over it
then for slots and threads you can use ArsNouveauAPI.getInstance()#registerPerkProvider to register the slots
Repository for the Ars Nouveau minecraft mod. https://www.curseforge.com/minecraft/mc-mods/ars-nouveau - Ars-Nouveau/APIRegistry.java at 949d2f851278cbda75659ad389a51e0faf9a4679 ยท baileyholl/Ars-No...
which kind of crash?
very likely, that screen doesn't say much
i'm not 100% sure if the armor upgrade recipes will work, assuming the only thing you were missing was the perk holder registration
they should work tho
I give up xD that's too high for me. I don't have enough Java knowledge for this
but thank you that you tried to help me
but it's a waste to not use that armor :/
if gradle doesn't go nuts, i can check what's wrong or quickly make the code for it (tonight)
I know. But this is my second mod and I am a Java newbie. I don't even know what I have to do xD
since it should really be just few lines of code, copy paste aside, to add the compat
oh would be cool. If I have some question I hope you can explain what you have done? so I can try to understand it? If I want to make a second armor or something
Oh, you are mixing two different package of geckolib
that might explain it
There's a geckolib inside Ars, for reasons
Which have a different package path so the compiler will always throw error
even if the classes are basically the same
Ok which one is the right?
ok thx I will try to change it
does this mean I can use AnimatedMagicArmor?
let me finish this, but in theory yes
ok
ok, confirmed
but you chose the worst possible timing to completely rearrange your project structure, my god
oh sorry
https://github.com/VeroxUniverse/EpicSamurai-1.19.2-forge/pull/1 had to remake it
hopefully nothing too different from my test
oh thank you so much ๐
I missclicked but I have the code now.
Let me know when this compat releases for the SAD Role. I've added a link to it in the bottom of addon index in advance. Also interesting to know that there is a commission site.
Prices are perhaps medium-high for models, especially without knowing what they did in the past, but i might consider them if i don't see someone else interesting
I will work on the patchouli book and will upload it later.
I did only the the texture of it the model is by an artist.
should take some time. Usually just a few minutes for me.
How hard is it to make a custom ritual crafting like the enchantment apparatus?
I will make a new block for the Samurai things I guess that I can add custom items and stuff?
"Like" as in [ central catalyst and rituals around it] or as derivative of enchanting apparatus?
In both cases you need to define a recipe type + serializer
Then if you piggyback Ars apparatus you need to call an api method to register the recipe type to apparatus recipes
Otherwise, you make your own block and pedestals. Then when a catalyst is used to craft, do the checks to fetch pedestals items and find the matching recipe.
I want to use own pedestals and an own block.
But I found no source code that is simple to understand. Because I understand the enchantment apparatus code a little bit.
Because it would be cool to make an addon mod for ars and epic samurais with more armors and stuff and an own ritual.
well, you can take a peek for apparatus for most. But if you never made custom blocks and tiles i can pinpoint a tutorial that cover the basics
It created one already for another mod. But not pedestals. I don't know how to do the thing with the item showcase on top.
With a custom recipe type and JEI support
But only a custom block
Would be a good practice for the next mod I have planned to do.
item showcase on top is in the renderer
The "facing" part is only used by our smaller pedestals
Repository for the Ars Nouveau minecraft mod. https://www.curseforge.com/minecraft/mc-mods/ars-nouveau - Ars-Nouveau/ArcanePedestalRenderer.java at 1.19.x ยท baileyholl/Ars-Nouveau
Ah cool thx. I will try it this weekend.
Can I use all the ars block models as reference for the addons? For example when I will make a new type of source jar but with another texture and other details on it? Because of the GNU license.
Ars is GPLv3 or something
ok I am asking because of the pedestal I made and I will do something like source jars
the licenses are written in such a strange way that i never fully understand what they mean
If I am right the GLPL is a open source license or?
yep you can modify and redistribute as long as you also open source it and give credit
ok than I will use the license for the addon and add ars nouveau in the credits. Thanks. Because I am using MIT for my mods.
I think that's one of the restrictions of GPL, if the work you're getting inspired by is GPL you need to have GPL as well
Not that I think it likely for Bailey to sue you, I assume he'd rather buy another fish ๐
Yes, I'd rather make sure before I publish it
Am I free to change the license if I use the addon template ?
I probably won't as I am fine with it as long as it is FOSS but I am just curious
Since the example addon is under the unlicense which is basically "go nuts", yep, afaik you can
Maybe I should become a software lawyer ๐ค
noice
A common license used in the addons is LGPL3
I am playing around with example addon mod. Since the "test glyph" only takes amplify, a setup like this will trigger the resolver of the glyph twice, right ?
yep
okay cool
spell resolver is just a fancy forloop over the effect calls
remember yesterday we were talking about using a different resource for player mana ?
May I ask how that system works/where it is in code?
I am guessing it is a player cap or something similar
package com.hollingsworth.arsnouveau.api.mana; this it?
I can give you the old project files for Tome of Blood to see how I did things
I would appreciate that!
Blood Magic is still at 1.18 (WayOfTime is on a break from modding). Using any type of compat right now is not possible
I want to create a new LP inspired system in ArsNouveau directly. I will think about integrating it some time later
how does it work for animated blocks with geckolib
A bit more complex setup, but similar in its core
Repository for the Ars Nouveau minecraft mod. https://www.curseforge.com/minecraft/mc-mods/ars-nouveau - Ars-Nouveau/EnchantingApparatusRenderer.java at 1.19.x ยท baileyholl/Ars-Nouveau
https://github.com/VeroxUniverse/AncientMythsofEgypt/blob/master/src/main/java/net/veroxuniverse/ancientmyths/client/renderer/AncientPedestalRenderer.java seem not to work for me because I will try to code it without the methods amd classes from ars because I don't understand the most code of it
Ok I used the classes of ars and it worked
Do i need to add the rotation to "public void render" or "public void renderRecursively"
sorry for askig but how I said its my 2nd mod and just started learing java
the rotation is done via
stack.mulPose(Vector3f.YP.rotationDegrees(((float) ClientInfo.ticksInGame) * 3f));
idk how much CG you know
but basically everything you make a stack.push() you create a copy of the current matrix (basically what tells the rendering system where to render on screen and how) and when you are done with stack.pop() you restore the matrix to before the push
so if you do that in render, you would have everything rendered follow the transformations, while doing it specifically in render recursively you only apply to the specified bone
I posted the finished work in #addon-showcase
I found out how to do it via testing but thx ๐
I have a java related question but its from Ars Nouveau source code
What does this notation mean (red arrow)
the variable OVERLAY is referencing a function (but the types do not match)
isnt that because its a functional interface
I don't know what that is
a functional interface in java is their form of passing/assigning functions around, where you can return a function if it conforms to the type of the interface
So similar to functional programming you can pass functions references around ?
and just expand the function var when you call it
Not familiar enough to say yes or no, but if you mark an interface as functional, it can only have a single method, and then you can return methods and it conforms to that type
/**
* A HUD overlay.
*
* @see RegisterGuiOverlaysEvent
*/
@FunctionalInterface
public interface IGuiOverlay
{
void render(ForgeGui gui, PoseStack poseStack, float partialTick, int screenWidth, int screenHeight);
}
so you can mimic passing actual functions as first class members (variables)
Thats pretty interesting
yeah pretty handy
afaik it is just syntactical sugar for instantiating the interface, it is just anonymous
yeah that clears things up
for addons, should I strictly rely on the API or can I use static objects like Networking.INSTANCE
also since I am replicating alot of player mana code from ars nouveau, I think I should also move the mod to the same license (LGPLv3). Do I need to do something special to change license or me simply updating the license file would be enough ?
nvm need to register custom packet so will need a custom instance
Just changing it should be fine.
It's probably also not strictly required, Little Timmy can be an evil overlord, but not to SAD creatures, usually.
(Supreme Addon Developer)
right now I am out right copying code to replicate the mana system
so i should be compliant with the license
You can always make more open, but not more strict
Why is that part required ?
((ClientTicks + partialTicks) * const)
Why does the manaoffset depend on that?
oh nvm got it! It is used to pick animate the manabar (X offset for the sprite sheet)
Yep, it's scrolling the texture to make the animated effect
is IDamageEffect#attemptDamage the preferred way of doing spell damage ?
I need a way to check if it did damage or not
That wont return a boolean, but there is a TODO for next version
You can use SpellDamageEvent.POST
that will be fired when damage occurs
Where is that event fired ?
oh normal event bus
can I check which glyph caused the damage in that event ?
yep via SpellContext
Um how do I do that lol ?
Pick the index and then use it to access the part from the spell recipe?
I dont get it ๐
Which part?
I just need to check if it was the correct glyph or not
Once you listen to the SpellDamage.Post event, you are given the SpellContext, which is what stores the spell, which glyph was being resolved, and a whole bunch of info
Yeah where is the glyph inside the context ?
oh so get index from context and get it from the spell
yep this makes sense now
Ye
I am not sure, but you might need to pick index-1
So if it doesn't work at first, that could be an hint
But if it works it works
okay :)
does AbstractEffect#DAMAGE and AMP_VALUE need to be declared for each glyph ?
if it deals damage and you want it to be configurable yes
Not declare but you need to add them to config builder
And iirc IDamageEffect force you to add a getter for them
Either return the configs or a fixed value
Yep this is required
I have the basic system :)
Its a bit slow for some reason (probably needs to be forced synced)
(btw I am trying to make Blood Magic like LP system where you get "essence" by hurting other things or yourself)
Yep that worked!
projectile and self works
rune doesnt seem to work but I will around with it. Need to test turrets and weapons also
Check rune + sensitive too
Might have a different interaction that simple rune
And one time vs permanents
this isn't Ars development related but I don't have other Java devs to ask, is there a better way to handle this?
this.channelId = channel.discord.channelId != null ? channel.discord.channelId : config.discord.channelId;
no there isnt as far as I know unless you use optionals which isnt that much better
Yeah, that looks a job for the orElse() of optionals
no ?? 
But it could also be an overcomplication if you only use it once, lol
oh that works!
but why does that work lol ? I have never used sensitive
lol there goes my plan for a essence farming ritual
Good idea with the Optionals
Will give that a try
A rune have the data of who made them
But those are only used with sensitive
Useful for stuff like pickup, from the rune to your inventory
Instead of "to the nearby inventories" as is the default
oh that would make sense
How does augment creation work ?
for normal glyphs I can see that you supply it with a set of supported augments
what if I want to create an augment that works with other existing glyphs
Basically iterate the glyph map and add to each glyph compatible augment list
It's a public field
Do not use the method that returns a list, that one is only used as a base for the actual list
Example? I think I got it and then answer is no, but I might have misunderstood
I want to create an augment that doesnt do anything on its own. It can only be put after another augment.
basically I will creating a "mimic" augment that can replicate another existing augment (but which consumes my custom resource on top on player mana)
for example you can only stack fortune 4 time normally but you can put the mimic augment after that and you get fortune 5 (it will cost you little bit of essence which is my resource)
That sounds really difficult with how the mod works right now, and would also be very confusing to users since augments aren't supposed to affect each other.
I think it could theoretically be done though, might be worth a shot
Interesting. I will try and experiment with it
is the glyph item generated and registered by the Ars Provider ?
Yep, that's why it needs to be in init and not in post-init
While stuff like external school or augment addition should be added in post-init to avoid concurrency problem
For post-init i mean the CommonSetupEvent, after the parallel mod initialization that one fires and the situation become more thread-safe
hmm interesting
i was planning on using Registrate to datagen item jsons
i will see if there is some other way
Setup a more classic datagen
Save aside the instances of glyphs you are adding, then use that list to tap into the glyph item map and make the model
Yep that was very straightforward
The addon example already had a list of spells and hint about datagen
just had to create a small ItemModelProvider class
Also I would like to know how to "fail" a glyph.
For a normal effect glyph, I would like to stop the spellcast if the requirements dont meet
For a form/cast method glyph, I would to like to check some prerequesites are met or not (if not, do nothing)
can I just return the resolver early for normal glyphs ?
You can cancel the context to interrupt mid-casting (EffectResolveEvent.Pre)
Or cancel the event to cancel the spellcasting at all
I have to guess it's meant to be a swirling particles around self.
Now, if it works or not I have no idea
First time I see that, probably cool to fix it if it doesn't
is that spellContext.setCancelled(true) ?
Ye
Is it fine if I use this place for development updates and ask for opinions or will #off-topic be better suited for that?
Thats what this chat is for
(bar art not by me, i suck at it lmao)
this is my first system. You can make sigils out of entities (for players or mobs). Using a form/cast method, you would be able to apply effects to the said entity (by putting the sigil in offhand)
This is a very basic curse system, where you can put effects from very far away
The second part of this will be making poppets out these sigils. They will be affected by environmental effects like lava or lingering potions and even regeneration rituals (even flight now that I think about it )
The sigil system is still pretty basic but I will try to get a bit creative with it
Just want to confirm if AbstractCastMethod#onCast is server sided or not
It should be, but if you want to make sure then breakpoint it
The client thread is called RENDER_THREAD
Well, it might be for PVP and bosses I guess
Maybe the sigil should need to decay after each cast?
Or have a maximum range
Otherwise you only need to mark the opponent once and then they're done
oh range would be a good idea!
even decay makes sense to have!
I would planning on putting so debuff on the caster also so that you cant spam cast and I will bump up the essence cost also
I can see few nice combos like remote exchanging
wait let me try that, it might be possible to teleport to any entity kek
so super long range teleports that to any place (for example any player )
I think I am gonna make the price for sigil scales according to the type of mob (making boss sigils harder)
Can you guys add the call to other applyModifiers() for the augments as well ? This method is provided by ISpellModifier which augments implement but none of the augments use and thus will not break existing stuff.
I don't think Bailey noticed that, I can pr it but it won't be on release until next update. Once merged you will be able to test it tho, as maven build all the commits to git
will surely make it for 1.19.2
It's a legit change since the augments implement the interface but don't use it
So probably there has been a refractoring gone wrong
the interface will allow many context based augment possibilities since you get access to entire spell
Am I allowed to use/modify the assets of base Ars Nouveau ?
yes
That's the benefit of the GPL license, as long as you use GPL you can use/modify any of the assets and code
nice! Thank you
time to start the addon from scratch :)
I did it myself ๐
I got permission from WayOfTime
also from Toxic to continue ToB
I am trying to open the spellbook models in blockbench but it says cant open "builin/entity"
do I need to do something special to open them ?
Found some geo models, will see what they are
You need the geckolib plugin for BB too
The models for most of Ars blocks and 3d items are in geo
Does it matter what version of geckolib I compile against vs what is Ars nouveau bundles with
Ars shades geckolib so you donโt need your own
So I dont need it in my dev env?
No. Did you fork the example repo or build your own env from scratch?
forked it/used it as template
It shouldnโt have included it in the gradle file, might need to be deleted
Just import geckoliv from the ars nouveau namespace
its not in the gradle file. I was thinking of adding it
Oh okay
because it can find references used from Geckolib
your imports look broken
oh that is not my class. That is decompiled Ars nouveau
Ars imports refer to the bundled package, which is then somehow refractored at build time
You need to import the right classes
the one with bernie.ars_nouveau.geckolib3
Instead of bernie.geckolib3
I think the deobf is messing something up
may I know why the second one is getting removed ?
it takes a player instead of a living entity
spells can be cast by living entities
ah I see
Was the spellbook model simplified ? I remember it have proper inlays and gold trims
It was changed at some point
But you might just be looking at the base appearance
Make sure you enabled visibility for all the bones
just recolored books for now. I want to make them visually distinct without going over the top. not much of an artist though ๐
Hello ! Is there an addon that allows you to change the appearance of the spell projectile other than its color? I find the basic projectile rather simple and boring and would like to be able to customize it according to the spells I use.
I don't believe there are any
It would be very invasive probably
The least breaking thing that could be done is editing the particles spawned
But might also fall into sync issues as most of spell data are on server
yea I imagine it might require mixin shenanigans to synch more data to the client
that said it's probably achievable for sure, just... not worth the trouble
uuuh is the Ars-Nouveau-Example-Addon literally a template that one can use to create their own addons?
it's only updated up to 1.18, or am i dumb
https://github.com/baileyholl/Ars-Nouveau-Example-Addon/
Make sure that the branch selector is pointing to 1.19, there's definitely a 1.19 version.
And yes, it being a template is exactly what it's intended for
the pinned messages contain a couple of useful links, but there's no tutorial specific for Ars Nouveau Addons.
Also, if you've never coded before you might want to look for general Java tutorials as well
yeah, i was talking about the java ones
I've learned Java 15 years ago in school, so my knowledge about learning java resources is horribly out of date, sorry
i should download this, right?
Depends. If you want to just try around locally, you can click the code button, copy the url there and do git clone <url> in a terminal.
(or use your IDE (I'd recommend IntelliJ Community) to check out the repository).
If you want to publish your addon, I'd suggest clicking the use this template button and creating a new repository under your own github name
I feel like there's so many topics to teach someone who hasn't coded before to make sure you can get started...
i'll try muh best
can someone help me or make for me the mod please i dont know what i need to do next i just want to add a glyph to the spell book that makes someone able to fly like creative mode
https://github.com/LorddesTodes/spelluswa.git
Do you know java?
You need to learn java before you can make a Minecraft mod
I am back from vacation, is the 1.20.x version stable enough to move the addon dev to?
Probably still some changes to make, afaik?
oki I shall wait
You can start the general porting portion, probably, just some parts of the Ars API might not be quite stable yet.
I can check if I can port the example this morning
So you have the gradle already setup
what is the right version for 1.20.1 to implement it in inteliJ?
because of this
because InteliJ cant find the classes
ah found it ^^
yeah a bunch of imports got changed
the mod is still being refactored, there is a high chance any ported addons break again
does someone know why this is not working?
I think I got it working
The add-on example is updated on my fork, for 1.20
Ok cool thx ๐
Won't probably help you specifically if you already got it to work :V
But someone else needed it iirc
But would be helpful for the addon I am working on
https://github.com/bernie-g/geckolib/wiki/Geckolib-4-Changes
For geckolib stuff porting, this can help
What versioning format does Ars Nouveau follow?
As in maven artifact or releases?
Cause the maven is basically release number then (.) build number which increases on each commit (since the maven was set up)
For releases, it started with 1.x in 1.16 and is now 4.x with 1.20. Then minor versions are bumped every time a significant update is released, subversion is for bug/hot fixes
Oh okay. I will follow the same versioning system. This one make sense to me
addons are free to choose their versioning
mine are a bit of a mess since for some i feel like bumping the major is too much
so for example Elemental 0.5 is 1.18 and 0.6 is 1.19 iirc
major version of minecraft breaks mods anyways (ignoring the recent updates). It will just make it easier for me to map supported versions of other mods with this addon
surely does
the decision of not bumping the major decimal is just a dev feeling of "the 1.0 and up should be as feature complete as possible, while 0.x are wips "รน
and then there's mojang that released 1.0 and never moved to 2.0
I have seen multiple projects never move off from 0.x and just end omitting the first digit later in the lifecycle.
Does the Glyph registry also generate the glyph name lang or do we need to do it ?
No you have to implement your own datagen
We probably could make subclasses of datagen that let you pass a modid and they pull all the rituals/familiars/glyphs for datagen @radiant depot
So addons could just extend with 1 param
Saves you from copy pasting all that datagen across all your addons too lol
Sure, now that everything have modid we can
I thought about that but since so little people needed that I forgot long ago
okie I got confused for moment ๐
since the glyph class has overrides for name and descriptions
You can use those but you still have to wire your glyphs up to be data generated
Yeah thats fine
i will just use registerSpells.forEach() in datagen
no thats a bit annoying. the lang format for name and desc for glyphs is MODID.glyph_name.GLYPH_ID while you specify registry name as MODID.GLYPH_ID
just gonna copy paste ArsNouveau's Lang Datagen
Datagen got more annoying in 1.20 so probably good idea
I have Registrate for that
Registrate is giving me more pain rn though. Trying to figure out where I can add that glyph for each loop in Registrate
no I am was just being dumb. It was super straightforward
I wish I had known about Registrate when I started with Instrumentum. Ah well..
How did you generate the spellbook logo for this discord and CF ?
it is a blockbench model
goo might have put it through blender for lighting, not sure
It's rendered through Sketchfab. You can upload to directly through blockbench
ohh I wanted to create one but it sounds complicated lol
Making the model or uploading to Sketchfab? Sketchfab is pretty easy to just play with the settings. Hardest part is making the model and texture in BB
lol I am stealing the Ars nouveau spellbook model
I have a temporary texture (recolored) over it for now. I will redo it properly
I want the same model/look as in the Ars Nouveau logo on CF just with a different texture
Had to take help from a friend who knew blender but I managed to replicate the logo a bit
(I know the colors are bad. I will change them later along with the book trims to make it visually different from normal books)
Whats the difference between modname-version.jar and modname-version-all.jar
you can build different jars or build a single jar with everything. One for sources, API, content, etc
Isn't the -all for when you shadow or JarJar? 
Ars build task make both, but one have geckolib and mixin extras and the other is just the mod
And in that case, we release the fat one
@wide swan the "JarJar instead of Shaded" thing means that Ars will return to use standard imports for geckolib classes instead of the modified ones
#announcements
Now there shouldn't be "duplicate" classes anymore
You only need to fix the imports, with ReplaceInFiles for example, removing the .ars_nouveau.
You also have to include mixin extras and geckolib in your path, the maven doesnt include the fat jar yuet
add jitpack to your repositories
maven { url 'https://jitpack.io' }
and then mixinExtras
implementation("com.github.llamalad7.mixinextras:mixinextras-forge:0.2.0-beta.8")
ah thx
Whats the reasoning behind picking LGPLv3 for Ars Nouveau ?
Which one do I have to upload?
created an armor variant
did you copy the JIJ stuff from ars for geckolib?
@radiant depot did this happen for your builds?
jar in jar?
you shouldnt get a -all jar unless you enabled jar in jar
I only updated the mod, implented the mixinsextra and changed the imports
Just to be sure @wide swan how do you make jars?
Do you use the build run?
Otherwise open the larger jar and check what's inside METAINF
If it jarjarred, there should be a file with something
I think it's because it's a fully open source license that encourages open source without restricting other addons
fair enough. I forgot about addons
looking at ShockedEffect's source code, was it created to fight against Tech armors by any chance ?
yup
To be fair, specifically Mekasuit
You have seen something like this before? That happens with all my armors. Weird Geckolib bug?
Itโs a bug with shaders
I think its a geckolib bug
yes, but with your armors too
Yeah, but we suspected for a bit that the bug was tied to Skyweave
If it happens without Ars, it's not Ars
I know that it is not Ars but my intention was to find a fix
Shaders option
Disable entity shadows
The armor render is called twice with that on
ah lol so its an issue from geckolib?
found this
If my armor extends on AnimatedMagicArmor can I use the color change as well?
I am trying to figure out how to set it up because I got some suggestions for dyable samurai battlemage armor
The class should already implement color or texture provider. But that's basically just giving you a string to use in the renderer to use a different texture
You will still need to have a texture for each color. The crafting grid to apply the color should be pretty easy, there's a recipe type for it. Make one json with it for all the four pieces.
ok thx ๐
I am trying to load occultism in the dev environment. I have added it's dependencies in build.gradle but it only picks up modonomicon and not the other two
specifically geckolib. wont a normal implementation break with the shaded stuff in ars ?
Made sure you refreshed gradle?
Yep
I have both layers but how can I use the methods from ars nouveau to change the color of the items as well?
Register item colors
is there a documentation for it? or where can I find it in the ars code?
Repository for the Ars Nouveau minecraft mod. https://www.curseforge.com/minecraft/mc-mods/ars-nouveau - baileyholl/Ars-Nouveau
"initItemColors" ?
Basically takes the color from the itemstack via the interface, then applies it to the sprite.
The >0 return -1 is because the model is layered. So the layer1 (gold inlays) needs to not be tinted.
ah its working. thx . Ok I understand.
I have noticed that creative spellbook doesnt have familiars
Yeah, nobody felt it like a big deal since the number of familiars is pretty low
While unlocking all glyphs was def a big deal
thats fair
What folder structure should I follow for multiple mod compat ?
should I create a base package for each mod and have everything related to it inside the package?
or should I group all glyphs and items in an outer package
I usually have a compat package and then a package for each mod inside that
because I plan to have my own non compat glyphs and items
wont it cause too much confusion ?
Would it confuse you?
thats a good question. not really lol
If you use intellij changing a classes package is very simple to refactor
The class search when you double tap makes finding everything super easy anyway
Yeah that makes sense. I doubt anyone else is gonna touch the code
yep shift shift is god send
Double tap shift rather
Vanilla files had never been so easy to find until I found that little shortcut
Does GlyphRecipeProvider support ModLoadedCondition in some form?
want to add a forge conditional to check whether mod is loaded to load the recipe
For datagen?
I don't think it does
I should have added a way to add the flag to patchouli datagen
But because that was easy
You can PR a way to wrap a recipe ( Json object iirc so it works for all) into a forge loaded condition
Thinking back it should be pretty easy
can I have help with this? I can't seem to get spell parts ๐ฆ
ResourceLocation glyph = new ResourceLocation(glyphs.get(i).getAsString());
ArsOmega.LOGGER.info(glyph.toString());
AbstractSpellPart component = ArsNouveauAPI.getInstance().getSpellpartMap().get(glyph);
components.add(component);
ArsOmega.LOGGER.info("component: "+component.getName());
glyphsDebug.add(glyph.toString());
the code that's crashing
the resourcelocation looks right... but it's wrong somehow.... whyyy
or something
the map is returning null clearly since logging component.getName throws the null pointer exception
but the resource locatin looks good....
wait I was missing glyph_ lol oops
yaaaay finally
probably been answered previously so mb ๐ but im on a server (playing all the mods 8) and im trying to make the mark of mastery from ars elemental but each time i put in all the materials when i use the wilden tribute it just says recipe not found and i cant find anything to do could someone help pls
Make sure there are the right essences, there is a source jar nearby and it is the right machine
tried both the imbuement and the enchanting cos JEI says it can be either and i got 2 full source jars :/
In latest there should be a recipe for both since I lost hope on people using the apparatus instead of the imbuement, but also didn't want to break the existing setups
๐คฃ ye
this is the setup currently
also tried moving the enchanting apparatus up so its in line with materials
Swap the conjuration essence with anima essence
Nvm
I changed that recipe
The imbuement chamber have a smaller range
Basically only checks the blocks around it
You would have to place it over the apparatus (or replace it)
Then recheck the imbuement recipe, since it might be different from apparatus one
wait have i been using magebloom fiber by accident
(Sorry for mess about those two)
np np thx for the help
OMG i was using magebloom fiber instead of abjuration essence
this has taken me 4h to figure out thx for your help ๐
What is the containment jar called in in code ?
Mobjar
at net.minecraftforge.registries.NamespacedHolderHelper.createIntrusiveHolder(NamespacedHolderHelper.java:192) ~[forge-1.19.2-43.2.0_mapped_parchment_2022.08.14-1.19.2-recomp.jar%23177%23184!/:?] {re:classloading}
at net.minecraftforge.registries.NamespacedDefaultedWrapper.createIntrusiveHolder(NamespacedDefaultedWrapper.java:210) ~[forge-1.19.2-43.2.0_mapped_parchment_2022.08.14-1.19.2-recomp.jar%23177%23184!/:?] {re:classloading}
at net.minecraft.world.entity.EntityType.<init>(EntityType.java:158) ~[forge-1.19.2-43.2.0_mapped_parchment_2022.08.14-1.19.2-recomp.jar%23178!/:?] {re:classloading}
at net.minecraft.world.entity.EntityType$Builder.build(EntityType.java:712) ~[forge-1.19.2-43.2.0_mapped_parchment_2022.08.14-1.19.2-recomp.jar%23178!/:?] {re:classloading}
at com.github.klikli_dev.occultism.registry.OccultismEntities.lambda$static$0(OccultismEntities.java:51) ~[occultism-1.19.2-1.81.6_mapped_parchment_2022.08.14-1.19.2.jar%23187!/:1.81.6] {re:classloading}
at net.minecraftforge.common.util.Lazy$Fast.get(Lazy.java:55) ~[forge-1.19.2-43.2.0_mapped_parchment_2022.08.14-1.19.2-recomp.jar%23177%23184!/:?] {re:classloading}
at net.minecraftforge.common.util.NonNullLazy.lambda$of$0(NonNullLazy.java:25) ~[forge-1.19.2-43.2.0_mapped_parchment_2022.08.14-1.19.2-recomp.jar%23177%23184!/:?] {re:classloading}
at com.mystchonky.arsoscura.common.integration.occultism.OccultismIntegration.registerJarBehaviours(OccultismIntegration.java:18) ~[%23183!/:?] {re:classloading}
at com.mystchonky.arsoscura.common.integration.occultism.OccultismIntegration.init(OccultismIntegration.java:11) ~[%23183!/:?] {re:classloading}
any clue what this could mean ?
oh it needs to be in postInit
Intrusive holder is when you register a blockitem without the block
At least usually
um
can someone help me figure out why IntelliJ is opening Ars wrong?
WTF is this
what is going on here
the actual folder structure has generated and main inside of source
which is empty according to intellij
oh wait is it just reorganizing it weird in the view for some reason?
does putting a mob into a jar reset the mob somehow ?
Need? No. Can? Yes
For glyphs, the description wouldnt show up unless datagen-ed/had lang entries
oh datagen is not an issue. I wanted to know if the lang entries are required are not
just need to copy paste this for familiars :)
To add custom familiars, would I need to use custom entities/models/renderers?
I am trying to add ars functionality to occultism familiars and dont want duplicate all the models and renderers
Custom entity yes, model and renderer only if the occ classes would be incompatible with the FamiliarEntity class.
when you switch familiars or use the dispel button
okay I think I am stuck
all Ars familiars inherit from Ars' FamiliarEntity which takes care of managing all familiars, their count, terminations, events, etc.
all Occultism familiars inherit from its own FamiliarEntity which has all the brain and logic
I need a way to combine them both. is it legal to create an entity and have another entity field ?
Make a copy of Occultism Familiar class but make it extend Ars Familiar class? Then use that as a base
Can't tell how spaghetti that would be without knowing how the occultism code is
That would mean that i will have to reimplement all logic for all familiars right ?
In Java a class can only extend one class (but implement limitless interfaces)
So you have to use a child of Ars and copy paste the logic of the occultism fams
could someone remind me whether Ars Nouveau makes any use yet of Capabilities for its source system?
i had an old project idea that i attempted work on involving Applied Energistics 2 integration to work directly with source as an object capable of being stored and handled across an ME network
if i am to resume it and add, say, a P2P tunnel for source then it would require an associated capability to be provided by Ars
It doesn't afaik, but Bailey knows better
@zealous zenith so do you make use of capabilities at all in Ars?
actually i should be more specific: does source use a cap?
i wonder whether that will be enough in order to allow things like AE2 interfaces to provide source to anything that needs it
supposing that i do eventually return to that add-on idea i had a long while back
@zealous zenith did you notice any item order scrambling in creative tab for 1.20 ?
I am following your implementation for my port but them item order is all random every time I relaunch
public static final RegistryObject<CreativeModeTab> TAB = TABS.register("general", () -> CreativeModeTab.builder().icon(Registry.SHADOW_GEM.get()::getDefaultInstance).title(Component.translatable("itemGroup.eidolon"))
.displayItems((params, output) -> {
for (var entry : ITEMS.getEntries()) {
output.accept(entry.get().getDefaultInstance());
}
}).build());
Try this instead?
Using your own ITEMS deferred
I think Forge registries order can be shuffled a bit, your own will keep the code registration order
Yeah thats what I found out from NeoForge discord just now
earlier I was using ForgeRegistries.ITEMS with a modid check. Now I directly use my own DR
Before I beat my head against a known problem:
* What went wrong:
A problem occurred configuring root project 'Ars-Instrumentum'.
> Failed to notify project evaluation listener.
> 'void org.gradle.api.internal.artifacts.repositories.descriptor.FlatDirRepositoryDescriptor.<init>(java.lang.String, java.util.Collection)'
> 'void org.gradle.api.internal.artifacts.repositories.descriptor.FlatDirRepositoryDescriptor.<init>(java.lang.String, java.util.Collection)'
Anyone got an idea why gradle is throwing a hissy fit?
That's what lead to the error
(Trying to port myself. Also sorry for the ping)
did you upgrade gradlew?
I opened the PR after the message anyway
Saw it, merged it, will test it locally as soon as I am on my tower and not the work laptop.
Thanks again!
Of course your Gradle setup works while mine didn't.
Is forge gradle that specific with which gradle version it wants to run, since I've had 8.2.1 and not 8.1.x like you?
Gradle plays favorites
Makes sense
I have 8.2.1 as well?
Oh nvm
Idk why. Maybe it's really a matter of versioning
I am only sure of the fact that FG6 requires gradle 8.1.+
And NeoGradle is forked from 6
hmm
if I want to know which item is casting reactive I'm going to need a mixin aren't I
๐ฆ
how bad of an idea is it to mixin ReactiveCaster to make it override CastSpell? I can't figure out another good way to do it
later down the chain there's no access to the item (but here the ReactiveCaster seems to have it)
and further up the chain I'm redoing too much work which leads to more compat issues
isn't the itemstack of the casting contex included now?
ok but hear me out
how do I know whether it cast from the reactive enchant or not?
the ISpellCaster isn't saved, only a living entity
which doesn't help
is it?
I don't see it maybe I'm just missing it
that might make life easier
nope that info doesn't look to be saved anywhere ๐ฆ
check if the spell on reactive tag of the item match with the spell in the context?
that's hacky as heck
only edge case, caster tool with reactive and both spells are the same
interesting concept I guess
I also only care if the item has durability
hmm, might be worth it
hacky way to detect vs hacky mixin
choices choices
hmm, slight frustation
how do I make this work with discounts?
there's no chance to modify the casting cost of a resolver after discounts take effect
Pre event?
huh
it does run getResolveCost again
so I could add the discount to the spell then
based on the calculated cost before I run
alright I'll see how well this works
wait no that doesn't work though
because what if an event or buff modifies the spell?
I don't want that to make it fail
though this does provide one more piece of inspiration
I could always just use multiple mixins to reduce how invasive the mixins are
and use the event for the main part
one mixin on SpellContext to make it store a value representing whether it's a proactive or reactive cast
...
wait the event doesn't have access to the resolver
so I can't check the discounts anyway ๐ฆ
... wait a minute
getResolveCost removes the discount from the spell
so if a spell has a discount on it, it won't apply when the mana is subtracted
ssince that's called a second time when expending mana
so discount on spells doesn't even apply...
is that a bug?
seems like a bug
I guess I could do 3 mixins then to make them less invasive and more effective
one on spell context to make it be able to set and get a bool for whether reactive was used
one to make reactive caster override CastSpell so that it adds that flag to spellContext
and finally one for SpellResolver expendMana
wait no I'd need a fourth for enoughMana
bruh
funny enough since inject mixins can stack
I'm still convinced this is less invasive than having one override mixin breaking a huge function
no idea what performance looks like on way or the other
wait does it count as 4 mixins or only 3 if I'm doing 2 injects on 1 class?
I don't know how terminology works
oh well
um
ah, of course
now the place I need to mixin is getSpellResolver on the ReactiveCaster
at which point I can make the spell resolver save the flag
bringing it to 2 files I'd need to target
what version?
the itemstack is included
it's the ISpellCaster that isn't
plus, there's no way to use an item instead of an entities mana that I can see
not without a custom spell resolver
which would be an option
but requires another mixin anyway and then it breaks if being used in a situation where an EntitySpellResolver would normally be used
do I just not understand modify variable? or is this a bug in the IDE error checking?
aaaaand the caster tool in the spell context is a copy ๐ฆ
this is turning out so hacky ๐ฆ
all I wanted was to make reactive use the durability on the item casting it
it works!!!!
yay I got it to work! had to store the itemstack on the resovler but it works now!
this enchant is basically the magic pickaxe / weapon everyone has wanted lol
it does work
and it's arguably cooler because it's more versatile
oh goodness imagine this on modded armors
Indestructible say hi
is that the one that keeps it at full durability? or the one that keeps it at 1 durability?
if the durability is too low you still use mana
but yea any mods lettting you have infinite full durability will make this suuuper busted
Both my mod and ForbArcanus keep them full
... your mod adds infinite durability
ok I'll make the enchants incompatible
now I just need to decide a recipe for the enchant in the enchanting apparatus
um
on 1.19 for some reason adding augment limits to my own glyphs isn't working
aside from this override what do I need to do for it to apply?
@Override
protected void addDefaultAugmentLimits(Map<ResourceLocation, Integer> defaults) {
defaults.put(AugmentAmplify.INSTANCE.getRegistryName(), 2);
}
also, is this a bug with using too much extra mana LOL
if your max mana is like 100 and you use like 1000 mana this happens
well, try to cast a 1000 mana spell
if anyone knows what I'm missing here please @ me
Use
@Override
protected Map<ResourceLocation, Integer> getDefaultAugmentLimits(Map<ResourceLocation, Integer> defaults) {
super.getDefaultAugmentLimits(defaults);
defaults.put(AugmentAmplify.INSTANCE.getRegistryName(), 2);
return defaults;
}
Instead?
I'll give it a shot
don't see how it could make a difference though as the method in AbstractSpellPart just calls the addDefaultAugmentLimits method
which BTW I checked and the method is being called
nope just tried it and no luck
Is your config using it
what do you mean
what am I meant to do from my mod's side as far as config goes?
I thought it's taken care of when glyphs registernow
are you using a custom spell part class?
default augments are just used as part of the config generation, if you didnt wire your configs because you are not using effect or form, it isnt wired
public AbstractSpellPart registerSpell(AbstractSpellPart part) {
glyphItemMap.put(part.getRegistryName(), part::getGlyph);
//register the spell part's config in
ForgeConfigSpec spec;
ForgeConfigSpec.Builder spellBuilder = new ForgeConfigSpec.Builder();
part.buildConfig(spellBuilder);
spec = spellBuilder.build();
part.CONFIG = spec;
ANModConfig anModConfig = new ANModConfig(ModConfig.Type.SERVER, part.CONFIG, ModLoadingContext.get().getActiveContainer(), part.getRegistryName().getNamespace() + "/" + part.getRegistryName().getPath());
ModLoadingContext.get().getActiveContainer().addConfig(anModConfig);
return spellpartMap.put(part.getRegistryName(), part);
}
nope, it extends effect. I confirmed the method is being called which is why I'm so confused
and abstract effect does override build config to call the method...
[11Aug2023 17:14:55.160] [modloading-worker-0/INFO] [com.dkmk100.arsomega.ArsOmega/]: Ars Omega Constructor
[11Aug2023 17:14:55.168] [modloading-worker-0/INFO] [net.minecraftforge.common.ForgeMod/FORGEMOD]: Forge mod loading, version 43.2.0, for MC 1.19.2 with MCP 20220805.130853
[11Aug2023 17:14:55.168] [modloading-worker-0/INFO] [net.minecraftforge.common.MinecraftForge/FORGE]: MinecraftForge v43.2.0 Initialized
[11Aug2023 17:14:55.397] [modloading-worker-0/INFO] [com.dkmk100.arsomega.ArsOmega/]: hell flare get default augment limits
@Override
protected Map<ResourceLocation, Integer> getDefaultAugmentLimits(Map<ResourceLocation, Integer> defaults) {
ArsOmega.LOGGER.info("hell flare get default augment limits");
super.getDefaultAugmentLimits(defaults);
defaults.put(AugmentAmplify.INSTANCE.getRegistryName(), 2);
return defaults;
}
did you delete your config and regenerate it/
configs don't dynamically apply changes ๐
I thought it was the server config for some reason
I created a new world
ooops
nice it works
sorry for bothering you with my noobiness
did find some time to play around, it is indeed a matter of versioning.
Gradlew 8.2.1 breaks the forge gradle setup again.
It's a minor bloody version, too! 
For 1.20 ports, patchouli and curios had minor data format changes, you can read here
https://vazkiimods.github.io/Patchouli/docs/upgrading/upgrade-guide-120
https://docs.illusivesoulworks.com/category/curios
This guides describes how to upgrade Patchouli books from 1.19.x to 1.20.x.
A Minecraft mod introducing a flexible and expandable accessory/equipment API for users and developers.
please note this for 1.20 addons
Datagen path will need to be adjusted or the "normal" folders moved
for datagen, just don't override the getPath and you should be fine
Short version for @shadow helm :
All patchouli pages from addons now needs to be inside assets/ars_nouveau/patchouli_books/worn_notebook to show up
I'd keep addons linked to 1.19 branches for a while anyway
Don't change your default branches then ๐
Joking aside, I'd only try to switch the wiki to 1.20 once the new book is live, unless you say that's to late
Nothing important has been added or changed for now, so it should be fine to wait for that too
so is that a yes for updating addons ?
a semi-breaking change PR have been made, not yet merged